On Sun, Aug 14, 2011 at 7:19 AM, Xiaofan Chen <xiaof...@gmail.com> wrote:
> On Sat, Aug 13, 2011 at 10:59 PM, Eric Wetzel <thewet...@gmail.com> wrote:
>> Alright, I didn't get around to trying your method yet; I've been
>> capturing things from Segger's J-Link Linux program. Here's what I
>> found.
>>
>> Segger's program sends two commands that are undocumented by the
>> J-Link USB Protocol Reference Manual.
>>
>> The first is 0xE6, which returns 256 bytes of data. The first four
>> bytes returned are the serial number of my unit, and the next row,
>> starting from byte 16, is a null-terminated string of the OEM's name
>> (in my case 'IAR').
>>

http://lists.berlios.de/pipermail/openocd-development/2009-May/006781.html

ReadOTS (OTP Structure)
  input: 0xE6 (1 byte)
  output: OTS buffer (256 bytes)
   +0x00 4  serial no
   +0x10 16 OEM string
   +0x20 16 feature string 1
   +0x30 16 feature string 2
   ...
   +0x90 16 feature string 8


>> The next undocumented command is 0x09. It seems to consist of 14 bytes
>> and returns 76 bytes (but for some reason, my usbmon log is being
>> truncated to just 64 bytes). Neither the command nor the response seem
>> to contain ASCII strings. For my test cases, I ran the J-Link program,
>> waited for it to stabilize, then exitted. I tested conditions like the
>> first execution after plugging in the J-Link and successive
>> executions, and having a target connected or not. Here are the forms
>> of the 0x09 commands (responses not included):
>> jlink-trace.txt: 0964a20c 00000000 00000000 0000
>> jlink-trace.txt: 0964a20c 00000000 00000000 0300
>> jlink-trace.txt: 0964a20c 00000000 00000000 0300
>> jlink-trace.txt: 0965a20c 00000000 00000000 0300
>> segger-after-plug-no-target.txt: 0964850e 00000000 00000000 0000
>> segger-after-plug-no-target.txt: 0964850e 00000000 00000000 0200
>> segger-after-plug-no-target.txt: 0965850e 00000000 00000000 0200
>> segger-after-plug-target.txt: 0964890e 00000000 00000000 0000
>> segger-after-plug-target.txt: 0964890e 00000000 00000000 0300
>> segger-after-plug-target.txt: 0964890e 00000000 00000000 0300
>> segger-after-plug-target.txt: 0965890e 00000000 00000000 0300
>> segger-first-plug-no-target.txt: 09647f0e 00000000 00000000 0000
>> segger-first-plug-no-target.txt: 09647f0e 00000000 00000000 0100
>> segger-first-plug-no-target.txt: 09657f0e 00000000 00000000 0100
>> segger-first-plug-target.txt: 0964970e 00000000 00000000 0000
>> segger-first-plug-target.txt: 0964970e 00000000 00000000 0100
>> segger-first-plug-target.txt: 0964970e 00000000 00000000 0100
>> segger-first-plug-target.txt: 0965970e 00000000 00000000 0100
>>
>
> Just want to say that I did some capture under Linux as well
> adn the result is similar to what you have.
>
> usbmon txt interface will truncate the data to 32 bytes. You
> can try to use the binary interface.
> http://www.mjmwired.net/kernel/Documentation/usb/usbmon.txt
> http://kerneltrap.org/mailarchive/linux-usb/2010/6/2/6261760/thread
>
> http://people.redhat.com/zaitcev/linux/index.html
> Pete Zaitcev is the author and he has the usbmon-6 program
> you can try out.
> Man file for usbmon-6.
> http://www.linuxcertif.com/man/8/usbmon/
>



-- 
Xiaofan
_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to