从程序员的模型角度来看,没有什么可担心的。您为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类型的设备。
从程序员的模型角度来看,没有什么可担心的。您为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类型的设备。
举报