?? jtag.h
字號(hào):
//////////////////////////////////////////////////////////////////////////////
// JTAG.h //
//////////////////////////////////////////////////////////////////////////////
#ifndef _JTAG_H
#define _JTAG_H
//////////////////////////////////////////////////////////////////////////////
// Defines //
//////////////////////////////////////////////////////////////////////////////
#define lengthof(n) (sizeof(n) / sizeof(n[0]))
//////////////////////////////////////////////////////////////////////////////
// Prototypes //
//////////////////////////////////////////////////////////////////////////////
unsigned int Reverse(unsigned int data);
//////////////////////////////////////////////////////////////////////////////
// JTAG //
//////////////////////////////////////////////////////////////////////////////
namespace JTAG
{
//////////////////////////////////////////////////////////////////////////////
// Defines //
//////////////////////////////////////////////////////////////////////////////
enum
{
EXTEST = 0x0, // selects boundary scan register. system-logic signals are captured. new data is updated to system-logic signals.
SCAN_N = 0x2, // 5 bits: selects scan chain register. default=3 ?
SAMPLE = 0x3, // selects boundary scan register. system-logic signals are captured. / make snapshot of boundary scan
//PRELOAD = 0x3, // same as SAMPLE
RESTART = 0x4, // restart processor on exit from debug state
CLAMP = 0x5, // 1 bit,state of all output signals is defined by values previously loaded into the currently-loaded scan chain. chain 0 should be selected.
HIGHZ = 0x7, // 1 bit,output signals are driven to high-impedance state
CLAMPZ = 0x9, // 1 bit, all 3-state outputs are made inactive but data supplied the outputs is derived from scan-cells. chain 0 should be selected.
INTEST = 0xC, // selects boundary scan register. internal core-logic signals are captured. new data is updated to system-logic signals.
IDCODE = 0xE, // 32 bits, selects ID register
BYPASS = 0xF, // 1 bit, selects bypass register
};
// SCAN_N 5 bit
// CLAMP,HIGHZ,CLAMPZ,BYPASS 1 bit
//////////////////////////////////////////////////////////////////////////////
// Prototypes //
//////////////////////////////////////////////////////////////////////////////
int Init();
void Close();
void Command(unsigned int command); // also sets chainlength
void Chain(int chain); // also sets chainlength
void Restart();
// up to 32 bits
unsigned int Read(int dataLength);
void Write(unsigned int data, int dataLength);
unsigned int Transfer(unsigned int data, int dataLength);
// packed bit array
void Read(void *readData, int dataLength);
void Write(const void *writeData, int dataLength);
void Transfer(const void *writeData, void *readData, int dataLength);
void Transfer(void *transferData, int dataLength);
// bit per byte arrays
void Read(unsigned char *out, int dataLength);
void Write(const unsigned char *in, int dataLength);
void Transfer(const unsigned char *in, unsigned char *out, int dataLength);
void Transfer(unsigned char *inout, int dataLength);
//////////////////////////////////////////////////////////////////////////////
// ~JTAG //
//////////////////////////////////////////////////////////////////////////////
}
#endif // _JTAG_H
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -