Sunday, February 10, 2013

Free Cortex debugger

Emulator company iSystem offers free Cortex debugger. There are couple of options on how to get it. Most intriguing is the DIY option. The design is similar to STM32F4-Discovery board. I successfully managed to make it with the actual Discovery board. Following is how.

To supply the board from device USB port the connection from PA9 to 5V is needed (red wire). Further the BOOT0 needs to be connected to 3V (brown wire) to boot the device in DFU mode after power on. Also, I had onboard debugger disabled.

Needed connections

With these connections I followed the official guide on how to program the initial firmware (with iTAG_Public.exe) to STM simulating J2 (see documentation) with brown wire. There were some problems programming it from 32bit virtual machine. It worked on my 64bit W7 machine. Debugging was later possible in virtual machine.

Debugger works with free iTAG winIDEA IDE. Updating the firmware with winIDEA worked as described.

Output debug signals can be found in iTAG schematics (also available). I connected them to other STM32F4-Discovery board and downloaded the RTOS winIDEA sample to target on the other board for test. Supply for target was taken from debugger board.

Debugger - target connection (BOOT wire removed)

Target details

Debugger details

Debugging in winIDEA
Some points:
  • Schematics, utility, gerber files, iTAG winIDEA IDE available for free online
  • No registration required
  • No download size limit
  • GCC 4.7.0 compiler build for ARM/Cortex projects included with winIDEA
  • No trace functionality
There are two optional connectors on the official iTAG board. They seem like analog and digital extension ports like on some professional tools the company offers. However there are no options to configure them. Also, the SWO signal is connected to UART Rx pin on the debugger. This could mean that SWO trace option was planed. Hopefully the functionality will come with updates.

1 comment:

  1. I’ve got a $10 altera usb-blaster clone from ebay that compatible with openocd, would love to give a try for software debugging!

    Any idea if OpenOcd or UrJtag (not sure the difference) work with STM32F4DISCOVERY Kit?

    None of the common boards I’ve seen have a jtag connector (raspberry pi, pandaboard, cubie, ODROID-U2, udoo , CooperKit, EzSBC, NanoPC Radxa Rock, AM335x* etc).

    The beaglebone black has a usb jtag “EMULATOR” (??) as well as provisions for a standard jtag header… unfortunately, it seems most people would use that header with TI’s CCS (baremetal compiler instead of the gnu compiler), so getting it work with Eclipse and OpenOCD might be an uphill battle!