This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
dev:nab:v2:jtag [2015/11/12 14:45] redox [Usage] |
dev:nab:v2:jtag [2019/12/25 15:40] (current) |
||
---|---|---|---|
Line 12: | Line 12: | ||
{{:dev:nab:v2:jtag:bbv3.jpg?200 |}}I think you can use any JTAG probe that's 3.3v compatible, if you have one. If you don't, I recommend the [BusBlaster v3](http://dangerousprototypes.com/docs/Bus_Blaster_v3_design_overview). It's a great board, versatile and cheap; oh ! and it's also open hardware and open source ! :-) | {{:dev:nab:v2:jtag:bbv3.jpg?200 |}}I think you can use any JTAG probe that's 3.3v compatible, if you have one. If you don't, I recommend the [BusBlaster v3](http://dangerousprototypes.com/docs/Bus_Blaster_v3_design_overview). It's a great board, versatile and cheap; oh ! and it's also open hardware and open source ! :-) | ||
- | On of the best features of the BusBlaster is you can reconfigure the CPLD to emulate any FT2232 JTAG probe. I think it comes pre-programmed with a JTAGkey buffer logic, which should work fine for this application. | + | One of the best features of the BusBlaster is you can reconfigure the CPLD to emulate any FT2232 JTAG probe. I think it comes pre-programmed with a JTAGkey buffer logic, which should work fine for this application. |
_Note_: My BusBlaster (a v4 !) uses a KT-link buffer logic, because I needed the SWD capabilities for another application. If the following steps don't work, try to reprogram the CPLD with a KT-link buffer and try again ! | _Note_: My BusBlaster (a v4 !) uses a KT-link buffer logic, because I needed the SWD capabilities for another application. If the following steps don't work, try to reprogram the CPLD with a KT-link buffer and try again ! | ||
Line 93: | Line 93: | ||
I think you can use telnet to interact with OpenOCD, but I use GDB... Here are a few notes: | I think you can use telnet to interact with OpenOCD, but I use GDB... Here are a few notes: | ||
- | ### Launch GDB and connect | + | ### Launch and connect |
arm-none-eabi-gdb | arm-none-eabi-gdb | ||
+ | |||
+ | or, if you have an .elf file to debug/flash | ||
+ | |||
+ | arm-none-eabi-gdb ./path/to/file.elf | ||
Once in GDB | Once in GDB | ||
Line 104: | Line 108: | ||
mon reset run | mon reset run | ||
- | | + | |
### Dump the flash | ### Dump the flash | ||
Line 124: | Line 128: | ||
{{.:jtag:nabjtag.jpg?250| BusBlaster connected to the Nabaztag, side view}} {{.:jtag:nabjtag_bottom.jpg?250| BusBlaster connected to the Nabaztag, bottom view}} | {{.:jtag:nabjtag.jpg?250| BusBlaster connected to the Nabaztag, side view}} {{.:jtag:nabjtag_bottom.jpg?250| BusBlaster connected to the Nabaztag, bottom view}} | ||
+ | ### Flash an elf file | ||
+ | |||
+ | If you started GDB with an elf file (or if you loaded one), you can flash it on the Nabaztag by simply running: | ||
+ | |||
+ | load | ||
## Links | ## Links | ||
+ | |||
+ | * [BusBlaster wiki](http://dangerousprototypes.com/docs/Bus_Blaster) | ||
+ | * [OpenOCD user guide](http://openocd.org/doc/html/) |