下载此文档

附BootLoader之viviBootLoader的启动流程BootLoader的作用.ppt


文档分类:IT计算机 | 页数:约39页 举报非法文档有奖
1/39
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/39 下载此文档
文档列表 文档介绍
College puter Science & Technology
第五章 BootLoader开发
鲁东大学 LUDONG UNIVERSITY
第五章 BootLoader开发
BootLoader之Uboot (附)
BootLoader之vivi
BootLoader的启动流程
BootLoader的作用
鲁东大学 LUDONG UNIVERSITY
BootLoader结构
BootLoader一般分为两个阶段
第一阶段
包含依赖于CPU体系结构的硬件初始化代码
汇编语言编写
第二阶段
初始化操作系统内核运行环境
C语言完成
分段:提高BootLoader的可移植性和可读性
鲁东大学 LUDONG UNIVERSITY
BootLoader启动流程
第一阶段
基本硬件设备初始化
为第二阶段准备RAM空间
复制BootLoader第二阶段代码到RAM
堆栈设置
跳转至第二阶段的C程序入口
鲁东大学 LUDONG UNIVERSITY
BootLoader vivi第二阶段
vivi第二阶段
—C语言编写的一个main()函数
vivi第一阶段

bl main
vivi第二阶段
step1

step8 boot_or_vivi
vivi-shell
boot
embeddOS
共包括8个步骤
完成后,将根据输入,进入操作系统或者vivi-shell
鲁东大学 LUDONG UNIVERSITY
vivi第二阶段代码(1)
int main(int argc, char *argv[])
{
int ret;
/*Step 1*/
putstr("\r\n");
putstr(vivi_banner);
reset_handler();
/*Step 2*/
ret = board_init();
if (ret) {
putstr("Failed a board_init() procedure\r\n");
error();
}
/*Step 3*/
mem_map_init(); mmu_init();
putstr("eed memory mapping.\r\n");
Step1 打印vivi版本
判断是否为硬件复位
Step2 开发板初始化
Step3 内存映射初始化
mmu初始化
Next
鲁东大学 LUDONG UNIVERSITY
vivi第二阶段代码(2)
/*Step 4*/
ret = heap_init();
if (ret) {
putstr("Failed initailizing heap region\r\n");
error();
}
/*Step 5*/
ret = mtd_dev_init();
/*Step 6*/
init_priv_data();
/*Step 7*/
misc();
init_builtin_vivi_cmds(); /
/*Step 8*/
boot_or_vivi();
return 0;
}
Step4 堆初始化
Step5 mtd设备初始化
Step6 私有数据初始化
Step7 vivi命令初始化
Step8 启动os 或者 vivi-shell
Back
鲁东大学 LUDONG UNIVERSITY
vivi第二阶段分析步骤1
Step1 ①putstr(vivi_banner)
由串口打印一个字符串vivi_banner
该字符串为vivi版本信息
定义位置-
鲁东大学 LUDONG UNIVERSITY
vivi第二阶段步骤1
②reset_handler()
main()
reset_handler()
hard_reset_handler()
判断复位原因
soft_reset_handler()
clear_mem(base,length)
Back
判断如果是硬件复位,则将用户使用的DRAM(内存)清零。
clear_mem参数
base-user_ram_base
length-user_ram_size
鲁东大学 LUDONG UNIVERSITY
vivi第二阶段步骤2
step2 board_init()
main()
board_init()
init_time()
set_gpios()
return 0
设置IO作用
设置口上拉
设置EXINT
vivi中未用
Back
调用init_time()
初始

附BootLoader之viviBootLoader的启动流程BootLoader的作用 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数39
  • 收藏数0 收藏
  • 顶次数0
  • 上传人dlmus1
  • 文件大小2.87 MB
  • 时间2018-10-21