- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
以RedBoot为例说明Bootloader启动过程
RedBoot启动流程要领及有关RedBoot的任务
系统加电后:
1. 中断向量表
2. MMU配置(可选)
可能分为以下几种:
(1) 32KB ROM + 4MB RAM
(2) ROM用完后变为RAM使用
(3) 芯片内部存放
(4) ROM + 外设映射地址 + RAM
3. Cache初始化,紧耦合,与协处理器的通信
4. 堆栈
5. 硬件初始化
6. C语言运行环境初始化 ? 进入shell
7. 跳至Main
目前已添加各种驱动,因此有多种boot方式
Linux镜像中的初始化 /arch/arm/start.s
要求:
1. Cortex A8启动时需要哪些初始化,分别按照哪种次序
2. A8启动时用到的shell
针对i.MX51定制RedBoot
1. 准备linux下ecos的配置工具ecos_config_tools.tar.gz,编译的RedBoot的工具链arm_2008q3.tar.bz2
2. 解压ecos的源码包后,打补丁base补丁+平台相关补丁
3. 针对不同类型的i.MX51板子,配置和编译生成RedBoot
RedBoot
一.RedBoot简介
RedBoot是由RedHat公司推出的一款嵌入式系统调试/引导程序,用来替代现有的调试/引导工具CygMon和GDB。RedBoot提供了完整的引导程序环境,包括联网下载和调试,同时为引导镜像提供了简单的Flash文件系统。RedBoot采用eCos开发环境开发,并采用eCos的硬件抽象层作为基础,但可完全脱离eCos环境运行,并可用来引导其他任何一款嵌入式操作系统,如Linux,Windows CE等。
二.RedBoot功能
支持一般Bootloader的功能:硬件初始化和引导操作系统内核
还支持以下功能:
1.支持串口和网络通信协议,与主机可通过串口或网络相连
2.提供命令行接口,用户可进行各种系统操作
3.支持GDB调试
4.支持Flash存储的配置以及Flash文件系统
5.支持引导脚本,可方便启动应用程序或嵌入式操作系统内核
6.可通过BOOTP协议支持网络引导,可配置静态IP地址
RedBoot启动过程一般步骤
Reset入口点:0x0
系统上电复位后跳到内存地址为0x0000处执行,一般此处为
b reset_vector
或 ldr pc, .reset_vector
但是一些平台在此之前需要执行部分代码,主要完成DRAM的配置
#ifdef PLATFORM_PREAMBLE
PLATFORM_PREAMBLE
#endif // 一般在hal_platform_setup.h定义
//---------------------------------------------------------PLATFORM_PREAMBLE
#define PLATFORM_PREAMBLE flash_header
//flash header DCD @ 0x400
.macro flash_header
b reset_vector
.org 0x400
app_code_jump_v: .long reset_vector
app_code_barker: .long 0xB1
app_code_csf: .long 0
dcd_ptr_ptr: .long dcd_ptr
super_root_key: .long 0
dcd_ptr: .long dcd_data
app_dest_ptr: .long 0xAFF00000
dcd_data: .long 0xB17219E9 // Fixed. cant change.
#ifdef IMX51_TO_2
dcd_len: .long (56*12)
//DCD
//DDR2 IOMUX configuration
DCDGEN(1, 4, IOMUXC_BASE_ADDR + 0x8a0, 0x200)
DCDGEN(2, 4, IOMUXC_BASE_ADDR + 0x50c, 0x20c5)
DCDGEN(3, 4, IOMUXC_BASE_ADDR + 0x510, 0x20c5)
DCDGEN(4, 4, IOMUXC_BASE_ADDR + 0x83c, 0x2)
DCDGEN(5, 4, IOMUXC_BASE_ADDR + 0x848, 0x2)
DCDGEN(6, 4, IOMUXC_BASE_ADDR + 0x4b8, 0xe7)
DCDGEN(7, 4, IO
您可能关注的文档
- VB结构化程序的基本结构.ppt
- VB编程题目及答案.doc
- VB设计基础.ppt
- vb第5章 选择分支与循环.ppt
- vfp3-2.ppt
- VBScript中的对象涵义.ppt
- VFox电子教案.ppt
- VFP 第6章.ppt
- VFP 第2章.ppt
- VFP 第二章.ppt
- 浙江省临海市白云高级中学2025届高三历史3月月考试题.doc
- 云南拾谷县第一中学2024_2025学年高二物理上学期10月月考试题.doc
- 2025版高考生物总复习第13讲基因的分离定律教案苏教版.doc
- 湖北省黄石实验高中2024_2025学年高一历史下学期期末考试模拟卷.doc
- 通史版2025版高考历史大一轮复习专题七近代化的曲折发展__中日甲午战争至五四运动前4第4讲从维新思想到新文化运动课后达标检测含解析新人教版.doc
- 2024年高考数学考试大纲解读专题04导数及其应用含解析文.doc
- 河南省许汝平九校联盟2024_2025学年高一语文上学期期末考试试题扫描版无答案.doc
- 江西省吉安市吉水县第二中学2024_2025学年高一历史上学期第二次月考试题.doc
- 北京市平谷区2025届高三政治一模考试试题含解析.doc
- 2025届中考物理第四讲物态变化专项复习测试无答案新人教版.docx
文档评论(0)