您的位置:首页 > 其它

使用了SDRAM,使用了分散加载文件,出现HardFault_Handler

2018-01-31 11:40 441 查看
使用SDRAM之后,SDRAM可能当做数据区来使用。如果采用了分散加载文件的方式,SDRAM要是被划分为数据区,在调用main函数之前必须进行初始化。否则会出现HardFault_Handler。因为使用到了SDRAM中的地址,而此时SDRAM还没有初始化,因此出现地址越界。可以在启动代码中初始化:

Reset_Handler PROC

EXPORT Reset_Handler [WEAK]

IMPORT SystemInit

IMPORT __low_level_init

IMPORT __main

LDR R0, =SystemInit

BLX R0

LDR R0, =__low_level_init

BLX R0

LDR R0, =__main

BX R0

ENDP

在__low_level_init中调用EMC_Init()初始化SDRAM。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