第七章嵌入式应用程序开发学习目标:1、了解嵌入式应用程序的基本架构2、熟悉嵌入式应用程序的开发流程3、掌握Linux环境下嵌入式应用程序的开发方法7
1嵌入式应用程序的体系架构嵌入式系统由嵌入式硬件和嵌入式软件组成
嵌入式软件呈现明显的层次化倾向,从与硬件相关的设备驱动、BSP(板级支持包)到操作系统内核、FS文件系统、GUI图形界面、数据库,以及用户层的应用软件等,各部分可以清晰地划分出来,如图所示:7
2嵌入式应用程序的开发流程嵌入式应用程序的开发与硬件的关系密不可分,从软硬件系统到平台选择、设计、开发、测试、集成,整个过程都需要软硬件并行交互进行
这样,嵌入式应用程序的开发已成为一项复杂的系统工程,其开发必须遵循系统工程与软件工程的要求
2嵌入式应用程序的开发流程1
系统需求分析系统需求一般分为功能性需求和非功能性需求两个方面
功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素
在这一阶段要对拟开发的项目进行可行性分析,可从两个方面入手:一是分析技术的可行性,对现有软件和成熟的技术进行研究,看能否实现项目要求;二是分析经费的可行性,看目前的经济条件能否适应项目要求,最后写出一份系统需求分析报告
2嵌入式应用程序的开发流程2
体系结构设计体系结构设计,描述系统如何实现系统功能和非功能需求,包括对硬件、软件和执行机构的功能划分,以及系统的软件和硬件的选型等
一个好的体系结构是设计成功与否的关键
在这一阶段要解决怎么做的问题,可分为系统框架设计和详细设计两个阶段
框架设计根据需求分析的结果和系统设计目标,将系统分解为若干个子系统,确定每个子系统的功能、各子系统之间的关联
详细设计确定各个子系统的名称、功能描述、算法方案、输入输出接口与信息等等
2嵌入式应用程序的开发流程3
硬件、软件协同设计根据上一阶段的