当前位置:网站首页>Based on MCU, how to realize OTA differential upgrade with zero code and no development?
Based on MCU, how to realize OTA differential upgrade with zero code and no development?
2022-07-03 11:32:00 【Ch_ champion】
summary
With The Internet of things The development of intelligent equipment ,OTA Upgrading has become a recognized basic capability in the industry , and OTA In the process of design and implementation, we need to rely on the hardware scheme of IOT devices .
The mainstream hardware solution of IOT devices is :
1. Directly based on communication chip / The scheme of module development , The main goal of user upgrade is communication chip / modular . Elabi has a device based on UA+UC Provide end cloud integration OTA Solution .
2. adopt MCU/DSP/MPU And other application processors / The development scheme of controller and various communication modules , The main target of user upgrade is these application processors / controller , The communication module is more of a transmission pipeline .
among ,MCU As the main control processor, it accounts for a very high share in the field of Internet of things , Widely distributed in smart home 、 Three watches 、 Industry and other fields . stay MCU Of OTA Upgrade method , Some customers implement the whole package upgrade , Even a lot MCU The product is naked , And it is not upgraded , Of course, this is also related to the product form 、 features 、 Industry and other related . Compared with the traditional whole package upgrade, differential upgrade , There is a low demand for resources 、 Low upgrade power consumption 、 The upgrade time is short and download Many advantages such as less traffic , More and more become the preferred solution for the upgrading of the Internet of things . for instance , A customer MCU Of Flash Configure to 64KB, Oneself APP Firmware is 50KB, At this time, if you need to realize OTA upgrade , Most customers choose :
1. Plug in one 64KB perhaps 128KB Of Flash
2. Choose one 128KB Flash Resources MCU
And if through the difference OTA upgrade , It's in 64KB Flash Of MCU It can be realized directly on , Then add 5KB After the left and right differential upgrade Algorithm , There is still room for 9KB Left and right space to store a few KB Differential upgrade package for , It can be achieved without increasing the hardware cost OTA upgrade .
1
Implementation scheme of differential upgrade
Differential upgrade is mostly through the upgrade program (Bootloader Mainly ) Add a differential upgrade algorithm to realize , The algorithm needs to occupy some local Flash and RAM resources .
Differential upgrade is also called incremental upgrade , As the name suggests, the difference between the source version and the target version is extracted by the difference algorithm and made into a differential package , Then, in the process that the device restores the difference part on the source version through the restore algorithm to upgrade to the target version . The differential upgrade scheme can not only save MCU Internal resource space 、 It can also save power consumption in the download process and download and upgrade process . On the other hand , The security of the version is ensured by distributing the differential part to the equipment .
In the past few years , Elabi has been committed to empowering differential upgrading to more industry customers , The mainstream integration method of difference algorithm is through SDK Provide differential upgrade capability in the form of , The customer needs to upgrade the differential SDK Integrated into the device Bootloader in , There is a certain amount of integrated development . The advantage of this method is that customers can base on API Customize and develop some functions , however MCU The fragmentation of leads to the high cost of this integrated development method , There are also some requirements for customer integration , Fit and test The cycle is also relatively long , So Araby is based on a lot MCU Systematic understanding 、 And right OTA The understanding of the introduction of a simpler , Easier to use , Relatively standardized optimization scheme .
2
MCU Optimized implementation scheme of differential upgrade UB product
UB(Upgrade Bootloader) The product is based on MCU Independent standardization launched bootloader product , Irabi is integrated inside newest Differential upgrade Algorithm , Burning can be used , Differential upgrade can be achieved without development .
UB Through the differential upgrade algorithm in the compilation bootloader Stage integration , And this compilation and development bootloader The process of , Irabi directly provides a graphics turn 、 Zero development cloud production tools to complete , Thus making MCU Our products can realize differential upgrade capability in the simplest way .

Compared with the whole package upgrade, it saves a lot Flash resources , You can even save plug-ins Flash Or replace larger resources MCU Of materiel cost . As a standardized product , The online production tool provided by elabi can be generated with one click according to the hardware configuration of the user's product UB, It saves tedious and fragmented OTA Adaptation costs , Help the products to be launched quickly . Besides ,UB In ensuring that OTA There are many considerations about the safety of . For example, one core one code technology , according to MCU The only one that cannot be changed in the factory ID, Generate a unique security activation code , Ensure the uniqueness of the differential function of the device and the safety of the upgrade process .UB The integrated exception protection in supports power failure prevention / Misoperation and other anti brick mechanisms , Ensure that the upgrade is foolproof .

