Zkoušel jsem navázat Assemblerem přímo na Karla. Prostě máte malého robota s daným jednoduchým strojovým kódem o pár instrukcích povětšinou odpovídajících základním primitivám Karla, akumulátorem, příznakovým registrem, 256 byty RAM, nějakým tím podmíněným skokem, zásobníkem od horní adresy...
Převod programů z Karla je pak celkem přímočarý, dělá to něco viditelného, instrukční sada je primitivní, ale ukazuje všechno podstatné, snadno se to ručně překládá a interpretuje atd.
Ideální by bylo mít toho robota postaveného fyzicky :-) A určitě by neuškodilo ukázat, jak se ten jednoduchý procesor sestaví z jednotlivých logických členů...
Popis návrhu jednoduchého procesoru a SoC je třeba zde
Jan Gray, Gray Research LLC
Building a RISC CPU and System-on-a-Chip in an FPGA
http://www.fpgacpu.org/papers/xsoc-series-drafts.pdf
http://www.fpgacpu.org/xsoc/cc.html
http://www.fpgacpu.org/papers/index.html
Pokud vyvíjíte software pro embedded systémy na holém železe,
tak je dobré vědět, co se tam děje :-)
* mohl by vozit fixku a malovat znacky na (papirovou) plochu
* znacky by nebyly fyzicky na plose, ale jen virtualni a robotek karel
by po prijezdu ke znacce rozsvitil svoji diodu
* roboticka by mohla byt i hraci plocha, matice diod prekrytych plexisklem,
roboticka hraci plocha by spinala LEDky/znacky ve spolupraci s robotem karlem
druhá a třetí možnost mě napadly. Hezkou implementaci s fixkou má třeba tahle realizace Turingova stroje: http://www.youtube.com/watch?v=E3keLeMwfHY.
Aha, ja myslel, ze uz mas neco zbastleno. Ja jsem prave (po par dotazech od znamych) premyslel, co na vyuku low-level programovani pouzit a kupodivu mi to porad vychazi na PICy (ale ty maji "divnej" assembler) nebo na starou dobrou 8051, kde jsou sice taky pro zacatecnika prapodivne instrukce, ale je ten zaklad je dobre pochopitelny.
jako dlouholety programator vyssich jazyku, ale zacatecnik v hw a mikrokontrolerech jsem zkusil nejprve PIC16 a tedka ATMEL TINY13 a musim
rict, ze se mi atmely zdaji lepsi a pohodlnejsi.
-i pro malinkaty tiny jde delat v C, mam dojem, ze C pro PIC je az od PIC18.
-v linuxu mam avr-gcc a avrdude, nepotrebuju windowsi mplab.