If you want to update STM32 firmware and CPLD, you can try Versaloon with USB 
ISP bootloader.
usb_isp bootloader emulate a CDC-ACM device with COM ISP protocol of STM32, so 
you can use any stm32 ISP tool to update the firmware.
And there is both stm32 com isp support and VSF support in vsprog. But vsf 
support in vsprog is less maintained than one in OpenOCD.




simonqian.openocd

From: Andrew Leech
Date: 2012-07-04 07:35
To: openocd-devel
Subject: Re: [OpenOCD-devel] JTAG through USB and TRACE
On 4/07/12 3:01 AM, Vaclav Peroutka wrote:

Hello all,

for one my hobby project ( http://mz800ukp1.sourceforge.net/ ) I use STM32 and 
CPLD. My idea is to replace current MCU with F205 and use onchip USB to update 
firmware in both MCU and CPLD. Mode switching between CPLD SVF update, FW 
update and "user mode" will be done by jumpers.

My idea is to emulate some well known interface already available by openocd. 
usb_blaster for CPLD maybe ? But for firmware selfupdate, I don't have any idea 
what can be usable. Or is it better not to rely on OpenOCD and write some PC 
application from the scratch communicating through CDC class ?

Another idea - is there any free means for communication with ETM on Cortex M3 
? I tried to find one but no success. Maybe I ask wrong questions to Google.

Thank you in advance,
Vaclav



Hi,
I do a very similar thing on a current product, which is based on an lpc3131 
(arm9) and an actel fpga. I actually ended up using JAM Stapl Player 
(altera/actel) on the pc end to do the fpga programming, and wrote a program 
for my lpc to emulate the serial programmer it supports. I initially wrote it 
as usb cdc but later ported it and stapl_player to run on hid instead to avoid 
driver/port hassles. It works quite well, but takes 3-5minutes to program which 
I'd really like to improve as opposed to my ft2232 based dongle programming it 
in about 1.5minutes.
To make this possible I set up my pcb layout such that some gpio on the arm can 
take over the jtag lines on the fpga, it doesn't have any other serial update 
methods, just jtag.
At the time I didn't see any openocd supported programmer with a usb interface 
I thought I could easily replicate, hence went with the standalone tool. 
Looking at it now though, opendous-jtag looks like it'd be pretty 
straightforward to replicate. I don't know whether it'd be particularly quick 
or not though.
I use the lpc's built in usb dfu bootloader mode to load the programmer 
firmware, then run stapl player on computer to load the stapl file.

You should look at versaloon though if you're planning on using an STM32, 
that's what it's written for. If you pin out your pcb correctly you could 
probably use it with minimal or no modification.


As far as the arm's concerned, my programs stored in external flash chip, so I 
just had to write a loader that could write my rom file to that flash. As part 
of my build procedure I actually convert my firmware.rom into a *.o object file 
and link it to a predetermined location in my arm loader program which gives my 
a single final file I load over the usb dfu. The loader program starts up, 
verifies the firmware.rom at the known memory buffer location, then flashes it 
to the external flash chip. It's really quite neat and straightforward.

Again, there's probably a simpler way for you too, look up ST UM0412 "Getting 
started with DfuSe USB device firmware upgrade". Looks like ST have it nicely 
built in for you.

Andrew
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to