4.安装系统引导程序
4.安装系统引导程序
课程要求:
1.安装Bootloader到SD卡。
实验器材:
软件:
1.OK6410光盘A,B
硬件:
1. PC机一台,系统为windows 7 64位
2. OK6410开发板一套
3. 4G或8GSD卡一张
背景知识:
1. Bootloader简介:
在嵌入式操作系统中,Bootloader 是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在嵌入式系统中,通常并没有像 BIOS那样的固件程序(注:有的嵌入式 CPU 也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由 BootLoader 来完成。在一个嵌入式系统中,系统在上电或复位时通常都从地址 0x00000000 处开始执行,而在这个地址处安排的通常就是系统的 Bootloader 程序。OK6410 使用的烧写方式为 SD 卡自动烧写,所以,首先应该制作 OK6410 可以用来 SD 卡方式启动的 SD 卡。
2. SD卡Bios
s3c6410 可以从 nandflash、onenand、SD 卡启动。在没有专用的烧录工具的情况下,只有 SD 卡启动是可以考虑的。SD 卡启动,实际上是先执行片内 IROM 中的一段程序,这
段程序称为 BL0。BL0 程序从 SD 卡特定位置中读取代码,写到一个称为 stepping stone的 8K 的片内内存中并运行,这段程序称为 BL1。BL1 程序除了负责一些简单的初始化工作外,它的主要任务是把存在于其他存储介质的 BL2(通常就放在 SD 卡其他位置上)拷贝到内存中,以完成余下的初始化工作(最后直接引导操作系统或进入 Bios 配置菜单)。
实验步骤:
1. 为方便使用镜像文件,可以将开发板 OK6410 光盘 A,B 提前拷贝到计算机中。
2. 将 SD 卡格式化为 FAT32 格式。将 SD 卡接入 SD 读卡器中,把 SD 读卡器插在PC 机的 USB 口中。
图3-7
SD 卡与读卡器
当 PC 机能够正常识别出 SD 卡,打开【我的电脑】,右键点击【可移动磁盘】,
在弹出菜单中选择【格式化】。把 SD 卡格式化为 FAT32 格式。
图3-8
格式化 SD 卡为 FAT32
图3-9
SD 卡格式化成功
3. 在光盘 OK6410 光盘 A/ Linux-3.0.1/Linux 烧写工具目录中,通过 SD-Writer.exe
将 OK6410 光盘 A/Linux-3.0.1/Linux 烧写工具/mmc_ram256.bin 烧写到 SD 卡中。以管理员身份运行软件软件界面如图 3-10;
提示:
mmc_ram256.bin 是一个用于 SD 卡启动的 bios 镜像,因此 mmc_ram256.bin实际上也是一段引导程序。
图3-10
以管理员身份运行 SD- Writer.exe
4. 启动 SD-Writer.exe 软件时,如图 3-11 所示,在【Board Model】开发板类型中选择【6410】,然后【Sacn】软件会找到可以使用的 SD 卡盘符;在【SD Type】中选择【Auto】;使用【Format】格式化 SD 卡,格式化成功之后会显示图 3-12提示; 【OS Type】在中选择烧写系统的类型,选择【Linux||Android】 在; 【Select Boot】选择启动镜像中指定文件为 OK6410 光盘 A/Linux-3.0.1/Linux 烧写工具/mmc_ram256.bin;然后使用【Program】将镜像文件烧写到开发板,如图 3-13所示。
图3-11 设置SD-Flasher.exe
图3-12
格式化成功
图3-13
SD 卡烧写成功
注意:
1.由于部分笔记本自带的 SD 卡卡槽不能使用 SD-Flasher 进行烧写,所以,推荐使用"读卡器+SD"卡的方式进行烧写。
2. 在 第 【 7 】 如 遇 到 SD 卡 烧 写 不 成 功 , 可 以 下 载 SD 卡 格 式化 工 具SDFormatter.exe 进行 SD 卡格式化。
5. 烧写了 Bios 的 SD 卡制作好后,
下面就通过 SD 卡启动运行存在其中的 Bios 程序;将制作好的 SD 卡插入开发板 SD 卡插槽中,连接好开发板电源,并利用串口线将开发板串口与 PC 主机串口相连;按照下表拨动拨码开关,设置为 SD 卡启动,
如图 3-15 所示;
1 表示拨码需要调整到 On;0 表示拨码需要调整到 Off。
图3-14
将 SD 卡插入开发板插槽
图3-15
SD 卡启动
6. 连接开发板电源,
拨动电源开关,给开发板上电。这时,开发板便会从 SD 卡启动,并运行存在于 SD 卡上的 Bios 程序,迅速按下空格键。我们通过终端工具SerialCRT,可以看到 Bios 程序打印出了如下的串口信息。因为我们只是在 SD卡上烧写了 mmc_ram256.bin,没有将开发板自动烧写的镜像放到 SD 上,所以,系统不会进行自动安装。
图3-16
从 SD 卡启动终端信息
总结:
通过本实验应该掌握 SD 卡 Bios 程序的烧写方法,制作一个 SD 卡启动盘是后面系统安装实验的基础。