采用BOOT+APP模式。BOOT初始化SDRAM,测试SDRAM也是OK的,然后转跳APP,
APP使用内部100K+的内部ram,没有任何问题。分散加载如下
这种模式下,app各种功能正常。
使用外部saram 加载如下
这种模式下 APP 跑流水程序(没有中断产生的)是正常的。
但是当开启各种硬件中断后程序有一定几率20%,程序会跑飞。
开始怀疑是sdram问题。就加了段测试代码
这个测试非常正常。
怀疑是中断向量地址没有设置好。跑测试了下也是正常的。(使用内部ram和外部ram的向量地址是一样的)
SCB->VTOR 的值也是 0x1A020000
Hi HuiMa
测试了下,中断向量搬到sdram现象依旧。
这里有个现象说下。我现在程序不改动只是单使用内部的三个ram分区。程序可以正常工作。这时程序修改为使用外部sdram,程序jink下载下去程序也是正常工作。但是只要关机再开就如题产生中断飞了。
Hi, Jun Liu
不好意思,回复晚了。
能不能提供一下你的测试软件?我可以在MCB4300 板子上测试一下,看看能否复现这个问题。
方便留下Email么,吧具体问题Email 发给你
Hi
请参考下面的链接在NXP官网提交一个服务请求(CASE),这样就可以进行一对一的支持了。
https://community.nxp.com/docs/DOC-329745
Wish it helps.
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------
Hi
请参考下面的问题贴,其中重新指定heap的位置:
LPC4357: using external SDRAM as data/program-memory
另外,将APP的中断服务向量表整体搬到SDRAM的起始位置,并且重新指定SCB->VTOR寄存器的值,看看中断发生时是否还会程序跑飞。
Wish it helps.
Have a great day,
Ma Hui
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------