第1页共5页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共5页嵌入式Linux系统开发总结22011-02-2012:54嵌入式系统开发分为软件开发部分和硬件开发部分。嵌入式系统在开发过程一般都采用如图5-3所示的“宿主机/目标板”开发模式,即利用宿主机(PC机)上丰富的软硬件资源及良好的开发环境和调试工具来开发目标板上的软件,然后通过交叉编译环境生成目标代码和可执行文件,通过串口/USB/以太网等方式下载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后,将程序下载固化到目标机上,完成整个开发过程。“宿主机/目标板”开发模式在软件设计上,如图5-4所示为结合ARM硬件环境及ADS软件开发环境所设计的嵌入式系统开发流程图。整个开发过程基本包括以下几个步骤。(1)源代码编写:编写源C/C++及汇编程序;(2)程序编译:通过专用编译器编译程序;(3)软件仿真调试:在SDK中仿真软件运行情况;(4)程序下载:通过JTAG、USB、UART方式下载到目标板上;(5)软硬件测试、调试:通过JTAG等方式联合调试程序;(6)下载固化:程序无误,下载到产品上生产。第2页共5页第1页共5页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共5页嵌入式系统软件开发流程2.2嵌入式系统开发流程当前,嵌入式开发已经逐步规范化,在遵循一般工程开发流程的基础上,嵌入式开发有其自身的一些特点,如图5-5所示为嵌入式系统开发的一般流程。主要包括系统需求分析(要求有严格规范的技术要求)、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最终得到最终产品。第3页共5页第2页共5页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共5页嵌入式开发流程(1)系统需求分析。确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。(2)体系结构设计。描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分,以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。(3)硬件/软件协同设计。基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。(4)系统集成。把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。(5)系统测试。对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。嵌入式系统开发模式最大特点是软件、硬件综合开发。这是因为嵌入式产品是软硬件的结合体,软件针对硬件开发、固化、不可修改。如果在一个嵌入式系统中使用Linux技术开发,根据应用需求的不同有不同的配置开发方法,但是,一般情况下都需要经过如下的过程。(1)建立开发环境,操作系统一般使用RedhatLinux,选择定制安装或全部安装,通过网络下载相应的GCC交叉编译器进行安装(比如,arm-1inux-gcc、arnl-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器;(2)配置开发主机,配置MINICOM,一般的参数为波特率115200Baud/s,数据位8位,停止位为1,9,无奇偶校验,软件硬件流控设为无。在Windows下的超级终端的配置也是这样。MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。配置网络主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。第4页共5页第3页共5页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共5页(3)建立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的BOOTLOADER,如U.BOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT等,根据具体芯片进行移植修改。有些芯片没有内置引导装载程序,比如,三星的ARV17、ARM9系列芯片,这样就需要编写开发板上FLASH的烧写程序,读者可以在网上...