打印
[应用方案]

程序为什么加载到内存中

[复制链接]
827|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 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
5
zeshoufx| | 2019-12-10 17:16 | 只看该作者
学习了,,,,谢谢分享

使用特权

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

感谢楼主

使用特权

评论回复
7
跆拳道八段| | 2020-1-13 14:59 | 只看该作者
谈论的好深奥啊……不加到flash吗?

使用特权

评论回复
8
天灵灵地灵灵| | 2020-2-10 14:02 | 只看该作者
内存速度快,可以直接跟寄存器通信和CPU交互。

使用特权

评论回复
9
operating| | 2020-2-11 11:27 | 只看该作者
因为BootLoader需要重写FLASH

使用特权

评论回复
10
幸福小强| | 2020-2-13 10:51 | 只看该作者
速度问题。

使用特权

评论回复
11
zhuomuniao110| | 2020-2-13 11:32 | 只看该作者
这个就深奥了

使用特权

评论回复
12
wanduzi| | 2020-2-21 14:23 | 只看该作者
系统就是这么设计的

使用特权

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

本版积分规则

72

主题

520

帖子

3

粉丝