u-boot从nand读取的内核格式
来源:互联网 发布:班班通教学软件登录 编辑:程序博客网 时间:2024/04/28 22:55
位于nand中的内核是uImang格式,其结构为头部加上真正的内核,头部对应的类型为:
typedef struct image_header {
uint32_t ih_magic; /* Image Header Magic Number */
uint32_t ih_hcrc; /* Image Header CRC Checksum */
uint32_t ih_time; /* Image Creation Timestamp */
uint32_t ih_size; /* Image Data Size */
uint32_t ih_load; /* Data Load Address */
uint32_t ih_ep; /* Entry Point Address */
uint32_t ih_dcrc; /* Image Data CRC Checksum */
uint8_t ih_os; /* Operating System */
uint8_t ih_arch; /* CPU architecture */
uint8_t ih_type; /* Image Type */
uint8_t ih_comp; /* Compression Type */
uint8_t ih_name[IH_NMLEN]; /* Image Name */
} image_header_t;
这里我们主要关注 uint32_t ih_load; /* Data Load Address */
和
uint32_t ih_ep; /* Entry Point Address */
一个是加载地址,一个是入口地址,用bootm命令加载内核时,会读出这两个地址,
如果bootm命令后面的地址与真正内核所处地址不同,则需要将真正内核移到bootm 命令后面的地址。
其中头部image_header_t的大小为64byte.
为了不移动内核以便加快系统启动速度,可以将nand read 内存地址设为bootm 命令后面的地址减去64byte.
bootm 所做的工作:
1. 根据头部的ih_load 移动内核到合适的地方
2. 启动内核,do_bootm_linux,此处uboot会通过约定的格式 设置一些内核的启动参数,内核启动时会按这种格式读取参数。
- u-boot从nand读取的内核格式
- 从NAND闪存中启动U-BOOT的设计
- 从NAND闪存中启动U-BOOT的设计
- 从NAND闪存中启动U-BOOT的设计
- 从NAND FLASH中启动U-BOOT的设计
- 从Nand Flash启动U-BOOT的基本原理
- 从Nand Flash启动U-BOOT的基本原理
- 从NAND闪存中启动U-BOOT的设计
- 从Nand Flash启动U-BOOT的基本原理
- 从Nand Flash启动U-BOOT的基本原理
- 从Nand Flash启动U-BOOT的基本原理
- 从Nand Flash启动U-BOOT的基本原理
- 从Nand Flash启动U-BOOT的基本原理
- 成功在skyeye 上实现U-Boot 的Nand命令并从Nand中启动Linux
- s3c2410的u-boot及linux2.6.10后的内核移植(包括nand,及skyeye模拟)
- 从bootm看u-boot引导内核的过程
- u-boot 的NAND启动方式
- u-boot的NAND Flash启动
- 黑马程序员-序列化与反序列化
- 软件正在改变世界,为什么程序员却得不到足够的尊重?
- poj 2392 Space Elevator
- linux
- 使用DES加密解密的工具类
- u-boot从nand读取的内核格式
- 用例图
- 关于 bash 启动脚本
- android 开发小记3-----Android library projects cannot be launched
- Poi基于程序控制导出Excel
- 11年成都网络赛
- 安装rrdtool时候的报错configure: error: Please fix the library issues listed above and try again
- ipad zbar 实现 条码 二维码 读取
- 推荐30款开源项目管理软件