“No os hardware boot”的版本间的差异
来自百问网嵌入式Linux wiki
(创建页面,内容为“=第01节_XIP的概念= =第02节_嵌入式系统硬件组成= =第03节_SOC框架= =第04节_具体单板的启动流程=”) |
|||
第1行: | 第1行: | ||
=第01节_XIP的概念= | =第01节_XIP的概念= | ||
+ | |||
+ | who runs programe? | ||
+ | 我们常说运行程序,程序通过cpu运行,保存在存储设备上。 | ||
+ | |||
+ | 存储设备有多种,如下分类 | ||
+ | |||
+ | <syntaxhighlight lang="c" > | ||
+ | |----hard dsik | ||
+ | |----sd card | ||
+ | |----Flash | ||
+ | |----Nor Flash | ||
+ | |----Nand FLash | ||
+ | </syntaxhighlight> | ||
+ | 无论是哪一种存储设备,内部的抽象结构是一样的,如下图所示 | ||
+ | |||
+ | |||
+ | -------------图1 | ||
+ | |||
+ | 比如,第0个存储空间存放的0x31这个数据,第一个存储空间存放的0x30这个数据 | ||
+ | |||
+ | 如何访问存储空间,通过访问每行左上角的编号去访问里面的数据,称这些编号为地址,而编号对应的数值,称为数据 | ||
+ | |||
+ | |||
+ | 如何访问存储设备(就是为了读写某一个存储空间)? | ||
+ | 1.发出地址 | ||
+ | 2.读数据(从设备里面范围给CPU)/写数据(从CPU发给存储设备) | ||
+ | |||
+ | 地址和数据如何传输? | ||
+ | 如果地址和数据直接来自CPU,或者说数据直接发给CPU,那么这个存储设备,我们就称为XIP device(cpu可以直接访问存储设备) | ||
+ | |||
+ | --------------------图2 | ||
+ | |||
+ | 按照正常的执行流程,cpu和存储设备之间还会有内存控制器 | ||
+ | |||
+ | |||
+ | U盘的内部存储结构 | ||
+ | |||
+ | 如何访问U盘的内部存储结构 | ||
+ | U盘对外只有5条线,cpu不可能直接发数据给u盘的,中间需要引入一个USB控制器 | ||
+ | cpu可以直接访问到usb控制器,通过usb控制器发送符合U盘传输协议的信息,间接的访问U盘数据。所以usb设备不是XIP device | ||
+ | |||
+ | 如何识别一个存储设备是否是XIP设备? | ||
+ | 1.CPU可以直接寻址的设备。 | ||
+ | 2.看是否有分开的地址总线和数据总线。 | ||
+ | |||
+ | |||
+ | CPU通过SPI控制器才能得到spiflash中的数据,所以,spi flash不是XIP device | ||
+ | |||
+ | |||
+ | ------------图3 13.09 | ||
+ | |||
+ | 对于SD card也是类似的,CPU需要通过SD/MMC Controller才能把地址发给SD card,也必须通过SD/MMC Controller得到里面的数据并执行,所以SDcard不是XIP device | ||
+ | |||
=第02节_嵌入式系统硬件组成= | =第02节_嵌入式系统硬件组成= | ||
=第03节_SOC框架= | =第03节_SOC框架= | ||
=第04节_具体单板的启动流程= | =第04节_具体单板的启动流程= |
2019年4月10日 (三) 14:40的版本
第01节_XIP的概念
who runs programe? 我们常说运行程序,程序通过cpu运行,保存在存储设备上。
存储设备有多种,如下分类
|----hard dsik
|----sd card
|----Flash
|----Nor Flash
|----Nand FLash
无论是哪一种存储设备,内部的抽象结构是一样的,如下图所示
图1
比如,第0个存储空间存放的0x31这个数据,第一个存储空间存放的0x30这个数据
如何访问存储空间,通过访问每行左上角的编号去访问里面的数据,称这些编号为地址,而编号对应的数值,称为数据
如何访问存储设备(就是为了读写某一个存储空间)?
1.发出地址
2.读数据(从设备里面范围给CPU)/写数据(从CPU发给存储设备)
地址和数据如何传输? 如果地址和数据直接来自CPU,或者说数据直接发给CPU,那么这个存储设备,我们就称为XIP device(cpu可以直接访问存储设备)
图2
按照正常的执行流程,cpu和存储设备之间还会有内存控制器
U盘的内部存储结构
如何访问U盘的内部存储结构 U盘对外只有5条线,cpu不可能直接发数据给u盘的,中间需要引入一个USB控制器 cpu可以直接访问到usb控制器,通过usb控制器发送符合U盘传输协议的信息,间接的访问U盘数据。所以usb设备不是XIP device
如何识别一个存储设备是否是XIP设备? 1.CPU可以直接寻址的设备。 2.看是否有分开的地址总线和数据总线。
CPU通过SPI控制器才能得到spiflash中的数据,所以,spi flash不是XIP device
图3 13.09
对于SD card也是类似的,CPU需要通过SD/MMC Controller才能把地址发给SD card,也必须通过SD/MMC Controller得到里面的数据并执行,所以SDcard不是XIP device