2010-02-09 22 views
7

Sto cercando di avviare un semplice sviluppo dell'hardware e, si spera, di fare progressi sufficienti per imparare dal reverse engineering.Avvio dello sviluppo dell'hardware

Vorrei iniziare con un microcontrollore e averne in mente, come Mbed e Arduino. Con cosa dovrei andare?

Stavo pensando forse mbed perché ha caratteristiche USB ed ethernet, tra alcuni altri, ma non so davvero cosa abbia Arduino. Avrebbe ottenuto bus-pirata (perché costa meno)?

Davvero non voglio programmare in base; il mio attuale controllore di parallasse è un dolore!

+1

Benvenuti in SO! Ho ripulito il tuo post per chiarezza e convenzione; noterai che SO ha un certo stile. In particolare, è necessario omettere saluti e firme e porre le domande che si chiedono nel modo più chiaro possibile. –

+0

Qual è il tuo obiettivo? Per imparare il montaggio? –

risposta

1

Scelta del microcontrollore dipenderà da una serie di fattori:

  • che tipo di interfacce cosa avete bisogno?
  • quanto ti serve la performance? (ad esempio, è necessario fare qualcosa di intensivo da un punto di vista computazionale, ad esempio eseguire algoritmi DSP)
  • di quanta memoria è necessario avere?
  • il consumo di corrente è importante? (stai considerando le applicazioni alimentate a batteria?)
  • quale linguaggio di programmazione, ambiente di sviluppo, strumenti, ecc. vuoi lavorare? (potrebbe essere semplice come assemblatore e poca o nessuna capacità di debug, fino a cross-compilers, debugger JTAG, ecc.)
  • che tipo di budget hai?
+0

* Mi interessa il reverse engineering (IE capisce qualcosa funziona e lo fa fare qualcosa che non dovrebbe) * visto che sarei un principiante non avrei bisogno di tutte quelle prestazioni. ma ho bisogno di espandibilità, posso lavorare lentamente. basta che io abbia caratteristiche. * Non so davvero quanta memoria ho bisogno. visto che sono appena agli inizi. non so cosa prende ciò che realmente. * la potenza non è davvero un problema. Posso facilmente compensare la mancanza di energia * conosco un po 'di cpp e quindi spero di restare con loro. * abbastanza basso.sto guardando o meno di $ 100 –

+1

Se il reverse engineering è l'obiettivo principale, probabilmente vorrete scegliere un microcontrollore che sia simile a quello utilizzato nel tipo di dispositivo che si desidera decodificare. Per esempio. se si volesse eseguire il reverse-engineering sull'iPod Touch di Apple, probabilmente si vorrà utilizzare una CPU ARM, forse una scheda di valutazione ARM a basso costo. –

+0

Hmm, ok, come un micro-controllore per principianti, puoi raccomandare Mbed o Arduino? e pensi che usare qualcosa di simile al pirata del bus sarebbe un'alternativa? –

3

Consiglio vivamente di iniziare con i microcontrollori Microchip. Sono un'architettura economica e semplice e gli strumenti di sviluppo sono gratuiti. Dovrai programmare in Assembler o C (consiglio vivamente l'Assembler per questa attività).

+0

+1: microcontrollori PIC a 8 bit e C (o assembly se sei coraggioso) sono un buon punto di partenza. –

+0

Penso che ci sia molto da guadagnare nell'assemblaggio per microcontrollori a 8 bit. C è eccessivo, con un microcontrollore a 8 bit VUOI essere vicino all'hardware. E ovviamente è una meravigliosa esperienza educativa. – Raphael

+0

+1 ama i PIC. Economico, è possibile ottenere alcuni di loro per meno di un dollaro. Circa $ 2 con USB. Anche se non sono d'accordo con @Raphael, C è la strada da percorrere e sicuramente * non * eccessivo. – kenny

2

Ottieni un Arduino.

È semplicissimo ottenere la configurazione della toolchain e iniziare a scrivere codice di lavoro. Sono economici e tutti gli strumenti sono open source. Dal momento che utilizza un chip DIP socket, se friggi il chip puoi sostituirlo facilmente, e puoi anche prendere un chip programmato e incollarlo in una scheda del tuo progetto.

Per quanto riguarda mbed, vuoi davvero affidarti alla loro app Web per compilare il tuo software?

4

Non posso raccomandare abbastanza il Arduino. È banalmente facile da configurare e programmare, open source al 100%, puoi programmarlo utilizzando C, C++, Wiring, c'è un eccesso di tutorial là fuori e la maggior parte sono ben scritti e facili da seguire, puoi comunicare con esso tramite OSC (il che significa che è possibile inviare e ricevere comandi sulla rete tramite Elaborazione, Quartz Compositor, LibLO, ecc.).

