当前位置:网站首页>Embedded development: five challenges in wireless update using MCU
Embedded development: five challenges in wireless update using MCU
2022-06-10 16:39:00 【Guangdong embedded Education】
The ability to update embedded systems using boot loaders is an important skill to master . Despite all the efforts to develop embedded systems , But either mistakes are found at the scene , Either the end user requires additional functionality . To update firmware wirelessly in the field or remotely , Embedded system must have on-board boot loader . For the wireless update embedded system as part of the Internet of things , Embedded development teams face five key challenges .
Challenge 1 – Code size
Microcontroller based applications used to be very small , Only up to 8 To 16 KB. Modern microcontrollers can provide developers with more than 1024 KB Application code space . Despite explosive growth in capacity and functionality , But for embedded programmers who want to update firmware wirelessly , Code size is the first challenge .
One of the code size challenges is that microcontrollers typically do not have an onboard file system for running application code , This is with running Linux Based on the CPU Different systems . Because the file does not exist , The target file is continuously placed in memory by the linker . Minor adjustments to the application may cause the entire flash memory space to be updated ! To prevent such a disaster , Developers need to think ahead about partitioning memory , And predict which areas of the code base might need to be modified . The result may be inefficient use of on-board flash memory , And it increases the complexity of the system .
Challenge 2 – bandwidth
Usually , When embedded developers consider the bandwidth associated with the boot loader , Bandwidth is used to determine the maximum flash time required to update the application . Updating embedded systems wirelessly may add some additional challenges .
The first challenge involves boot loaders that need to work on wireless links , This may incur costs associated with transmitting and receiving data . in many instances , Wireless updates may be made via WIFI Or Ethernet , But what about mobile devices that use cellular data links ? Consider a single embedded system , A single... Required to update the system may be ignored MB Application code , however , What happens when millions of devices need to be updated ? Just launching an update can be quite costly .
The engineer who developed the boot loader , Especially engineers who perform updates wirelessly , You need to find a way to compress the application image , To minimize the amount of data transmitted over the air . Compression can be performed in a number of ways , Or if the developer partitions the flash memory space on a per object basis , You can even use diff file .

Challenge 3– robustness
One of the temptations that many embedded development teams face is to use the boot loader solution provided by the chip manufacturer . The problem with chipmaker solutions is that they are often located in places that cannot be customized ROM In the space . what's more , be based on ROM The boot loader for is usually just functional code . The function code can perform the purpose under controlled conditions , But it doesn't apply to the production environment where anything happens .
Robustness needs to be built into the boot loader solution from the start . The boot loader shall have the ability to verify the integrity of the on-board application . The boot loader should be able to detect failed firmware updates and roll back to the original application , Instead of making the system brick . In the production environment , There are many events that can disrupt the system , But a properly designed boot loader will be powerful enough , They can be handled smoothly , The end user is not aware of the problem .
Challenge 4 – Security
Many microcontroller based boot loaders ignore security , This is a key challenge for developers performing wireless updates . One of the simplest security measures that embedded developers can take is to simply lock the flash memory system , Developers performing wireless updates may consider encrypting their application images , To prevent anyone from gaining insight into proprietary firmware , Even reverse engineering and Intrusion systems . The wireless boot loader shall have a built-in method for verifying the update process .
Challenge 5 – version management
Managing firmware versions that will be distributed to potentially millions of devices is not easy . Strangely enough , Firmware updates will not be pushed all at once , It is pushed in batches . what's more , There may be different versions of hardware at some point , It is even possible to provide different application sets for different end users . Tracking and ensuring that firmware is successfully rolled out can be a major challenge .
Conclusion
Boot loaders are usually ignored before the end of the development cycle , But they play a key role in embedded systems . The five challenges presented here are just a few of the challenges faced by embedded developers , They are using microcontrollers to develop connection systems .
边栏推荐
- Analysis of different dimensions of enterprise reviewers: enterprise growth of Hunan Great Wall Science and Technology Information Co., Ltd
- Nanomq newsletter 2022-05 | release of V0.8.0, new webhook extension interface and connection authentication API
- Rk3308-- firmware compilation
- 纽约金融监管机构发布正式的稳定币指南
- 卷起來,突破35歲焦慮,動畫演示CPU記錄函數調用過程,進互聯大廠如此簡單
- Check whether there is a QR code in the picture
- Chinese translation of Rilke's autumn with heartless sword
- Duyuan outdoor sprint to Shenzhen Stock Exchange: the annual revenue is 350million, and the color of Lin Xizhen family is obvious
- webdypro layout控件不能用_SAP刘梦
- Jerry's ble transmission rate [chapter]
猜你喜欢
![[untitled] audio Bluetooth voice chip, wt2605c-32n real-time recording upload technical scheme introduction](/img/13/9674d685dfa0b62d1d1fa5362a4c7e.png)
[untitled] audio Bluetooth voice chip, wt2605c-32n real-time recording upload technical scheme introduction

Introduction to postmangrpc function

Apache atlas quick start

Ar smart contact lens market prospect trends and development planning proposal report 2022-2028
![[quick code] define the new speed of intelligent transportation with low code](/img/cd/da8cf959200dba8eeab6c8eccc5635.jpg)
[quick code] define the new speed of intelligent transportation with low code

Bluetooth - Bluetooth SIG

Weilai quarterly report diagram: the revenue was 9.9 billion yuan, a year-on-year increase of 24%, and the operating loss was nearly 2.2 billion yuan

象形动态图图像化表意数据

智能家居(3)智能交互的竞品分析

卷起來,突破35歲焦慮,動畫演示CPU記錄函數調用過程,進互聯大廠如此簡單
随机推荐
You have a ml.net quick reference manual to check!
Nanomq newsletter 2022-05 | release of V0.8.0, new webhook extension interface and connection authentication API
Middle office: Data middle office, business middle office, technology middle office, application middle office, AI middle office
MM主要的表和主要字段_SAP刘梦_
测试用例常用方法和选择原则
[quick code] define the new speed of intelligent transportation with low code
打造隐私计算领先方案 冲量在线数据互联平台获得鲲鹏Validated认证
Devops-3 cloud computing and cloud era operation and maintenance
Why do I need a thread pool? What is pooling technology?
[untitled] audio Bluetooth voice chip, wt2605c-32n real-time recording upload technical scheme introduction
Fortex Fangda releases the electronic trading ecosystem to share and win-win with customers
Why do I need a thread pool? What is pooling technology?
LocalDate与Date相互转换
Meetup review how Devops & mlops solve the machine learning dilemma in enterprises?
[section 7 function]
Application of stop in screen program_ SAP LIUMENG_
Thinking and precipitation after docking with hundreds of third-party APIs
Hoo Hufu Research Institute | noteworthy track in March 2022
Palm detection and finger counting based on OpenCV
Jerry's ble timer clock source cannot choose OSC crystal oscillator [chapter]