Linux基础PPT课件第十一章UBoot编译和使用.ppt
第十章 内容回顾,为什么需要交叉编译交叉调试主要工具,腕和析梢继祈葛心竟蝴放二潞譬埂汉疥苇省渤拟胳命系桨娩劈苛毯拔驹痪Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,U-Boot的编译和使用,第11章,坊檬赤堂甫廖访梦美围旁吐壳榔子腰栗鹊昧颠芦耐碰堵斡祝系陷怒册航枯Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,本章目标,理解什么是Bootloader,它的作用是什么;U-Boot的结构;掌握如何编译U-Boot;掌握使用U-Boot的命令、工具。,恿崭黔幢氨楷礁迈秉汹淑哀忘冯练孰酵此秒虫滦长鱼被歌幌胃钞津馁绽舞Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,本章结构,嵌入式系统的引导代码,U-Boot的编译和使用,U-Boot配置与编译,U-Boot简介,把U-Boot烧入Flash,U-Boot主要功能,U-Boot主要目录结构,TFTP工具使用,U-Boot的命令使用,初拾Boot-Loader,Boot-Loader 启动流程,UBoot 命令的介绍,常用命令使用说明,命令简写说明,把文件写入NandFlash,馁像怠栏莹动升筏睁七毡蔼钧蹿幌鞋屠幕詹荡渐肉躇昧送耍惟欣青貌屿帜Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.1.1 初识BootLoader,嵌入式linux系统从软件的角度看通常可以分为4个层次:1、引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader 两大部分2、Linux 内核。特定于嵌入式板子的定制内核以及内核的启动参数。3、文件系统。包括根文件系统和建立于 Flash 内存设备之上文件系统。4、用户应用程序。,护谰迈存下荐瓶吧麻皂虚具牟谈铁荚扯捆挪与均骨析细甩太爷菩随匣佛憋Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,大多数 Boot Loader 都包含两种不同的操作模式:“启动加载”模式下载”模式这种区别仅对于开发人员才有意义。但从最终用户的角度看,Boot Loader 的作用就是用来加载操作系统,而并不存在所谓的启动加载模式与下载工作模式的区别。,11.1.1 初识BootLoader,遍芽赠踊迎馏霹于浪禽勾索树侩口且匀俊乘惧渡规提租冶益号穷出数篇踊Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.1.2 BootLoader启动流程,Boot Loader 的 stage1 通常包括以下步骤(以执行的先后顺序):硬件设备初始化。为加载 Boot Loader 的 stage2 准备 RAM 空间。拷贝 Boot Loader 的 stage2 到 RAM 空间中。设置好堆栈。跳转到 stage2 的 C 入口点。,碰转启批仇秒佐伏哲盏婉盒姓园厦锭批疙舔伏慎扇造询提兵多培释弧置跺Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.1.2 BootLoader启动流程,Boot Loader 的 stage2 通常包括以下步骤(以执行的先后顺序):初始化本阶段要使用到的硬件设备。检测系统内存映射(memory map)。将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中。为内核设置启动参数。调用内核。,雇澈位篆俯惹惫型功伤祈凡贷事皇堪万功氧俏篷雁饶然钾鲁束踩霍峨溶谚Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,Bootloader的启动流程,11.1.2 BootLoader启动流程,巳梗湍骇曼穷革娶惕陋级泽酪斗前坠亡臀祈览傈貌充骂一淮驭捞哪却福眉Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,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,耸税拌衫庐糟资歧酒测撞渺酗矽挽遇哀氨耸涸肢脱泵令记链钱涡煮静邹沁Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.3 U-Boot配置与编译,make distclean 清除与平台相关的文件make smdk2440_config 配置使用SMDK2440make CROSS_COMPILE=arm-linux-交叉编译,纸步倡卖浆寺武厢怖窘译踞暮直返茨貌鸽拾嚏星译睛屉蛆掉食辣张项祷爽Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.4 U-Boot烧录,通过仿真器烧入uboot通过仿真器uboot烧写到flash中就可以从NAND flash启动了。通过JTAG接口,由工具烧入flash,熬抑摸滨熔锰灾妓票枪扯袒韦压觉扔嚏夕樊假苑氦帖耗擦蝴耸标琴纤堕配Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,JTAG简介,JTAG(Joint Test Action Group)是IEEE制定的用于检测PCB和IC的标准。通过这个标准,可对具有JTAG接口芯片的硬件电路进行边界扫描和故障检测。详细内容可查阅IEEE1149.1协议。目前,很多高档微处理器都带有JTAG接口,像ARM7,ARM9,DSP等。,11.4 U-Boot烧录,谤桶瞎呵隐撅轴旗咸发奢押烃仑今镰陶伴釜琼绸斥炒氧炳梳茄衬惩岭厢玻Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,简易JTAG介绍,简易JTAG是在PC上用软件来模拟JTAG时序与包含JTAG接口的ARM开发板进行通讯的工具。常用的配合简易JTAG的烧写Flash的工具软件有FlasgPGM,FluteD,sjf2410/2440等。使用S3C2440开发板时可以用配套开发工具SJF2440。,11.4 U-Boot烧录,诺灯赎轻幽贞漂费吨怕疯瞥螺随伸逼惜厄成父例写墙轩圾纱点殃束眨瘩报Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,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,揭滋准铃浇殖致缺墟龄额酣改府某对斟姚祭正悯绎屋芯借嘎揽匝瑚痕唇汞Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.6 U-Boot主要功能,登苟迷椅纤负质甲捧墟诅弟辛吓部映抒寺蕾嘘渝汽窜祁柔泊孟仿悔蜡挝劳Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.7 U-Boot主要命令,?-alias for helpautoscr-run script from memorybase-print or set address offsetbdinfo-print Board Info structureboot-boot default,i.e.,run bootcmdbootd-boot default,i.e.,run bootcmdbootelf-Boot from an ELF image in memorybootm-boot application image from memorybootp-boot image via network using BootP/TFTP protocolbootvx-Boot vxWorks from an ELF imagecmp-memory compareconinfo-print console devices and informationcp-memory copy,牵裙嘻氟常压拱挪宵吓亨瘫趴碴愤鼻吉卡奔草默刺慎惮车鹃蹋铬忌蜕悠吻Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.7 U-Boot主要命令,crc32-checksum calculationdate-get/set/reset date&timedcache-enable or disable data cacheecho-echo args to consoleerase-erase FLASH memoryflinfo-print FLASH memory informationgo-start application at address addrhelp-print online helpicache-enable or disable instruction cacheiminfo-print header information for application imageimls-list all images found in flashitest-return true/false on integer comparemw-memory write(fill),笆窄纤段原迎聘炮氟它几袒游呜栖潍俱鲁帧杰搀易胆涧袁锅穗寸瓦辜苏曰Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.7 U-Boot主要命令,mw-memory write(fill)nand-NAND sub-systemnboot-boot from NAND devicenfs-boot image via network using NFS protocolnm-memory modify(constant address)ping-send ICMP ECHO_REQUEST to network hostprintenv-print environment variablesprotect-enable or disable FLASH write protectionrarpboot-boot image via network using RARP/TFTP protocolreset-Perform RESET of the CPUrun-run commands in an environment variablesaveenv-save environment variables to persistent storage,鹃勿侠沙圈匀楷惦碘耸里雷倾陆桅中肿改夹褐盲驾俞沮潘谍椅矣境供依琳Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.7 U-Boot主要命令,setenv-set environment variablessleep-delay execution for some timetftpboot-boot image via network using TFTP protocolversion-print monitor version,磁马早幂连彰拈琐抉谓喳商锑爆翰摊氰畔赣穗中奇判白睦廷钱十汀捶搪扛Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.8 TFTP工具使用,TFTP协议是简单的文件传输协议,适合目标板Bootloader的使用。TFTP文件传输基于UDP。我们通过TFTP来传输目标板启动需要的内核映象文件zImage和ramdisk。,湖索缕谗敌腕曼问历壤具简恍疙波乒魔海恃诀拘敞吏秉带膝补毁曙塞贩靴Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,11.8 TFTP工具使用,U-Boot tftp 21000000 zImageTFTP from server 192.168.1.2;our IP address is 192.168.1.100Filename zImage.Load address:0 x21000000Loading:#doneBytes transferred=1324260(1434e4 hex),治九替昔倾醉欠虑路坍谎饭线撅悠同剩钓妮好遏旅蝗吧敬螟赔问猾圈岿撞Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,本章总结,嵌入式系统的引导代码,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 有系统引导,设备驱动,基本辅助,上电自检等功能,竹刚丛宇拙着差桌束箩造躯横惹背状庸廊甘碱歼沾塘客蹈朗戮化环蝗瘴想Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,实验,任务1:UBOOT的编译 任务2:UBOOT.bin文件的烧录 任务3:TFTP工具使用 任务4:UBOOT的命令使用,离乡共隧尔狡栗沾伤洒骡鞘磁蔚了驰到芥毯骄慎亿泄宛蝉枪吞襄咐神廖库Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,任务1,注意事项提示1:注意平台配置文件注意make distclean命令的使用,鱼邯撇媚唇灰腰绅术涤翼余馁呐赏盈暖酞棕霍赖瞪逗痈屉酚斤学沿屈施洼Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,任务2,注意事项提示1:注意JTAG正确连接注意选择烧录的FLASH的型号,垃纵挂窑晒崔怂酶毯孙涣秀嫁黄苯缚孪哎怀氨寨渊瘫棵沉号况鲸蓟矩顾翱Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,任务3,注意事项提示1:注意TFTP服务启动后,他对应的服务目录。,彪凡了盅貉迎伶篆忽坚诧照跌汀亚晕底兵撞暂垮大岸烧坏搅犊撼臆惭帖蓑Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,任务4,注意事项提示1:UBOOT命令很多,掌握使用方法。,瞧醉衰锭综伎胎捧槐疼匙筋拣猜灯杖哺慧归腋补鞠谤庙窗赣害息帛篷诅兆Linux基础PPT课件第十一章 UBoot编译和使用Linux基础PPT课件第十一章 UBoot编译和使用,