完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我必须为具有64位数据总线(ARM11,Cortex-R4)的ARM处理器编写C程序,然后再执行一些仿真(Verilog)。到目前为止,我仅使用具有32位宽AHB数据总线(ARM9)的处理器。当我从32位数据总线转换为64位数据总线时,我还不清楚在这里对我有什么变化?在此问题上,我必须考虑哪些主要考虑因素?我为ARM966编写的程序是否可以为ARM11编译,并且ELF文件中的全局更改是什么?我假设ARM指令和地址总线为32位宽(并且还没有ARM处理器具有32位宽的地址总线)。我打算将ELF文件放入64位宽的Verilog存储器中进行仿真-在这种情况下,是否所有内容都必须对齐8个字节? |
|
相关推荐
1个回答
|
|
从程序员的模型角度来看,没有什么可担心的。您为ARM9编写的C程序可以被编译并以ARM11为目标。但是,当然,诸如MMU设置和CP15寄存器之类的东西将有所不同。
对于Verilog仿真,可以使用32位或64位内存。 如果使用的是ARM1136(64位AHB),则可以使用AHB精简器将总线转换为32位AHB,然后使用32位内存仿真模型。 AHB缩小器是AMBA开发套件(ADK)的一部分。当然,您也可以开发64位AHB存储器仿真并直接连接到64位AHB。您可以像往常一样将数据数组创建为32位,将程序映像读取到该数组中,然后为每个64位访问将两个字合并为一个64位数据。代码和数据不必是64位对齐的。但是,如果您使用的是双字数据,则将其与8字节边界对齐将有助于提高访问速度。 对于Cortex-A8(AXI总线),ARM Fabric IP还具有可配置的AXI组件,该组件可以将64位AXI总线转换为32位总线,您可以使用我们的AXI内存控制器之一,例如PL350。在这种情况下,您可以将内存模型开发为SRAM类型的设备。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
649 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2232 浏览 1 评论
768 浏览 0 评论
1525 浏览 1 评论
2271 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-21 22:44 , Processed in 0.713506 second(s), Total 70, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号