Linux基础PPT课件第十一章 UBoot编译和使用.ppt_第1页
Linux基础PPT课件第十一章 UBoot编译和使用.ppt_第2页
Linux基础PPT课件第十一章 UBoot编译和使用.ppt_第3页
Linux基础PPT课件第十一章 UBoot编译和使用.ppt_第4页
Linux基础PPT课件第十一章 UBoot编译和使用.ppt_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第十章 内容回顾,为什么需要交叉编译 交叉调试 主要工具,U-Boot的编译和使用,第11章,本章目标,理解什么是Bootloader,它的作用是什么; U-Boot的结构; 掌握如何编译U-Boot; 掌握使用U-Boot的命令、工具。,本章结构,嵌入式系统的引导代码,U-Boot的编译和使用,U-Boot配置与编译,U-Boot简介,把U-Boot烧入Flash,U-Boot主要功能,U-Boot主要目录结构,TFTP工具使用,U-Boot的命令使用,初拾Boot-Loader,Boot-Loader 启动流程,UBoot 命令的介绍,常用命令使用说明,命令简写说明,把文件写入NandFlash,11.1.1 初识BootLoader,嵌入式linux系统从软件的角度看通常可以分为4个层次: 1、引导加载程序。包括固化在固件(firmware)中的 boot 代码 (可选),和 Boot Loader 两大部分 2、Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。 3、文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。 4、用户应用程序。,大多数 Boot Loader 都包含两种不同的操作模式: “启动加载”模式 下载”模式 这种区别仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader 的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。,11.1.1 初识BootLoader,11.1.2 BootLoader启动流程,Boot Loader 的 stage1 通常包括以下步骤(以执行的先后顺序): 硬件设备初始化。 为加载 Boot Loader 的 stage2 准备 RAM 空间。 拷贝 Boot Loader 的 stage2 到 RAM 空间中。 设置好堆栈。 跳转到 stage2 的 C 入口点。,11.1.2 BootLoader启动流程,Boot Loader 的 stage2 通常包括以下步骤(以执行的先后顺序): 初始化本阶段要使用到的硬件设备。 检测系统内存映射(memory map)。 将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中。 为内核设置启动参数。 调用内核。,Bootloader的启动流程,11.1.2 BootLoader启动流程,11.2 U-Boot简介,U-Boot,全称Universal Boot Loader,是遵循GPL条款的开放源码项目 支持NetBSD、VxWorks、QNX、RTEMS、ARTOS、LynxOS嵌入式操作系统. 其目前要支持的目标操作系统包括OpenBSD、NetBSD、FreeBSD、4.4BSD、Linux、SVR4、Esix、Solaris、Irix、SCO、Dell、NCR、VxWorks、LynxOS、pSOS、QNX、RTEMS和ARTOS。 支持的处理器结构: PowerPC,MIPS、x86、ARM、Nios、xScale,11.3 U-Boot配置与编译,make distclean 清除与平台相关的文件 make smdk2440_config 配置使用SMDK2440 make CROSS_COMPILE=arm-linux- 交叉编译,11.4 U-Boot烧录,通过仿真器烧入uboot 通过仿真器uboot烧写到flash中就可以从NAND flash启动了。 通过JTAG接口,由工具烧入flash,JTAG简介,JTAG(Joint Test Action Group)是IEEE制定的用于检测PCB和IC的标准。 通过这个标准,可对具有JTAG接口芯片的硬件电路进行边界扫描和故障检测。 详细内容可查阅IEEE1149.1协议。目前,很多高档微处理器都带有JTAG接口,像ARM7,ARM9,DSP等。,11.4 U-Boot烧录,简易JTAG介绍,简易JTAG是在PC上用软件来模拟JTAG时序与包含JTAG接口的ARM开发板进行通讯的工具。 常用的配合简易JTAG的烧写Flash的工具软件有FlasgPGM,FluteD,sjf2410/2440等。 使用S3C2440开发板时可以用配套开发工具SJF2440。,11.4 U-Boot烧录,11.5 U-Boot主要目录,目录树 |-board |-common |-cpu |-disk |-doc |-drivers |-dtt |-examples |-fs,|-include |-lib_arm |-lib_generic |-lib_i386 |-lib_m68k |-lib_microblaze |-lib_mips |-lib_nios |-lib_nios2 |-lib_ppc,|-net |-post |-rtc -tools,11.6 U-Boot主要功能,11.7 U-Boot主要命令,? - alias for help autoscr - run script from memory base - print or set address offset bdinfo - print Board Info structure boot - boot default, i.e., run bootcmd bootd - boot default, i.e., run bootcmd bootelf - Boot from an ELF image in memory bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol bootvx - Boot vxWorks from an ELF image cmp - memory compare coninfo - print console devices and information cp - memory copy,11.7 U-Boot主要命令,crc32 - checksum calculation date - get/set/reset date & time dcache - enable or disable data cache echo - echo args to console erase - erase FLASH memory flinfo - print FLASH memory information go - start application at address addr help - print online help icache - enable or disable instruction cache iminfo - print header information for application image imls - list all images found in flash itest - return true/false on integer compare mw - memory write (fill),11.7 U-Boot主要命令,mw - memory write (fill) nand - NAND sub-system nboot - boot from NAND device nfs - boot image via network using NFS protocol nm - memory modify (constant address) ping - send ICMP ECHO_REQUEST to network host printenv- print environment variables protect - enable or disable FLASH write protection rarpboot- boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage,11.7 U-Boot主要命令,setenv - set environment variables sleep - delay execution for some time tftpboot- boot image via network using TFTP protocol version - print monitor version,11.8 TFTP工具使用,TFTP协议是简单的文件传输协议,适合目标板Bootloader的使用。 TFTP文件传输基于UDP。 我们通过TFTP来传输目标板启动需要的内核映象文件zImage和ramdisk。,11.8 TFTP工具使用,U-Boot tftp 21000000 zImage TFTP from server ; our IP address is 00 Filename zImage. Load address: 0x21000000 Loading: # # # # done Bytes transferred = 1324260 (1434e4 hex),本章总结,嵌入式系统的引导代码,U-Boot的编译和使用,U-Boot配置与编译,U-Boot简介,把U-Boot烧入Flash,U-Boot主要功能,U-Boot主要目录结构,TFTP工具使用,U-Boot的命令使用,初拾Boot-Loader,Boot-Loader 启动流程,UBoot 命令的介绍,常用命令使用说明,命令简写说明,把文件写入NandFlash,Boot Loader不但可以支持Linux 还支持很多其他的操作系统,Boot Loader 有系统引导,设备驱动,基本辅助,上

温馨提示

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

评论

0/150

提交评论