资源描述:
《04提高型实验四bootloader引导程序》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、提高型实验四BootLoader引导程序实验一、实验目的1.T解bootloader的作用,掌握bootloader的编程思想二、实验设备1.PentiumTT以上的PC机,ADS1.2编译器三、BOOTLOADER程序说明在嵌入式系统中,BootLoader的作用与PC机上的BIOS类似,通过Boot1LoadernJ'以完成对系统板上的主要部件如CPU、SDRAM、Flash、串行口等进行初始化,也可以卜载文件到系统板上,对Flash进行擦除与编程。当运行操作系统时,它会在操作系统内核运行2前运行,通过它,可以分配内存空间的映射
2、,从而将系统的软硕件环境带到一个合适的状态,以便为最终调用操作系统准备好正确的环境。通常,BootLoader是依赖于硬件而实现的,特别是在嵌入式系统屮。因此,在恢入式系统里建立一个通用的BootLoader儿乎是不町能的。但是,仍然可以对BootLoader归纳出一些通用的概念来,以指导用户特定的BootLoader设计与实现。因此,正确建立uClinux的移植的前提条件是具备一个与uClinux配套、易于使用的Bootloader,它能够能够正确完成硬件系统的初始化和uClinux的引导。为能够实现正确引导uclinux系统的运
3、行,以及当编译完内核后,快速的卜载内核和文件系统,该BootLoader通过tftp经网络接口传送内核和文件系统。同时,它也具有功能较为完善的命令集,对系统的软硬件资源进行合理的配置与管理。因此,用户可根据a身的需求实现相应的功能。1.几个常用命令的说明load格式:loadRAM地址用途:通过网络接口将主机上的文件下载到开发板的RAM中的指定地址处若缺省地址,则地址取默认值0c008000orun格式:runRAM地址川途:从开发板的RAM的指定地址运行程序,若地址缺省,则取默值0c008000oprog格式:progFlash地
4、址RAM地址代码长度选项(一n()0)用途:将指定RAM地址开始处的指定长度代码烧写到指定的Flash地址中。当指定的Flash地址为0时,若再指定选项一noO,则不会修改0地址处的代码,肓接烧入。否则先修改,后再烧入。修改后的代码是指向flash高端处备份的bios的一个跳转。具体源码参考shell,c中的程序。move格式:moveFlash地址RAM地址代码长度川途:将指定Flash地址处开始的指定长度代码复制到指定的RAM地址中。9格式:?用途:这是帮助指令,可以査看命令集。1.Bootloader程序的烧写假设实验箱上的C
5、PU板的FLASH已经擦空,那么★将光盘实验软件/启动程序冃录下的uClirwx-bios.sl9用烧写电缆下载到FLASH里面去。★之后,实验箱断电,连上串口电缆,配置超级终端,115200,8位数据,1位停止位,无奇偶校验。系统上电,在超级终端中输入“backup”以备份BIOS,然后输入“Y”。此步是把bios文件复制到高端。★Z后,在超级终端小输入load,连上交叉网线,把PC的1P地址设成192.16&0.X(X可为除100外的0---255的任意值,推荐使用1),了网掩码设成255.255.255.0,然后在PC机的命令
6、行中输入:ping192.168.0.100,待ping通实验箱后,继续输入tftp-i192.16&0.100putboot,bin(注意此时实验软件目录下的tftp.exe.boot.bin文件一定要放在命令行默认的忖录下),此步是把boot,bin文件通过网络接口下载到实验箱上的SDRAM上,它的下载地址是OxOc.008000,该文件是一-个向量跳转的列表。该表和uclinux的屮断向量密切相关。当发生中断或异常时,ARM的PC指针首先跳回到从0x00开始的异常向量表处,Z后在跳到此处向量所指的地址处。而boot,bin正是
7、要跳到uclinux的异常向量表地址的跳转指令。★然后将boot.bin烧到FLASH0地址:在超级终端中输入命令:prog0c0080003c然后输入Y,该命令把boot.bin烧写到flash0x00处。到此,uclinux-bios烧写成功。2.图1为EL-ARM-830实验系统的uclinux-bios的结构图。?・・•心Rte.h!・・區
8、44blib.h]・・g
9、Def.h]…羁Flash,hHS3option,hj・・.44b.hi・・SShell,h日臼沁?・••曲44binit.s
10、・・g
11、44blib.ckJIF
12、lash,c討町Main,c討町Rte.c$・・.Shell,c曰©netkJIArmnet.h]•…9Arp.c]•…9arp・hHS3Icmp.cHS3iemp.h]•…Elip-cl•…■ip・h]・・羁Ne2000.c討町ne