Dai un'occhiata a questo link di 40 Arduino projects per avere un'idea di cosa è possibile.

0

Consiglio di iniziare con microcontrollori PIC perché sono facili da capire per un programma. Gli strumenti di sviluppo sono gratuiti e i programmatori di chip sono economici.

Più tardi, quando si è più familiari con i concetti, passare alla famiglia ARM perché sono economici e potenti.

0

L'arduino va bene, mi piace molto, ma non mi piace il set di istruzioni avr. In particolare, l'avr e l'arduino sono molto popolari. Il lillypad di sparkfun.com con l'accessorio usb-seriale/power è una buona combinazione, non è richiesta alcuna saldatura e puoi iniziare a giocare subito, con un singolo connettore USB, a un prezzo più basso. L'arduini pro mini è simile ma è necessario un po 'di saldatura per usarlo (o cavi pendenti). Vorrei raccomandare il cordium armmite pro, è lpc non atmel ma arduino come e dovrebbe accoppiarsi con altre periferiche arduino se si scende su quel percorso. Non è assolutamente necessario l'interprete di base che viene fornito con esso, è facile cancellarlo e usare la cosa del bootloader lpc per caricare i propri programmi (vedere lpcstuff.blogspot.com). Sono/ero anti-lpc ma mi è capitato di giocare con il mbed l'ultimo giorno o due dopo averlo ritirato immediatamente nel mucchio di scarti subito dopo averlo preso. I led blu mi danno ancora emicranie, ma la buona notizia è che non sei legato alla loro funzione di sviluppo web sandbox. Puoi facilmente eseguire i tuoi programmi come puoi con arduino e armmite pro. la cosa bella del mbed è montare come un flash drive e copiare il file .bin sul dispositivo e premere il pulsante per caricarlo. non è molto più facile Un altro è il sam7s-256. Olimex (nota che tutti questi elementi sono disponibili su sparkfun.com) la scheda di intestazione sam7s-h256 o sam7s-h64 è ciò a cui mi riferisco. È un chip atmel. Atmel è amichevole per lo sviluppatore come qualsiasi utente avr ti dirà, sam-ba ora gira su linux che è un requisito per me, è solo un chip e una scheda ben fatti pronti per essere usati per molte cose. Le schede del braccio supereranno facilmente le schede arduino/avr, sebbene in questi fattori di forma siano un po 'più costosi. La famiglia msp430 è un'altra buona, prendi un ez430 direttamente da TI e il terzo pacchetto di schede aggiuntive è un altro $ 10, in pratica quattro schede per il prezzo di uno o metà di uno degli articoli sopra). Set di istruzioni molto buono, buoni strumenti (gcc 4.x, llvm). Eviterei la foto, certo molte persone, me incluso, tagliavo i denti su una foto, da una prospettiva generale dell'utente dal numero di schede facili da usare a un buon prezzo, facile da trovare e utilizzare strumenti, gruppi di supporto, pagine Web di esempio , non possono competere con il braccio e l'avr. E il loro set di istruzioni è molto peggiore dell'8051, che è piuttosto brutto. pic32 che è un mips è un'altra storia, ancora non così ben confezionata e facile da usare, ma il set di istruzioni non è più il problema principale.

+0

Ho un nuovo preferito. La scoperta di stm43f4. Per meno di $ 20 è pieno zeppo, corteccia-m4 con virgola mobile, cache, un numero di uarts, un sacco di I/O, ecc, ecc ... Sto spostando le mie schede mbed da parte e lasciando questo sulla scrivania .. . –

1

Consiglio vivamente di ARM mbed è davvero facile da iniziare. molte librerie sono già fornite per la maggior parte delle applicazioni comuni (è relativamente nuova) e ha un compilatore "nuvoloso" che significa che è basato sul Web e finché si ha accesso a Internet non è necessario alcun pezzo aggiuntivo di software da installare sul tuo computer vai online, scrivi il tuo codice C nell'IDE online e lo compilerà per te e devi solo scaricare il file .bin e copiarlo nel tuo computer. è estremamente facile da usare e la comunità è molto utile.

0

Arduino è grande, semplice ed economico, ci sono molti documenti ed esempi nel web, ma preferisco MBed, è potente, più veloce, più memoria, compilatore on-line, ethernet a bordo e multitasking ufficialmente supportati biblioteca.

Problemi correlati