手把手教你实现一个IAP程序
从裸机到嵌入式Linux——手把手教你实现一个IAP程序
- 什么是IAP
- IAP实现过程分析
- 内存分布及划分
- IAP更新过程分析
- 使用方法
什么是IAP
简单讲IAP就是一个用于应用更新的程序,常见于物联网领域应用程序的远程更新。本文以STM32+4G为例,STM32通过串口与4G模块相连,4G模块接收服务器的bin文件完成应用更新。
IAP实现过程分析
背书: 对于STM32而言,只要是经过keil编译链接生成的bin文件都可以被执行。这里我们重点说明STM32端的处理过程。
内存分布及划分
总体而言,一个完整的IAP项目包含两个工程,用于引导升级的工程和用户Application工程(也就是我们正常实现功能逻辑的工程)。以最常见的从内部Flash启动方式为例,两个工程在内存中的划分是这样的。
IAP更新过程分析
使用方法
这里我给大家准备了两个空白的DEMO,基于STM32F103VET6的,可以通过4G(串口3透传)和串口1进行远程和本地升级,需要的朋友直接私信我或者去下载种心找资源进行下载就好了,如果有不清楚的内容,我会在B站同步更新我的代码走读过程。
手把手教你实现一个IAP程序相关推荐
- 小程序工程化实践(上篇)-- 手把手教你撸一个小程序 webpack 插件,一个例子带你熟悉 webpack 工作流程...
本文基于 webpack 4 和 babel 7,Mac OS,VS Code 小程序开发现状: 小程序开发者工具不好用,官方对 npm 的支持有限,缺少对 webpack, babel 等前端常用工 ...
- 【Golang项目实战】手把手教你写一个备忘录程序|附源码——建议收藏
博主简介:努力学习的大一在校计算机专业学生,热爱学习和创作.目前在学习和分享:数据结构.Go,Java等相关知识. 博主主页: @是瑶瑶子啦 所属专栏: Go语言核心编程 近期目标:写好专栏的每一篇文 ...
- 手把手教你做一个自己的chrome扩展程序
手把手教你做一个自己的chrome扩展程序 [目录] first.效果 1.收藏夹修改 (1).鼠标移动到收藏夹上的动作效果 (2).收藏夹框 (3)百度搜索框功能 2.右上文字修改 3.背景图片修改 ...
- 手把手教你撸一个Web汇率计算器
手把手教你撸一个Web汇率计算器 前言 前段时间刚接触到前端网页开发,但是对于刚入门的小白而言,像flask.Django等这类稍大型的框架确实不太适合,今天这个Dash是集众家之长于一体的轻量化We ...
- 手把手教你写一个Matlab App(一)
对于传统工科的学生用的最多的编程软件应该就是matlab,其集成度高,计算能力强,容易上手,颇受大众青睐.今天挖的这个新坑,主要是分享用matlab app designer设计GUI界面的一些方法和 ...
- 还没理解微前端?手把手教你实现一个迷你版
大厂技术 高级前端 Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 最近看了几个微前端框架的源码(single-spa[1].qiankun[2].micro- ...
- 后端思维篇:手把手教你写一个并行调用模板
前言 36个设计接口的锦囊中,也提到一个知识点:就是使用并行调用优化接口.所以接下来呢,就快马加鞭写第二篇:手把手教你写一个并行调用模板~ 一个串行调用的例子(App首页信息查询) Completio ...
- 手把手教你做一个Java贪吃蛇小游戏
大家好,我是孙不坚1208,这篇博客给大家分享一下:如何做一个贪吃蛇小游戏(Java版)的exe应用程序,希望能给需要帮助的朋友带来方便. 手把手教你做一个Java贪吃蛇小游戏的exe应用程序 一.J ...
- 手把手教你开发微信小程序中的插件
继上次 手把手教你实现微信小程序中的自定义组件 已经有一段时间了(不了解的小伙伴建议去看看,因为插件很多内容跟组件相似),今年3月13日,小程序新增了 小程序**「插件」 功能,以及开发者工具新增 「 ...
最新文章
- Hyperic HQ 应用性能管理解决方案
- DLL中导出函数的声明有两种方式
- 本人真实经历:面试了20家大厂之后,发现这样介绍项目经验,显得项目很牛逼!...
- python cnn模型_ZfNet解卷积:可视化CNN模型( PythonCode可视化Cifar10)
- [Python图像识别] 四十九.图像生成之什么是生成对抗网络GAN?基础原理和代码普及
- Mysql学习总结(8)——MySql基本查询、连接查询、子查询、正则表达查询讲解...
- 访问权限修饰符( public,protected,default,private )的使用对象和作用域
- AngularJS复习小结
- MATLAB 撰写word
- MasterPage下的FindControl
- 微信、QQ防撤回神器,终于被我找到了......
- iphone13 Pro的运行内存是6gb
- RxSwift极简入门
- python+百度地图 实现地址转换为经纬度(全网最简单方法)
- 金融经济学期末梳理(王江)第二、三章
- 【IT简史】Apple(苹果公司)
- 计算机中各成绩所占成绩的比例计算方法,考研总成绩的计算方法和各科分数的比例占多少?...
- 国信证券学习系列(2)
- 无人驾驶汽车是如何进行行为决策的?
- 嵌入式开发:使用STM32CubeMX 和 Keil uVision5实现两位数码管循环显示实验
热门文章
- win10连不上wifi_关于win10系统连接不了隐藏wifi的一种解决办法
- 基于arduino的校园灯光控制_使用Arduino和晶闸管(TRIAC)控制交流风扇的速度
- 京东搜索引擎技术-Elasticsearch快速入门
- 雷达基础之脉冲雷达信号距离模糊与解模糊
- SRT编码器传输获取公网IP地址3种解决方案
- 新浪微博如何自定义来源尾巴
- 记一次VS2013的卸载与重装
- 通辽市视频信息共享平台助力智慧城市建设
- 经纬恒润位列“2021北京民营企业科技创新百强榜单”第40名
- 大学课程 | 《计算机操作系统》详细知识点总结