Om man vill programmera på låg nivå så är Arduino utmärkt. I Arduinos utvecklingsmiljö finns det inget bra och rent sätt att rent programmera i assembler, bättre är nog att helt skippa den utvecklingsmiljön i så fall. Kan du acceptera C så får du mycket bra kontroll, men inte helt. Om du vill ha full kontroll:
Sök på "WinAVR" och kolla in <http://www.nongnu.org/avr-libc/>, då får man en utvecklingsmiljö från kommandoraden med total kontroll, med både C och assembler. Enkel att få igång. Man kan ha filer i C och assembler, länka ihop dessa, och sedan ladda ner till Arduino. Du vet att den första raden kod du skrivit är den första som körs (efter hoppet från uppstartsadressen), du har all kontroll.
Rent tekniskt är det samma program som Arduino använder "under huven".
Nästa roliga steg är att direkt programmera en AVR-CPU direkt på en "breadboard", tex CPU:n <https://www.elfa.se/elfa3~se_sv/elfa/init.do?item=73-251-59&toc=20966>, finns bra guider på webben och youtube. Om man har en Arduino kan den användas som en programmerare istället för en relativt dyr "AVRISP mk II" som nämndes tidigare, jag har provat och det fungerar.
Om man vill gå vidare lite mer professionellt man man ladda ner Atmel Studio 6 från <http://www.atmel.com/microsite/atmel_studio6/>. De är företaget som producerar CPU:n som används på Arduino. Det är ett professionellt verktyg baserat på Visual Studio som är gratis, mycket bra. Har förhållandevis bra support för C++ om man vill använda det. Jag har ej provat hur det fungerar med assembler. Finns plug-in för att klara av Arduino på ett snyggt sätt.
För övrigt är CPU:n i Arduino UNO (ATmega328) trevlig att programmera i assembler, enkel och intuitiv, kanske en av de modernaste 8-bitars processorerna, helt i RISC-tradition. Mycket trevligare än PIC, även om PIC har andra stora fördelar.
__________________
Senast redigerad av abcabc 2014-12-20 kl. 04:02.