UB The generation process of is very simple , According to the selected MCU Model and basic information , Through the interface tool, it can directly generate . The operation process is as follows : To configure mcu Hardware information -> To configure mcu The partition information of -> One click generation UB.
At present, elabi has adapted ST Mainstream MCU model .
3
UB Usage scenarios of
1) As Bootloader Usage scenarios of
In this scenario, users do not need to develop another Bootloader, Use it directly UB To boot the boot program , When a version needs to be upgraded, jump to the upgrade process , from UB To control the jump .
2) Use scenarios as independent subsystems
The user of this scenario has made a Bootloader, Then you can put UB As an independent upgrade subsystem or secondary Bootloader, When MCU When you need to upgrade Bootloader Jump to UB To upgrade .
4
UB Success stories of —NB IOT Gas meter
Let's take a look at the successful cases in the meter industry UB How to use in the whole table product : What needs to be upgraded in the case is MCU Master program on .

STM32 MCU Burn irabi OTA UB , On the one hand, it can be used as Bootloader To boot the system , On the other hand, differential upgrade can be realized . There are two ways to obtain differential upgrade packages , A through NB Modules are obtained from the platform ; Through the near field infrared The module transmits the differential upgrade package to the device .
1) adopt NB Modules are obtained from the platform
This method requires the integration of platform connection components at the application layer , The call to the network passes NB-IOT Modular AT Command complete ,NB-IOT The module only performs data transmission to realize network connection .NB-IOT The meter includes applications and The historical data 、 Configure areas such as data , The upgrade process only upgrades the application area , The data area does not change .
2) Transmit through the near-field module
After making the differential package on the online differential platform of elabi, download it to the local . Then, the differential packet is transmitted to the table through the handheld infrared device to realize the upgrade , Avoid dismantling tables and other work .
边栏推荐
- Using onvif protocol to operate the device
- Hal -- writing hardware drivers
- Empire CMS no thumbnail smart tag (e:loop) two ways to judge whether there is a titlepic
- Touch and screen automatic rotation debugging
- Spl06-007 air pressure sensor (example of barometer)
- Understand go language context in one article
- After setting up ADG, instance 2 cannot start ora-29760: instance_ number parameter not specified
- PHP server interacts with redis with a large number of close_ Wait analysis
- Summary of interview questions (2) IO model, set, NiO principle, cache penetration, breakdown avalanche
- LeetCode 46:全排列
猜你喜欢

Kibana~Kibana的安装和配置

Matlab extracts numerical data from irregular txt files (simple and practical)

Solve undefined reference to`__ aeabi_ Uidivmod 'and undefined reference to`__ aeabi_ Uidiv 'error

DS90UB949

机器学习 3.2 决策树模型 学习笔记(待补)

Processes and threads

多维度监控:智能监控的数据基础

After using the thread pool for so long, do you really know how to reasonably configure the number of threads?
![抓包整理外篇fiddler———— 会话栏与过滤器[二]](/img/04/e9cc027d753e7049f273d866eefdce.png)
抓包整理外篇fiddler———— 会话栏与过滤器[二]

MATLAB提取不規則txt文件中的數值數據(簡單且實用)
随机推荐
AI模型看看视频,就学会了玩《我的世界》:砍树、造箱子、制作石镐样样不差...
鸿蒙第三次培训(项目实训)
The manuscript will be revised for release tonight. But, still stuck here, maybe what you need is a paragraph.
How PHP solves the problem of high concurrency
MATLAB提取不規則txt文件中的數值數據(簡單且實用)
读书笔记:《心若菩提》 曹德旺
ORACLE进阶(一) 通过EXPDP IMPDP命令实现导dmp
Driver development based on I2C protocol
C语言二维数组
After using the thread pool for so long, do you really know how to reasonably configure the number of threads?
如何:配置 ClickOnce 信任提示行为
抓包整理外篇fiddler———— 会话栏与过滤器[二]
CSRF
表空间创建管理及控制文件管理
触摸与屏幕自动旋转调试
(2) Base
行业唯一!法大大电子合同上榜36氪硬核科技企业
After a month, I finally got Kingdee offer! Share tetrahedral Sutra + review materials
Gut | 香港中文大学于君组揭示吸烟改变肠道菌群并促进结直肠癌(不要吸烟)
Oracle 11g single machine cold standby database