📄 main.cpp
字号:
//////////////////////////////////////////////////////////////////////////////
// main.cpp //
//////////////////////////////////////////////////////////////////////////////
/*
JTAG flash utility
GP32
*/
//////////////////////////////////////////////////////////////////////////////
// Includes //
//////////////////////////////////////////////////////////////////////////////
#include <windows.h>
#include <conio.h>
#include <stdio.h>
#include "JTAG.h"
#include "CP15Chain.h"
#include "DebugChain.h"
#include "EBSChain.h"
#include "EICEChain.h"
#include "ETMChain.h"
#include "IBSChain.h"
#include "IDChain.h"
#include "PATagRamChain.h"
//////////////////////////////////////////////////////////////////////////////
// Defines //
//////////////////////////////////////////////////////////////////////////////
// instructions
#define NOP 0xe1a00000
#define LDR_R0__R0_ 0xe5900000
//////////////////////////////////////////////////////////////////////////////
// Variables //
//////////////////////////////////////////////////////////////////////////////
unsigned int deviceID = 0x0032409D;
//////////////////////////////////////////////////////////////////////////////
// Exit //
//////////////////////////////////////////////////////////////////////////////
void Exit()
{
JTAG::Close();
}
//////////////////////////////////////////////////////////////////////////////
// main //
//////////////////////////////////////////////////////////////////////////////
int main()
{
{
if (JTAG::Init()) return -1;
atexit(Exit);
}
{
IDChain idChain;
if (idChain.Read() != deviceID)
{
fprintf(stderr, "Can't find device\n");
return -1;
}
}
EICEChain eiceChain;
//printf("EICE_DEBUG_CONTROL = %08X\n", eiceChain.Read(EICE_DEBUG_CONTROL));
//printf("EICE_DEBUG_STATUS = %08X\n", eiceChain.Read(EICE_DEBUG_STATUS));
//printf("EICE_DEBUG_COMMS_CONTROL = %08X\n", eiceChain.Read(EICE_DEBUG_COMMS_CONTROL)); // 6 bits: 0=debugger->processor, 1=processor->debugger, 28..31=2 (version)
//printf("EICE_DEBUG_COMMS_DATA = %08X\n", eiceChain.Read(EICE_DEBUG_COMMS_DATA));
JTAG::Restart();
//while (1);
//DebugChain debugChain;
//debugChain.Exec(
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -