- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
04提高型实验四 BootLoader引导程序
提高型实验四 BootLoader引导程序实验
一、实验目的
1. 了解bootloader的作用,掌握bootloader的编程思想
二、实验设备
1. PentiumII以上的PC机,ADS1.2编译器
三、BOOTLOADER程序说明
在嵌入式系统中,BootLoader的作用与PC机上的BIOS类似,通过BootlLoader可以完成对系统板上的主要部件如CPU、SDRAM、Flash、串行口等进行初始化,也可以下载文件到系统板上,对Flash进行擦除与编程。当运行操作系统时,它会在操作系统内核运行之前运行,通过它,可以分配内存空间的映射,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统准备好正确的环境。
通常,Boot Loader 是依赖于硬件而实现的,特别是在嵌入式系统中。因此,在嵌入式系统里建立一个通用的 Boot Loader 几乎是不可能的。
但是,仍然可以对 Boot Loader 归纳出一些通用的概念来,以指导用户特定的 Boot Loader 设计与实现。因此,正确建立uClinux的移植的前提条件是具备一个与uClinux配套、易于使用的Bootloader,它能够能够正确完成硬件系统的初始化和uClinux的引导。
为能够实现正确引导uclinux系统的运行,以及当编译完内核后,快速的下载内核和文件系统,该BootLoader通过tftp经网络接口传送内核和文件系统。同时,它也具有功能较为完善的命令集,对系统的软硬件资源进行合理的配置与管理。因此,用户可根据自身的需求实现相应的功能。
1.几个常用命令的说明
load
格式:load RAM地址
用途:通过网络接口将主机上的文件下载到开发板的RAM中的指定地址处若缺省地址,则地址取默认值0c008000。
run
格式:run RAM地址
用途:从开发板的RAM的指定地址运行程序,若地址缺省,则取默值0c008000。
prog
格式:prog Flash地址 RAM地址 代码长度 选项(-no0)
用途:将指定RAM地址开始处的指定长度代码烧写到指定的Flash地址
中。当指定的Flash地址为0时,若再指定选项-no0,则不会修改0地
址处的代码,直接烧入。否则先修改,后再烧入。修改后的代码是指向
flash高端处备份的bios的一个跳转。具体源码参考shell.c中的程序。
move
格式:move Flash地址 RAM地址 代码长度
用途:将指定Flash地址处开始的指定长度代码复制到指定的RAM地址中。
?
格式:?
用途:这是帮助指令,可以查看命令集。
2.Bootloader程序的烧写
假设实验箱上的CPU板的FLASH已经擦空,那么
★ 将光盘实验软件/启动程序目录下的uClinux-bios.s19用烧写电缆下载到FLASH里面去。
★?之后,实验箱断电,连上串口电缆,配置超级终端,115200,8位数据,1位停止位,无奇偶校验。系统上电,在超级终端中输入“backup”以备份BIOS,然后输入“Y”。此步是把bios文件复制到高端。
★ 之后,在超级终端中输入load,连上交叉网线,把PC的IP地址设成192.168.0.X(X可为除100外的0 --- 255的任意值,推荐使用1),子网掩码设成,然后在PC机的命令行中输入:ping 00,待ping通实验箱后,继续输入tftp -i 00 put boot.bin(注意此时实验软件目录下的tftp.exe、boot.bin文件一定要放在命令行默认的目录下),此步是把boot.bin文件通过网络接口下载到实验箱上的SDRAM上,它的下载地址是0x0c008000.该文件是一个向量跳转的列表。该表和uclinux的中断向量密切相关。当发生中断或异常时,ARM的PC指针首先跳回到从0x00开始的异常向量表处,之后在跳到此处向量所指的地址处。而boot.bin正是要跳到uclinux的异常向量表地址的跳转指令。
★ 然后将boot.bin烧到FLASH 0地址:在超级终端中输入命令: prog 0 c008000 3c然后输入Y,该命令把boot.bin烧写到flash 0x00处。
到此,uclinux-bios烧写成功。
3.图1为EL-ARM-830实验系统的uclinux-bios的结构图。
图1
该Bootloader由三个文件夹构成,inc主要是硬件初始化所需的头文件,src则包括硬件初始化的主要代
您可能关注的文档
最近下载
- 2024-2025学年中职历史世界历史高教版(2023)教学设计合集.docx
- (高清版)B 21011-2007 矿用人车 安全要求.pdf VIP
- House M.D.《豪斯医生(2004)》第一季第一集完整中英文对照剧本.docx VIP
- 《四世同堂》读书分享.pptx VIP
- House M.D.《豪斯医生(2004)》第一季第二集完整中英文对照剧本.docx VIP
- 妇产科住院部医疗质量考核表.doc VIP
- 妇产科医疗质量考核表.pdf
- 2025北京市中考道德与法治主观题解题策略 课件.pptx
- 2015路虎发现神行线束 - 仪表板线束拆卸和安装.pdf VIP
- 冯乃超同志谈后期创造社、左联和鲁迅.pdf VIP
文档评论(0)