随着通信技术、智能终端、云计算等基础支撑技术的发展,嵌入式软件功能的丰富程度日益上升,已不再局限于21世纪初的基础功能,在航空航天、工业控制、医疗设备、消费电子、汽车电子、信息家电、网络通信等领域得到大规模应用,为加快经济发展、提升生活便利水平、提高工作效率起到促进作用。
与之相对应的挑战也接踵而至:伴随着功能的丰富与拓展,嵌入式软件规模逐渐扩大,但因其偏向私域、定制化的特点,导致嵌入式软件的开发缺乏统一规范,很大概率存在一定缺陷。一旦涉及航空航天、汽车等安全关键领域,这些可能存在的缺陷就会对人身、财产安全方面带来极大威胁。
为什么嵌入式软件相较普通应用软件更易存在缺陷?
最根本的原因是,嵌入式软件需要依赖真实硬件才能运行,那么在软件开发初期,硬件资源未生产调试完成之前,软件开发处于盲盒状态,极大地增加了软件开发的不确定性。可以说,在嵌入式软件开发的初期阶段,不具备调试的条件。
要解决这一问题并不难,时至今日,仿真已在众多领域得到了广泛应用,对嵌入式软件而言也是如此,甚至更为有利,因为实物调试对嵌入式软件而言的风险实在太高:
1. 烧录风险:在硬件资源比较充裕的情况下,嵌入式软件的功能开发与验证需要不断重复完成烧录调试,而烧录本身具有一定的风险性和不确定性。烧录失败可能导致集成在板卡上的存储设备失效。由于独立更换存储设备的成本较高,最终结果往往是板卡整体报废,甚至会导致设备的损坏,带来不必要的财产损失。
2. 环境风险:嵌入式软件的实物调试依赖硬件环境,