当前位置:华创抄板公司 >> 新闻中心 >> 行业动态 >> 深圳pcb抄板浅谈嵌入式系统开发流程

深圳pcb抄板浅谈嵌入式系统开发流程

    嵌入式系统(嵌入式linux系统)开发是现代智能化电子产品的核心技术,它已受到越来越多的智能产品开发者的亲睐,与单片机(什么是单片机)相比嵌入式占有很大优势。然而,对于新入行的人来说,研究嵌入式系统(嵌入式linux学习)开发困难重重,很多的资料与信息也让他们不知从何开始,对于浅析嵌入式系统开发流程也就无从谈起。作者通过搜集整理资料,对嵌入式开发流程以及相关知识作了简单介绍,供大家学习和参考。
    下面就让我们一起来了解有关嵌入式开发流程及其相关知识吧!
    嵌入式系统开发的应用环境
    嵌入式系统开发中,嵌入式软件是某个应用系统的组成部分,必须与整个系统有机地结合在一起。嵌入式软件对代码大小、运行效率、可靠性、可维护性、实时性,以及与整个系统的衔接、协调、同步方面都有着自身特殊的限制和要求。嵌入式系统开发中,最常碰到的就是定制化和调试两大问题。为了有效地进行嵌入式系统开发,需要一个包括嵌入式调试工具在内的嵌入式系统开发环境。当前的嵌入式开发环境主要由交叉编译器、交叉调试器,目标监控器、性能分析器和图形集成界面组成,其结构如图1示。
    嵌入式系统开发流程
    嵌入式系统开发流程主要有以下几个方面:
    (1)建立开发环境,操作系统一般使用RedhatLinux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如,arm-1inux-gcc、arm-uclibc-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程序。如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。电路板克隆这是让系统可以正常运行的第一步。如果用户购买了厂家的仿真器比较容易烧写FLASH,虽然无法了解其中的核心技术,但对于需要迅速开发自己的应用的人来说可以极大提高开发速度。
    (4)下载已经移植好的Linux操作系统,如MCLiunx、ARM-Linux、PPC-Linux等,如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,而对于MCLiunx这样的系统只能编译内核进行调试。
    (5)建立根文件系统,可以从http://www.busy.box.net下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfsgenromfs等工具产生烧写映像文件。
    (6)建立应用程序的FLASH磁盘分区,一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性FLASH(NOR型)512KB~32MB,有的系统使用非线性FLASH(NAND型)8MB~512MB,有的两个同时使用,需要根据应用规划FLASH的分区方案。
    (7)开发应用程序,可以放入根文件系统中,也可以放入YAFFS、JFFS2文件系统中,有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有点类似于μC/OS-II的方式。烧写内核、根文件系统和应用程序,发布产品。
    (8)嵌入式系统的调试,与一般台式机上编程调试显著不同:调试对象同调试者一般位于不同系统,而且两者的体系结构也往往不同。嵌入式调试工具就是用于嵌入式系统开发中代码定制和调试的工具,分为驻留主机部分和驻留目机部分。目标监控器是解决嵌入式软件开发工具与这些支撑硬件的连接和通信的一个重要支持部件,是嵌入式应用开发、调试环境的核心部件,多功能模块的实现基础。嵌入式系统开发是许领域正处于百家争鸣的时期,术语还没有标准命名和定义。各种按照具体的实现方式的不同,以将目标监控器分为软件监控器、可硬件监控器、软件仿真器和软件模拟监控器。