《嵌入式linux启动代码U-boot》教学课件.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
u-boot命令的实现原理3/3 common/main.c int run_command (const char *cmd, int flag) { … find_cmd(argv[0]) … } common/command.c cmd_tbl_t *find_cmd (const char *cmd) { … for (cmdtp = __u_boot_cmd_start;cmdtp != __u_boot_cmd_end;cmdtp++) … } u-boot对NAND FLASH坏块管理 坏块特点 管理方法 Uboot中的代码处理 Any questions? 嵌入式Linux启动代码u-boot 报告内容 嵌入式LINUX系统布局 uboot启动以及初始化过程 Uboot功能以及常用命令 Uboot在nand flash上的移植 Uboot的工程处理 嵌入式LINUX系统布局 嵌入式系统组成(软件) Bootloader任务 初始化处理器以及外设的硬件资源,配置 SDRAM控制器,为主程序提供运行环境 串口,提供交互终端 网络,传输镜像文件 其它I/O设备 执行系统自检,报告检测结果 引导操作系统 根据系统命令烧写镜像文件 U-BOOT常用命令1/2 ?得到所有命令列表 help: help nand 列出nand功能的使用说明 ping:只能开发板PING别的机器 setenv: 设置环境变量: setenv serverip setenv ipaddr 6 tftp: tftpzImage nand: nand erase 40000 1c0000 nand write40000 1c0000 U-BOOT常用命令2/2 setenv bootcmd nand read40000 1c0000\; gosetenv bootargs root=/dev/mtdblock2 console=ttySAC0,115200 init=/linuxrc saveenv 引导程序启动 系统上电复位,CPU在默认地址读取第一条指令。 初始化代码程序主要流程概述 (1) 定义程序进入点 (2) 设置一场向量表 (3) 初始化sdram控制器 (4) 设置各种堆栈指针寄存器 (5) 初始化各种关键的I/O设备 (6) 初始化C程序需要的存储器 (7) 必要的话,使能中断 (8) 必要的话,改变处理器的运行模式 (9) 进入C代码 NOR flash和Nand flash接口比较 FLASH存储器又称闪存,主要有两种:Nor flash和Nand flash Nor flash带有通用的SRAM接口 Nand flash器件使用复杂的I/O口来串行地存取数据 Nand flash移植要点 明确CPU在系统复位时能否获得nand flash中的指令 在初始化代码中实现nandflah的代码搬运功能 阅读README.nand,明确我们需要实现的nand flash接口函数 参照CPU nand flash控制器及nand flash芯片的硬件手册,实现系统要求我们实现的接口函数 配置系统支持nand flash命令 基于Nand flash的启动代码分析 根据源码讲解 Arm可执行映像的产生 .s .s .c .c 汇编器 编译器 .o .o .o .o 链接器 映象 Uboot源码的编译 针对你的目标平台配置 u-boot make BOARD_NAME_config make smdk2410_config 交叉编译 make CROSS_COMPILE = arm-linux- 生成的镜像文件 System.map The symbol map u-boot U-Boot in ELF binary format u-boot.bin U-Boot raw binary image u-boot.srec U-Boot image in Motorolas S-Record format 解析u-boot.lds OUTPUT_ARCH(arm) ENTRY(_start) SECTIONS { . = 0 . = ALIGN(4); .text …… Config.mk (1)smdk2410/config.mk TEXT_BASE = 0

文档评论(0)

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

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

1亿VIP精品文档

相关文档