首页 理论教育 嵌入式Linux程序设计流程

嵌入式Linux程序设计流程

时间:2023-10-31 理论教育 版权反馈
【摘要】:如果在一个嵌入式系统中使用Linux技术开发,根据应用需求的不同有不同的配置开发方法。操作系统一般使用Redhat Linux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装,或者选择安装产品厂家提供的相关交叉编译器。有些芯片没有内置引导装载程序,如三星的ARV17、ARM9系列芯片,这样就需要编写开发板上FLASH的固化程序,可以在网上下载相应的固化程序,也有Linux下的公开源代码的J-FLASH程序。

嵌入式Linux程序设计流程

如果在一个嵌入式系统中使用Linux技术开发,根据应用需求的不同有不同的配置开发方法。但是,一般情况下都需要经过如下过程。

1)建立开发环境。操作系统一般使用Redhat Linux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装,或者选择安装产品厂家提供的相关交叉编译器。

2)配置开发主机。配置MINICOM,一般参数的波特率为115200Baud/s,数据位为8位,停止位为1、9,无奇偶校验软件硬件流控设为无。在Windows下的超级终端的配置也是这样。MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络主要是配置网络文件系统(NFS),需要关闭防火墙,简化嵌入式网络调试环境设置过程。

3)建立引导装载程序Bootloader。从网络上下载一些公开源代码的Bootloader,如U- BOOT、BLOB、VIVI、LILO、ARM-BOOT和RED-BOOT等,根据具体芯片进行移植修改。有些芯片没有内置引导装载程序,如三星的ARV17、ARM9系列芯片,这样就需要编写开发板上FLASH的固化程序,可以在网上下载相应的固化程序,也有Linux下的公开源代码的J-FLASH程序。如果不能固化自己的开发板,就需要根据自己的具体电路进行源代码修改。这是让系统可以正常运行的第一步。

4)下载已经移植好的Linux操作系统,如MCLiunx、ARM-Linux和PPC-Linux等,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,而对于MCLiunx这样的系统只能编译内核进行调试。(www.xing528.com)

5)建立根文件系统,可以从http://www.busy.box.net下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他程序。由于默认的启动脚本一般都不符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括/etc/init.d/rc.S、/etc/profile和/etc/.profile等。自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统的不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs genromfs等工具产生固化映像文件。

6)建立应用程序的FLASH磁盘分区,一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动。

7)开发应用程序,可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μC/OS-II的方式。

8)固化内核、根文件系统和应用程序,发布产品。

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

我要反馈