Skip to content

Instantly share code, notes, and snippets.

@xobs
Last active May 2, 2025 03:46
Show Gist options
  • Save xobs/28d54dff7584a6e4988a1ecde9a4245a to your computer and use it in GitHub Desktop.
Save xobs/28d54dff7584a6e4988a1ecde9a4245a to your computer and use it in GitHub Desktop.
XDS110 opcodes
/// The following is a list of opcodes for talking with the XDS110 probe.
/// The actual arguments aren't listed here, because they are not yet known.
/// The original list (i.e. anything not labeled ???) came from openocd,
/// which has an implementation using this device.
/* XDS API Commands */
#define XDS_ECHO 0x00 /* ??? */
#define XDS_CONNECT 0x01 /* Connect JTAG connection */
#define XDS_DISCONNECT 0x02 /* Disconnect JTAG connection */
#define XDS_VERSION 0x03 /* Get firmware version and hardware ID */
#define XDS_SET_TCK 0x04 /* Set TCK delay (to set TCK frequency) */
#define XDS_SET_TRST 0x05 /* Assert or deassert nTRST signal */
#define XDS_GET_TRST 0x06 /* ??? */
#define XDS_CYCLE_TCK 0x07 /* Toggle TCK for a number of cycles */
#define XDS_GET_JTAG_STATE 0x08 /* ??? */
#define XDS_GOTO_STATE 0x09 /* Go to requested JTAG state */
#define XDS_FIXED_SCAN 0x0a /* ??? */
#define XDS_SEND_SCAN 0x0b /* ??? */
#define XDS_JTAG_SCAN 0x0c /* Send and receive JTAG scan */
#define XDS_SET_AMBLE_DELAY 0x0d /* ??? */
#define XDS_SET_SRST 0x0e /* Assert or deassert nSRST signal */
#define CMAPI_CONNECT 0x0f /* CMAPI connect */
#define CMAPI_DISCONNECT 0x10 /* CMAPI disconnect */
#define CMAPI_ACQUIRE 0x11 /* CMAPI acquire */
#define CMAPI_RELEASE 0x12 /* CMAPI release */
#define CMAPI_MEM_READ 0x13 /* ??? */
#define CMAPI_MEM_WRITE 0x14 /* ??? */
#define CMAPI_REG_READ 0x15 /* CMAPI DAP register read */
#define CMAPI_REG_WRITE 0x16 /* CMAPI DAP register write */
#define SWD_CONNECT 0x17 /* Switch from JTAG to SWD connection */
#define SWD_DISCONNECT 0x18 /* Switch from SWD to JTAG connection */
#define SWD_ENABLE_SWO 0x19 /* ??? */
#define SWD_DISABLE_SWO 0x1a /* ??? */
#define SWD_REG_READ 0x1b /* ??? */
#define SWD_REG_WRITE 0x1c /* ??? */
#define ET_SETUP 0x1d /* ??? */
#define ET_CALIBRATE 0x1e /* ??? */
#define ET_START 0x1f /* ??? */
#define ET_STOP 0x20 /* ??? */
#define ET_CLEANUP 0x21 /* ??? */
#define ET_DCDC_GET_MCU_VERSION 0x22 /* ??? */
#define ET_DCDC_POWER_DOWN_MCU 0x23 /* ??? */
#define ET_DCDC_SET_VCC 0x24 /* ??? */
#define ET_DCDC_RESTART_MCU 0x25 /* ??? */
#define XDS_MAYBE_PROGRAM_MODE 0x26 /* ??? */
#define XDS_PRODUCT_TEST 0x27 /* ??? */
#define XDS_CONNECT_ET 0x28 /* ??? */
#define XDS_REGISTER_READ 0x29 /* ??? */
#define XDS_REGISTER_WRITE 0x2a /* ??? */
#define CJTAG_CONNECT 0x2b /* Switch from JTAG to cJTAG connection */
#define CJTAG_DISCONNECT 0x2c /* Switch from cJTAG to JTAG connection */
#define XDS_SELECT_TAP 0x2d /* ??? */
#define XDS_DESELECT_TAP 0x2e /* ??? */
#define XDS_JTAG_ISOLATE 0x2f /* ??? */
#define ET_SETUP_RANGE 0x30 /* ??? */
#define ET_SETUP_DIG 0x31 /* ??? */
#define XDS_SET_SUPPLY 0x32 /* Set up stand-alone probe upply voltage */
#define C28X_MEM_READ 0x33 /* ??? */
#define C28X_MEM_WRITE 0x34 /* ??? */
#define C64X_MEM_READ 0x35 /* ??? */
#define C64X_MEM_WRITE 0x36 /* ??? */
#define C64X_MEM_READ_STAT 0x37 /* ??? */
#define C64X_MEM_WRITE_STAT 0x38 /* ??? */
#define XDS_POWER_ISOLATE 0x39 /* ??? */
#define OCD_DAP_REQUEST 0x3a /* Handle block of DAP requests */
#define OCD_SCAN_REQUEST 0x3b /* Handle block of JTAG scan requests */
#define OCD_PATHMOVE 0x3c /* Handle PATHMOVE to navigate JTAG states */
#define CMAPI_MEM_READ_64 0x3d /* ??? */
#define CMAPI_MEM_WRITE_64 0x3e /* ??? */
#define EEPROM_READ 0x3f /* ??? */
#define EEPROM_WRITE 0x40 /* ??? */
#define STEM_SETUP 0x41 /* ??? */
#define STEM_START 0x42 /* ??? */
#define STEM_STOP 0x43 /* ??? */
#define ET_SETUP_DIG_PARAMS 0x44 /* ??? */
#define JTAG_CONNECT 0x45 /* ??? */
#define ET_HARDWARE_INFO 0x46 /* ??? */
#define ARMV7_MEM_READ 0x47 /* ??? */
#define ARMV7_MEM_WRITE 0x48 /* ??? */
#define XDS_SET_PROPERTY 0x49 /* ??? */
#define SECAP_BULK_WRITE 0x50 /* ??? */
#define SECAP_BULK_READ 0x51 /* ??? */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment