ARM嵌入式系统开发完全入门与主流实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 实验:编译Bootloader

实验目的:

了解ARM系统的Bootloader的编译过程。

实验内容:

编译ARM-Linux的Bootloader。

预备知识:

熟悉Linux的基本操作。

实验设备:

安装Redhat 9,并且配置好ARM-Linux的开发环境。

实验指导:

1. 编译PPCboot

PPCboot前面已经有所介绍,是常用的ARM-Linux Bootloader的一种。首先打开Linux下的一个终端,并且输入:

            cd /s3c2410_linux/ppcboot-2.0.0

进入PPCboot的目录,然后输入:

            make clean

即可清理掉以前的编译结果,然后在屏幕上会输出相关的清理信息。

接下来输入:

            make

按回车键后会输出相关信息,见到正常结束后就表示已经正确地编译完PPCboot了。

此时在/ppcboot-2.0.0/下面会看到新生成的ppcboot.bin,这个文件就是可以烧写到实验仪上的文件,可以用:

            ll ppcboot.bin

查看当前文件生成的时间,验证一下是否是最新的。

可以将新生成的ppcboot.bin文件复制到文件夹/tftpboot下面备用。

2. 编译Bootloader vivi

vivi是MIZI公司提供的一种可以支持Nandflash启动的ARM-Linux Bootloader。本实验采用的ARM9处理器S3C2410采用vivi作为Bootloader,可以直接采用Nandflash启动。打开Linux下的一个终端,输入:

            cd /s3c2410_linux/vivi/

进入vivi所在的目录,输入:

            make clean

随后在屏幕上即会输出相关的清理信息,然后输入:

            make menuconfig

这是用菜单的方法配制vivi的命令,输入后会显示如图1-1所示的画面。

图1-1 vivi配置图

在这个界面环境里可以为vivi选择不同的编译选项,这样可以编译生成不同特性的vivi,按方向键可以选择不同的条目,按回车键或空格键可以进入下级菜单。

(1)进入“System Type”菜单

进入“System Type”菜单后的界面如图1-2所示,在这里可以选择vivi支持什么样的系统。

图1-2 vivi之“System Type”菜单配置图

①进入“ARM system type”菜单

选中“(S3C2410-based)ARM system type”进入下级菜单,如图1-3所示。

图1-3 “ARM system type”菜单配置图

在这里可以选择vivi对不同处理器系统的支持,在按回车键选中后,即可返回上级菜单。

②进入“Implementation”菜单

选中“Implementation”进入下级菜单,如图1-4所示。

图1-4 “Implementation”菜单配置图

在这里可以选择不同平台的系统支持,主要是因为不同平台的Flash配置不尽相同。如果不需要改动,在单击“<Exit>”按钮后即可退出。

(2)进入“General setup”菜单

返回顶层菜单,进入“General setup”菜单,如图1-5所示。

图1-5 vivi的“General setup”菜单配置图

依步骤(1)所述,一级一级地进行设置,最后返回到顶级菜单,再单击“<Exit>”按钮,如图1-6所示。

图1-6 顶层退出菜单

单击“<Yes>”按钮,保存退出menuconfig。

通过以上步骤,系统会自动生成配制文件,并且在编译的时候,make命令会根据配制文件产生出不同的编译结果。最后一步就是使用make命令对vivi进行编译,输入:

            make

在屏幕上即会输出相关的编译信息,如果正常结束(没有error出现),就代表编译成功了。

这时候在vivi目录里面会出现叫做vivi的文件,这个文件就是可以直接烧写的Bootloader文件。当然也可以用:

            ll  vivi

来查看文件生成的时间,看是否是最新生成的。

最后将生成的vivi复制到/tftpboot目录中备用。

实验小结:

本次实验编译了两种不同的Bootloader,分别采用了两种方式。第一种是直接编译,第二种是利用配置菜单生成配制文件后再编译。这两种方法在Linux中都十分常见,第一种多用于编译简单的应用、测试程序,后一种常用在编译工程,内核等方面。