嵌入式软件开发流程

上传人:宝路 文档编号:49441562 上传时间:2018-07-28 格式:PPT 页数:18 大小:184.33KB
返回 下载 相关 举报
嵌入式软件开发流程_第1页
第1页 / 共18页
嵌入式软件开发流程_第2页
第2页 / 共18页
嵌入式软件开发流程_第3页
第3页 / 共18页
嵌入式软件开发流程_第4页
第4页 / 共18页
嵌入式软件开发流程_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《嵌入式软件开发流程》由会员分享,可在线阅读,更多相关《嵌入式软件开发流程(18页珍藏版)》请在金锄头文库上搜索。

1、嵌入式开发实例软件开发流程n软件开发流程(Software development process) n 软件设计思路和方法的一般过程,包括设 计软件的功能和实现的算法和方法、软件的总 体结构设计和模块设计、编程和调试、程序联 调和测试以及编写、提交程序。 需求调研分析 n关系统分析员和用户初步了解需求,然后用WORD列出要 开发的系统的大功能模块,每个大功能模块有哪些小功能 模块,对于有些需求比较明确相关的界面时,在这一步里 面可以初步定义好少量的界面。 n 2 系统分析员深入了解和分析需求,根据自己的经验 和需求用WORD或相关的工具再做出一份文档系统的功能 需求文档。这次的文档会清楚例用

2、系统大致的大功能模块 ,大功能模块有哪些小功能模块,并且还例出相关的界面 和界面功能。 n 3 系统分析员和用户再次确认需求。 设计开发 n系统分析员根据确认的需求文档所例用的界面 和功能需求,用迭代的方式对每个界面或功能 做系统的概要设计。 n 2 系统分析员把写好的概要设计文档给程 序员,程序员根据所例出的功能一个一个的编 写。 测试 n测试编写好的系统。交给用户使用,用户使用 后一个一个的确认每个功能。 嵌入式系统的结构n嵌入式系统的硬件架构n如下图 所示,为嵌入式系统硬件模型结构,此系统主要由微处理器MPU 、外围电路,n以及外设组成,微处理器为ARM 嵌入式处理芯片,如ARM7TMD

3、I 系列 及ARM9 系列微处n理器,MPU 为整个嵌入式系统硬件的核心,决定了整个系统功能和应用 领域。外围电路根n据微处理器不同而略有不同,主要由电源管理模型、时钟模块、闪存 FIASH、随机存储器RnAM,以及只读存储器ROM 组成。这些设备是一个微处理器正常工作所 必须的设备。外部n设备将根据需要而各不相同,如通用通信接口USB、RS-232、RJ-45 等 ,输入输出设备,如n键盘、LCD 等。外部设备将根据需要定制。嵌入式系统的软件结构n嵌入式系统与传统的单片机在软件方面最大的不同就是可以移 植操作系统,从而使软n件设计层次化,传统的单片机在软件设计时将应用程序与系统 、驱动等全部

4、混在一起编译,n系统的可扩展性,可维护性不高,上升到操作系统后,这一切 变得很简单可行。n嵌入式操作系统在软件上呈现明显的层次化,从与硬件相关的 BSP 到实时操作系统内n核RTOS,到上层文件系统、GUI 界面,以及用户层的应用软 件。各部分可以清晰地划分开n来,如下图所示。当然,在某些时候这种划分也不完全符合应 用要求。需要程序设计人员n根据特定的需要来设计自己的软件。n板级支持包(Board Support Packet)主要用来完成底层硬 件相关的信息,如驱动程序,加n载实时操作系统等功能;n实时操作系统层主要就是常见的嵌入式操作系统,设计者 根据自己特定的需要来设计n移植自己的操作系

5、统,即添加删除部分组件,添加相应的 硬件驱动程序,为上层应用提供系统调用;嵌入式开发模式与流程n嵌入式系统开发模式n嵌入式系统开发分为软件开发部分和硬件开发部分。嵌入式系统在开发 过程一般都采用如图5-3 所示n的“宿主机/目标板”开发模式,即利用宿主机(PC 机)上丰富的软硬件资源 及良好的开发环境和调试工具来n开发目标板上的软件,然后通过交叉编译环境生成目标代码和可执行文 件,通过串口/USB/以太网等方式下n载到目标板上,利用交叉调试器在监控程序运行,实时分析,最后,将 程序下载固化到目标机上,完成整n个开发过程。n整个开发流程包括以下步骤n(1)源代码编写:编写源C/C+及汇编程序;n

6、(2)程序编译:通过专用编译器编译程序;n(3)软件仿真调试:在SDK 中仿真软件运行情况;n(4)程序下载:通过JTAG、USB、UART 方式下载到目标板上 ;n(5)软硬件测试、调试:通过JTAG 等方式联合调试程序;n(6)下载固化:程序无误,下载到产品上生产。n嵌入式处理系统主要包括嵌入式微处理器、存 储设备、模拟电路及电源电路、通信接n口,以及外设电路。嵌入式软件开发流程n当前,嵌入式开发已经逐步规范化,在遵循一般 工程开发流程的基础上,嵌入式开发n有其自身的一些特点,如下图 所示为嵌入式系统 开发的一般流程。主要包括系统需求分析n(要求有严格规范的技术要求)、体系结构设计、 软硬

