存储器系统
Cortex-M0
Mikko丶
深谙淡然,静赏花开。
展开
-
嵌入式的存储系统
RAM(Random AccessMemory)的全名为随机存取记忆体,它相当于PC机上的移动存储,用来存储和保存数据的。它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)。 不过,当电源关闭时RAM不能保留数据,如果需要保存数据,就必须把它们写入到一个长期的存储器中(例如硬盘)。正因为如此,有时也将RAM称作“可变存储器”。RAM内存可以进一步...原创 2019-12-30 14:11:27 · 505 阅读 · 0 评论 -
存储器属性
在ARMv6-M架构中,不同的存储器区域可以定义多种存储器访问属性:■可执行(executable)- 这是个公用属性,它定义了程序是否允许在存储器区域中执行。根据ARM文档,如果–个存储器区域是不可执行的,它就会被标记为eXecute Never(XN,永不执行)。■可缓冲(bufferable)- 在一个可缓冲存储器区域上执行数据写操作,写传输可能会被缓存起来,这就意味着处理器不必等待当...原创 2019-12-19 14:39:59 · 626 阅读 · 0 评论 -
数据存储器
Cortex-M0处理器的数据存储器用于软件变量、栈存储,而且有些情况下还用于堆存储。应用程序使用需要动态内存分配的C函数时,堆存储就能用上了。如果嵌人式应用中没有操作系统(OS) ,那么它只会使用一个栈(只需主栈)。在这种情况下,数据存储器的分配如图7.6所示。.由于栈操作基于满减小的栈分配,而堆存储在分配时是增加的。为了使存储分配最具效率,通常将栈放在存储器块的尾部,而堆存储则紧跟在普通...原创 2019-12-19 14:22:54 · 1049 阅读 · 0 评论 -
程序存储器,BootLoader和存储器重映射
Cortex-M0处理器的启动当Cortex-M0处理器从复位中启动时,它会首先访问0地址的向量表,从而取得MSP的初始值和复位向量,然后它就可以从复位向量开始执行程序。要保证系统正常工作,系统中需要有合法的向量表和合法的程序存储器,这样处理器才不会执行恶意软件代码。要实现这个目的,Flash存储器一般是从地址0开始的。不过,在用户编程以前,现在市场上的微控制器产品的Flash存储器中可能没有...原创 2019-12-19 14:07:17 · 715 阅读 · 0 评论 -
存储器映射
那么实际系统的存储器映射是什么样子的?对于一个典型的Cortex-M0微控制器,通常可以在其中找到以下部分:■Flash存储器(用于程序代码);■内部SRAM(用于数据);■内部外设;■外部存储器接口(用于外部存储器和外部外设,这是可选的);■其他外部外设的接口(可选)。将这些部件放到一起,就可以得到如图7.3所示的微控制器示例。...原创 2019-12-19 13:51:26 · 175 阅读 · 0 评论 -
Cortex-M0存储器架构
Cortex-M0处理器具有32位系统总线接口***,以及32位地址线(4GB的地址空间)。系统总线基于AHB_ Lite 总线协议*(高级高性能总线),该协议定义在高级微控制器总线架构(Advanced Microcontroller Bus Architecture) ( AMBA)标准中。AMBA标准由ARM开发,并且广泛应用于半导体业。AHB_Lite协议为存储器系统提供了高速高性能的访...原创 2019-12-19 13:38:40 · 770 阅读 · 0 评论