嵌入式预习报告4编译Bootloader实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验四编译Bootloader实验的预习报告一实验内容和背景实验背景:实验Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。[1]对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。Bootloader不但依赖于CPU的体系结构,而且依赖于嵌入式系统板级设备的配置。对于2块不同的嵌入式板而言,即使它们使用同一种处理器,要想让运行在一块板子上的Bootloader程序也能运行在另一块板子上,一般也都需要修改Bootloader的源程序。反过来,大部分Bootloader仍然具有很多共性,某些Bootloader也能够支持多种体系结构的嵌入式系统。例如,U-Boot就同时支持PowerPC、ARM、MIPS和X86等体系结构,支持的板子有上百种。通常,它们都能够自动从存储介质上启动,都能够引导操作系统启动,并且大部分都可以支持串口和以太网接口。本次实验的目的:1、掌握编译Bootloader的过程。2、了解Bootloader的作用及在嵌入式系统中的应用;3、制作一个Bootloader。实验内容:1、启动S5PV210的Linux宿主机,在主目录下,能找到uoot的源码包文件夹/home/cvtech/u-uoot-s5pv210,有则直接用cd命令切换到源码目录下。如果没有,可以拷贝u-boot-s5pv210.tar.gz源码包到主目录后,通过解压命令解压源码包;解压命令:tar–zxvfu-boot-s5pv210.tar.gz2、用cd命令切换到uboot源码目录下命令:cdu-boot-s5pv2103、执行makeclean命令,清除之前编译生成的文件。4、执行make命令编译出uboot.bin文件。命令:make如果编译成功,则在uboot源码目录下生成uboot.bin文件。5、烧写uboot把uboot.bin文件,复制到SD卡中,切换实验板为sd卡启动,并通过指导书上的操作步骤,通过sdfuse命令把uboot.bin文件烧写到flash中。再切换实验板为nand启动,之后操作uboot的命令。6、使用和验证Bootloader命令help--打印uboot提供的所有可用命令,以及命令的简介help某个命令名--打印出此命令的具体使用方法根据某个命令的具体使用方法,使用这个命令二实验涉及的知识点知识点1:编译Bootloader的过程。1)解压U-Boot把u-boot-s5pv210.tar.gz拷贝到Linux主机的工作目录下,用命令解压u-boot-s5pv210.tar.gz,并进入U-Boot目录。#tarzxvfu-boot-s5pv210.tar.gz#cdu-boot-s5pv2102)清理U-Boot#makeclean3)配置U-Boot检查Makefile,配置正确的交叉编译路径,这里用的是工具连arm-none-linux-gnueabi-4)编译U-Boot在U-Boot的根目录下执行如下命令进行编译。#make编译完成,检验u-boot.bin是否已生成。知识点2:烧写uboot。通过SD卡烧写u-boot到flash。S5PV210支持多种不同的启动方式,包括SD、NandFlash、OneNand、USB、串口等,可以通过JP1跳线来切换CPU的启动方式。SD/MMC启动方式为:[1-6]=00110X,NAND(2KB-5cycle)启动方式为:[1-6]=00001X,其中X表示随意,1和0都可以。在NandFlash被擦除为空的时候,是不能从NandFlash启动的,这时就需要通过其他方法,把bootloader(u-boot)烧写到NandFlash。首先要制作一张可以启动的SD卡,让系统先从SD卡启动,SD启动后通过U-Boot的命令行把bootloader镜像烧写到NandFlash,然后就可以通过跳线切换到NandFlash启动了。1.制作SD卡启动:首先,格式化SD卡,SD启动制作是在linux系统下进行的,所以很重要的一点,就是Ubuntulinux能正确识别到SD卡(读卡器)。虚拟机右下角里,选中--USB2.0Device连接(与主机断开连接)(C),把SD卡从windows转移到虚拟机中。SD卡被识别到的时候:SD卡未被识别到的时候:我们通过执行sd_fusing.sh脚本来把u-boot镜像写到SD卡,当然了,执行命令的时候需要用root权限,这个脚本主要的步骤是对SD卡进行分区、格式化成vfat格式、写入bl1和u-boot镜像。具体步骤如下:•进入u-boot源码目录下的的sd_fusing目录,这个u-boot是已经编译过的#cdsd_fusing•编译#make•制作SD启动,命令如下#./sd_fusing.sh/dev/sdb这样就制作好了一张可以启动的SD卡。2.拷贝镜像文件:SD卡启动制作好,下一步就是把镜像拷贝到SD卡,用于写进NANDFLASH。需先在SD卡的根目录下建立文件夹sdfuse,把u-boot.bin文件拷贝到这个目录下。可以在Windows下拷贝,也可以在Ubuntu拷贝。通过SD卡把u-boot镜像写到NANDFLASH。在超级终端界面上看到打印信息,当显示Hitanykeytostopautoboot:#时,快速按空格键,进入u-boot命令行。执行nandscrub,将nandflash数据清空并扫描坏块。#nandscrub出现上图时,按y回车。执行sdfuse命令,把u-boot.bin烧写到NANDFLASH的bootloader分区。#sdfuseflashbootloaderu-boot.bin关闭电源后,设置JP1,使CPU从NANDFLASH启动。[1-6]=OFFOFFOFFOFFONX打开电源,按空格键进入u-boot命令行。至此Uboot烧写完成。Help命令

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功