2012-06-16 18 views
5

Sto cercando di fare dello sviluppo di firmware per hobby a casa e ho bisogno di un programmatore di dispositivo. Nella speranza di mantenere le soluzioni Open Source, ho trovato il progetto OpenOCD e anche lo Bus Pirate. Per $ 30 sembra un gioco da ragazzi, soprattutto perché supporta più di JTAG (SPI, I2C, ecc.). Ho visto alcune menzioni che non è l'interfaccia più veloce là fuori.Opinioni sul programmatore di dispositivo Bus Pirate?

Qualcuno ha usato uno di questi e ha un'opinione su di esso? Qualche confronto con gli altri programmatori elencati nello Debug Adapter Hardware page of the OpenOCD documentation?

+0

quale dispositivo o famiglia stai programmando? –

+0

@dwelch Al momento ho un BeagleBoard-xM con un DM3730 (Cortex-A8). Spero di usare il Bus Pirate come programmatore di uso generale per qualsiasi tipo di microcontrollore, però. Anche se ho già un FET USB TI per cose relative a msp430. – Ryan

+1

Una dimensione non va bene per tutti, il pirata bus potrebbe essere un buon approccio, ma per alcune piattaforme potrebbe essere necessario un altro strumento. Il launchpad $ 4.30 msp430 programmerà altri msp430 come il fet. Lo uso per il mio avrs se non riesco a cavarmela con il bootloader. . A $ 30 il pirata bus è probabilmente un buon strumento, ma immagino che potrei trovarti ad aver bisogno di più strumenti nella tua cassetta degli attrezzi. –

risposta

6

Il BusPirate è/era più mirato come uno sniffer per le comunicazioni generiche, sebbene sia stato ampliato per diventare uno svizzero-esercito-coltello di sviluppo incorporato. Allo stesso modo l'analizzatore logico aperto che è anche un affare.

Non direi un BP è il modo migliore per ottenere il firmware in un micro embedded per scopi di sviluppo (un debugger dedicato è destinata probabilmente ad essere migliore), ma direi che vale la pena avere un BusPirate, LogicSniffer e se puoi allungare ad esso, un DSO-Quad.

Tutti e tre sono incredibilmente utili per lo sviluppo embedded, tutti e tre si sono ripagati molte volte qui in tempo risparmiato anche se abbiamo tutti gli attrezzi "giusti" in laboratorio a cui rivolgersi.

La BP che abbiamo trovato particolarmente utile quando si cerca di ottenere un nuovo dispositivo (EEPROM, SPI periperal/sensore ecc) per parlare con il nostro micro come si può ottenere il dispositivo installato e funzionante attraverso il PC prima di tradurre le formule magiche nel codice incorporato con la certezza che stai inviando i comandi giusti nel giusto ordine.

Per la programmazione/debug incorporata, un debugger dedicato (di solito viene fornito con il launchpad di devkit a-la MSP430) probabilmente ti farà andare molto più veloce e integrato con un IDE facilmente.

+0

ottimo riscontro, grazie. Ho ricevuto il mio Bus Pirate e presto lo metterò alla prova e guarderò LogicSniffer e DSO-Quad. Sono completamente d'accordo con la maggior parte dello sviluppo sul PC e l'utilizzo di un HAL per rendere il codice portatile all'architettura di destinazione. – Ryan

1

Utilizzo un BusPirate per annusare il traffico tra due schede e emulare un master I2C a scopo di test.

È, in breve, pazzo utile. Veloce e maneggevole per vedere i dati passare e fare esattamente quello che voglio.

Tuttavia, stavo avendo problemi e ad un certo punto ho verificato i dati sniffati con un ambito e ho scoperto che BusPirate non stava riportando esattamente i dati corretti inviati dal bus. È stato interpretato erroneamente e ha perso un intero byte da una sequenza di avvio ripetibile. E occasionalmente è appena uscito di pista.

Questi dati venivano trasmessi a 100kHz. Qualcuno mi ha suggerito di riprovare con fili più corti in quanto potrebbe essere stato un problema di capacità, ma anche con i cavi da 1 pollice che vanno al busPirate, hanno comunque riportato gli stessi errori.

Quindi, sapete, una parola di cautela che è necessario verificare quali sono gli strumenti che ti dicono di tanto in tanto.

Problemi correlati