[应用方案]

程序为什么加载到内存中

[复制链接]
597|11
手机看帖
扫描二维码
随时随地手机跟帖
jerow|  楼主 | 2019-11-29 12:10 | 显示全部楼层 |阅读模式
程序为什么加载到内存中
1.把代码从存储器拷贝到RAM中,变成了bootloader的工作之一。
2.一般的,嵌入式系统的存储器以Flash应用最广,Flash分为两种:norFlash和nandFlash,打个不恰当的比方,norFlash相当于ROM,程序可以直接在其上运行,nandFlash相当于硬盘,只负责存储程序。
3.一般的bootloader代码都存储在norFlash中,上电后芯片可直接读取其上的代码来运行。
4.硬盘、光驱、软盘等外存设备,由于接口的不同,CPU是不能直接访问的,而CPU 能访问的只有和它共享地址、数据总线的内存因此,程序无法在硬盘、光驱、软盘等外存设备上直接运行,必须读入内存运行,这就是程序加载的原因。也是BOOTLOAD 存在的原因。 BIOS等都是norFlash,程序可以直接在上面运行。
5.内存与外存的区别 ROM 、 norflash 、nandflash 的区别主要是接口、存储器单元组织的不同: 程序ROM、norflash 是 总线型可以随机按字节读取,容量小;nandflash 是特殊接口,只能页读,容量大 程序ROM 是字节读写单位;norflash 、nandflash 是FLASH 有页、块的概念特别是擦除,必须块擦除。
6.硬盘更是有扇区、簇的概念,便于文件管理,但是也必须有专门的控制器管理 这就是为什么程序都是由 硬盘、光盘等外存读入内存再执行的原因。

使用特权

评论回复

相关帖子

jerow|  楼主 | 2019-11-29 12:10 | 显示全部楼层
知识点
1.冯诺依曼结构:代码和数据存放在一起
哈弗结构:代码和数据分开存放。代码存储在flash中,数据存储在RAM中
2.单片机使用的是静态内存,大部分单片机中常量存放在flash中(代码段),变量存放在DRAM中。

使用特权

评论回复
heimaojingzhang| | 2019-12-4 15:33 | 显示全部楼层
非常感谢楼主分享

使用特权

评论回复
guanjiaer| | 2019-12-4 15:37 | 显示全部楼层
非常感谢楼主分享

使用特权

评论回复
zeshoufx| | 2019-12-10 17:16 | 显示全部楼层
学习了,,,,谢谢分享

使用特权

评论回复
timixiaoyouxi| | 2020-1-13 14:50 | 显示全部楼层
jerow 发表于 2019-11-29 12:10
知识点
1.冯诺依曼结构:代码和数据存放在一起
哈弗结构:代码和数据分开存放。代码存储在flash中,数据存 ...

感谢楼主

使用特权

评论回复
跆拳道八段| | 2020-1-13 14:59 | 显示全部楼层
谈论的好深奥啊……不加到flash吗?

使用特权

评论回复
天灵灵地灵灵| | 2020-2-10 14:02 | 显示全部楼层
内存速度快,可以直接跟寄存器通信和CPU交互。

使用特权

评论回复
operating| | 2020-2-11 11:27 | 显示全部楼层
因为BootLoader需要重写FLASH

使用特权

评论回复
幸福小强| | 2020-2-13 10:51 | 显示全部楼层
速度问题。

使用特权

评论回复
zhuomuniao110| | 2020-2-13 11:32 | 显示全部楼层
这个就深奥了

使用特权

评论回复
wanduzi| | 2020-2-21 14:23 | 显示全部楼层
系统就是这么设计的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

520

帖子

3

粉丝