基于模型的嵌入式C代码的实现与验证
引言
伴随着嵌入式系统的复杂性越来越高,系统的开发周期不断延长。但开发周期与系统的安全性、可靠性又有一定的冲突。目前,一台中高档汽车的软件控制代码就超过了500万行,F-35的控制软件更是高达1 500万行,一艘航母的控制代码超过一亿行。与此同时,设计本身也变得更加复杂。嵌入式系统设计师必须面对以下挑战:更快地向市场交付产品,更低的成本,保证复杂系统的协调一致,高质量的代码,具有足够的灵活性以适应最后一分钟的变化修改。为了在日趋激烈的市场竞争中占据有利地位,开发出高质量的产品,同时缩短开发周期,手工编写的代码已很难满足应用要求,必须改变传统的项目开发方式。通常,编程人员花费大量的时间来编制程序、查错、调试和验证,增加了工作量,延长了研制周期。此外,手工编制的代码良莠不齐,降低了软件运行的可靠度,增加了代码错误的可能性和系统出错的风险。为了迎接这些挑战,工程师必须找到以更快速有效开发软件和硬件的方法。鉴于软件工程化思想的引入和盛行,软件业发展潮流逐渐趋于工程化、流水化。Matlab环境下集成的Sireulink/Stateflow模型设计和使用RTW生成目标代码的软件设计方案便是这一大背景的产物。基于模型的设计就是解决该问题的一种方法。Matlab MBD解决方案可以使用户方便地穿梭于建模、仿真、验证与实施之间,而无需重写代码或改变软件环境。经过近几年的不断完善,这种方法已经从概念演变成实际应用中重要的开发模式。洛克希德·马丁、波音、空中客车、通用汽车、奔驰、西门子、摩托罗拉等公司都有应用MBD技术开发的成功经验。
1 基于模型的设计优点
传统开发模式利用手工编写代码,即把控制策略翻译成高级语言代码,然后用断点调试的方式测试和修改控制程序。其存在很多弊病:
①对软件工程师在嵌入式软件代码编写方面要求较高,虽然软件工程师对被控对象的特性和控制方法有深入了解,但往往并不擅长编写MCU的底层代码。这迫使软件工程师花费大量精力去仔细阅读MCU相关说明书。
②控制算法的翻译和验证困难。最初的控制策略和算法必须手工翻译成MCU上的程序代码,控制策略的修改将伴随大量原始代码的修改,致使代码的人工维护成本较高。
③硬件平台依赖。软件开发过程与硬件平台紧密相连,可移植能力往往较差。硬件平台一旦更换,代码移植成本很高。
而在基于模型的设计中通过自动编码生成技术以及循环硬件测试,工程师们可以消除由于手动操作以及缩短通往产品出货的路径时所产生的错误,生成测试、验证以及最终使用产品的编码,大大提高效率。例如,美国直升飞机制造商基于模型设计为Tiltrotor飞机开发了飞行控制程序,比原来的方法缩短了40%的软件开发时间。采用传统的设计流程,一个有多年VHDL编码经验的工程师,一般要花费645小时对全功能SDR波形进行手动编码,而另外一个没有多少经验的工程师采用基于模型设计技术,只用了不超过46个小时就完成了相同的工作。通过采用基于模型设计技术,英国国防和航天公司的软件无线电系统(SDR)工程师们能够减少10%的重复工作以及整体开发时间。
相关文章
- 2023-12-06智能电针治疗仪原理与实现
- 2023-11-06坐标测量机在几何量精密测量实验教学中的应用
- 2024-02-22高空作业车工作斗限重控制系统设计与应用
- 2024-10-30分贝的计算及应用
- 2024-03-01一种气体流量的软测量系统研究
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。