嵌入式应用程序开发.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《嵌入式应用程序开发.ppt》由会员分享,可在线阅读,更多相关《嵌入式应用程序开发.ppt(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第七章第七章 嵌入式应用程序开发嵌入式应用程序开发 学习目标:学习目标:1 1、了解嵌入式应用程序的基本架构、了解嵌入式应用程序的基本架构 2 2、熟悉嵌入式应用程序的开发流程、熟悉嵌入式应用程序的开发流程 3 3、掌握、掌握LinuxLinux环境下嵌入式应用程序的开发方法环境下嵌入式应用程序的开发方法7.17.1嵌入式应用程序的体系架构嵌入式应用程序的体系架构 嵌入式系统由嵌入式硬件和嵌入式软件组成。嵌嵌入式系统由嵌入式硬件和嵌入式软件组成。嵌入式软件呈现明显的层次化倾向,从与硬件相关的设入式软件呈现明显的层次化倾向,从与硬件相关的设备驱动、备驱动、BSPBSP(板级支持包)到操作系统内核
2、、(板级支持包)到操作系统内核、FSFS文件文件系统、系统、GUIGUI图形界面、数据库,以及用户层的应用软件图形界面、数据库,以及用户层的应用软件等,各部分可以清晰地划分出来,如图所示等,各部分可以清晰地划分出来,如图所示:7.27.2嵌入式应用程序的开发流程嵌入式应用程序的开发流程 嵌入式应用程序的开发与硬嵌入式应用程序的开发与硬件的关系密不可分,从软硬件系统件的关系密不可分,从软硬件系统到平台选择、设计、开发、测试、到平台选择、设计、开发、测试、集成,整个过程都需要软硬件并行集成,整个过程都需要软硬件并行交互进行。这样,嵌入式应用程序交互进行。这样,嵌入式应用程序的开发已成为一项复杂的系
3、统工程,的开发已成为一项复杂的系统工程,其开发必须遵循系统工程与软件工其开发必须遵循系统工程与软件工程的要求。程的要求。7.27.2嵌入式应用程序的开发流程嵌入式应用程序的开发流程 1.1.系统需求分析系统需求分析 系统需求一般分为功能性需求和非功能性需系统需求一般分为功能性需求和非功能性需求两个方面。功能性需求是系统的基本功能,如求两个方面。功能性需求是系统的基本功能,如输入输出信号、操作方式等;非功能需求包括系输入输出信号、操作方式等;非功能需求包括系统性能、成本、功耗、体积、重量等因素。在这统性能、成本、功耗、体积、重量等因素。在这一阶段要对拟开发的项目进行可行性分析,可从一阶段要对拟开
4、发的项目进行可行性分析,可从两个方面入手:一是分析技术的可行性,对现有两个方面入手:一是分析技术的可行性,对现有软件和成熟的技术进行研究,看能否实现项目要软件和成熟的技术进行研究,看能否实现项目要求;二是分析经费的可行性,看目前的经济条件求;二是分析经费的可行性,看目前的经济条件能否适应项目要求,最后写出一份系统需求分析能否适应项目要求,最后写出一份系统需求分析报告。报告。7.27.2嵌入式应用程序的开发流程嵌入式应用程序的开发流程 2.2.体系结构设计体系结构设计 体体系系结结构构设设计计,描描述述系系统统如如何何实实现现系系统统功功能能和和非非功功能能需需求求,包包括括对对硬硬件件、软软件
5、件和和执执行行机机构构的的功功能能划划分分,以以及及系系统统的的软软件件和和硬硬件件的的选选型型等等。一一个好的体系结构是设计成功与否的关键。个好的体系结构是设计成功与否的关键。在在这这一一阶阶段段要要解解决决怎怎么么做做的的问问题题,可可分分为为系系统统框框架架设设计计和和详详细细设设计计两两个个阶阶段段。框框架架设设计计根根据据需需求求分分析析的的结结果果和和系系统统设设计计目目标标,将将系系统统分分解解为为若若干干个个子子系系统统,确确定定每每个个子子系系统统的的功功能能、各各子子系系统统之之间间的的关关联联。详详细细设设计计确确定定各各个个子子系系统统的的名名称称、功能描述、算法方案、
6、输入输出接口与信息等等。功能描述、算法方案、输入输出接口与信息等等。7.27.2嵌入式应用程序的开发流程嵌入式应用程序的开发流程 3.3.硬件、软件协同设计硬件、软件协同设计 根根据据上上一一阶阶段段的的设设计计方方案案,基基于于体体系系结结构构,对对系系统统的的硬硬件件和和软软件件进进行行详详细细设设计计。为为了了缩缩短短系系统统开开发发周周期期,设设计计往往往往是是并并行行的的。嵌嵌入入式式系系统统设设计计的的工工作作大大部部分分集集中中在在软软件件设设计计上上,采采用用面面向向对对象象、组组件件技技术术、模模块块化化设设计计是是现现代代软软件件工工程程常常用用的方法。的方法。7.27.2
7、嵌入式应用程序的开发流程嵌入式应用程序的开发流程 4.4.系统集成系统集成 系系统统集集成成是是把把系系统统的的软软件件、硬硬件件和和执执行行装装置置集集成成在在一一起起,进进行行调调试试,发发现现并并改改进进模模块块设设计计过过程中的错误。程中的错误。7.27.2嵌入式应用程序的开发流程嵌入式应用程序的开发流程 5.5.总体测试总体测试 一一般般在在需需求求阶阶段段就就开开始始写写测测试试计计划划,包包括括测测试试用用例例、测测试试标标准准和和测测试试方方法法。测测试试可可分分为为模模块块测测试试、集集成成测测试试、系系统统测测试试和和验验收收测测试试等等。模模块块测测试试一一般般由由程程序
8、序编编写写者者进进行行,按按模模块块或或类类进进行行测测试试。集集成成测测试试是是将将几几个个或或所所有有模模块块集集成成后后进进行行的的测测试试,测测试试模模块块的的接接口口、关关联联,共共同同工工作作所所完完成成的的功功能能和和达达到到的的性性能能。系系统统测测试试则则是是从从用用户户的的角角度度出出发发进进行行的的测测试试,包包括括对对最最终终运运行行环环境境的的测测试试。接接收收测测试试是是根根据据项项目目需需求求的的描描述述,测测试试系系统统是是否否达达到到接接收收标标准准。每每项项测测试试都都要要求求有有完完整整的的测测试试记记录录,开开发发者者要要根根据据测测试试结结果果修修改改
9、程程序序。程程序序修修改改完完以以后后,再再进进行行回回归归测测试试。前前一一阶阶段段的的测测试试若若没没有有发现问题,则进入下一阶段的测试。发现问题,则进入下一阶段的测试。7.27.2嵌入式应用程序的开发流程嵌入式应用程序的开发流程 6.6.运行维护运行维护 运运行行程程序序是是软软件件设设计计的的最最终终目目标标,到到此此设设计计过过程程已已基基本本完完成成。但但是是由由于于前前面面几几个个环环节节中中可可能能因因为为考考虑虑不不周周而而导导致致在在运运行行过过程程中中出出现现各各种种可可能能的的问问题题,这这时时开开发发者者有有责责任任进进行行维维护护,返返回回到到问问题题环环节节进进行
10、行处处理理,如此反复可使得最终程序能较好地满足用户需求。如此反复可使得最终程序能较好地满足用户需求。7.3 7.3 LinuxLinux环境下环境下Hello WorldHello World应用应用程序的实现程序的实现 1.1.熟悉目标机硬件资源熟悉目标机硬件资源 开开发发嵌嵌入入式式应应用用程程序序的的第第一一步步是是熟熟悉悉目目标标机机硬硬件件资资源源,了了解解处处理理器器的的型型号号与与特特点点,熟熟悉悉存存储储器器及及I/OI/O端端口口的的地地址址分分配配。最最为为理理想想的的状状况况是是根根据据应应用用需需要要自自己己设设计计目目标标机机。在在缺缺乏乏数数字字电电路路、模模拟拟电
11、电路路、电电路路板板设设计计知知识识和和技技能能的的情情况况下下,可可通通过过购购买买开开发发板板作作为为开开发发阶阶段段的的目目标标机机,待待软软件件开开发发完完成成后后,如如果果需需要要批批量量生成所开发的产品,则再重新设计与生产目标机。生成所开发的产品,则再重新设计与生产目标机。7.3 7.3 LinuxLinux环境下环境下Hello WorldHello World应用应用程序的实现程序的实现 2.2.配置开发环境配置开发环境 开开发发应应用用程程序序需需要要开开发发环环境境,包包括括安安装装LinuxLinux虚虚拟拟机机、交交叉叉编编译译器器、DNWDNW或或超超级级终终端端、X
12、managerXmanager系系统统,配配置置串串口口、并并口口参参数数,关关闭闭防防火火墙墙,架架设设SMBSMB和和NFSNFS服服务器,建立面向目标机和务器,建立面向目标机和LinuxLinux虚拟机连接等。虚拟机连接等。7.3 7.3 LinuxLinux环境下环境下Hello WorldHello World应用应用程序的实现程序的实现 3.3.建立引导程序建立引导程序 购购买买的的目目标标机机一一般般都都带带有有已已经经编编译译好好的的BootLoaderBootLoader,可可能能是是vivivivi,也也可可能能是是ubootuboot等等。如如果果目目标标机机中中已已经经
13、建建立立BootLoaderBootLoader,则则可可以以直直接接使使用用。如如果果没没有有,或或开开发发者者对对目目标标机机自自带带的的BootLoaderBootLoader不不够够满满意意,则则可可以以重重新新烧烧写写。需需要要重重新新烧烧写写的的BootLoaderBootLoader可可以以在在系系统统自自带带的的BootLoaderBootLoader基基础础上上进进行行修修改改,也也可可以以从从官官方方网网站站下下载载一一个个基基本本的的BootLoaderBootLoader,再再根根据据应应用用系系统统的的设设计计目目标标进进行行修修改改和和编编译译,生生成成一一个个最最
14、适适合合应应用用需需求求的的BootLoaderBootLoader,最后再烧写到目标机中。,最后再烧写到目标机中。7.3 7.3 LinuxLinux环境下环境下Hello WorldHello World应用应用程序的实现程序的实现 4.4.下载下载LinuxLinux内核内核 以以LinuxLinux作作为为操操作作系系统统的的嵌嵌入入式式系系统统,其其内内核核是是存存储储在在NAND NAND FlashFlash特特定定区区域域中中的的。对对于于购购买买的的目目标标机机,一一般般随随机机带带有有LinuxLinux内内核核程程序序。如如果果没没有有,则则应应该该自自己己动动手手编编辑
15、辑和和编编译译。如如果果虽虽然然已已有有,但但不不能能满满足足应应用用系系统统的的需需求求,则则可可以以如如前前所所述述,先先从从官官方方网网站站下下载载一一个个基基本本内内核核,然然后后根根据据需需要要进进行行裁裁剪剪,最最后后再再编编译成内核映像文件,下载到译成内核映像文件,下载到NAND FLASHNAND FLASH的内核区域。的内核区域。7.3 7.3 LinuxLinux环境下环境下Hello WorldHello World应用应用程序的实现程序的实现 5.5.建立根文件系统建立根文件系统 在在为为一一个个嵌嵌入入式式系系统统开开发发应应用用程程序序之之前前,必必须须在在目目标标
16、机机的的NAND NAND FLASHFLASH中中建建立立根根文文件件系系统统。根根据据应应用用需需求求的的差差别别,可可以以选选择择建建立立不不同同种种类类的的根根文文件件系系统统。YAFFSYAFFS根根文文件件系系统统以以其其存存取取速速度度快快、占占用用系系统统资资源源少少、支支持持大大文文件件和和良良好好的的垃垃圾圾收收集集机机制制,得得到到大大多多数数开开发发者的认同者的认同 。7.3 7.3 LinuxLinux环境下环境下Hello WorldHello World应用应用程序的实现程序的实现 5.5.建立根文件系统建立根文件系统 建建立立根根文文件件系系统统的的一一般般方方
17、法法是是,先先从从官官方方网网站站下下载载BusyboxBusybox工工具具进进行行功功能能裁裁剪剪,产产生生一一个个最最基基本本的的根根文文件件系系统统,再再根根据据应应用用需需求求添添加加其其他他程程序序。由由于于默默认认的的启启动动脚脚本本一一般般都都不不会会符符合合应应用用需需要要,所所以以就就要要修修改改根根文文件件系系统统中中的的启启动动脚脚本本,它它的的存存放放位位置置位位于于/etc/etc目目录录下下,包包 括括/etc/init.d/rc.S/etc/init.d/rc.S、/etc/profile/etc/profile、/etc/.profile/etc/.profi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 应用程序 开发
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内