版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、嵌入式软件开发流程一、嵌入式软件开发流程1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能
2、上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。 1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件
3、概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境T
4、ornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。图1.2 嵌入式开发不同阶段的常用软件嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。1交叉编译 嵌入式软件开发所采用的编译为交叉编
5、译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。图4.17 交叉编译环境 小知识 与交叉编译相对应,平时常用的编译称为本地编译。
6、 这里一般将进行交叉编译的主机称为宿主机,也就是普通的通用PC,而将程序实际的运行环境称为目标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。 由于编译的过程包括编译、链接等几个阶段,因此,嵌入式的交叉编译也包括交叉编译、交叉链接等过程,通常ARM的交叉编译器为arm-elf-gcc、arm-linux-gcc等,交叉链接器为arm-elf-
7、ld、arm-linux-ld等,交叉编译过程如图4.18所示。图4.18 嵌入式交叉编译过程2交叉调试 嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少的一个环节,嵌入式软件开发过程中的交叉调试与通用软件开发过程中的调试方式有很大的差别。在常见软件开发中,调试器与被调试的程序往往运行在同一台计算机上,调试器是一个单独运行着的进程,它通过操作系统提供的调试接口来控制被调试的进程。而在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试,调试器仍然运行在宿主机的通用操作系统之上,但被调试的进程却是运行
8、在基于特定硬件平台的嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能够改变被调试进程的运行状态。 嵌入式系统的交叉调试有多种方法,主要可分为软件方式和硬件方式两种。它们一般都具有如下一些典型特点。· 调试器和被调试进程运行在不同的机器上,调试器运行在PC机(宿主机),而被调试的进程则运行在各种专业调试板上(目标板)。 · 调试器通过某种通信方
9、式(串口、并口、网络、JTAG等)控制被调试进程。 · 在目标机上一般会具备某种形式的调试代理,它负责与调试器共同配合完成对目标机上运行着的进程的调试。这种调试代理可能是某些支持调试功能的硬件设备,也可能是某些专门的调试软件(如gdbserver)。 · 目标机可能是某种形式的系统仿真器,通过在宿主机上运行目标机的仿真软件,整个调试过程可以在一台计算机上运行。此时物理上虽然只有一台计算机,但逻辑上仍然存在着宿主机和目标机的区别。 下面分别就软件调试桩方式和硬件片上
10、调试两种方式进行详细介绍。(1)软件方式。 软件调试主要是通过插入调试桩的方式来进行的。调试桩方式进行调试是通过目标操作系统和调试器内分别加入某些功能模块,二者互通信息来进行调试。该方式的典型调试器有gdb调试器。 gdb的交叉调试器分为GdbServer和GdbClient,其中的GdbServer就作为调试桩在安装在目标板上,GdbClient就是驻于本地的gdb调试器。它们的调试原理图如图4.19所示。图4.19 gdb远程调试原理图
11、 gdb调试的工作流程。· 首先,建立调试器(本地gdb)与目标操作系统的通信连接,可通过串口、网卡、并口等多种方式。 · 然后,在目标机上开启GdbServer进程,并监听对应端口。 · 在宿主机上运行调试器gdb,这时,gdb就会自动寻找远端的通信进程,也就是GdbServer的所在进程。 · 在宿主机上的gdb通过GdbServer请求对目标机上的程序
12、发出控制命令。这时,GdbServer将请求转化为程序的地址空间或目标平台的某些寄存器的访问,这对于没有虚拟存储器的简单的嵌入式操作系统而言,是十分容易的。 · GdbServer把目标操作系统的所有异常处理转向通信模块,并告知宿主机上gdb当前有异常。 · 宿主机上的gdb向用户显示被调试程序产生了哪一类异常。 这样就完成了调试的整个过程。这个方案的实质是用软件接管目标机的全部异常处理及部分中断处理,并在其中插入调试端口通信
13、模块,与主机的调试器进行交互。但是它只能在目标机系统初始化完毕、调试通信端口初始化完成后才能起作用,因此,一般只能用于调试运行于目标操作系统之上的应用程序,而不宜用来调试目标操作系统的内核代码及启动代码。而且,它必须改变目标操作系统,因此,也就多了一个不用于正式发布的调试版。(2)硬件调试。 相对于软件调试而言,使用硬件调试器可以获得更强大的调试功能和更优秀的调试性能。硬件调试器的基本原理是通过仿真硬件的执行过程,让开发者在调试时可以随时了解到系统的当前执行情况。目前嵌入式系统开发中最常用到的硬件调试器是ROMMonitor、ROMEmulato
14、r、In-CircuitEmulator和In-CircuitDebugger。 采用ROMMonitor方式进行交叉调试需要在宿主机上运行调试器,在宿主机上运行ROM监视器(ROMMonitor)和被调试程序,宿主机通过调试器与目标机上的ROM监视器遵循远程调试协议建立通信连接。ROM监视器可以是一段运行在目标机ROM上的可执行程序,也可以是一个专门的硬件调试设备,它负责监控目标机上被调试程序的运行情况,能够与宿主机端的调试器一同完成对应用程序的调试。 在使用这种调试方式时,被调试程序首先通过RO
15、M监视器下载到目标机,然后在ROM监视器的监控下完成调试。 优点:ROM监视器功能强大,能够完成设置断点、单步执行、查看寄存器、修改内存空间等各项调试功能。 确定:同软件调试一样,使用ROM监视器目标机和宿主机必须建立通信连接。 其原理图如图4.20所示。图4.20 ROMMonitor调试方式 采用ROMEmulator方式进行交叉调试时需要使用ROM仿真器,并且它通常被插入到目标机上的RO
16、M插槽中,专门用于仿真目标机上的ROM芯片。 在使用这种调试方式时,被调试程序首先下载到ROM仿真器中,因此等效于下载到目标机的ROM芯片上,然后在ROM仿真器中完成对目标程序的调试。 优点:避免了每次修改程序后都必须重新烧写到目标机的ROM中。 缺点:ROM仿真器本身比较昂贵,功能相对来讲又比较单一,只适应于某些特定场合。其原理如图4.21所示。图4.21 ROMEmulator调试方式 采
17、用In-CircuitEmulator(ICE)方式进行交叉调试时需要使用在线仿真器,它是目前最为有效的嵌入式系统的调试手段。它是仿照目标机上的CPU而专门设计的硬件,可以完全仿真处理器芯片的行为。仿真器与目标板可以通过仿真头连接,与宿主机可以通过串口、并口、网线或USB口等连接方式。由于仿真器自成体系,所以调试时既可以连接目标板,也可以不连接目标板。 在线仿真器提供了非常丰富的调试功能。在使用在线仿真器进行调试的过程中,可以按顺序单步执行,也可以倒退执行,还可以实时查看所有需要的数据,从而给调试过程带来了很多的便利。嵌入式系统应用的一个显著特点
18、是与现实世界中的硬件直接相关,并存在各种异变和事先未知的变化,从而给微处理器的指令执行带来各种不确定因素,这种不确定性在目前情况下只有通过在线仿真器才有可能发现。 优点:功能强大,软硬件都可做到完全实时在线调试。 缺点:价格昂贵。 其原理如图4.22所示。图4.22 ICE调试方式 采用In-CircuitDebugger(ICD)方式进行交叉调试时需要使用在线调试器。由于ICE的价格非常昂贵
19、,并且每种CPU都需要一种与之对应的ICE,使得开发成本非常高。一个比较好的解决办法是让CPU直接在其内部实现调试功能,并通过在开发板上引出的调试端口发送调试命令和接收调试信息,完成调试过程。如使用非常广泛的ARM处理器的JTAG端口技术就是由此而诞生的。 JTAG是1985年指定的检测PCB和IC芯片的一个标准。1990年被修改成为IEEE的一个标准,即IEEE1149.1。JTAG标准所采用的主要技术为边界扫描技术,它的基本思想就是在靠近芯片的输入输出管脚上增加一个移位寄存器单元。因为这些移位寄存器单元都分布在芯片的边界上(周围),所以被称为
20、边界扫描寄存器(Boundary-Scan Register Cell)。 当芯片处于调试状态时候,这些边界扫描寄存器可以将芯片和外围的输入输出隔离开来。通过这些边界扫描寄存器单元,可以实现对芯片输入输出信号的观察和控制。对于芯片的输入管脚,可通过与之相连的边界扫描寄存器单元把信号(数据)加载到该管脚中去;对于芯片的输出管脚,可以通过与之相连的边界扫描寄存器单元“捕获”(CAPTURE)该管脚的输出信号。这样,边界扫描寄存器提供了一个便捷的方式用于观测和控制所需要调试的芯片。 现在较为高档的微处理器
21、都带有JTAG接口,包括ARM7、ARM9、StrongARM、DSP等,通过JTAG接口可以方便地对目标系统进行测试,同时,还可以实现Flash编程,这是非常受欢迎的。 优点:连接简单,成本低。 缺点:特性受制于芯片厂商。 其原理如图4.23所示。图4.23 JTAG调试方式开发流程框图:阶段流程图文档项目立项阶段任命项目经理成立项目团队小组项目建议书可行性分析市场信息反馈签发项目任务书可行性分析报告项目任务书项目总体规划产品定义系统分析
22、各部需求分析需求分析评审确定里程碑编制质量控制计划编制项目计划书风险控制计划需求分析报告需求分析评审报告产品定义产品技术规范项目开发计划风险控制计划质量控制计划系统分析文档设计阶段系统分析评审硬件设计流程软件设计流程结构设计及制作流程图软件V1.0PCB V1.0T1工艺设计流程工艺说明T1评审,过程文件归档产品技术总体设计方案(包括工艺)系统分析评审报告软件设计过程文档硬件设计过程文档结构设计过程文档工艺设计过程文档软件V1.0PCB V1.0T1设计文档工艺说明分单元测试报告设计验证阶段T1整机测试及评估软硬件及工艺调整版本升级FTA准备修模例试报告及分析装机报告少量装机装机准备装机报告例
23、试分析报告整机测试评估报告软件FTA版本硬件FTA版本T2FTA修模软硬件及工艺调整版本升级CTA材料下单例试、整机测试及评估试产准备小批量试产FTAT2设计文档试产报告例试分析报告整机测试评估报告软件CTA版本硬件CTA版本T3CTA软硬件结构及工艺调整版本升级量产版本确定例试、整机测试评估试产准备CTA准备第二次试产CTAT3设计文档试产报告例试分析报告整机测试评估报告量产准备阶段生产工艺准备全套文件归档手工下单封样全套DVT报告工艺文件量产转移量产转移附录:1、结构设计及制作流程图 2、软件设计流程图 3、硬件设计流程图附录1. 结构设计及制作流程图:阶段流程图表单3D模型修改结构制定结
24、构设计进度计划表可行评估3D模型可行性评估3D模型评估报告结构设计进度表详细结构设计结构详细设计结构设计进展汇报结构设计修改结构设计内部评审结构设计进度表结构设计验证评审相关资料准备结构设计外部评审模具制作检讨working sample验证制作working sample签订商务合同开模结构设计修改结构设计内部评审记录workingsample配色表workingsample验收报告结构BOM结构设计外部评审记录模具制作检讨记录表模具制作申请表模具备品清单模具制作注意事项表工装夹具制作清单物料进度按排需求表配色方案表模具制作进度表参考文件:工业设计流程,ID设计流程附录2. 软件设计流程图:
25、阶段流程图表单软件需求分析软件开发计划和配置管理计划进度计划表软件需求分析(包括技术风险评估)软件测试计划软件需求规格书软件开发计划软件开发风险控制计划软件测试计划软件详细设计详细软件设计内部设计评审软件详细设计说明书软件接口设计说明书软件设计内部评审记录软件实现测试编码调试编写测试用例单元测试软件集成/调试评审后发布并归档软件修订软件系统测试发布系统测试版本单元源代码单元调试报告单元测试用例单元测试分析报告集成后的软件及源代码软件集成调试报告软件操作手册系统测试软件系统测试用软件文档软件系统测试分析报告发布版本参考文件:附录3. 硬件设计流程图:阶段流程图表单硬件需求评估硬件开发计划和配置管
26、理计划进度计划表硬件需求分析(包括技术风险评估)硬件测试计划硬件需求分析报告硬件开发计划硬件测试计划硬件详细设计详细硬件设计LCD认证流程关键器件采购PCB毛坯图设计内部设计评审硬件详细设计说明书硬件电路原理图硬件BOM硬件设计内部评审记录硬件实现测试软件投板前审查PCB布板流程打样、试产硬件调试硬件内部评审PCB贴片整机测试评审后发布并归档硬件修改PCB数据器件规格书硬件子系统软件装配图硬件单元测试分析报告电装总结报告硬件系统测试版本硬件系统测试分析报告硬件评审验证报告发布版本参考文件:1、 PCB布板流程图2、 LCD认证流程图技术官员村位于位于亚运城东部,主干道二以东石楼涌以西的地块,占
27、地面积、m2,总建筑面积、m2,共包括地下室南区、地下室北区、地上部分1栋12栋、服务中心、室外工程等多个单体工程。其中住宅面积m2,共12栋,17栋建筑层数为11层,812栋11层(局部复式顶层),首层局部架空,布置公建配套设施。integrated energy, chemicals and textile Yibin city, are the three core pillars of the industry. In 2014, the wuliangye brand value to 73.58 billion yuan, the city's liquor industr
28、y slip to stabilise. Promoting deep development of integrated energy, advanced equipment manufacturing industry, changning district, shale gas production capacity reached 277 million cubic metres, built the country's first independent high-yield wells and pipelines in the first section, the lead
29、 in factory production and supply to the population. 2.1-3 GDP growth figure 2.1-4 Yibin, Yibin city, Yibin city, fiscal revenue growth 2.1.4 topography terrain overall is Southwest, North-Eastern State. Low mountains and hills in the city landscape as the main ridge-and-Valley, pingba small fragmen
30、ted nature picture for "water and the second land of the seven hills". 236 meters to 2000 meters above sea level in the city, low mountain, 46.6% hills 45.3%, pingba only 8.1%. 2.1.5 development of Yibin landscapes and distinctive feature in the center of the city, with limitations, and sp
31、atial structure of typical zonal group, 2012-cities in building with an area of about 76.2km2. From city-building situation, "old town-the South Bank" Center construction is lagging behind, disintegration of the old city is slow, optimization and upgrading, quality public service resources
32、 are still heavily concentrated in the old town together. Southbank Centre has not been formed, functions of the service area space is missing. Meanwhile, peripheral group centres service was weak and inadequate accounting for city development, "suspicious" pattern could not be formed. As
33、regards transport, with the outward expansion of cities, cities have been expanding, centripetal city traffic organization has not changed, integrated energy, chemicals and textile Yibin city, are the three core pillars of the industry. In 2014, the wuliangye brand value to 73.58 billion yuan, the c
34、ity's liquor industry slip to stabilise. Promoting deep development of integrated energy, advanced equipment manufacturing industry, changning district, shale gas production capacity reached 277 million cubic metres, built the country's first independent high-yield wells and pipelines in the
35、 first section, the lead in factory production and supply to the population. 2.1-3 GDP growth figure 2.1-4 Yibin, Yibin city, Yibin city, fiscal revenue growth 2.1.4 topography terrain overall is Southwest, North-Eastern State. Low mountains and hills in the city landscape as the main ridge-and-Valley, pingba small fragmented nature picture for "water and the second land of the seven hills&quo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防溺水安全演讲稿15篇
- 小班家长会发言稿模板(范文10篇)
- 离婚应诉答辩状
- 社会公德演讲稿
- 银行竞聘演讲稿5分钟左右(7篇范文)
- 木偶奇遇记读书笔记14篇
- 《三毛流浪记》读后感集锦15篇
- 2024年不锈钢、镍纤维及纤维毡项目资金需求报告代可行性研究报告
- 2023年阀门和龙头资金需求报告
- 二年级英语电子教案下册
- 甲骨文专题‖精选课件
- 小学综合实践二年级上册第3单元《神奇的影子》教材分析
- 金坛区苏科版二年级上册劳动《06树叶书签》课件
- 教师课堂教学技能大赛试题题库及答案
- 教科版科学五年级上册《用水计量时间》学习任务单
- 2022-2033年度秋学期四年级语文上册教学进度表
- 法国近代教育史课件
- 船舶管理教案
- 化工石油工程项目管道安装技术教材(33张幻灯片)课件
- 路基标准化施工要点
- “宁轩”中式茶馆设计(毕业设计作品完整版)
评论
0/150
提交评论