SparkFun Forums 

Where electronics enthusiasts find answers.

Open source ARM Debugger
By 0xreverser
#196048
Hello;
I have bought brand new "Adafruit FT232H". This product: https://www.adafruit.com/product/2264 .

Anyway, I have started working on a board which has omap5912 cpus. And the thing i want to do is extract the firmware from flash via OpenOCD
So first i have prepared a config file for our breakout board. :
Code: Select all
interface ftdi
ftdi_vid_pid 0x0403 0x6014
ftdi_layout_init 0x0008 0x400b
adapter_khz 1000
transport select jtag

#ftdi_device_desc "Adafruit FT232H Breakout"
#ftdi_serial "FTZ7O8O0"
#ftdi_layout_init 0x0018 0x05fb
3 questions:
1.What is our device's "ftdi_device_desc" ?? Because FT232H or something like that doesnt work?
2.What is the serial of our device ftdi_serial ???
3.What is ftdi_layout_init numbers for our Adafruit FT232H device
4.On my board there are pins for TMS TDI TDO TCK GND 3V3. But no pin for TRST/SRST. Can i still use my FT232H adapter for jtagging/firmware extraction? Because i cannot halt cpu, open ocd gave error saying "How to reset?"
I have searched the forum but i couldnt find answers to my questions. I am a newbie and sorry if i violate forum rules.
Thanks for your answers.

5. And also i have bought SparkFun USB to Serial Breakout - FT232RL https://www.sparkfun.com/products/12731 But this is not for Jtagging right?
By ian.rees
#196232
Hi 0xreverser,

I'm not too familiar with the FT232H in particular, but have recently been through a similar process with the FT2232.

1) The ftdi_device_desc isn't mandatory, as far as I understand, it's essentially a check to make sure OpenOCD to the right USB device. To find the string on Linux at least, have a look at the output of dmesg after you've plugged in the adapter, the string you want is the one following "Product:"
2) Suspect this is similar to #1. May have better luck asking over at Adafruit.
3) See http://openocd.org/doc/html/Debug-Adapt ... ation.html - they are a pair of masks, which setup the GPIO pins of the FTDI chip. The bits correspond to pins on the chip - a set bit in the direction field means "output", and in the data field means logic high by default (assuming it's an output - I think it might set pullup/down behaviour for inputs, not sure).
4) This is addressed in the OpenOCD manual as well - http://openocd.org/doc/html/Reset-Configuration.html . TRST and SRST are two different types of reset, perhaps your board does have a reset but it's not at the JTAG connector?

The second part of your question 4 is a bit too open-ended to help. Think of OpenOCD as a way to run a program that interacts with your hardware, through the JTAG adapter. The program you're running is the combination of OpenOCD cfg files and commands, which are all TCL code. You need to set up that program to talk with your particular adapter and board (perhaps more accurately, parts on the board) before you can do higher level things like "extract the firmware from flash".

Hope that helps! -Ian-