7、件及机械系统设计、系统集成、系统测n试,最终得到最终产品。n(6)建立应用程序的FLASH 磁盘分区,一般使用JFFS2 或YAFFS 文件系 统,这需要在n内核中提供这些文件系统的驱动,有的系统使用一个线性FLASH(NOR 型)512KB32MB,n有的系统使用非线性FLASH(NAND 型)8MB512MB,有的两个同时使 用,需要根据应用n规划FLASH 的分区方案。n(7)开发应用程序,可以放入根文件系统中,也可以放入YAFFS、JFFS2 文件系统中,n有的应用不使用根文件系统,直接将应用程序和内核设计在一起,这有 点类似于C/OS-IIn的方式。n(8)烧写内核、根文件系统和应用

8、程序,发布产品。n(4)下载已经移植好的Linux 操作系统,如MCLiunx、ARM-Linux、PPC- Linux 等,如n果有专门针对所使用的CPU 移植好的Linux 操作系统那是再好不过,下 载后再添加特定硬n件的驱动程序,然后进行调试修改,对于带MMU 的CPU 可以使用模块 方式调试驱动,而n对于MCLiunx 这样的系统只能编译内核进行调试。n(5)建立根文件系统,可以从http:/ 下载使用 BUSYBOX 软件进行功n能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其 他的程序。由于默认n的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的 启动脚本

9、,它的存放n位置位于/etc 目录下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile 等 ,自动挂装文件系统n的配置文件/etc/fstab,具体情况会随系统不同而不同。根文件系统在嵌 入式系统中一般设为n只读,需要使用mkcramfs genromfs 等工具产生烧写映像文件。n(3)建立引导装载程序BOOTLOADER,从网络上下载一些公开源代码的 BOOTLOADEnR,如UBOOT、BLOB、VIVI、LILO、ARM-BOOT、RED-BOOT 等 ,根据具体芯片进n行移植修改。有些芯片没有内置引导装载程序,比如,三星的ARV17、 AR

10、M9 系列芯片,n这样就需要编写开发板上FLASH 的烧写程序,读者可以在网上下载相应 的烧写程序,也有nLinux 下的公开源代码的J-FLASH 程序。如果不能烧写自己的开发板, 就需要根据自己的具n体电路进行源代码修改。这是让系统可以正常运行的第一步。如果用户 购买了厂家的仿真器n比较容易烧写FLASH,虽然无法了解其中的核心技术,但对于需要迅速 开发自己的应用的n人来说可以极大提高开发速度。n(5)系统测试。对设计好的系统进行测试,看其是否满足规格说明书中给定的功能要求 。n嵌入式系统开发模式最大特点是软件、硬件综合开发。这是因为嵌入式产品是软硬件n的结合体,软件针对硬件开发、固化、不

11、可修改。n如果在一个嵌入式系统中使用 Linux 技术开发,根据应用需求的不同有不同的配置开 发n方法,但是,一般情况下都需要经过如下的过程。n(1)建立开发环境,操作系统一般使用Redhat Linux,选择定制安装或全部安装,通过n网络下载相应的GCC 交叉编译器进行安装(比如,arm-1inux-gcc、arnl-uclibc-gcc), 或者安n装产品厂家提供的相关交叉编译器;n(2)配置开发主机,配置MINICOM,一般的参数为波特率115200 Baud/s,数据位8 位 ,n停止位为1,9,无奇偶校验,软件硬件流控设为无。在Windows 下的超级终端的配置 也是n这样。MINI

12、COM 软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入 的工n具。配置网络主要是配置NFS 网络文件系统,需要关闭防火墙,简化嵌入式网络调试 环境n设置过程。n(1)系统需求分析。确定设计任务和设计目标,并提炼出设计规格说明书,作 为正式设n计指导和验收的标准。系统的需求一般分功能性需求和非功能性需求两方面 。功能性需求是n系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能 、成本、功耗、n体积、重量等因素n(2)体系结构设计。描述系统如何实现所述的功能和非功能需求,包括对硬件 、软件和n执行装置的功能划分,以及系统的软件、硬件选型等。一个好的体系结构是 设计成功与否的关键。n(3)硬件/软件协同设计。基于体系结构,对系统的软件、硬件进行详细设计。 为了缩短n产品开发周期,设计往往是并行的。嵌入式系统设计的工作大部分都集中在 软件设计上,采n用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方 法。n(4)系统集成。把系统的软件、硬件和执行装置集成在一起,进行调试,发现 并改进单n元设计过程中的错误。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号