This is the DDRO software we write to operate the chip

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers JTAG.h Source File

JTAG.h

00001 /*
00002 This is the JTAG driver file for mbed master
00003 Refer to buspriate + openOCD
00004 */
00005 
00006 class JTAG {
00007     public:
00008         JTAG();
00009         void setJTAGspeed(int speed);    // set the JTAG transaction speed
00010         unsigned int readID(void);   // read the device JTAG ID
00011         void DAP_enable(void);
00012         void loadProgram(void);     // load program.hex into the chip
00013         //basic JTAG state machine related functions
00014         void setState(unsigned char state);
00015         void leaveState(void);
00016         void reset(void);
00017         //higher level operations
00018         void setIR(unsigned char A);
00019         void writeDPACC(unsigned char A, unsigned char B, unsigned char C, unsigned char D, unsigned char E);
00020         void writeAPACC(unsigned char A, unsigned char B, unsigned char C, unsigned char D, unsigned char E);
00021         void readDPACC(unsigned char& A, unsigned char& B, unsigned char& C, unsigned char& D, unsigned char& E);
00022         void readAPACC(unsigned char& A, unsigned char& B, unsigned char& C, unsigned char& D, unsigned char& E);
00023         unsigned int readMemory(unsigned int address);
00024         void writeMemory(unsigned int address, unsigned int value);
00025         //high level byte operation
00026         void writeByte(char c);
00027         char readByte(void);
00028         //bit level functions
00029         void writeBit(char c);
00030         unsigned char readBit(void);
00031         unsigned char readDataState(void);
00032         //bus level control
00033         void DataLow(void);
00034         void DataHigh(void);
00035         void clockLow(void);
00036         void clockHigh(void);
00037         void clockTicks(unsigned char c);
00038         void TMSHigh(void);
00039         void TMSLow(void);
00040         bool JTAG_test(void);
00041         char state; // n=null, r=reset, d=data, i=instruction
00042         int delay; // wait time for each signal switching, in us
00043 };