1:新買的Jlink V8(of course, Clone)固件在MDK上使用會提示 Clone,須要更新修改過的固件,具體怎麼修改不知道,就是某個地址的某個值函數
2:新建MDK工程 器件爲2440A ,加上啓動代碼,添加主函數或者要調試的代碼spa
3:設置工程,這個是最主要的步驟以下.net
3.1Target,設置三個地址調試
3.2:Output 設置CreatHexFileblog
3.3:User 勾上Run #1 後面的字符照寫,意思大概是運行這樣的文件 ip
3.4:Linker 勾上Use Memory Layout.........內存
3.5:Debug 選擇使用J-link,不能勾上Load Application at Startup,加載配置文件Ext_ram.iniget
點擊設置,設置「Auto Selection」博客
文件能夠本身建,內容以下it
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