首页 理论教育 Linux嵌入式开发实例:BootLoader移植

Linux嵌入式开发实例:BootLoader移植

时间:2023-10-31 理论教育 版权反馈
【摘要】:BootLoader是指系统启动后,在操作系统内核运行之前运行的一段小程序。通过BootLoader,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。本设计采用了韩国Mizi公司的vivi作为BootLoader。S3C2410开发板提供的光盘上附有交叉编译器工具ARM-Linux-gcc-2.95.3。先以root用户的身份登录到Linux下。进入/usr/local目录,创建名为arm的目录。Linux_INCLUDE_DIR为kernel/include的对应目录。在/vivi里面生成“vivi”,这就是后面要固压到Flash中的BootLoader。

Linux嵌入式开发实例:BootLoader移植

BootLoader是指系统启动后,在操作系统内核运行之前运行的一段小程序。通过BootLoader,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。

本设计采用了韩国Mizi公司的vivi作为BootLoader。vivi有启动加载和下载两种工作模式。启动加载模式可以在一段时间后自行启动Linux内核,这是vivi的默认模式。在下载模式下,vivi为用户提供了一个命令行接口,通过接口可以使用vivi提供的一些命令,如Load(把二进制文件载入Flash或RAM)、Part(显示、增加、删除、复位、保存MTD分区)、Param(设置参数)、Boot(启动系统)和Flash(管理Flash)等。

1)首先建立交叉编译环境:①在宿主机上安装标准Linux操作系统。②在宿主机上安装交叉编译器。

S3C2410开发板提供的光盘上附有交叉编译器工具ARM-Linux-gcc-2.95.3(源码为cross-2.95.3.tar.bzZ)。先以root用户的身份登录到Linux下。进入/usr/local目录,创建名为arm的目录。

2)将光盘提供的cross-2.95.3.tar.bzZ解压到/usr/local/目录。然后修改PATH变量,把arm-Linux工具链目录加入到环境变量PATH中。

修改/etc/profile文件,添加pathmunge/usr/local/arm/2.95.3/bin即可。

3)因为vivi要用到kernel的一些头文件,所以需要kemel的源代码,要把Linux的kernel准备好。将vivi和kernel都解压到相应目录下,然后修改/viv/Makefile里的一些变量设置。(www.xing528.com)

(1)978-7-111-33316-6-Chapter14-8.jpg

Linux_INCLUDE_DIR为kernel/include的对应目录。

(2)978-7-111-33316-6-Chapter14-9.jpg

CROSS_COMPILE为arm-Linux安装的相应目录。

4)进入/vivi目录执行makedistclean。进入/vivi目录,输入“makemenuconfig”,开始选择配置。保存配置后再输入“make”正式开始编译。在/vivi里面生成“vivi”,这就是后面要固压到Flash中的BootLoader。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