Embedded development


Från 8-bitars AVR processorer till 32-bitars ARM processorer är ett större steg än jag väntade mig. Kanske är det för att jag vill få igång standardbiblioteken under C. Här tänkte jag ta upp mina reflektioner.

Den största skillnaden mellan de två arkitekturerna är att ARMen bara har en buss. Exekveringen blir då mer likt en dator där kod, data och register måste samsas om ett gemensamt adressutrymme. Skriver man i C så är det dock ungefär samma som att skriva till en 8-bitars processor. Ett par skillnader är däremot genomslående. AVR har in kompliator som sätter upp en stack åt dig, det har inte ARM. Här måste man göra en assembler-fil som har i uppgift att initiera processorn innan färdigkomplierad C-kod kan exekveras. Filen kan vara allt från enkel till avancerad men i ett nötskal måste interruptvektorer fixas till och stackar för de olika körlägena måste initieras.

Jag installerade arm-elf-gcc via darwin. Fler exempel och lite komma-igång-kod kommer att komma upp så småningom.