第一章 u-bot.bin移植.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第一章 u-bot.bin移植

Makefile: start.S文件 河北联合大学轻工学院 李靖 第一章 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.4tar.bz2 解包: #tar jxvf u-boot_CW210_1.3.4tar.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 河北联合大学轻工学院 李靖 board/CONCENWIT/CW210/config.mk: 河北联合大学轻工学院 李靖 u-boot.lds 1.指定链接脚本 u-boot.lds 2.指定程序的链接地址0xc3e00000 3. 从start.S开始执行(cpu/s5pv210/start.S) 河北联合大学轻工学院 李靖 cw210.c 从lowlevel_init开始执行。 1.5 u-boot.bin的具体工作 河北联合大学轻工学院 李靖 lowlevel_init 底层设备的初始化,硬件初始化 每一个硬件都有对应的时钟 关闭看门狗 系统时钟初始化 内存控制器初始化 串口初始化 nand flash初始化 河北联合大学轻工学院 李靖 Bootloader的实现是非常依赖具体的硬件,在嵌入式系统中硬件配置千差万别,即使是相同的CPU,外设也有可能不同,所以不可能有一个bootloader支持所有的硬件平台,除非里面的配置与你的板子刚好相同,否则需要进行移植(修改)。 * u-boot 通用性: 1.支持多种架构的CPU:ARM ,PowerPC ,MIPS(路由器用的) 2.支持多种操作系统:Linux ,Vxworks , QNX 等等 * 为什么烧写,不始呢,20008000之间存放的是内核运行时需要的页表。 * 8核DSP处理器,1个处理器将近1000 FPGA+ARM核,没有MMU,跑的是uclinux。系统总线访问(分离的 FPGA和ARM通过系统总线访问) 现在集成了arm 将arm集成到FPGA 可以跑Linux,研发周

文档评论(0)

jixujianchi + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档