Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Opinions on Bus Pirate device programmer? [closed]

I'm looking to do some hobby firmware development at home and need a device programmer. Hoping to keep to Open Source solutions, I found the OpenOCD project and also the Bus Pirate. For $30 it seems like a no-brainer, especially since it supports more than just JTAG (SPI, I2C, etc.). I have seen a few mentions that it isn't the fastest interface out there.

Has anyone used one of these and has an opinion on it? Any comparisons to the other programmers listed in the Debug Adapter Hardware page of the OpenOCD documentation?

like image 969
Ryan Avatar asked Jun 16 '12 18:06

Ryan


2 Answers

The BusPirate is/was more aimed as a general purpose communications sniffer, although it's expanded to become a swiss-army-knife of embedded development. Likewise the open logic analyser which is also a bargain.

I would not say a BP is the best way to get firmware into an embedded micro for development purposes (a dedicated debugger is probably going to be best) but I would say that it's well worth having a BusPirate, LogicSniffer and if you can stretch to it, a DSO-Quad.

All three are incredibly useful for embedded development, all three have paid for themselves many times over here in time saved even though we have all the "proper" gear in the lab to turn to.

The BP we have found particularly useful when trying to get a new device (EEPROM, SPI periperal/sensor etc.) to talk to our micro as you can get the device up and running through the PC before translating the magic incantations into embedded code with some confidence that you're sending the right commands in the right order.

For embedded programming/debugging, a dedicated debugger (usually comes with the devkit a-la MSP430 launchpad) will probably get you going much quicker and intergrate with an IDE easily.

like image 168
John U Avatar answered Dec 20 '22 04:12

John U


I'm using a BusPirate to sniff traffic between two boards and and to emulate an I2C master for testing purposes.

It is, in short, crazy useful. Quick and handy for seeing data go by and doing exactly what I want.

However, I was having troubles and at one point I verified the sniffed data with a scope and found that the BusPirate was not exactly reporting the correct data being sent of the bus. It misread a bit and missed a whole byte from a repeatable bootup sequence. And occasionally it just got off track.

This was data being transmitted at 100kHz. Someone suggested I try again with shorter wires as it might have been a capacitance issue, but even with 1 inch wires going to the busPirate, it still reported the same errors.

So, you know, a word of caution that you need to verify what your tools are telling you now and then.

like image 41
Philip Avatar answered Dec 20 '22 04:12

Philip