- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系统的启动流程
这里我们来讨论 Uoot 的启动流程,并将延伸至内核启动到 start_kernel 函数,
我们主要讲 start_kernel 函数前系统都在做什么,系统是怎么样从开始运行,到
解压内核,跳到内核运行,又怎么样从 Uboot 里将参数传到内核的。
Uboot 的启动是从 start.S 文件开始的,系统一上电 pc 指针便指向这里开始
程序的启动运行,在 start.S 文件中系统的工作主要有:
系统一上电便是 reset 异常,便跳到 reset处进行处理,初始化 Sdram,cache
等,然后跳到 board_init_f 函数中运行。
Board_init_if (lib_mips/board.c):
在此函数中对定时器进行初始化,环境变量初始化,初始化串口,
然后根据 Sdram 进行计算(具体的计算过程看代码),计算出一个具体的
地址,即 SDRAM 的高端地址,然后调用 relocate_code函数,将 Uboot 程
序 Copy 到内存, copy 完后即跳到 in_ram (内存运行)中接着运行 Uboot,
最后调用 board_init_r 函数。
Relocate_code是一段汇编代码, 位于 start.S 中,怎么实现 copy 就自已仔细
看代码了啊, in_ram 也在 start.S 中。
接下来我们来主要看 board_init_r 函数:
开始部分仍是对系统一些功能的初始化:
/* configure available FLASH banks */
size = flash_init(); 初始化 flash
gpio_init(); // 初始 gpio
/** leave this here (after malloc(), environment and PCI are working) **/
/* Initialize devices */
devices_init ();//初始化外设
/* initialize the console (after the relocation and devices init) */
console_init_r ();初始化 console
cy_nvram_init();
mac_init();
进行一些系统初配置初始化后, Uboot 就便等待三秒,等待用户输入字符,
以进行不同的操作,即当按下 4 时会进入命令处理模式,按下 CTRL+ESC
时会进入 tftpd ,可以进行文件的上传。 我们这里只探讨正常启动不探讨 tftpd
下载和命令处理模式。
当我们启动时什么也不操作时,默认的启动类型为3,就会进入到
这里:
if(BootType == 3) {
char *argv[3];
printf( /n3: System Boot system code via Flash./n);
do_bootm(cmdtp, 0, 2, argv); // 从这里开始对内核进行解压,并跳到
内核处运行。
/* below only when boot from flash fali*/
argv[2] = file_name_space[0];
memset(file_name_space,0,ARGV_LEN);
eth_initialize(gd-bd);
do_tftpd(cmdtp, 0, 4, argv)
您可能关注的文档
最近下载
- 世界现代化的历程.pptx VIP
- 商务秘书公司地址托管协议范本2025年通用.docx VIP
- 前门西河沿街景观及建筑外立面改造方案设计.pdf
- 光纤传感器和刮板输送机直线度感知系统及其测量方法.pdf VIP
- (完整版)2025标准对数视力表(A4打印版) .pdf VIP
- 初一数学下册期末试卷初一数学下试卷期末.docx VIP
- 小学二年级学习资料 【57】二年级上册语文全册一课一练.pdf VIP
- 共建·共享:初中整本书阅读课程区域推进的实践探索.ppt VIP
- Unit 3 Places we live in第四课时 课件2025-2026学年度人教PEP英语四年级上册.pptx VIP
- 在教育中修行,带着温暖追光——读《教育是一场温暖的修行》有感.docx
文档评论(0)