X-Git-Url: http://git.rot13.org/?p=goodfet;a=blobdiff_plain;f=firmware%2Finclude%2Fjtagarm7.h;h=74016a1fa8ee224dac6243dc1e09998dca0e9c31;hp=40338bf69823658526346e912acc73253f8eb379;hb=f89ac90c389c244a33e7b5dd20090bf588763291;hpb=f7fdc48f01ada713d5034763a2f3395fe2a7c51b diff --git a/firmware/include/jtagarm7.h b/firmware/include/jtagarm7.h index 40338bf..74016a1 100644 --- a/firmware/include/jtagarm7.h +++ b/firmware/include/jtagarm7.h @@ -40,6 +40,9 @@ void jtagarm7tdmi_set_register(unsigned long reg, unsigned long val); //! Get a 32-bit ARM register unsigned long jtagarm7tdmi_get_register(unsigned long reg); +//! Shift an arbitrary number of bits, using an array of uchars +uint8_t* jtag_trans_many(uint8_t *word, uint8_t bitcount, enum eTransFlags flags); + // ARM7TDMI-specific pins // DBGRQ - GoodFET Pin 8 #define DBGRQ TST @@ -113,7 +116,11 @@ The least significant bit of the instruction register is scanned in and scanned #define JTAGARM7_SCANCHAIN1 0x94 #define JTAGARM7_EICE_READ 0x95 #define JTAGARM7_EICE_WRITE 0x96 +#define JTAGARM7_IR_SIZE 0x9f +#define JTAGARM7_SCAN_N_SIZE 0x9e +#define JTAGARM_SCAN1_MANY 0x9d +#define JTAG_DR_SHIFT_MANY 0x9c // for deeper understanding, read the instruction cycle timing section of: // http://www.atmel.com/dyn/resources/prod_documents/DDI0029G_7TDMI_R3_trm.pdf @@ -156,8 +163,9 @@ The least significant bit of the instruction register is scanned in and scanned #define JTAG_ARM7TDMI_DBG_IFEN 4 #define JTAG_ARM7TDMI_DBG_cgenL 8 #define JTAG_ARM7TDMI_DBG_TBIT 16 - extern app_t const jtagarm7_app; +extern unsigned char g_jtag_ir_size; +extern unsigned char g_jtagarm_scan_n_bitsize; #endif // JTAGARM7_H