CuVoodoo

the sorcery of copper

User Tools

Site Tools


jtag

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
jtag [2018/01/06 12:09] – [Altera USB-Blaster] fix typo kingkevinjtag [2019/03/09 09:27] – [Texas Instruments XDS100v3] kingkevin
Line 61: Line 61:
 {{:jtag:mb936_case-front.jpg?0x150|case front}} {{:jtag:mb936_case-front.jpg?0x150|case front}}
 {{:jtag:mb936_case-back.jpg?0x150|case back}} {{:jtag:mb936_case-back.jpg?0x150|case back}}
-{{:jtag:mb936_internal-front.jpg?0x150|internal front}} 
 {{:jtag:mb936_internal-front2.jpg?0x150|internal front}} {{:jtag:mb936_internal-front2.jpg?0x150|internal front}}
 {{:jtag:mb936_internal-back.jpg?0x150|internal back}} {{:jtag:mb936_internal-back.jpg?0x150|internal back}}
Line 121: Line 120:
  
 This one has an "M" logo instead of the ST logo, probably corresponding to the "MX-LINK V2" marking on the board. This one has an "M" logo instead of the ST logo, probably corresponding to the "MX-LINK V2" marking on the board.
 +
 ==== Baite ==== ==== Baite ====
  
Line 174: Line 174:
 git submodule init git submodule init
 git submodule update git submodule update
-git checkout baite-platform 
-# if you are usgin GCC >= 7 
-git cherry-pick 2ebcffa2a4911090b43c36594dae6b58d4bb2f27 
 make make
 cd src cd src
Line 210: Line 207:
 stm32flash -o /dev/ttyUSB0 stm32flash -o /dev/ttyUSB0
 # flash the DFU bootloader # flash the DFU bootloader
-stm32flash -w src/blackmagic_dfu.bin -v /dev/ttyUSB0+stm32flash -w blackmagic_dfu.bin -v /dev/ttyUSB0
 # flash the main firmware # flash the main firmware
-stm32flash -w src/blackmagic.bin -v -S 0x08002000 /dev/ttyUSB0+stm32flash -w blackmagic.bin -v -S 0x08002000 /dev/ttyUSB0
 </code> </code>
- 
-Since this adapter is based on an STM32F103C8 micro-controller with 64 kB of flash the DFU bootloader only advertises 56 kB of flash available for the main application. 
-Because the blackmagic firmware exceeds this size it will not be possible to flash it through if the DFU software doesn't ignore this restriction. 
-STM32F103C8 micro-controllers often have 128 kB of flash though, thus it is still possible to flash the blackmagic firmware using the serial bootloader (at address 0x08002000). 
-Verification during flashing ensured the whole firmware has been written successfully. 
  
 Unplug and re-plug the Baite dongle. Unplug and re-plug the Baite dongle.
 The adapter should be running the main application and two USB CDC ACM ports will appear. The adapter should be running the main application and two USB CDC ACM ports will appear.
  
-You can re-flash the device from the main application using dfu-util (if you can bring dfu-util to ignore the size restriction):+You can re-flash the device from the main application using the DFU bootloader with:
 <code bash> <code bash>
-dfu-util -d 1d50:6018 -s 0x08002000:leave -D blackmagic.bin+python2 ../scripts/stm32_mem.py blackmagic.bin
 </code> </code>
 +
 +Note: Since this adapter is based on an STM32F103C8 micro-controller with 64 kB of flash the DFU bootloader only advertises 56 kB of flash available for the main application.
 +Because the blackmagic firmware exceeds this size it will not be possible to flash it through if the DFU software doesn't ignore this restriction (i.e. ''dfu-util'').
 +STM32F103C8 micro-controllers often have 128 kB of flash though, thus it is still possible to flash the blackmagic firmware using the serial bootloader (at address 0x08002000, with verification enbaled ot ensured the whole firmware has been written successfully) or ''stm32_mem''.
  
 Here is the new "BMP Baite" {{ :jtag:bmp_baite.pdf |pinout}}: Here is the new "BMP Baite" {{ :jtag:bmp_baite.pdf |pinout}}:
