Liangzhen Lai / Mbed 2 deprecated DDRO_software

Dependencies:   mbed

Committer:
liangzhen
Date:
Tue Oct 02 23:53:32 2012 +0000
Revision:
7:b98d752b7b95
Parent:
3:764ccaf29ce9
with all features

Who changed what in which revision?

UserRevisionLine numberNew contents of line
liangzhen 1:acf14b6dd1be 1 /*
liangzhen 1:acf14b6dd1be 2 This is the JTAG driver file for mbed master
liangzhen 1:acf14b6dd1be 3 Refer to buspriate + openOCD
liangzhen 1:acf14b6dd1be 4 */
liangzhen 1:acf14b6dd1be 5
liangzhen 1:acf14b6dd1be 6 class JTAG {
liangzhen 1:acf14b6dd1be 7 public:
liangzhen 1:acf14b6dd1be 8 JTAG();
liangzhen 1:acf14b6dd1be 9 void setJTAGspeed(int speed); // set the JTAG transaction speed
liangzhen 1:acf14b6dd1be 10 unsigned int readID(void); // read the device JTAG ID
liangzhen 1:acf14b6dd1be 11 void DAP_enable(void);
liangzhen 2:42e8a4eb3c00 12 void loadProgram(void); // load program.hex into the chip
liangzhen 1:acf14b6dd1be 13 //basic JTAG state machine related functions
liangzhen 1:acf14b6dd1be 14 void setState(unsigned char state);
liangzhen 1:acf14b6dd1be 15 void leaveState(void);
liangzhen 1:acf14b6dd1be 16 void reset(void);
liangzhen 1:acf14b6dd1be 17 //higher level operations
liangzhen 1:acf14b6dd1be 18 void setIR(unsigned char A);
liangzhen 1:acf14b6dd1be 19 void writeDPACC(unsigned char A, unsigned char B, unsigned char C, unsigned char D, unsigned char E);
liangzhen 1:acf14b6dd1be 20 void writeAPACC(unsigned char A, unsigned char B, unsigned char C, unsigned char D, unsigned char E);
liangzhen 1:acf14b6dd1be 21 void readDPACC(unsigned char& A, unsigned char& B, unsigned char& C, unsigned char& D, unsigned char& E);
liangzhen 1:acf14b6dd1be 22 void readAPACC(unsigned char& A, unsigned char& B, unsigned char& C, unsigned char& D, unsigned char& E);
liangzhen 1:acf14b6dd1be 23 unsigned int readMemory(unsigned int address);
liangzhen 1:acf14b6dd1be 24 void writeMemory(unsigned int address, unsigned int value);
liangzhen 1:acf14b6dd1be 25 //high level byte operation
liangzhen 1:acf14b6dd1be 26 void writeByte(char c);
liangzhen 1:acf14b6dd1be 27 char readByte(void);
liangzhen 1:acf14b6dd1be 28 //bit level functions
liangzhen 1:acf14b6dd1be 29 void writeBit(char c);
liangzhen 1:acf14b6dd1be 30 unsigned char readBit(void);
liangzhen 1:acf14b6dd1be 31 unsigned char readDataState(void);
liangzhen 1:acf14b6dd1be 32 //bus level control
liangzhen 1:acf14b6dd1be 33 void DataLow(void);
liangzhen 1:acf14b6dd1be 34 void DataHigh(void);
liangzhen 1:acf14b6dd1be 35 void clockLow(void);
liangzhen 1:acf14b6dd1be 36 void clockHigh(void);
liangzhen 1:acf14b6dd1be 37 void clockTicks(unsigned char c);
liangzhen 1:acf14b6dd1be 38 void TMSHigh(void);
liangzhen 1:acf14b6dd1be 39 void TMSLow(void);
liangzhen 3:764ccaf29ce9 40 bool JTAG_test(void);
liangzhen 1:acf14b6dd1be 41 char state; // n=null, r=reset, d=data, i=instruction
liangzhen 1:acf14b6dd1be 42 int delay; // wait time for each signal switching, in us
liangzhen 1:acf14b6dd1be 43 };