loading请求处理中...

嵌入式系统开发具体流程介绍

2021-12-01 06:34:59 阅读 11116次 标签: 嵌入式系统开发 作者: anyi
  生活中,嵌入式应用广泛,比如说我们经常使用的各种电器如手机、电话、电视、冰箱等,大部分都与其相关。当前,嵌入式开发已经逐步规范化,在遵循一般工程开发流程的基础上,嵌入式开发有其自身的一些特点。嵌入式系统开发是如何实现的,一般的流程又是怎样的呢?下面,小编将详细为大家介绍。
嵌入式系统开发具体流程介绍
  嵌入式系统开发流程主要包括系统需求分析(要求有严格规范的技术要求)、体系结构设计、软硬件及机械系统设计、系统集成、系统测试,最终得到最终产品。

  (1)系统需求分析。确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。

  (2)体系结构设计。描述系统如何实现所述的功能和非功能需求,包括对硬件、软件和执行装置的功能划分,以及系统的软件、硬件选型等。一个好的体系结构是设计成功与否的关键。

  (3)硬件/软件协同设计。基于体系结构,对系统的软件、硬件进行详细设计。为了缩短产品开发周期,设计往往是并行的。嵌入式系统设计的工作大部分都集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。

  (4)系统集成。把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。

  (5)系统测试。对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求。

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

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

  (2)配置开发主机,配置MINICOM,一般的参数为波特率115200?Baud/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)建立根文件系统,下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfs?genromfs等工具产生烧写映像文件。

  (6)建立应用程序的FLASH磁盘分区,一般使用JFFS2或YAFFS文件系统,这需要在内核中提供这些文件系统的驱动,有的系统使用一个线性FLASH(NOR型)512KB~32MB,有的系统使用非线性FLASH(NAND型)8MB~512MB,有的两个同时使用,需要根据应用规划FLASH的分区方案。

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

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

  嵌入式系统开发流程基本上就是上述所讲述的那些内容了,相信通过上文的介绍,大家一定对于嵌入式系统开发流程有了更加深入的了解和体会了。伴随着嵌入式系统的普遍应用,其重要意义日趋重要,我们更需要掌握嵌入式系统开发的基本流程。

推荐更多与“嵌入式系统开发具体流程介绍”相关推荐:

 ASP,PHP,JSP网站开发 | php网站建设技术 | 企业网站建设流程 | 广告设计知识 | PHP网站开发过程

嵌入式软件公司推荐

成为一品威客服务商,百万订单等您来有奖注册中

留言( 展开评论

快速发任务

价格是多少?怎样找到合适的人才?

官方顾问免费为您解答

 
嵌入式软件相关任务
DESIGN TASK 更多
综合体通卡系统开发

¥50000 已有0人投标

VUE管理系统开发

¥100 已有2人投标

开发资料库管理系统开发

¥20000 已有8人投标

微信小程序后台系统开发

¥20000 已有0人投标

现成的获客系统开发

¥5000 已有0人投标

嵌入式软件开发

¥10000 已有1人投标

内部系统平台告警系统开发

¥50000 已有0人投标

嵌入式软硬件设计

¥100000 已有0人投标