From: Martin S. <mar...@st...> - 2011-06-21 19:35:56
|
On Tuesday 21 June 2011 19:11:17 Christopher Harvey wrote: > > Hi Martin, > I've got a ulink at home with an MCB board (I forgot the exact number), > so this is exciting news for me. > > I've been wanting to lean the internals of OCD and Jtag for a while, > could anybody suggest some technical jtag/gdb/arm documents? I am also > curious, how did you figure out the format of the data in the packets > you're sending to the Ulink? > > thanks, > -Chris Hi Chris, sorry, I forgot to mention a few things in my last mail: the ULINK adapter includes a Cypress EZ-USB microcontroller which has volatile code memory. The host application needs to download the firmware via USB control transfers each time the ULINK is first connected to the host. This driver does not use the same protocol as Keil's proprietary software, instead it uses my custom firmware (see 0002-Add-OpenULINK-firmware.patch). This firmware is compiled with SDCC and downloaded as part of the OpenOCD adapter init function. Once the ULINK is disconnected, the EZ-USB memory contents are lost and the firmware needs to be downloaded again the next time the ULINK is used. Therefore, backwards compatibility with Keil software is a non-issue - to use the adapter with uVision again, it just needs to be disconnected and re- connected. Also, this only works for the original Keil ULINK. Newer variants (ULINK2, ULINK-ME, ULINKpro are based on completely different hardware and need extra work to be usable with OpenOCD). Best regards, Martin |