便携式固件开发概念解析
1. 代码复用的重要性
过去几十年,嵌入式系统的复杂度持续攀升。互联网的诞生更是加速了这一进程,如今社会正致力于将几乎所有设备联网。曾经简单独立的系统,现在必须通过互联网安全可靠地连接,以便将关键信息上传到云端。复杂度和功能呈指数级增长,每一代设备都迫使工程师重新思考如何在规定时间和预算内成功开发嵌入式软件。
产品功能需求的增加以及系统联网的需求,极大地增加了产品发布所需开发的软件量。尽管软件复杂度和功能不断增加,但开发产品的可用时间大多保持不变,开发时间仅有微不足道的增加(五年内增加两周)。为了满足项目进度,开发者要么购买商用现成(COTS)软件以缩短开发时间,要么尽可能复用以前项目的代码。
传统上,微控制器固件是为特定应用而开发的,采用功能设计方法(如果使用了任何方法的话),通常将底层硬件直接与应用代码绑定,这使得软件难以甚至无法在相同硬件架构上复用和移植,更不用说在不同架构上复用了。开发一次性固件的主要驱动因素是许多嵌入式产品具有资源受限的特性。曾经,具有几KB以上RAM和16KB以上闪存的微控制器价格昂贵,如果将其设计到产品中,几乎没有盈利的希望。嵌入式软件开发人员没有大容量内存或强大处理器可用,这阻碍了现代软件设计技术在应用开发中的应用。
不过,现代微控制器正在改变这一局面。典型的低端ARM Cortex - M微控制器现在只需几美元,至少提供16KB的RAM和64KB的闪存。内存成本的大幅降低、更大的内存可用性以及更高效的CPU架构,正在消除固件开发者面临的资源受限问题。结果是,开发者现在可以开始采用将应用代码与硬件解耦的设计方法,从而实现代码复用的大幅提升。
2. 便携式固件
如
便携式固件开发核心解析
超级会员免费看
订阅专栏 解锁全文
32

被折叠的 条评论
为什么被折叠?



