7 u-boot介绍.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
u-boot介绍 教学回顾 bootloader程序框架 阶段一 阶段二 教学内容 u-boot介绍 u-boot的配置编译 配置系统 编译流程 链接脚本分析 u-boot的使用 教学要求 理解u-boot的配置编译过程 掌握u-boot的驱动流程 掌握u-boot的使用 u-boot介绍 1999年由德国DENX软件工程中心的Wolfgang Denk发起,全称Universal Bootloader。 特点: 支持多种硬件构架:包括ARM、x86、PPC、MIPS、m68k、NIOS、Blackfin 支持多种操作系统:包括Linux、VxWorks、NETBSD、QNX、RTEMS、ARTOS、LynxOS 支持多种以上的开发板 开放源代码,遵循GPL条款 易于移植、调试 操作界面是命令行界面 官方网站:http://www.denx.de/wiki/U-Boot/WebHome U-Boot程序结构 平台相关 board, arch, include… 平台无关 common, net, fs, drivers… 工具和文档 tools, doc board 目标板相关文件,主要包含硬件初始化、SDRAM初始化 common 独立于处理器体系结构的通用代码 arch 与处理器相关的文件,包含cpu初始化、串口初始化、中断初始化等代码 doc U-Boot的说明文档 drivers 设备驱动代码,如Flash驱动、网卡驱动、串口驱动等 fs U-Boot支持的文件系统的实现,如cramfs、fat、ext2、jffs2等 include U-Boot使用的头文件,包括不同硬件构架的头文件 net 网络功能的上层文件,实现各种协议,如nfs、tftp、arp等 配置过程 配置命令 make fs2410_config 查找Makefile中的目标 fs2410_config 配置过程 生成fs2410_config需要执行命令 @$(MKCONFIG) $(@:_config=) arm arm920t fs2410 hrembed s3c24x0 其中: @ 表示执行命令时,不打印这一行 $(MKCONFIG) MKCONFIG := $(SRCTREE)/mkconfig $(@:_config=) 表示去目标字符串,并且去除字符串中的_config。 上面的命令展开后是: ./mkconfig fs2410 arm arm920t fs2410 hermbed s3c24x0 就是执行文件./mkconfig 程序的参数是:fs2410 arm arm920t fs2410 hermbed s3c24x0 配置过程 ./mkconfig文件执行的结果 cd ../include 建立两个符号链接 ln -s arch/arm/include/asm asm ln -s arch-s3c24x0 asm/arch 生成一个config.mk文件 ARCH = arm CPU = arm920t BOARD = fs2410 VENDOR = hrembed SOC = s3c24x0 生成头文件config.h #define CONFIG_BOARDDIR board/hrembed/fs2410 #include config_defaults.h #include configs/fs2410.h #include asm/config.h 编译过程 make的时候,默认目标是第一个目标,Makefile的第一个目标是: 配置过程 u-boot依赖于好多.o文件,如下: u-boot的链接脚本 链接脚本在源码的 arch/arm/cpu/arm920t/u-boot.lds U-Boot程序结构 U-Boot入口函数start.S 转入超级32位模式 设置异常的入口地址和异常处理函数; 配置 PLLCON 寄存器,确定系统的主频; 屏蔽看门狗和中断;初始化 I/O 寄存器; 关闭 MMU 功能; 调用 /board/smdk2410 中的lowlevel_init.S ,初始化存储器空间,设置刷新频率; 将 U-Boot 的内容复制到 SDRAM 中; 设置堆栈的大小( ldr pc, _start_armboot ) ; 设置程序编译连接的起始地址( config.mk: TEXT_BASE = 0x33F80000 )。 频率设定(分频) /* FCLK:HCLK:PCLK = 1:2:4 */ /* default FCLK is 120 MHz ! */ ldr r0, =CLKDIVN //将CLKDIVN这个变量的值所代表的地址

文档评论(0)

tt435678 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档