ARM 中的内存分类
来源:互联网 发布:p城办事处优化器 编辑:程序博客网 时间:2024/05/20 10:11
说明: 本文为作者自己根据网上知识总结,不保证内容的完全正确性,主要是方便自己记录。
1. 存储组织
存储硬件分为: flash ,ram , registers and I/O ports 这4类, 它们本身没有地址,只是被 组织为线性的4g空间;
2. 编译后的存储
(1) 编译器在编译程序的时候统计了4类存储: code ,ro-data , rw-data 和 zi-data , 归纳为2类 , ro (code + ro-data)和 rw(rw-data 和 zi-data) ;
(2)编译器在生成image文件(bin文件)的时候只包含code , ro-data ,rw-data这3个 , 而不包含zi-data ;程序运行的时候只需要把zi-data相应的ram存储区域整体清0即可;
(3)bin文件一定要有2个功能:
a. 将rw-data从rom(flash)搬运到ram中 ,rw变量只能在程序中运行;
b. 将zi-data在ram中的区域清0 ;
代码再初始阶段只有完成了a和b,c程序才能访问变量,否则只能运行不包含变量的程序;
3. 变量类型和编译后的存储类型的对应关系
(1)ro-data 包含 常量;(表示不能再被更改)
(2)rw-data 包含 初始化的全局变量,静态变量。(表示需要保存下来初始化的数值)
(3)zi-data 包含 未初始化或者初始化为0的全局变量。
(4)局部auto变量呢 ,它不会被编译 ,只有程序运行起来之后在ram的栈中分配空间;
4. 堆栈和编译后的存储类型的关系
(1)堆和栈指的是程序运行中再ram中的空间 , 而编译后的存储分配指的是rom(flash)中的分配,所以堆栈和编译后的存储类型没有关系;
5.
- ARM 中的内存分类
- 路由器中的内存分类
- 路由器中的内存分类
- C语言中的内存分类
- ARM分类
- ARM分类
- arm-linux启动过程中的内存布局
- 内存分类
- 内存分类
- ARM 微处理器的分类
- ARM 内核分类
- ARM 数据处理指令分类
- arm处理器分类
- ARM CPU 简单分类
- ARM堆栈的分类
- ARM系列处理器分类
- arm 寄存器分类
- ARM 内核分类
- 用Python进行自然语言处理-2. Accessing Text Corpora and Lexical Resources
- 关于python在cmd中输出中文乱码的问题
- 原地随机排列数组
- lsdk无线驱动与管理层的接口
- 【HDOJ 5288】OO’s Sequence
- ARM 中的内存分类
- 挺好的
- HDOJ题目4705 Y(简单树形DP+数学)
- mysql提示 Lock wait timeout exceeded解决办法
- Red Hat Enterprise Linux 7(RHEL7)安装64位sde9.3
- string类find函数返回值判定
- scrollLeft的必要条件
- HDU 4920 Matrix multiplication
- maya制作玻璃材质