This application allows for the debugging of Chipcon radios with embedded 8051 cores, such as the CC2430 and CC2530. The protocol is SPI-like, but with a bi-directional data line.
chipcon.cc is an actively maintained client application.
Prior to any transactions, the SETUP (0x10) verb should be sent to the Chipcon application to properly set the I/O pin directions. After that, the START (0x20) and STOP (0x21) verbs may be used to enter and exit the debugger.
The Chipcon protocol is similar to SPI, but with the difference that a single data line is used. Rather than exchanging register values, the transfer is one-way. Use the WRITE (0x01) instruction only for debugging commands which do not result in a reply. READ (0x00) will write its data to the target, then accept a return byte in reply.
While standard verbs are supported on this platform, they are inadequate for full debugging. Verbs 0x80 to 0x8F are debugging primitives, while verbs 0x90 to 0x9F are used for more complicated macro commands.
|0x00||READ||Write any data, return 1-byte reply.|
|0x02||PEEK||Read from IRAM.|
|0x03||POKE||Write to IRAM.|
|0x10||SETUP||Configure I/O pins.|
|0x20||START||Start a transaction.|
|0x21||STOP||Stop a transaction.|
|0x98||CC_PROGRAM_FLASH||Copy 2kB to Flash.|
|0x99||CC_WIPEFLASHBUFFER||Wipe 2kB buffer to 0xFF.|
|0x9A||CC_LOCKCHIP||Set security bits.|
Thanks, and a beer, are due to Peter Kuhar, both for authoring the first open source Chipcon debugger and for the neighborly contribution of hardware.