Domanda

È consigliabile iniziare direttamente con il foglio dati e il manuale utente di un processore ARM per un principiante o prima farsi un'idea del mondo ARM e poi andare avanti?

È stato utile?

Soluzione

Diverse buone risorse sono descritte nelle risposte a questa domanda correlata:

Inoltre, Hitex ha " Insider's Guides " per alcuni microcontrollori diversi basati su processori ARM (gratuiti, ma richiede la registrazione):

La maggior parte di essi (se non tutti) sono download gratuiti (penso che siano sponsorizzati dai produttori di microcontrollori). Sono più orientati ai microcontrollori piuttosto che solo ai dettagli ARM, ma includono alcuni dettagli ARM e sono fantastiche panoramiche dei micro e delle periferiche nei micro.

Altri suggerimenti

Quando inizio con una nuova tecnologia (per me), inizio individuando quante più schede tecniche e note applicative possibile e leggendole direttamente. Il primo obiettivo è quello di alzare la velocità sul gergo (e sui nomi dei giocatori) unici per quella tecnologia.

Con ARM, inizierei con www.arm.com e la loro documentazione su Centro informazioni ARM .

Aggiornamento: Mi immergerei anche in una o più linee di prodotti di fabbricazione, compresa la lettura di almeno un manuale del programmatore di famiglia. Se i tuoi piani di progetto sono abbastanza saldi da sapere quale specifica CPU ARM verrà utilizzata, allora puoi evitare di concentrarti su quel modello specifico e sui suoi parenti stretti. Se stai cercando di acquisire familiarità con ARM in modo da poter scegliere la CPU da utilizzare nel progetto, campionare una vasta gamma di famiglie è quasi sicuramente il piano migliore.

Esiste un grande elenco di licenziatari della tecnologia ARM . Di questi, alcuni produttori hanno prodotti (basati sul sapore CORTEX-M3 del core ARM) che IMHO si distingue per le applicazioni di sistemi embedded profondi.

La mia azienda ha in corso progetti basati sulla famiglia STM32 da ST Microelectronics . Questa famiglia ha molte periferiche on-chip con funzionalità che saranno familiari a chiunque provenga dal mondo 8051, o dal mondo PIC, e abbia abbastanza FLASH e SRAM sul chip per rendere opzionali le memorie esterne.

Ho sentito molte cose positive sulla famiglia Stellaris da Luminary Micro . Sembra anche un buon adattamento a una serie di esigenze della piattaforma integrata.

Dati gli attuali punti di prezzo delle schede di valutazione entry-level, consiglio vivamente di prenderne uno o più per chip simili alla tua nicchia di applicazione target prevista. Una scheda con un piccolo LCD, accelerometro, un paio di LED un pulsante o due, accesso ai pin GPIO senza commit, un'interfaccia USB JTAG integrata e una catena completa di strumenti di sviluppo incrociato basata su GCC può essere avuto per STM32 (per meno di $ 40 nel 2009, ma quel modello è interrotto) nel campo da baseball da $ 100, ad esempio.

Pacchetti simili possono essere trovati per molti altri prodotti basati su core ARM.

Un altro modo in cui si trova ARM è come core della CPU in un sistema su un chip. Molti venditori SOC stanno concedendo in licenza una CPU ARM per mettere il loro silicio insieme al loro hardware dedicato. Ho visto chip di compressione video, chip di rete, adattatori firewire per ATA e dispositivi USB costruiti in questo modo, e questo è solo un campionamento di articoli pubblicati e comunicati stampa che mi viene in mente di ricordare.

Aggiornamento 2, 2013: Un punto di accesso molto accessibile a un "tipico" La famiglia SOC basata su ARM è disponibile nel Raspberry Pi e nei vari Beagle schede famigliari. Entrambi sono rivolti a sperimentatori e hobbisti, entrambi usano SOC con core ARM e risorse aggiuntive come capacità video e audio, ed entrambi eseguono Linux immediatamente.

Esiste anche una ricca varietà di sistemi sui produttori di moduli che forniscono una scheda mezzanine contenente un sistema di avvio completo per il montaggio su una scheda personalizzata che fornisce l'alimentazione e i connettori I / O necessari per un sistema incorporato specifico. Uno di questi venditori è Gumstix . Gumstix AirSTORM offre Wi-Fi, Bluetooth, DRAM, NAND FLASH e TI OMAP3 ARM SOC. A sui

