关于嵌入式软件
一.简介
嵌入式软件是电子产品中不可缺的一部分。
嵌入式软件关心的不是数据转换,而重点在与物理世界的交互上。它运行在一个机器或电子设备上【1】。
二.特点
时间性、并发性、活跃性、鲁棒性、连续体(continuums) 、响应性、异构性、资源分配这些方面是嵌入式软件需要考虑的问题。
嵌入式软件目的不是一般意义计算中的数据转换,而是要与物理世界进行交互。嵌入式软件是运行在机器上的程序,它运行于汽车、飞机、电话、声音设备、机器人、玩具、安全系统、起搏器、心跳监测仪、武器、电视设备、打印机、扫描仪、天气控制系统、生产系统等等。
具有与物理世界进行交互的软件必然要获取物理世界的一些属性,软件的运行需要时间,要消耗能量,除非它出了故障,否则它不会终止。嵌入式软件不是理想的阿兰·图灵机程序【1】。
三. 发展趋势
Michael Barr对嵌入式软件设计发展趋势预见【2】:
32位ARM Cortex Mx将代替现在的8位及16位MCU。
模型驱动编程
Michael Barr提到QP的QM。程序复杂到百万行代码时,C/C++已经力所不能及了,就如程序到了1KB以上时,汇编语言已经力不从心了,只有用C/C++了。嵌入式系统的连接安全性
当前的嵌入式系统不是孤立的,一般都要连接到Internet上,所以连接的安全变得越来越重要。
Miro Samek对嵌入式软件设计发展趋势预见【3】:
实时嵌入式框架代替RTOS或运行于RTOS之上;
嵌入式软件的发展会出现各种嵌入式框架,如Java的应用出现了struts,spring, hibernate等框架一样。快速模型驱动及代码生成
也就是模型驱动编程,这个,Miro Samek在说他的QP和QM。
嵌入式软件将仍然是一个引人入胜的和富有挑战性的职业生涯的选择!
参考:
【1】 Edward A. Lee, Embedded Software
, Advances in Computers (M. Zelkowitz, editor) 56, Academic Press, London, 2002.
【2】Michael Barr的博客:http://embeddedgurus.com/barr-code/
【3】Miro Samek的博客:http://embeddedgurus.com/state-space/
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步