




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UBoot操作和常用命令,主要内容,u-boot概念解释u-boot基础指令使用介绍u-boot环境变量u-bootNANDFlash操作命令及烧录Linux内核和文件系统,BootLoader概念,BootLoader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。尽管如此,我们仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。,UBoot来源,U-Boot是DasU-Boot的简称,其含义是UniversalBootLoader,是遵循GPL条款的开放源码项目。最早德国DENX软件工程中心的WolfgangDenk基于8xxROM和FADSROM的源码创建了PPCBoot工程项目,此后不断添加处理器的支持。而后,SysgoGmbh把PPCBoot移植到ARM平台上,创建了ARMBoot工程项目。最终,以PPCBoot工程和ARMBoot工程为基础,创建了U-Boot工程。而今,U-Boot作为一个主流、通用的BootLoader,成功地被移植到包括PowerPC、ARM、X86、MIPS、NIOS、XScale等主流体系结构上的百种开发板,成为功能最多、灵活性最强,并且开发最积极的开源BootLoader。目前。U-Boot仍然由DENX的WolfgangDenk维护,烧写UBoot,UBoot编译完成后,会在源码目录下生成u-boot.bin这个二进制文件。利用JLink工具把u-boot.bin烧写到NORFlash的0 x00000000位置即可。,mkimage,在使用UBoot引导Linux内核时,必须对Linux内核镜像文件做适当的修改让UBoot可以引导使用mkimage程序来对linux内核文件增加UBoot头。uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件。mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0 x40字节的头,记录参数所指定的信息,这样uboot才能识别这个映象是针对哪个CPU体系结构的,哪个OS的,哪种类型,加载内存中的哪个位置,入口点在内存的那个位置以及映象名是什么,mkimage使用,Usage:mkimage-limage-l=listimageheaderinformationmkimage-x-Aarch-Oos-Ttype-Ccomp-aaddr-eep-nname-ddata_file:data_file.image-A=setarchitecturetoarch-O=setoperatingsystemtoos-T=setimagetypetotype-C=setcompressiontypecomp-a=setloadaddresstoaddr(hex)-e=setentrypointtoep(hex)-n=setimagenametoname-d=useimagedatafromdatafile-x=setXIP(executeinplace)制作uImage内核镜像文件mkimage-nlinux--Aarm-Olinux-Tkernel-Cnone-a0 x30008000-e0 x30008040-dzImageuImage,烧录Linux内核,烧录Linux内核并实现自启动。1)通过mkimage工具把Linux内核镜像文件转为UBoot格式通过tftp协议烧写到开发板内存的的0 x30008000位置2)PC的虚拟机Linux安装ftfp服务器端并配置测试连接成功3)重启开发板ping通虚拟机linux4)配置传给linux的命令行参数5)开发板UBoot通过tftp协议和Linux进行连接,把Linux内核读入SDRAM后通过nand命令写入nandflash的指定位置;6)根据Linux启动信息获得Linux内核默认的MTD分区并做出相应的修改后,把文件系统烧入相应位置,tftp的安装和配置,redhat9下载tftp-server-0.32-4.i386.rpm软件包rpm-ivhtftp-server-0.32-4.i386.rpm安装Fedora9下可以使用yum在线安装tftp-serveryuminstalltftp-server新建tftp根目录并授予权限mkdir/var/tftprootchmod-R777/var/tftproottftpserver配置tftpserver配置文件,/etc/xinetd.d/tftp,修改tftp配置文件,#default:off#description:Thetftpserverservesfilesusingthetrivialfiletransfer#protocol.Thetftpprotocolisoftenusedtobootdiskless#workstations,downloadconfigurationfilestonetwork-awareprinters,#andtostarttheinstallationprocessforsomeoperatingsystems.servicetftpdisable=no/设置为no,开启服务socket_type=dgramprotocol=udpwait=yesuser=rootserver=/usr/sbin/in.tftpdserver_args=-s/var/tftproot-c/这里配置tftp服务器根目录,-c参数表示可以写文件per_source=11cps=1002flags=IPv4,tftp服务器配置,UBoot环境变量,1)bootargs参数bootargs参数是启动时传递给Linux操作系统的信息,其配置语句为:setbootargsroot=/dev/mtdblock3console=ttyS0,115200rootfstype=cramfsmem=32mbroot:/dev/mtdblock2表示从nand的第三个分区启动文件系统,Linux启动后会自动搜索nand分区信息。console:表示Linux操作系统使用的控制台,我们使用第一个串口,因此是ttyS0,后面跟的115200表示串口使用的波特率。rootfstype:表示文件系统的格式,我们烧录在nand中的文件系统使用cramfs,所以在这里要填写cramfs,否则linux会尝试自动挂载,可能会出错。mem:表示Linux操作系统的内存容量,目前开发板板载32MB内存,因此填32mb。2)bootcmd参数bootcmd参数表示开发板上电,bootdelay结束后执行的指令。这里填写内容的含义是用tftp这条命令,将主机上的vmlinux.img(即Linux内核)加载到内存的30007fc0这个地址,然后从30007fc0启动内核。如果将Linux内核烧录到nandflash上,则指令又有不同,下面会详细介绍。,UBoot常用命令,usbstart:起动usb功能usbinfo:列出设备usbscan:扫描usbstorage(u盘)设备fatls:列出DOSFAT文件系统,如:fatlsusb0列出第一块U盘中的文件fatload:读入FAT中的一个文件,如:fatloadusb00 x30000000aa.txtflinfo:列出flash的信息nfs:nfs32000000:aa.txt,把(LINUX的NFS文件系统)中的NFS文件系统中的aa.txt读入内存0 x32000000处tftp:tftp32000000vmlinux,把server(IP=环境变量中设置的serverip)中/tftpdroot/下的vmlinux通过TFTP读入到物理内存32000000处ping:注:只能开发板PING别的机器bootm:起动UBOOTTOOLS制作的压缩LINUX内核,bootm3200000mw:对RAM中的内容写操作,mw32000000ff10000(把内存0 x32000000开始的0 x10000字节设为0 xFF),UBoot对NandFlash操作,nandinfo查看NANDFlash信息命令nandinfoDevice0:Samsungunknown64Mbat0 x11000200(64MB,16kBsector)nanderase地址大小擦除NANDFlash命令将NANDFlash中起始地址0 x00100000大小为0 x00200000的内容擦除。切记NANDFlash使用前一定要先擦除。SEP4020=nanderase0 x001000000 x00200000NANDerase:device0offset1048576,size2097152.OKnandwrite内存地址NAND地址大小将SDRAM中地址0 x31000000中大小为0 x00200000的内容写入NANDFlash的0 x100000地址。nandwrite0 x310000000 x001000000 x00200000NANDwrite:device0offset1048576,size2097152.2097152byteswritten:OK烧写文件系统nandwrite.yaffs0 x300080000 x5600000 x3b22c00,文件系统的烧写,UBoot启动Linux内核后会在某个固定位置读取文件系统信息,这个具体位置通过Linux代码common-smdk.c文件的MTD分区来决定(arch/arm/plat-s3c24xx/目录下),Creating5MTDpartitionsonNAND256MiB3,3V8-bit:0 x000000000000-0 x000000040000:superviviftl_cs:FTLheadernotfound.0 x000000040000-0 x000000060000:paramuncorrectableerror:0 x000000060000-0 x000000560000:Kernelftl_cs:FTLheadernotfound.0 x000000560000-0 x000040560000:rootmtd:partitionrootextendsbeyondtheendofdeviceNAND256MiB3,3V8-bit-sizetruncatedto0 xfaa0000ftl_cs:FTLheadernotfound.0 x000000000000-0 x000040000000:nandmtd:partitionnandextendsbeyondtheendof
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四川省卫生健康委员会所属事业单位招聘考试真题2024
- 2025春季黑龙江哈尔滨市木兰县“丁香人才周”事业单位引才招聘76人考前自测高频考点模拟试题附答案详解(模拟题)
- 2025年智能眼镜的智能家居控制
- 2025年智能音箱的用户行为分析
- 2025河南航空港投资集团有限公司25人招聘模拟试卷及答案详解(夺冠)
- 2025河北保定市雄安新区雄县事业单位招聘89人模拟试卷及参考答案详解1套
- 2025年春季中国邮政储蓄银行内蒙古分行校园招聘模拟试卷附答案详解(典型题)
- 2025河南新乡市延津县县外在编在岗教师回乡任教的考前自测高频考点模拟试题完整答案详解
- 2025内蒙古阿拉善盟沪蒙能源集团有限公司招聘33人考前自测高频考点模拟试题完整参考答案详解
- 2025贵州六枝特区科学技术协会招聘公益性岗位人员1人考前自测高频考点模拟试题及答案详解(有一套)
- 2025至2030中国大宗物资供应链行业发展趋势分析与未来投资战略咨询研究报告
- 拼多多公司技能培训
- 写作技巧:三十六种故事创作套路
- 挖机挖方合同协议书模板
- 胰岛素储存知识培训课件
- 福建省2025-2026学年福州市高三年级第一次质量检测英语
- 道字的演变课件
- GB 46039-2025混凝土外加剂安全技术规范
- 2025至2030年中国卡丁车俱乐部行业市场调研分析及投资战略咨询报告
- 教案2025秋形势与政策纪念抗战胜利坚定民族信念抗战胜利80周年
- 加油站职业健康危害因素分析
评论
0/150
提交评论