m3dev

cortex m3 debug tools -- superceded by mdebug
git clone http://frotz.net/git/m3dev.git
Log | Files | Refs | README | LICENSE

usb-protocols.txt (1685B)


      1 
      2 18d1:db00 - lpcboot / m3boot
      3 ----------------------------
      4 - provides a pair of USB bulk endpoints, IN and OUT
      5 - write a three word (32b-LE) command sequence ( MAGIC, CMD, ARG)
      6   - MAGIC is 0xDB00A5A5
      7   - see below for CMD
      8   - ARG should be zero if not specified
      9 - read a two word (32b-LE) response ( MAGIC, STATUS)
     10   - MAGIC is 0xDB00A5A5
     11   - nonzero STATUS is failure
     12 - read or write payload, as required
     13 
     14 - commands
     15   - write to flash: CMD='W', ARG=size
     16   - write to RAM (and execute): CMD='X', ARG=size
     17   - erase flash: CMD='E'
     18   - reboot: CMD='R'
     19   - start code in flash: CMD='A'
     20   - query device info: CMD='Q'
     21 
     22 struct device_info {
     23         char part[16];		/* "LPC1343", "STM32F103", etc */
     24         char board[16];		/* "M3DEBUG", "TESTBOARD123", etc */
     25         uint32_t version;	/* protocol version: 0x0001000 -> V1.0 */
     26         uint32_t ram_base;	/* start of SRAM */
     27         uint32_t ram_size;	/* length of SRAM (minus 1K bootloader workspace) */
     28         uint32_t rom_base;	/* start of FLASH (after 4K bootloader) */
     29         uint32_t rom_size;	/* length of FLASH (minus 4K bootloader)
     30         uint32_t ununsed0;	
     31         uint32_t ununsed1;
     32         uint32_t ununsed2;
     33 };
     34 
     35 
     36 18d1:db03 - remote swdp
     37 -----------------------
     38 - provides a pair of USB bulk endpoints, IN and OUT
     39 - see include/protocol/rswdp.h for details
     40 
     41 18d1:db05 - usb console
     42 -----------------------
     43 - provides a pair of USB bulk endpoints, IN and OUT
     44 - console output (device to host) provided via BULK IN
     45 - console input (host to device) provided via BULK OUT (format TBD)
     46 
     47 18d1:db04 - remote swdp + console
     48 ---------------------------------
     49 - interface 0 provides remote swdp
     50 - interface 1 provides usb console
     51