首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ARM LPC3250从外部RAM执行指令

ARM LPC3250从外部RAM执行指令
EN

Stack Overflow用户
提问于 2016-08-02 06:52:15
回答 1查看 156关注 0票数 0

我在使ARM执行指令存储在外部RAM方面遇到了麻烦。

我编写了一个基于LPC3250架构的可以闪烁的小程序。如果我通过IAR在线调试下载到LPC3250的内部内存中,程序就会正常运行。但是如果我把它放在外部RAM中,它就不能运行。

外部RAM是在SPARTAN-6(Xilinx )中构建的一块存储器,数据宽度为32位,内存深度为4096,平均地址宽度为12位。可以通过COE文件初始化此RAM。

因此,我通过IAR获得程序的BIN文件,然后将BIN文件转换为COE文件,这将用于初始化SRAM。,但每次处理器只执行三个E59FF018(LDR,(PC,0x18)指令在SRAM的开头,不能跳转到main().

我搞不懂为什么。作为LPC3250的要求,在生成COE文件之前,我通过UltraEditor将4个字节( 0x13579BD2 )添加到BIN文件的开头。LPC3250的UM表示,如果0xE0000000中的值为0x13579BD2,它将开始在外部ram的地址0xE00004执行代码。从COE文件中,我可以看到0x13579BD2后面有5个相同的指令(E59FF018)。

请告诉我哪里错了,我需要做些什么才能纠正错误。

EN

回答 1

Stack Overflow用户

发布于 2019-12-26 01:44:52

好吧,我几乎忘了三年前我问过这个问题。现在,我已经找到了原因。是关于从手臂输出的地址信号。我误解了来自ARM的地址信号是Byte寻址,实际上是双字寻址。因此,在FPGA中处理地址信号时,不应该忽略低二位的地址信号,它已经被ARM拒绝了。

总之,我的问题是一个解决问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38713573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档