Ja, ich dramatisiere. Man muss die AVRs halt auch im Kontext ihrer Zeit
8051, mit fast komplett externer Peripherie. Die ersten AVRs die ich dann in der Hand hatte, AT90S1200 und AT90S2313, waren dagegen eine ECHTE Offenbarung. Der 2313 hatte sogar ein UART mit drin, das war schon ziemlich cool und tonnenweise RAM. Das ist jetzt aber halt auch 14 Jahre
noch dazu, echt krass.
Mittlerweile hat aber ja auch Atmel/Microchip auf Cortex-M umgesattelt, dagegen konvergiert der Embedded-Bereich offenbar komplett -- und nicht
Architektur.
Aber ich werde mir deinen Tipp zu Herzen nehmen und versuchen,
Das mag sein, aber war gar nicht meine Aussage. Sondern eben, dass die Adresse 0123:4567 immer der linearen Adresse 0x5797 im RAM entspricht, ganz gleich wo das passiert. Wenn im Segmentselektor-Register oder Offset, der in der Instruktion codiert ist, jeweils was drin steht, das
zeigen aber nie zwei *identische* Adressen, die auf unterschiedliche Bytes zeigen. Und das ist bei einer Harvard-Archtitektur anders und darum ging's mir.
ehrlichgesagt auch nicht so ganz. War damals bestimmt sinnvoll, die werden sich schon was gedacht haben dabei :-)
Liest man doch z.B. im KEA128Ref manual bei Real-Time-Counter , der genau fuer diesen Zweck als Software Calendar fungiert (genau was Ralph braucht mit Bsp. code), dass als Quelle ein externer Pin ohne Bus-sync eingesetzt werden kann :)
dann wird der externe Takt mit dem Bus Takt synchronisiert. Hinweis im Manual, "This clock signal must not exceed 1/4 of system clock frequency."
--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt!
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p
(lt. alter usenet Weisheit) iPod, iPhone, iPad, iTunes, iRak, iDiot
--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt!
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p
(lt. alter usenet Weisheit) iPod, iPhone, iPad, iTunes, iRak, iDiot
anderen Prozessor umzusetzen. Die FORTH Engine besteht aus nur knapp 30 Low Level (Maschinensprache) (sog. Primitives) Routinen und die sind recht einfach, da alle nur eine kleine Sache erledigen. z.B. @ (fetch) hole einen Wert von einer Adresse die auf dem Stack liegt und gib den statt
normalerweise HLL, also auf 'allen' Maschinen gleich, solange es da keine speziellen Dinge mit der Peripherie gibt. (also 1 Tag AUfwand bis 3 Tage)
CODE @ HL POP DE,(HL) LD DE PUSH RET ENDCODE
verstehen. Auch nicht warum die hp Taschenrechner so genial waren (und
IIRC erst mit dem 2. oder 3. Satz Batterien. Ja damals(tm) war hp noch ein excellenter Laden, die wussten, was sie machten.
Ich schrub extra Maschinensprache, nicht ASS, denn es gibt auch CPUs, die FORTH (Primtives) als Maschinensprache haben, da ist die Engine sehr leicht zu erstellen. Und kann fliegen durch Raum und Zeit, Rosetta und
Ein weiterer Vorteil in FORTH, man kann nix verwenden, was nicht vorher deklariert ist, es gibt keinen Linker, der einen linkt!
FORTH ist Interpreter und Compiler gleichzeitig, muss man nicht verstehen,
interpretiert wird, trifft einen eines Tages wie ein Blitz und dann geht die Programmierer Sonne auf und man will nix anderes mehr.
Wolfgang
--
Ich bin in Paraguay lebender Trollallergiker :) reply Adresse gesetzt!
ihr Niveau herunter und schlagen mich dort mit ihrer Erfahrung! :p
(lt. alter usenet Weisheit) iPod, iPhone, iPad, iTunes, iRak, iDiot
Aha, das beantwortet meine Frage schon fast. Heute versteht man unter FORTH eine Compilersprache (embedded...), ohne Interpreter.
Das FIG FORTH habe ich auch auf etlichen Mikroprozessoren implementiert, war wirklich ein Klacks. Aber wie Du damit auf Echtzeit und parallele Prozesse (Interrupts...) kommst, ist mir Echt schleierhaft.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.