Cercare il manuale di riferimento ARM ARM, ARM Architectural. Copre il processo di avvio, l'architettura, l'assemblaggio (ARM, pollice e pollice2), tutto. ARM ARM è generico, per il nucleo specifico a cui sei interessato ci sarà anche un TRM, Manuale di riferimento tecnico. Tutti questi documenti sono disponibili gratuitamente dal sito Web di ARM. Il TRM entrerà nei dettagli specifici per quel core, in particolare se si desidera utilizzare uno dei più recenti microcontrollori basati su Cortex-M3, la sequenza di avvio o diciamo che la tabella delle eccezioni è diversa dal ARM tradizionale e è necessario il TRM per Cortex-M3 per trovare le informazioni.
se si finisce con un braccio con una cache o mmu, potrebbe anche essere necessario ottenere il TRM dal sito Web di ARM. È necessario conoscere il core specifico incorporato nel chip del fornitore specifico, ad esempio il PL310 r2p0 può / potrebbe essere diverso dal r3p0. Il fornitore dovrebbe disporre di queste informazioni e potrebbe fornire collegamenti ao forse i documenti arm direttamente, normalmente non incorporano i documenti arm nella propria documentazione. Penso che ARM lo preferisca in questo modo.
Per quanto riguarda C, è solo C, niente di speciale, ARM è supportato dai compilatori mainstream, gcc, llvm, Keil (ora di proprietà di ARM), IAR, green hills, ecc. Microsoft ne ha persino / ne aveva uno (eviterebbe comunque). Niente di speciale per ARM, ma è necessario conoscere le sfumature per il compilatore specifico e il suo collegamento. Code Sourcery è la strada da percorrere in questi giorni per un compilatore ARM basato su gcc pronto all'uso, la versione LITE è scaricabile e utilizzabile gratuitamente e ci sono versioni a pagamento se si desidera supporto (più supporto gcc arm gratuito su google.com rispetto a hai tempo di leggere). Prima del code sourcery emdebian era un posto dove andare, per alcune cose yagarto e devkitarm e winarm avevano tutti / hanno soluzioni pronte per l'uso (per embedded e non necessariamente linux, Code Sourcery o emdebian se si desidera eseguire la cross-compilazione per linux).
Ho alcuni blog che non sono in realtà blog, ma posti dove mettere alcuni programmi di esempio e informazioni su come far apparire alcuni diversi microcontrollori basati su ARM. Alcuni chiedono un po 'di C, i blog più vecchi che mostro come costruire il proprio cross compilatore basato su gcc. Potrei avere anche informazioni su llvm (thumbulator ha un paio di esempi, non documentati però), out of the box llvm può essere usato come compilatore incrociato per un numero di piattaforme, non è necessario costruirlo su un obiettivo come gcc. E la generazione del codice di llvm ha raggiunto gcc 4.x (gcc 4.x non è necessariamente migliore di gcc 3.x e né gcc o llvm sono buoni quanto altri costi costosi per quelli come i compilatori ARMs).
http://stm32stuff.blogspot.com/
Da lì puoi fare clic sul mio profilo e trovare informazioni simili per lpc, lmi (luminary micro, le parti stellaris, ora di proprietà di ti) sam7. Non sono un fan della famiglia di lpc, mbed2 va bene oltre ai dolorosi led blu. in questo momento c'è un board basato su $ 12 stm32, qualcosa di scoperta, pronto per giocare con out of the box. coridium ha una scheda che corrisponde all'impronta di arduino come l'acero, può ottenere uno o entrambi a sparkfun (molte chicche a sparkfun). se stai cercando qualcosa di più potente, il beagleboard è stato doloroso per la mancanza di interfacce, la versione cinese allo stesso prezzo è / era migliore (mostrata in una settimana o due ma nessuna informazione di tracciamento di alcun tipo), ha ethernet e un porta seriale non avvitata. Mi piace la Hawkboard ma penso che non siano riusciti a seguire la guida alla progettazione e potrebbero avere problemi con l'omap. Mi è piaciuto openrd dalla gente di plug computing, ma odiava la versione plug. L'openrd ha un connettore di alimentazione e dati SATA sulla scheda, è sufficiente collegare un disco rigido, altre schede di questa classe ti costringeranno a qualcosa basato su flash (leggi: molto lento). i core marvell corrono comunque cerchi attorno alle ti omaps al momento.
oppure prova il mio simulatore di set di istruzioni per pollice thumbulator (github) gratuitamente, ma limitato a pollice, senza braccio (puoi prendere il tuo codice da esso sulle schede stm32, come quello da $ 12). l'armulatore che è in gdb e altrove è probabilmente più doloroso da usare, ma supporta arm and thumb, e qemu è facile da usare se non hai interesse a vedere cosa sta facendo il tuo codice oltre all'output della porta seriale. qemu supporta braccio, pollice e pollice2, penso che una o due tavole stellaris siano modellate lì.
Se conosci già l'assemblatore AVR, che non è un grande insieme di istruzioni (meglio di alcuni, peggio di altri) non dovresti avere problemi con ARM o pollice, un po 'più pulito, un po' più semplice. Allo stesso modo se hai fatto C incorporato (al di fuori di una sandbox) con l'AVR, ARM sarà lo stesso o più semplice. Puoi andare con il mbed o acero dove hanno sandbox che dovrebbero rendere più facile iniziare e quindi se vuoi avventurarti da solo puoi senza troppi problemi. il mbed semplicemente copi il .bin sull'unità flash virtuale, l'acero che usi il loro caricatore o dfu-util o qualcosa del genere che non ricordo.