1:新买的Jlink V8(of course, Clone)固件在MDK上使用会提示 Clone,需要更新修改过的固件,具体怎么修改不知道,就是某个地址的某个值
2:新建MDK工程 器件为2440A ,加上启动代码,添加主函数或者要调试的代码
3:设置工程,这个是最主要的步骤如下
3.1Target,设置三个地址
3.2:Output 设置CreatHexFile
3.3:User 勾上Run #1 后面的字符照写,意思大概是运行这样的文件
3.4:Linker 勾上Use Memory Layout.........
3.5:Debug 选择使用J-link,不能勾上Load Application at Startup,加载配置文件Ext_ram.ini
点击设置,设置“Auto Selection”
文件可以自己建,内容如下
FUNC void SetupForStart (void) { // <o> Program Entry Point PC = 0x30000000; }
FUNC void Init (void) {
_WDWORD(0x4A000008, 0xFFFFFFFF); // 禁用所有中断
_WDWORD(0x53000000, 0x00000000); // 禁用看门狗定时器
// 时钟配置
// FCLK = 300 MHz, HCLK = 100 MHz, PCLK = 50 MHz
_WDWORD(0x4C000000, 0x0FFF0FFF); // LOCKTIME
_WDWORD(0x4C000014, 0x0000000F); // CLKDIVN
_WDWORD(0x4C000004, 0x00043011); // MPLLCON
_WDWORD(0x4C000008, 0x00038021); // UPLLCON
_WDWORD(0x4C00000C, 0x001FFFF0); // CLKCON
// 配置和SDRAM相关的内存控制器
_WDWORD(0x48000000, 0x22000000); // BWSCON
_WDWORD(0x4800001C, 0x00018005); // BANKCON6
_WDWORD(0x48000020, 0x00018005); // BANKCON7
_WDWORD(0x48000024, 0x008404F3); // REFRESH
_WDWORD(0x48000028, 0x00000032); // BANKSIZE
_WDWORD(0x4800002C, 0x00000020); // MRSRB6
_WDWORD(0x48000030, 0x00000020); // MRSRB7
_WDWORD(0x56000000, 0x000003FF); // GPACON: 使能SDRAM相关的地址线 }
// Reset chip with watchdog, because nRST line is routed on hardware in a way
// that it can not be pulled low with ULINK
// 由于nRST不能通过J-Link进行拉低,使用看门狗复位芯片
_WDWORD(0x40000000, 0xEAFFFFFE); // Load RAM addr 0 with branch to itself
CPSR = 0x000000D3; // 禁用中断
PC = 0x40000000; // 定位PC到RAM的起始位置
_WDWORD(0x53000000, 0x00000021); // 使能看门狗
g, 0 // 等待看门狗复位芯片
Init(); // 初始化内存
LOAD .\Demo.axf INCREMENTAL // 下载程序
SetupForStart(); // 配置运行
g, main // Goto Main
3.6 Utilities 不能勾上Update Target beforeDebugging
参考博客:http://blog.csdn.net/shengnan_wu/article/details/8116815