◇初始化本阶段要使用到的硬件设备;
◇检测系统内存映射(memory map);
◇将kernel映像和根文件系统映像从Flash上读到RAM空间中;
◇为内核设置启动参数;
◇调用内核。
接下来就是内核的编译、目标文件系统的制作以及调试仿真实现程序各模块的固化。这些均可选取一下的交叉编译工具来实现。本系统选择Redhat9.0(Linux操作系统),其交叉编译工具有两个:一个是cross-2.95.3.tar.bz2,安装此编译器只需要在/usr/local下建立一个arm目录再执行解包命令即可。当编辑/etc/bashrc文件并在最后增加路径/usr/local/arm/2.95.3/bin之后,再编泽内核或其它应用程序时,均可用arm-linux-来指定交叉编译器。另一个编译器是MIZI提供的arm41安装包,它的安装必须有binutils、gcc、glibc等几包存在。当有其它应用时,还需要安装另外的工具,它们都会安装在/opt/host/arm41下,而不需要再手工设置路径。
为了将Linux内核固化,需要将该程序和模块添加到根文件系统中。为此,本设计制作了demo.cramfs这样一个根文件系统。其具体操作步骤如下:
(1) 将demo.cramfs拷贝到任意目录下;
(2) 在该目录下建立两个目录dirl和dir2;
(3)将目标文件系统demo.cramfs挂接到目录dir1;
(4) 将目录dir1下的内容压缩;
(5) 与目录dir1卸载挂接,将此压缩包解压到录dir2下,然后删除此包;
(6) 将驱动程序、应用程序分别拷贝到dir2/usr/和应用程序对应的目录下。
经过上面的步骤便可将驱动程序和应用程序添加到了demo.cramfs中。然后将mkcramfs文件拷贝到dir2所在目录。运行该命令成功后便可生成所期待的根文件系统了。
最后就是系统软件具体应用代码的调试和映像文件的烧写。调试的方式可分为三种:ADS装栽映象调试、通过串口输出信息到主机的调试、通