- 5
- 0
- 约1.64万字
- 约 16页
- 2018-11-21 发布于江苏
- 举报
Bootloader启动过程研究及优化
海同科技
Bootloader启动过程分析及优化
发布版本
1.0
发布日期
2010-12-17
发布单位
海同科技研发部
文档类型
设计
Bootloader启动过程分析及优化
发布版本:1.0
文档类型:设计
发布日期:2010-12-17
文件编号:(…)
发布单位:海同科技
内部资料
? DATE \@ yyyy 2010 海同科技
第 PAGE 17 页 共 NUMPAGES 17 页
文档修改记录
版本号
修改时间
修改原因
修改内容
作者
审核
批准
版本号
修改时间
修改原因
修改内容
作者
审核
批准
目 录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc280366485 1. 介绍 PAGEREF _Toc280366485 \h 4
HYPERLINK \l _Toc280366486 2. Bootloader启动流程 PAGEREF _Toc280366486 \h 4
HYPERLINK \l _Toc280366487 2.1 cpu/s3c64xx/start.S PAGEREF _Toc280366487 \h 5
HYPERLINK \l _Toc280366488 2.2 lib_arm/board.c PAGEREF _Toc280366488 \h 8
HYPERLINK \l _Toc280366489 2.3 初始化函数序列init_sequence[]. PAGEREF _Toc280366489 \h 9
HYPERLINK \l _Toc280366490 3. u-boot的主要数据结构 PAGEREF _Toc280366490 \h 10
HYPERLINK \l _Toc280366491 3.1 gd 全局数据变量指针,它保存了U-boot运行需要的全局数据,类型定义: PAGEREF _Toc280366491 \h 10
HYPERLINK \l _Toc280366492 3.2 bd 板子数据指针,板子很多重要的参数。类型定义如下: PAGEREF _Toc280366492 \h 11
HYPERLINK \l _Toc280366493 3.3 环境变量指针 ,env_t *env_ptr = (env_t *)(environment[0]); (common/Env_nand.c) PAGEREF _Toc280366493 \h 11
HYPERLINK \l _Toc280366494 3.4 设备相关: PAGEREF _Toc280366494 \h 12
HYPERLINK \l _Toc280366495 3.5 命令结构体类型定义:include/command.h PAGEREF _Toc280366495 \h 12
HYPERLINK \l _Toc280366496 4. 优化Bootloader启动时间 PAGEREF _Toc280366496 \h 13
HYPERLINK \l _Toc280366497 4.1 去除各部分的打印信息 PAGEREF _Toc280366497 \h 13
HYPERLINK \l _Toc280366498 4.2 修改lib_generic/string.c中的memcpy函数 PAGEREF _Toc280366498 \h 13
HYPERLINK \l _Toc280366499 4.3 在bootloder的命令行中设置环境变量 PAGEREF _Toc280366499 \h 14
HYPERLINK \l _Toc280366500 5. 优化过后的启动时间 PAGEREF _Toc280366500 \h 15
HYPERLINK \l _Toc280366501 6. 附:各打印函数路径: PAGEREF _Toc280366501 \h 15
介绍
本文主要简单分析bootloader启动流程及优化启动。(以Mini6410为例)
Bootloader启动流程
Bootloader启动流程图
从链接脚本文件board/Samsung/Mini6410/u-boot.lds中可以找到代码的起始:
.text :
{
cpu/s3c64xx/start.o (.text)
cpu/s3c64xx/s3c6410/cpu_init.o (.text)
cpu/s3c64xx/onenand_cp.o (.text)
cpu/s3c64xx/nand_cp.o (.text)
cpu/s3c64xx/movi.o (.
原创力文档

文档评论(0)