MDK JZ2440 SDRAM 复位按钮跳转

实现 SDRAM 调试下,MDK 按下复位按钮后,能自动完成从 nor flash 跳转到 SDRAM 运行代码的功能。

韦东山 JZ2440 开发板:
SDRAM 起始地址 0x30000000

关键点:
修改 Ext_RAM.ini:
LOAD .\Objects_sdram\s3c2440.axf INCREMENTAL

FUNC void SetupForStart (void) {
// <o> Program Entry Point
  PC = 0x30000000;
}

修改 S3C2440.s 代码:

				IF      :DEF:BOOT_SDRAM
Reset_Addr		DCD     0x30000000 + Reset_Handler 
				ELSE	
Reset_Addr      DCD     Reset_Handler	
				ENDIF

注意当使用 Reset_Addr DCD 0x30000000 时会偶然出现无法访问nor flash 的情况(访问后得到数据是错误的),导致无法正常跳转到 SDRAM 中,原因不明,但 Reset_Addr DCD 0x30000000 + Reset_Handler 可以正常。
添加宏定义 BOOT_SDRAM
在这里插入图片描述

为了方便,使用多目标:
在这里插入图片描述
首先使用  下载 :
boot_sdram 目标代码

之后使用 sdram 目标

简单示例可参考本博客主页资源中进行下载调试:
MDK V5.25

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章