×
嵌入式 > 技术百科 > 详情

ARM嵌入式系统的存储器初始化介绍

发布时间:2022-02-12 发布时间:
|

ARM嵌入式系统中,由于硬件模块的高度可配置性,软件设置就需要进行初始化来应对硬件配置的改变。所以在正式运行开发者设计好的程序前,需要运行初始化代码来进行初始化,本文就将针对存储器系统的初始化进行介绍。

初始化存储器系统

主要是对系统存储器控制器(MMU)的初始化。由于存储器控制器并不是ARM架构的一部分,不同芯片的实现方式各不相同。由于运算能力和寻址能力的强大,基于ARM内核的微处理器系统,一般都需要外扩展各种类型的存储器。对于存储器系统的初始化一般包括如下几个方面:

--存储器类型、时序和总线宽度的配置

--存储器地址的配置

(1)存储器类型

基于ARM微处理系统的存储器一般有如下几类:SARM、DRAM、Flah。同时,即使同类存储器也有访问速度上的不同。其中,SRAM和Flah属于静态存储器,可以共用存储器端口,而DRAM有动态刷新和地址复用等特征,需要专门的存储器端口。

(2)时序

存储器端口的接口时序优化对系统性能影响非常大,因为系统运行的速度瓶颈一般都存在于存储器的访问,因此希望存储器的访问尽可能快,但又要考虑由此带来的系统稳定性问题。

(3)总线宽度

ARM微处理器架构支持8/16/32位的数据总线宽度访问存储器和外设,对于特定的存储器来说,需要设定数据总线的宽度。

(4)存储器地址的配置

ARM微处理器架构理论上可以支持4GB的地址空间,而对于一个实际的系统来说,配置的物理地址远没有这么多,因此,如何配置存储器的地址,也是一个重要的问题。

(5)存储器地址重映射

存储器地址重映射就是可以通过软件配置来改变一块存储器物理地址的方法,是当前许多先进控制器所具有的功能。

进行地址重映射的原因:提高系统的运行效率。

进行地址重映射的注意:保证程序流程的连续性。

有的ARM处理器不具有地址重映射的功能,可以采样代码搬移加跳转的方式完成上述功能。

在针对存储器进行初始化的过程中,要注意不同类型存储器在访问速度上的差异。此外,存储器端口的接口时序优化也对整体性能的发挥有着非常重要的作用,需要特别进行注意。希望大家在阅读过本文之后能够对ARM嵌入式存储系统初始化有进一步的了解。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Teledyne e2v的耐辐射四臂Cortex-A72空间处理器成功通过100 krad TID测试