- 2
- 0
- 约8.76千字
- 约 8页
- 2016-04-28 发布于重庆
- 举报
ARM中ZIRORW的区别
ARM中ZI、RO、RW和CODE的区别
1.0 ARM中ZI、RO、RW和CODE介绍
CODE:代码
RO:只读,相当于code在内存中的区间(即相当于code);
ZI:未初始化段,例如uchar i;就放在该区 bss段。 i=5;
RW:可读可写,程序运行需要占用多大内存,小于这个区间程序会出错,例如运行变量区比如i++的运行结果就在该区运行。 uchar i=5; 全局变量,静态变量。中间变量
说明:
ARM程序的组成此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件,这一点清注意区别。
一个ARM程序包含3部分:RO,RW和ZI
2.0 ARM程序启动过程
程序通过编译器编译后生成:
我们说的代码就是code,如果想把它烧写到nor flash中或nand flash中,可以通过目标板相应开关进行切换。
如果程序烧写到nor flash中,程序运行时可不需要将代码搬移到内存中,可以直接在nor flash上面运行,当然一般需要将代码搬移到内存中,这样可以使代码执行速度加快。
如果烧写到nand flash中,那么程序运行前必须将代码搬移到内存中,然后执行。
下图1.1就是将程序烧写到nor flash中,然后运行之
原创力文档

文档评论(0)