Line 355: Line 351:
 {{:jtag:mini_stm32_front-board.jpg?0x150|ARMJISHU board USB-Blaster front}} {{:jtag:mini_stm32_front-board.jpg?0x150|ARMJISHU board USB-Blaster front}}
 {{:jtag:mini_stm32_back-board.jpg?0x150|ARMJISHU board USB-Blaster back}} {{:jtag:mini_stm32_back-board.jpg?0x150|ARMJISHU board USB-Blaster back}}
 +
 ===== SEGGER J-Link ===== ===== SEGGER J-Link =====
  
-The [[http://www.aliexpress.com/item/FREE-SHIPPING-V8-ARM-Emulator-supports-ARM7-ARM9-ARM11-Cortex-M3-core-ADS-IAR-STM32-Emulator/32262570128.html|O-Link-ARM V8]] is a [[https://www.segger.com/jlink_base.html|SEGGER J-Link]] clone.+The [[https://www.segger.com/jlink_base.html|SEGGER J-Link]] supports JTAG, SWD, SWO, RTCK, and voltage reference (or provide 3.3V). 
 +That makes it one of the most complete JTAG adapter. 
 +The differences between the versions are documented [[https://wiki.segger.com/Software_and_Hardware_Features_Overview|here]]. 
 + 
 +There are plenty of different J-Link v8 and v9 clones available, from light version with the minimum number of components, to full version with all features. 
 +But v8 and v9 are not supported anymore by J-Link, meaning no new feature will be added to them. 
 +Instead I recommend to get the [[https://www.segger.com/products/debug-probes/j-link/models/j-link-edu/|J-Link EDU]] which is a supported v10 and not expensive. 
 + 
 +The come in the same case:
  
 {{:jtag:imag0403.jpg?0x150|device front}} {{:jtag:imag0403.jpg?0x150|device front}}
 {{:jtag:imag0404.jpg?0x150|device back}} {{:jtag:imag0404.jpg?0x150|device back}}
-{{:jtag:imag0406.jpg?0x150|PCB front}} 
  
-It supports JTAG, SWD, SWO, RTCK, and voltage reference+Here a J-Link v8 with large passives: 
-That makes it the most complete JTAG adapter I have.+ 
 +{{:jtag:jlink-v8-large-front.jpg?0x150|board front}} 
 +{{:jtag:jlink-v8-large-back.jpg?0x150|board back}} 
 + 
 +Here a J-Link v8 with smaller and a bit less passives: 
 + 
 +{{:jtag:jlink-v8-thin-front.jpg?0x150|board front}} 
 +{{:jtag:jlink-v8-thin-back.jpg?0x150|board back}} 
 + 
 +Here a light J-Link v9. 
 +v9 uses a STM32F205 (providing 20 MHz JTAG/15 MHz SWD) while v8 uses a AT91SAM7S (providing 10 MHz JTAG/4 MHz SWD): 
 + 
 +{{:jtag:jlink-v9-front.jpg?0x150|board front}} 
 +{{:jtag:jlink-v9-back.jpg?0x150|board back}} 
 +===== Texas Instruments XDS100v3 ===== 
 + 
 +The [[http://processors.wiki.ti.com/index.php/XDS100|XDS100v3]] supports cJTAG (aka. IEEE 1149.7or SWD alternative)but I have not been able to successfully use it yet
 + 
 +Note: this adapter uses the [[http://software-dl.ti.com/ccs/esd/documents/xdsdebugprobes/emu_jtag_connectors.html|TI 20-pin (cTI) pinout]]. 
 + 
 +{{:jtag:xds100v3_case.jpg?0x150|device}} 
 +{{:jtag:xds100v3_front.jpg?0x150|board front}} 
 +{{:jtag:xds100v3_back.jpg?0x150|board back}} 
 + 
 +===== DISTORTEC JTAG-lock-pick Tiny 2 ===== 
 + 
 +The [[http://www.distortec.com/jtag-lock-pick-tiny-2/|JTAG-lock-pick Tiny 2]] is just a very fast (using a FT232H chip), and compact (although it could be even more compact if the component were on both sides) JTAG adapter supporting 1.4V to 5.5V signals (using a CPLD), RTCK, SRST, and TRST.
  
 +{{:jtag:jtag-lockpick_front.jpg?0x150|board front}}
 +{{:jtag:jtag-lockpick_back.jpg?0x150|board back}}
 ====== tricks ====== ====== tricks ======
  
jtag.txt · Last modified: 2024/01/07 17:49 by 127.0.0.1