This is the DDRO software we write to operate the chip
Embed:
(wiki syntax)
Show/hide line numbers
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 };
Generated on Thu Jul 14 2022 07:51:10 by
1.7.2