- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章嵌入式系统开发过程R
第二章 嵌入式系统开发过程 2.1 嵌入式系统开发的特点 2.2 嵌入式软件开发流程 2.3 嵌入式系统调试 2.4 板级支持包 2.1 嵌入式系统开发的特点 嵌入式实时软件的开发与传统的软件开发有许多共同点,它继承了许多传统软件开发的开发习惯。但由于嵌入式实时软件运行于特定的目标应用环境,该目标环境针对特定的应用领域,所以功能比较专一。嵌入式应用软件只完成预期要完成的功能,而且出于对系统成本方面的考虑,应用系统的CPU、存储器、通信资源都恰到好处。嵌入式应用软件的开发具有其自身的特点。 1.需要集成软硬件开发环境 嵌入式应用软件开发要使用交叉开发环境。交叉开发环境是指实现编译、链接和调试应用程序代码的环境。与运行应用程序的环境不同,它分散在有通信连接的宿主机与目标机环境之中。 宿主机(Host)是一台通用计算机,可以是PC或工作站。它通过串口或网络连接与目标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统,如Windows和Linux,还有各种各样的开发工具,如WindRiver的Tornado集成开发环境、微软的VisualC++嵌入式Toolkit开发环境以及GNU的嵌入式开发工具套件等。这些辅助开发工具能大大提高软件开发的效率和进度。 目标机(Target)这个术语常常在嵌入式软件开发期间使用,用来区别与嵌入式系统通信的宿主机。目标机可以是嵌入式应用软件的实际运行环境也可以是能替代实际环境的仿真系统。目标机体积较小、集成度高且软硬件资源配置都恰到好处。目标机的外围设备丰富多样,输入设备有键盘、触摸屏等;输出设备有显示器、液晶屏等。目标机的硬件资源有限,故在目标机上运行的软件可以裁减,也可以配置。目标机应用软件需要绑定操作系统一起运行。 随着宿主机配置的增强,可以在宿主机上仿真目标机,从而缩短开发的费用和开发周期。 支持嵌入式交叉开发需要交叉软件开发工具。它包括交叉编译器、交叉调试器和一些仿真软件等。 交叉编译器允许应用程序开发者在宿主机上生成能在目标机上运行的代码。交叉调试器和软仿真软件用于完成宿主机与目标机应用程序代码的调试。 2.引入了新的任务设计方法 嵌入式应用系统以任务为基本的执行单元。在系统设计阶段,用多个并发的任务代替通用软件的多个模块,并定义了应用软件任务间的接口。嵌入式系统的设计通常采用DARTS(Design and Analysis of Real-Time Systems)设计方法进行任务的设计。DARTS给出了系统任务划分的方法和定义任务间接口的机制。 3.需要固化程序 嵌入式应用程序开发环境可以是PC机,但运行的目标环境却千差万别。而且应用软件在目标环境下必须储存在非易失性存储器中,保证用户用完关机后确保下次的使用。所以应用软件在开发完成以后,应生成固化版本,烧写到目标环境的Flash中运行。 由于开发调试用的应用软件运行环境包含监控器等调试附加程序,而固化的二进制可执行代码不包含这些额外的代码,所以为保证固化程序的安全及正确的运行,在固化完成后,要进行运行测试。 4.软件要求更高,开发难度加大 绝大多数的嵌入式应用有实时性能的要求。要求设计者在软件的需求分析中充分考虑系统的实时性能。这些实时性能的体现一部分来源于实时操作系统的实时性能,另一部分依赖于应用软件的本身的设计和代码的质量。 同时,嵌入式应用软件对稳定性、可靠性、抗干扰性等性能的要求都比通用软件的要求更为严格和苛刻。 与通用计算机的差别 1.人机交互界面 嵌入式系统和通用计算机之间的最大区别就在于用户交互界面。嵌入式系统可能根本就不存在键盘、显示器等设备,它所完成的事情也可能只是监视网络情况或者传感器的变化情况,并按照事先规定好的过程及时完成相应的处理任务。 2.有限的功能 嵌入式系统的功能在设计时已经定制好,在开发完成投入使用之后就不再变化。系统将反复执行这些预定好的任务,而不像通用计算机那样随时可以运行新任务。当然,使用嵌入式操作系统的嵌入式系统可以添加新的任务,删除旧的任务,但这样的变化对嵌入式系统而言是关键性变化,有可能会对整个系统行为产生影响。因而在任务变更后再投入使用之前,需要做仔细的验证和测试工作。 3.时间关键性和稳定性 可能要求实时响应,具有严格的时序性。同时,嵌入式系统还要求有非常可靠的稳定性。其工作环境可能非常恶劣,如高温、高压、低温、潮湿等。这就要求在设计时考虑目标系统的工作环境,合理选择硬件和保护措施。软件稳定也是一个重要特征。软件系统需要经过无数次反复的测试,达到预先规定的要求才能真正投入使用。 从组成来看,嵌入式系统包括硬
原创力文档


文档评论(0)