一 建立开发环境 这里一般指的是对上位机PC环境。目前流行的是RedHat+GCC交叉编译器或者Ubantu+GCC交叉编译器(arm-linux-gcc)。或者厂家提供的交叉编译器。
二 配置开发主机 这里配置主要指与目标机通信或监视的配置。主要是配置MINICOM 参数一般为 :波特率为115200 数据位8位,停止位1,无奇偶校验。软硬件控制流设为无。Z或者X模式。还有配置NFS文件系统,配置时需要关闭防火墙。
三 建立bootloader 网上有很多Bootloader的公开源码,主要有U-BOOT,BLOB,VIVI,ARM-BOOT等,用的比较多的是U-BOOT。在移植这些代码注意根据自己具体芯片进行修改。
四 裁剪操作系统 网上有别人已经移植好的操作系统。 Linux操作系统有专门针对具体的CPU .下载后再添加自己的特定硬件的驱动程序,进行调试修改,对于带MMU的CPU可以使用模块方式调试;没有MMU的只能编译到内核进行调试。
五 建立根文件系统 根文件系统主要利用BUSYBOX进行裁剪,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。注意修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,init.d/rc.S,profile,.profile等,自动挂载文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般为只读,需要用mkcramfs,genromfs等工具产生烧写映像文件。
六 建立文件系统 (对磁盘分区) 在嵌入式一般用flash ,采用JFFAS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动。
七 开发应用程序
八 烧写
九 发布