当前位置:网站首页>嵌入式开发:使用MCU进行无线更新面临的5大挑战
嵌入式开发:使用MCU进行无线更新面临的5大挑战
2022-06-10 15:44:00 【粤嵌教育】
使用引导加载程序更新嵌入式系统的能力是一项需要掌握的重要技能。尽管为开发嵌入式系统付出了所有努力,但要么在现场发现错误,要么最终用户要求附加功能。为了在现场或远程无线更新固件,嵌入式系统必须具有板载引导加载程序。对于作为物联网一部分的无线更新的嵌入式系统,嵌入式开发团队面临五个关键挑战。
挑战 1 – 代码大小
基于微控制器的应用程序过去非常小,最多只有8到16 KB。现代微控制器可以为开发人员提供价值超过1024 KB 的应用程序代码空间。尽管容量和功能呈爆炸式增长,但对于希望通过无线方式更新固件的嵌入式程序员来说,代码大小是第一个挑战。
代码大小的挑战之一是微控制器通常没有用于正在运行的应用程序代码的板载文件系统,这与运行Linux的基于CPU的系统不同。由于文件不存在,目标文件被链接器连续放置在内存中。对应用程序的微小调整可能会导致更新整个闪存空间!为了防止这样的灾难,开发人员需要预先考虑对内存进行分区,并预测可能需要修改代码库的哪些区域。结果可能是板载闪存的使用效率低下,并增加了系统的相当复杂性。
挑战 2 – 带宽
通常,当嵌入式开发人员考虑与引导加载程序相关的带宽时,带宽用于确定更新应用程序所需的最大闪存时间。无线更新嵌入式系统可能会增加一些额外的挑战。
第一个挑战涉及需要在无线链路上工作的引导加载程序,这可能会产生与传输和接收数据相关的成本。在许多情况下,无线更新可能会通过WIFI或以太网执行,但使用蜂窝数据链路的移动设备呢?考虑到单个嵌入式系统,可能会忽略更新系统所需的单个MB应用程序代码,但是,当有数百万台设备需要更新时会发生什么?仅仅推出一个更新就可能产生相当大的成本。
开发引导加载程序的工程师,尤其是在无线执行更新的工程师,需要找到压缩应用程序映像的方法,以最大限度地减少空中传输的数据量。可以通过多种方式执行压缩,或者如果开发人员在每个对象基础上对闪存空间进行了分区,甚至可以使用diff文件。

挑战 3–稳健性
许多嵌入式开发团队面临的引导加载程序诱惑之一是使用芯片制造商提供的引导加载程序解决方案。芯片制造商解决方案的问题在于它们通常位于无法定制的ROM空间中。更重要的是,基于ROM的引导加载程序通常只是功能代码。功能代码可以在受控条件下执行目的,但不适用于任何事情发生的生产环境。
需要从一开始就将鲁棒性内置到引导加载程序解决方案中。引导加载程序应具有验证板载应用程序完整性的能力。引导加载程序应该能够检测到失败的固件更新并回滚到原始应用程序,而不是使系统变砖。在生产环境中,有许多事件可能会扰乱系统,但设计合理的引导加载程序将足够强大,可以顺利处理它们,而最终用户不会意识到存在问题。
挑战4 – 安全
许多基于微控制器的引导加载程序忽略了安全性,这是执行无线更新的开发人员面临的关键挑战。嵌入式开发人员可以采取的最简单的安全措施之一就是简单地锁定闪存系统,执行无线更新的开发人员可能会考虑加密他们的应用程序映像,以防止任何人深入了解专有固件,甚至是逆向工程和入侵系统。无线引导加载程序应具有用于验证更新过程的内置方法。
挑战 5 – 版本管理
管理将分发给潜在数百万台设备的固件版本并非易事。奇怪的是,固件更新不会一次全部推送,而是分批推送。更重要的是,有可能在某个时候存在不同版本的硬件,甚至可能为不同的最终用户提供不同的应用程序集。跟踪并确保固件顺利推出可能是一项重大挑战。
结论
引导加载程序通常在开发周期结束之前被忽略,但它们在嵌入式系统中发挥着关键作用。这里提出的五个挑战只是嵌入式开发人员面临的几个挑战,他们正在使用微控制器开发连接系统。
边栏推荐
- [section 6 functions]
- Software College of Shandong University Project Training - Innovation Training - network security range experimental platform (16)
- Devops-1- introduction
- RK3308 按键Key与LED灯
- Chinese translation of Rilke's autumn with heartless sword
- 测试用例常用方法和选择原则
- AttributeError: module ‘gym. envs. Box2d 'has no attribute' lunarlander 'solution
- Scope and closure
- leetcode:730. Statistics of different palindrome subsequences [traversed by point and surface interval DP + 3D DP + diagonal]
- Devops-2- from the Phoenix Project
猜你喜欢

我用 MATLAB 复刻了抖音爆火小游戏 苹果蛇

MapReduce案例之排序

Rk3308 key and LED light

Specific method of Modbus RTU communication between Velcro touch screen and delta inverter (picture and text)

Smart home (3) competitive product analysis of Intelligent Interaction

Code implementation of partition case of MapReduce

Server operation and maintenance environment security system (Part 2)

Li Ling: in six years, how did I go from open source Xiaobai to Apache top project PMC

Middle office: Data middle office, business middle office, technology middle office, application middle office, AI middle office

I used Matlab to reproduce the trembling sonic boom Fire Games Apple snake
随机推荐
[untitled] audio Bluetooth voice chip, wt2605c-32n real-time recording upload technical scheme introduction
This and object prototypes
[section 14 STL container II]
Aperçu en direct | déconstruire OLAP! Le nouveau paradigme de l'architecture d'analyse multidimensionnelle est entièrement ouvert! Apache Doris va apporter cinq gros problèmes!
Server operation and maintenance environment security system (Part 2)
Error org codehaus. plexus. component. repository. exception. ComponentLookupException:
Zhangxiaobai teaches you how to use Ogg to synchronize Oracle 19C data with MySQL 5.7 (3)
[today in history] June 10: Apple II came out; Microsoft acquires gecad; The scientific and technological pioneer who invented the word "software engineering" was born
安霸CV2FS/CV22FS获得ASIL C芯片功能安全认证,超越市场同类芯片水平
Chinese translation of Rilke's autumn with heartless sword
The command set has reached strategic cooperation with Yingmin technology, and the domestic original Internet of things operating system has helped to make power detection "intelligent"
Software test architects, 16 pieces of advice for future generations, take a look and don't miss it
「技术干货」工业触摸屏之驱动开发及异常分析(连载)
RK3308 按键Key与LED灯
PV operation daily question - black and white chess question (variant)
Jerry's ble PB2 cannot be hardware grounded or connected to triode base [chapter]
袋鼠云数栈基于CBO在Spark SQL优化上的探索
PV operation daily question 1 - single wooden bridge problem (variant 2)
Many MapReduce cases seek common friends in the map stage
直播預告 | 解構OLAP!新型多維分析架構範式全公開!Apache Doris 將帶來五個重磅議題!