Sono stato codificante in C sia come hobby che professionalmente da circa 16 anni, ma sempre per codice userland (cioè programmi, non kernel o driver). La maggior parte dei miei lavori riguardava linguaggi di alto livello (ho eseguito molto di programmazione Perl e Ruby, con gli occasionali script Java, Python e shell in mezzo). Ho sviluppato molto per MS-DOS (che era probabilmente il più vicino alla programmazione bare metal come si farebbe con una macchina x86), ma il mio ultimo lavoro ha coinvolto 5 anni di sviluppo web Perl e Ruby on Rails.
Detto questo, ora sono un ingegnere senior per lo sviluppo di Linux embedded, sviluppo di driver (tra cui un emulatore per un'eredità semplice microprocessore all'interno di un modulo del kernel) per uClinux sulla piattaforma Blackfin. Ci sono momenti in cui la mia inesperienza con problemi legati all'hardware (ad esempio, livelli di segnale fluttuanti a causa della mancanza di un pull-up/pull-down su una spilla) ha intralciato la strada, ma è stata per lo più un'esperienza molto divertente ed elettrizzante. Come affermato da altri, la comprensione dei tuoi strumenti è essenziale: per uClinux, ciò significava lo GNU Toolchain, che fortunatamente conoscevo già a causa del mio background sulle tecnologie FOSS.
Il Blackfin è certo un microprocessore entry-level (in particolare, non ha una MMU, che ha qualche relevant effects on Linux development), ma, come già detto, è possibile acquistare un Beagleboard per circa US $ 200 con tutti gli accessori e inizio richieste scherzare con esso in pochi giorni. Se vuoi qualcosa di più semplice, ci sono molte opzioni Arduino là fuori, anche se se hai qualche reale esperienza di sviluppo sotto la cintura credo che troverai il loro ambiente di sviluppo un po 'limitante (lo so che l'ho fatto).
Dopo esserti comodo con i tuoi strumenti, potresti voler spendere dei soldi su un in-circuit emulator (o ICE). Questi sono in genere altamente specifici della piattaforma (sia in termini di architettura di destinazione che di ambiente di sviluppo), ma sono altamente raccomandati per qualsiasi cosa al di là dei soliti esempi di LED lampeggianti dopo la pressione dei tasti. Sono sicuro che supererete rapidamente.
In pochi mesi ti troverai a creare immagini personalizzate per hackable customer devices utilizzando Buildroot e divertendoti molto. Tutto quello che posso dire è, provaci, è molto avvincente e non particolarmente costoso da fare oggigiorno.
fonte
2010-01-25 20:34:33
che tipo di kit di sviluppo consigliate? – Henry
o .. ci sono macchine virtuali per uController/microprocessore su PC? Ti piace ... fare lo sviluppo di J2ME senza il telefono J2ME? Mi stavo solo chiedendo ... – Henry
@ Henry: consiglierei di iniziare con un processore Atmel (sono abbastanza popolari e semplici) o un Motorola MSP430 o simile (bassa potenza). Fondamentalmente, qualsiasi kit di sviluppo con USB sarà buono. Per quanto riguarda una VM su un PC - non so se riuscirai a riceverli in questi giorni, ma consiglierei * non * di ottenere una metà della sfida/pratica/soddisfazione che sta facendo funzionare la toolchain. – Peter