嵌入式系统开发流程

嵌入式系统开发流程以Linux操作系统为例,论述嵌入式系统的开发流程

建立开发环境安装操作系统与交叉编译器,操作系统一般使用RedhatLinux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如,armn-1inux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器

 配置开发主机的参数配置MNICOM参数,MNICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具

一般情况下的参数为波特率115200 Baud/s,数据位8位,停止位为1,无奇偶校验,软件硬件流控设为无

在Windows下的超级终端的配置也是这样

配置网络主要是配置NFS网络文件系统,需要关闭防火墙以简化嵌入式网络调试环境设置过程

 建立引导装载程序BOOTLOADER从网络上下载一些公开源代码的BOOTL0ADER,如U-BOOT、BLOB、VIVI、LILO、ARM-Boot、RED-Boot等,根据具体芯片进行移植修改

有些芯片没有内置引导装载程序,这样就需要编写开发板上FLASH的烧写程序,也可以在网上下载相应的烧写程序

如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改

这是让系统可以正常运行的第一步

 下载已经移植好的Linux操作系统内核如MCLiunx、ARM_Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,而对于MCLiunx这样的系统只能编译内核进行调试

 建立根文件系统下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序

由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.drc.S、/etc/profile、/etc/.profile及自动挂装文件系统的配置文件/etc/fstab等,具体情况会随系统不同而不同

根文件系统在嵌入式系统中-般设为只读,需要使用mkcramfs genromfs等工具产生烧写映像文件

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

有的系统使用一个线性FLASHNOR型(512KB~32MB),有的系统使用非线性FLASHNAND型(8MB~512MB),有的系统两种同时使用,需要根据应用规划FLASH的分区方案

 开发应用程序根据需要开发应用程序,把开发成功的应用程序可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于uC/OS-II的方式

 烧写内核、根文件系统和应用程序,发布产品

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关