Consiglierei di ricevere un BeagleBoard . Hanno il supporto JTAG in modo da poter vedere cosa sta succedendo nell'hardware, una sorta di debugger hardware. Ci sono diverse build di Linux che girano su di esso. C'è anche una grande comunità attorno che ti aiuterà mentre lavori con esso. Ho Ubuntu Jaunty in esecuzione sul mio, quindi non c'è fine alle utility e ai compilatori che puoi eseguire.

Vorrei e faccio surf su Sparkfun.com, portano tavole Olimex e ne fanno la loro. Anche i micro / stellari luminari sono buoni. Il beagleboard è più una piattaforma linux che qualcosa a cui accedi alle funzioni / istruzioni del braccio stesso. Puoi usarlo ma per quei soldi potresti comprare tra 3 e 7 diverse schede di valutazione del microcontrollore basate su ARM. Ad ogni modo, inizierei con una piccola scheda avvolta attorno a un microcontrollore a braccio, st o lpc probabilmente, il micro luminare è solo il pollice2 che farei solo dopo aver bagnato i piedi con le istruzioni del braccio di scorta e poi le istruzioni del pollice.

Sono anche un fan dell'utilizzo dell'anticipo del gameboy come piattaforma di apprendimento per arm (non l'NDS, che è avanzato, inizia con la famiglia GBA).

Avrai bisogno di ARM ARM (il Manuale di riferimento dell'architettura ARM), quindi ogni specifico core ha il proprio TRM, avrai bisogno di entrambi per apprendere quali istruzioni sono disponibili. Per la maggior parte, questi manuali sono validi sia come riferimento che come apprendimento da zero.

Vorrei prima ottenere una scheda di valutazione come STR750 -LOVE. Quindi compilare e comprendere gli esempi. Dopo aver acquisito familiarità con gli esempi, è ora di passare alla comprensione di ciò che è nascosto e alla scrittura del proprio codice. Una parte importante del processo di apprendimento è cercare di fare qualcosa e quindi dover eseguire il debug e farlo funzionare. Se vuoi diventare un esperto del ARM, dovrai essere in grado di leggere il gruppo con fiducia. Ho appena avuto un'intervista per essere uno sviluppatore del firmware ARM e tutto quello che ho fatto per la parte tecnica è stato analizzare il codice assembly THUMB e trasformarlo in codice c. La maggior parte dei compilatori ha un'opzione per produrre l'assembly che generano.

Nelle parole di Tom Lehrer "Plagiarise, plagiarise, lascia che il lavoro di nessuno sfugga ai tuoi occhi".

O sii come Newton (e Bernard) in piedi sulle spalle dei giganti.

In altre parole, scopri cosa hanno fatto le altre persone ed evita l'idea di reinventare le ruote.

Comincerei con una scheda di sviluppo economica e un software di esempio, e da lì andrei a cercare ciò che devi sapere mentre procedi.

Un buon primer per lo STM32 basato su ARM è il nome appropriato STM32 Primer .

Non vorrei iniziare con il manuale tecnico, se non per una navigazione molto rapida. Quello per l'STM32 è lungo oltre 600 pagine e il manuale Cortex-M3 di accompagnamento è di altre 400 pagine. Non esattamente una lettura leggera!

Dipende davvero da che tipo di ARM, è un mondo davvero vasto. Di solito ARM è integrato in un SoC (sistema su un chip). Se si sta preparando la migrazione a un fornitore di SoC specifico, è necessario prendere in considerazione tutto. Nella mia esperienza, le scelte di periferiche e cache del SoC hanno un'influenza maggiore rispetto al core effettivo (ad eccezione delle prestazioni).

Per quanto riguarda le schede di valutazione: ho una buona esperienza con Luminary micro (gamma $ 50- $ 60) Cortex M3 . Viene fornito con un ambiente di sviluppo completo (eclissi), esempi, librerie e alcuni hardware (ad esempio USB, Ethernet, display OLed) ed esempi da cui è possibile eseguire e apprendere. Imparare facendo è molto più divertente che imparare leggendo. Immagino che ti sentirai a tuo agio a passare dall'8051 alla Cortex M3.

Nella fascia alta dello spettro, la beagle board è un vero cruncher di numeri che può anche eseguire Linux.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top