欢迎来到天天文库
浏览记录
ID:41644686
大小:55.71 KB
页数:4页
时间:2019-08-29
《实验报告三Uboot分析移植》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验三Uboot分析移植1、实验目的了解Bootloader工作原理,掌握其移植方法Bootloader工作原理:Bootloader就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备,建立内存空间映射图,从而将系统的硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有想BIOS那样的固件程序,因此整个系统的加载任务就完全由BootLoader来完成。在一个嵌入式系统中,系统在上电或复位时通常都从地址0x00000000处开始执行。而在这个地址处安排的通常就是系统的Bootloader程序。Bootl
2、oader的工作模式:(1)下载模式对研发人员来说,Bootloader一般需要工作在这种模式下,特别是调试内核或者Bootloader本身的时候。通过串口终端与Bootloader进行交互,可以操作系统硬件。比如通过网口或者串口下载内核,烧写flash等等(2)启动加载模式嵌入式产品发布的时候,Bootloader必须在该工作模式下。这种情况下,Bootloader必须完成硬件自检,配置。并从flash中将内核拷贝到SDRAM中,并跳转到内核入口,实现自启动,而不需要人为的干预。2、实验仪器(环境)及要求(1)PC机(2)Tiny-6420开发板(3)读卡器、SD-Card
3、3、实验步骤(1)Uboot工作原理分析大多数bootloader都分为stagel和stage2两部分,u-boot也不例外。依赖于CPU体系结构的代码(如设备初始化代码等)通常都放在stagel且可以用汇编语言来实现,而stage2则通常用C语言来实现,这样可以实现复杂的功能,而且有更好的可读性和移植性。(2)Uboot移植过程分析第一部分移植主要完成硬件平台的SDRAM初始化、实现Nand读功能、实现U-Boot代码从NANDFlash至SDRAM的拷贝。第二部分主要修改U-Boot的配置文件fs2410.h,使U-Boot支持一些常用的命令。修改配置文件include
4、/configs/fs2410.h使之支持NAND及添加修改一些参数的设置。第三部分实现NANDFIash的写操作,实现U-Boot的配置参数的保存。第四部分修改U-Boot中对硬件平台的主频设置,使之适合我们特定的硬件开发平台(1)Superboot-6410移植过程使用SD-Flasher烧写SD卡,把SD卡插到开发板。4、结论1.以下几种原因均有可能导致不行,并有解决方法:1)使用了笔记本自带的读卡器,建议使用外接的usb读卡器,注意,有的外接usb读卡器也是不行的2)使用了山寨的SD卡,请使用正品,最好是4G或以上的SDHC3)使用了microSD/TF卡+卡套,请使
5、用普通的SD卡,因为卡套的方式非常容易导致接触不良4)SD卡启动功能是6410本身就带的,里面的代码是固行,建议多试几张。5)因接触不良导致无法使用SD卡启动的可能性比较大,建议多插拔几次试试,这包括(1)核心板和底板的接触1)6410从SD卡启动时,要把superboot或其他bootloader烧写到SD卡高位地址起始处,如果你的卡在此处损坏了,也是无法启动的(虽然你可以在普通电脑上使用);烧写工具是无法检测你的卡是否损坏的。1.Superboot是不开源的,它是专门为企业用户大批量设计的。我们的光盘资料中也提供了开源的U-boot,它支持USB一键烧写等功能,U-boo
6、t只能烧写到2G以内的SD卡中使用,也不能自动识别128M/256M内存,所以我们根据不同的情况在源代码中设置了不同的配置选项,详细请参考用户手册说明。2.如果你对配置文件不了解,或者修改后烧写失败,我们建议你采用“光盘B现成可用的配置文件“,里面有大部分常见的配置文件,你只需复制一份即可使用。
此文档下载收益归作者所有