嵌入式专题移植和u课件_第1页
嵌入式专题移植和u课件_第2页
嵌入式专题移植和u课件_第3页
嵌入式专题移植和u课件_第4页
嵌入式专题移植和u课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、The success's road系统引导程序移植远见远见报告内容安排v 引导程序介绍v u-boot的功能及常用命令v u-boot启动及初始化过程v u-boot在nandflash上的移植要点v 在u-boot中命令实现的原理(以上内容均以arm体系结构为例)系统组成(软件)远见开源的Bootloaders远见BootloaderMonitorDescriptionx86ARMPowerPCLILONoMain disk bootloader for LinuxYesNoNoGRUBNoGNUs successor to LILOYesNoNoLoadlinNoLoads Li

2、nux from DOSYesNoNoBLOBNoLoader from the LART hardware projectNoYesNoU-bootYesUniversal loaderYesYesYesRedBootYeseCos-based loaderYesYesYesBootloader任务远见,配置初始化处理器以及外设的硬件vSDRAM器,为主程序提供运行环境串口,提供交互终端网络,传输镜像文件其它I/O设备自检,报告检测结果引导操作系统根据系统命令烧写镜像文件vvvU-BOOT常用命令1/2远见v ?得到所有命令列表v help: help nand列出nand功能的使用说明v

3、ping:只能开发板PING别的v setenv:设置环境变量:setenv serverip setenv ipaddr 6v tftp: tftp 30008000 zImagev nand: nand erase 40000 1c0000 nand write 30008000 40000 1c0000 U-BOOT常用命令2/2nand read 30008000 40000远见v setenv bootcmd1c0000;go 30008000v setenv bootargs root=/dev/mtdblock2 console=tty

4、SAC0,115200 init=/linuxrcv saveenv引导程序启动远见v 系统上电复位,CPU在默认地址令。第一条指远见初始化代码程序主要流程概述v (1)v (2)v (3)v (4)v (5)v (6)v (7)v (8)v (9)定义程序进入点设置一场向量表初始化sdram器设置各种堆栈指针寄存器初始化各种关键的I/O设备初始化C程序需要的必要的话,使能中断器必要的话,改变处理器的运行模式进入C代码NOR flash和Nand flash接口比较远见v FLASH器又称闪存,主要有两种:Nor flash和Nand flashv Nor flash带有通用的SRAM接口v

5、Nand flash器件使用复杂的I/O口来串行地存取数据Nand flash移植要点v 明确CPU在系统复位时能否获得nand flash中的指令v 在初始化代码中实现nandflah的代码搬运功能v 阅读README.nand,明确我们需要实现远见的nandflash接口函数v 参照CPU nand flash器及nand flash芯片的硬件手册,实现系统要求我们实现的接口函数v 配置系统支持nand flash命令基于Nand flash的启动代码分析v 根据源码讲解远见Arm可执行映像的产生远见Uboot源码的编译远见你的目标平台配置u-bootvØ make <BO

6、ARD_NAME>_config?make smdk2410_configv 交叉编译Ø make CROSS_COMPILE = arm-linux-v 生成的镜像文件Ø System.mapØ u-bootØ u-boot.binØ u-boot.srecformatThe symbol mapU-Boot in ELF binary formatU-Boot raw binary imageU-Boot image in Motorola's S-Recordu-boot.lds远见OUTPUT_ARCH(arm)ENTRY

7、(_start) SECTIONS. = 0x00000000;. = ALIGN(4);.textConfig.mk远见v (1)smdk2410/config.mkTEXT_BASE = 0x33F80000v (2)config.mkCPPFLAGS := DTEXT_BASE=$(TEXT_BASE)CFLAGS := $(CPPFLAGS)深入分析u-boot启动代码远见v 重新分析启动源码加入u-boot命令方法远见v U_BOOT_CMD(go, CFG_MAXARGS, 1,do_go,"go- start application at address 'ad

8、dr'n","addr- start application at address 'addr'n"" passing 'arg' as argumentsn");v int do_go()u-boot命令的实现原理1/3远见v U-boot.lds u_boot_cmd_start = .;.u_boot_cmd : *(.u_boot_cmd) u_boot_cmd_end = .;u-boot命令的实现原理2/3远见v 在include/command.h中有:#define U_BOOT_CMDU_BOOT_CMD(name,maxargs,rep,cmd,usage,help)cmd_tbl_tu_boot_cmd_#name Struct_Section =#name, maxargs, rep, cmd, usage, help#define Struct_Section attribute(unused,section (".u_boot_cmd")u-boot命令的实现原理3/3远见v common/main.cint run_command (const char *cmd, int flag)find_cmd(argv0)v com

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论