Det är så klart korrekt att ARM kanske är ett mer professionell gångbar CPU/MCU än AVR, men AVR är kanske lite lättare att komma igång med, men skillnaden är inte så stor om man går på "förslag 3" nedan.
När man börjar med någon ny teknik så vill jag gärna ha bort ovidkommande problem som att sätta upp miljö, ha rätt versioner och så vidare och snabbt komma igång med första "Hello World" eller blinka lysdiod, och för att göra det så enkelt har jag några förslag:
1: Starta med Arduino, köp gärna startpaketet
https://www.kjell.com/se/sortiment/el-v ... ket-p87875 eller Kjells egen version, håll inte på och strula med olika gratis utvärderingskort, det är inte värt huvudvärken. I startpaketet finns ett antal laborationer med lysdioder, stegmotorer, motorstyrning etc. Mycket roligt, mycket lite strul.
2: Ett annat AVR-förslag om du vill ha ännu mer lågnivåkontroll är boken "Make: AVR Programming", finns pdf att ladda ner gratis, sök med google, där beskriver man tydligt hur man bygger upp med AVR-MCU på breadboard, det finns en ganska tydlig lista på de komponenter och andra saker som behövs, jag beställde allt på
https://www.mouser.se/, kostar 200-400 kr beroende hur många av laborationerna du vill göra. Gratis frakt med Mouser, det kom med FedEx på 2 dygn från USA! Den beskriver hur du sätter upp miljön och kompilerar helt från kommandoraden utan någon magisk IDE (Integrated Development Environment) som Arduino har.
3: Ett bra sätt att starta med ARM tycker jag är att börja på en MCU på breadboard, det finns ett kit som Adafruit tagit fram
https://www.adafruit.com/product/1336, med en enkel steg-för-steg hur man kommer igång
https://learn.adafruit.com/getting-star ... the-lpc810. Själva kitet köpte jag billigare från Mouser
https://www.mouser.se/ProductDetail/Ada ... zL8UTNg%3d, kostar 109 kr! Den innehåller den minsta och enda existerande ARM med DIL-kapsel vad jag vet, LPC810, och utrustning att koppla till en PC (USB till TTL) och lite komponenter för att få en lysdiod att blinka. Med ganska lite pyssel kunde jag skippa IDE:n som används i "getting-started-with-the-lpc810" och köra allt från kommandorad, och ha full kontroll över alla källkodsfiler och länkfiler.
4: Ett bra sätt att lära sig ARM-assembler är att köpa en Raspberry Pi, finns både i 32-bitarsversion (version 1 och 2) och 64-bitarsverion (version 3). Bra kurser är
http://thinkingeek.com/2013/01/09/arm-a ... chapter-1/ för 32-bitars och
http://thinkingeek.com/2016/10/08/explo ... -chapter1/ för 64-bitars. Om man är snål eller lat så kan man istället köra en ARM-emulator på sin PC, så som QEMU, hur det går till är enkelt beskrivet i 64-bitarskursen "exploring-aarch64-assembler".
5: Den bästa kursen av alla är
http://www.cl.cam.ac.uk/projects/raspbe ... orials/os/, dock är den för den första versionen av Raspberry Pi som inte finns att köpa längre, om du eller någon du känner skulle ha den tillgänglig. De versioner som finns tillgängliga idag är den inte uppdaterad för. Det är en av de roligaste kurserna / laborationerna jag någonsin gjort. Man implementerar interface till serieport, HDMI och USB i assembler och C, bygger ett litet operativsystem.
Jag har en känslomässig attraktion till AVR, det är som ni kanske vet från början en Norsk konstruktion, och var den MCU som användes i Ericssons gamla T28, och fanns fortfarande i P800 men då hade även en ARM smugit sig in i samma telefon.