资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,河北联合大学轻工学院 李靖,河北联合大学轻工学院 李靖,第一章,Bootloader,移植,大纲,Bootloader,的功能,Bootloader,的启动模式,Bootloader,源码,制作,u-boot.bin,u-boot.bin,的具体工作,河北联合大学轻工学院 李靖,1.1,Bootloader,的功能,河北联合大学轻工学院 李靖,1.1,Bootloader,的功能,引导程序:(,Bootloader,),Boot+loader,在操作系统运行之前运行的一段代码,作用:,(,1,),Boot:,启动系统,初始化硬件设备,建立内存空间映射图,将系统的软硬件环境带到一个合适的状态。,(,2,),Loader,:加载内核,将操作系统内核文件从存储设备中加载到内存中,之后跳转至内核所在的地址运行。,河北联合大学轻工学院 李靖,河北联合大学轻工学院 李靖,1.2,Bootloader,的启动模式,1.2,Bootloader,的启动模式,1.,启动加载内核模式:自启动,系统处于发布阶段。,2.,下载更新模式:在这种模式下,开发人员通过各种命令,通过串口,网口,从主机端下载,u-boot.bin,,,zImage,,,rootfs.cramfs,下载到内存,并且执行烧写操作。系统处于研发阶段。,河北联合大学轻工学院 李靖,河北联合大学轻工学院 李靖,1.3,Bootloader,的源码,1.3,Bootloader,的源码,u-boot_CW210_1.3.4_20120628.tar.bz2,解包:,#tar,jxvf,u-boot_CW210_1.3.4_20120628.tar.bz2,#,cd,u-boot_CW210_1.3.4,#,ls,河北联合大学轻工学院 李靖,河北联合大学轻工学院 李靖,分析源码,分析源码,将,u-boot.bin,源码分为:,与硬件相关的代码,与硬件无关的代码,河北联合大学轻工学院 李靖,分析源码,1.CPU,相关的目录,CPU,:包含和,CPU,架构相关的代码,,u-boot,支持的,CPU,在该目录下对应一个子目录。,2.,开发板相关的目录,board,:包含和开发板相关的文件,每一个开发板都有一个目录出现在该目录下。,3.drivers,各类具体设备的驱动,基本上可以通用。,4.lib_arm:,支持,ARM,架构下的通用文件。,5.include/configs/CW210.h,(重要)定义了大量的宏。,河北联合大学轻工学院 李靖,1.4,制作,u-boot.bin,河北联合大学轻工学院 李靖,配置过程,1.,清除源码中以前的配置信息,临时文件和一些目标文件,#,cd,u-boot_CW210_1.3.4,#make,distclean,/,一般只执行一次,2.,配置,u-boot,#make CW210_config,3.,编译,u-boot,#make all,4.,成果,u-boot.bin,5.,烧写,u-boot.bin,河北联合大学轻工学院 李靖,Makefile,:,board/CONCENWIT/CW210/config.mk:,河北联合大学轻工学院 李靖,u-boot.lds,1.,指定链接脚本,u-boot.lds,2.,指定程序的链接地址,0 xc3e00000,3.,从,start.S,开始执行(,cpu/s5pv210/start.S,),start.S,文件,河北联合大学轻工学院 李靖,cw210.c,从,lowlevel_init,开始执行。,1.5,u-boot.bin,的具体工作,河北联合大学轻工学院 李靖,lowlevel_init,底层设备的初始化,硬件初始化,每一个硬件都有对应的时钟,关闭看门狗,系统时钟初始化,内存控制器初始化,串口初始化,nand,flash,初始化,河北联合大学轻工学院 李靖,
展开阅读全文