欢迎来到天天文库
浏览记录
ID:39368237
大小:252.31 KB
页数:27页
时间:2019-07-01
《嵌入式应用程序开发》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第七章嵌入式应用程序开发学习目标:1、了解嵌入式应用程序的基本架构2、熟悉嵌入式应用程序的开发流程3、掌握Linux环境下嵌入式应用程序的开发方法7.1嵌入式应用程序的体系架构嵌入式系统由嵌入式硬件和嵌入式软件组成。嵌入式软件呈现明显的层次化倾向,从与硬件相关的设备驱动、BSP(板级支持包)到操作系统内核、FS文件系统、GUI图形界面、数据库,以及用户层的应用软件等,各部分可以清晰地划分出来,如图所示:7.2嵌入式应用程序的开发流程嵌入式应用程序的开发与硬件的关系密不可分,从软硬件系统到平台选择、设计、开发、测试、集成,整个过程都需要软硬件并行交互进行。这样
2、,嵌入式应用程序的开发已成为一项复杂的系统工程,其开发必须遵循系统工程与软件工程的要求。7.2嵌入式应用程序的开发流程1.系统需求分析系统需求一般分为功能性需求和非功能性需求两个方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。在这一阶段要对拟开发的项目进行可行性分析,可从两个方面入手:一是分析技术的可行性,对现有软件和成熟的技术进行研究,看能否实现项目要求;二是分析经费的可行性,看目前的经济条件能否适应项目要求,最后写出一份系统需求分析报告。7.2嵌入式应用程序的开发流程2.体系结构设计体系
3、结构设计,描述系统如何实现系统功能和非功能需求,包括对硬件、软件和执行机构的功能划分,以及系统的软件和硬件的选型等。一个好的体系结构是设计成功与否的关键。在这一阶段要解决怎么做的问题,可分为系统框架设计和详细设计两个阶段。框架设计根据需求分析的结果和系统设计目标,将系统分解为若干个子系统,确定每个子系统的功能、各子系统之间的关联。详细设计确定各个子系统的名称、功能描述、算法方案、输入输出接口与信息等等。7.2嵌入式应用程序的开发流程3.硬件、软件协同设计根据上一阶段的设计方案,基于体系结构,对系统的硬件和软件进行详细设计。为了缩短系统开发周期,设计往往是并行
4、的。嵌入式系统设计的工作大部分集中在软件设计上,采用面向对象、组件技术、模块化设计是现代软件工程常用的方法。7.2嵌入式应用程序的开发流程4.系统集成系统集成是把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进模块设计过程中的错误。7.2嵌入式应用程序的开发流程5.总体测试一般在需求阶段就开始写测试计划,包括测试用例、测试标准和测试方法。测试可分为模块测试、集成测试、系统测试和验收测试等。模块测试一般由程序编写者进行,按模块或类进行测试。集成测试是将几个或所有模块集成后进行的测试,测试模块的接口、关联,共同工作所完成的功能和达到的性能。系统测试则是
5、从用户的角度出发进行的测试,包括对最终运行环境的测试。接收测试是根据项目需求的描述,测试系统是否达到接收标准。每项测试都要求有完整的测试记录,开发者要根据测试结果修改程序。程序修改完以后,再进行回归测试。前一阶段的测试若没有发现问题,则进入下一阶段的测试。7.2嵌入式应用程序的开发流程6.运行维护运行程序是软件设计的最终目标,到此设计过程已基本完成。但是由于前面几个环节中可能因为考虑不周而导致在运行过程中出现各种可能的问题,这时开发者有责任进行维护,返回到问题环节进行处理,如此反复可使得最终程序能较好地满足用户需求。7.3Linux环境下HelloWorld
6、应用程序的实现1.熟悉目标机硬件资源开发嵌入式应用程序的第一步是熟悉目标机硬件资源,了解处理器的型号与特点,熟悉存储器及I/O端口的地址分配。最为理想的状况是根据应用需要自己设计目标机。在缺乏数字电路、模拟电路、电路板设计知识和技能的情况下,可通过购买开发板作为开发阶段的目标机,待软件开发完成后,如果需要批量生成所开发的产品,则再重新设计与生产目标机。7.3Linux环境下HelloWorld应用程序的实现2.配置开发环境开发应用程序需要开发环境,包括安装Linux虚拟机、交叉编译器、DNW或超级终端、Xmanager系统,配置串口、并口参数,关闭防火墙,架
7、设SMB和NFS服务器,建立面向目标机和Linux虚拟机连接等。7.3Linux环境下HelloWorld应用程序的实现3.建立引导程序购买的目标机一般都带有已经编译好的BootLoader,可能是vivi,也可能是uboot等。如果目标机中已经建立BootLoader,则可以直接使用。如果没有,或开发者对目标机自带的BootLoader不够满意,则可以重新烧写。需要重新烧写的BootLoader可以在系统自带的BootLoader基础上进行修改,也可以从官方网站下载一个基本的BootLoader,再根据应用系统的设计目标进行修改和编译,生成一个最适合应用需
8、求的BootLoader,最后再烧写到目标机中。7.
此文档下载收益归作者所有