STM32 IAP 升级功能】的更多相关文章

IAP In Application Programming 可通过USB,CAN,UART,I2C,SPI等接口实现 IAP流程 Bootloader程序:接收升级程序,更新到flash指定地址:跳转到指定地址执行 STM32设置 ①:为Bootloader预留0x10000空间 ②:设置APP程序的起始地址 ③:中断向量表的偏移量设置 ④:生成bin文件 详见:https://blog.csdn.net/zhangxuechao ⑤:代码更新FLASH固件,执行FLASH代码 举例 //ap…
STM32 IAP在线升级,用Jlink设置读保护后前5K字节是默认加了写保护的,导致IAP升级时擦除和写入FLASH不成功,可以做两个boot,前5k为第一个boot程序,上电时负责跳转到APP还是第二个BOOT.第一个boot程序固定,永不改变.…
整理了一下SMT32标准外设库进行IAP升级的官方demo: 标准库版本 STM32F10xxx in-application programming using the USART (AN2557) STM32F2xx in-application programming using the USART (AN3374) STM32F4 in-application programming (IAP) using the USART (AN3965) STM32L1xx in-applicat…
IAP:在线升级代码 ,通俗的讲就是通过USART,IIC,或者SPI,USB等等,方式,在程序中升级程序,一般用在远程升级,或者是在PCB板子都安装到模具之后还需要升级代码,这样我们就需要,通过IAP的方式来升级. 软件代码托管码云地址:https://gitee.com/zyzp/stm32UartIAP 开发环境:MDK-V5,stm32cubeMx,SecureCRT8 硬件平台:stm32f103系列最小系统板,带有swd仿真接口和串口1 1.从st的官方获取到IAP的工程,http:…
  一.什么是IAP,为什么要IAP       IAP即为In Application Programming(在应用中编程),一般情况下,以STM32F10x系列芯片为主控制器的设备在出厂时就已经使用J-Link仿真器将应用代码烧录了,如果在设备使用过程中需要进行应用代码的更换.升级等操作的话,则可能需要将设备返回原厂并拆解出来再使用J-Link重新烧录代码,这就增加了很多不必要的麻烦.站在用户的角度来说,就是能让用户自己来更换设备里边的代码程序而厂家这边只需要提供给用户一个代码文件即可.…
IAP的源代码等资料我上传了,压缩包内有12个文件,,http://download.csdn.net/detail/f907279313/7524849(要积分的辛苦收集的你们就给点积分吧) 还有还有一篇博客总结的IAP:http://blog.csdn.net/super_demo/article/details/32086541 一,网上下载的例程,跳转部分的代码有差异,尤其是用的汇编那句 eg: ①Jump_To_Application  = (pFunction)(*(vu32*) (…
源:STM32 IAP 固件升级设计/U盘升级固件 固件升级的基本思路是: 将stm32 的flash划分为两个区域: 1.Bootloader区:存放bootloader的代码,bootloader代码完成的主要功能就是,判断外部条件,如果需要更新固件,则从指定位置(外接的U盘?板子上的外置存储器如 SD卡,NandFlash等)读取bin文件,然后写入到stm32 Flash的APP区,完成后跳转到APP区执行更新过的代码: 如果不需要更新,则直接跳转到APP区执行主程序代码. 2.APP区…
硬件:stm32f103cbt6 软件:STM32F10x_StdPeriph_Lib_V3.5.0 文章目录 1 预备知识 2 Bootloader 2.1 启动流程 2.2 校验跳转地址是否有效 2.3 Keil工程IAP的相关设置 2.3.1 修改Flash地址 2.3.2 使用自己的链接脚本 2.3.3 下载固件 3 Application 3.1 启动流程 3.2 IAP中的引导部分 3.3 关于 VTOR 3.4 Keil工程设置 3.4.1 Flash地址设置 3.4.2 hex2…
源:http://blog.csdn.net/yx_l128125/article/details/12992773 (扩展-IAP主要用于产品出厂后应用程序的更新作用,考虑到出厂时要先烧写IAP  再烧写APP应用程序要烧写2次增加工人劳动力基础上写了“STM32 IAP+APP ==>双剑合一”链接稍后发) 一.在进入主题之前我们先了解一些必要的基础知识----stm32系列芯片的种类和型号: startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F1…
关注了这个概念有些日子了,这段时间总算有机会实战==网络升级应用固件,这里记录下遇到的问题,及解决方案. 原理与网上流传的串口作为传输手段 一致:不同之处,无非我这里使用了网络设备传输.==(lwip)TFTP客户端的应用. 参考: IAR环境下STM32+IAP方案的实现 STM32浅谈之IAP.pdf 基于IAP和Keil MDK的远程升级设计 keil MDK中如何生成*.bin格式的文件 概况: 什么是IAP,为什么要IAP 可实现的原理 实现过程 细节及实现 以上基本都可以从[IAR环…
  (扩展-IAP主要用于产品出厂后应用程序的更新作用,考虑到出厂时要先烧写IAP  再烧写APP应用程序要烧写2次增加工人劳动力基础上写了“STM32 IAP+APP ==>双剑合一”链接稍后发) 一.在进入主题之前我们先了解一些必要的基础知识----stm32系列芯片的种类和型号: startup_stm32f10x_cl.s 互联型的器件,STM32F105xx,STM32F107xx startup_stm32f10x_hd.s 大容量的STM32F101xx,STM32F102xx,S…
(扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级程序做了详细的分析http://blog.csdn.net/yx_l128125/article/details/12992773,考虑到出厂时要先烧写IAP  再烧写APP应用程序要烧写2次增加工人劳动力基础上写了“STM32 IAP+APP ==>双剑合一”链接稍后发,希望通过IAP程序的hex 文件 和 APP的hex文件 合成一个hex  或者把合成的hex文件转成.bin 文件 减少“体力”) 一.简单框…
源:http://blog.csdn.net/yx_l128125/article/details/13591743 (扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级程序做了详细的分析http://blog.csdn.net/yx_l128125/article/details/12992773,考虑到出厂时要先烧写IAP  再烧写APP应用程序要烧写2次增加工人劳动力基础上写了“STM32 IAP+APP ==>双剑合一”链接稍后发,希望通过IAP程序的hex…
转眼间天亮了...... 然后就想起了一个朋友QQ的个性签名:年轻人总是要为一些自己认为有意义的事情而废寝忘食,通宵达旦,直至白发方休........ 对了这篇文章一定会介绍的很详细,请细嚼慢咽.......嗯,我是这样认为的,,,,,, 上面是昨天写的,应该说是今天写的,,今天发现发现博客又不能复制粘贴图片了!!!!然后就睡了一觉,,麻烦....是不是因为我写的博客有太多的图片而把我屏蔽了.能让人一目了然的就是图片.... 说一下自己是如何做的,,, 先说一下实现的功能 IAP程序的功能 再看…
日前公司产品需要增加远程升级功能,boot loader程序写好后交予生产部门使用时他们反馈每个产品程序需要刷写两次(一个boot loader 一个app程序),生产进度变慢浪费时间,于是乎研究如何将两个程序并为一个. 参考:http://blog.csdn.net/yx_l128125/article/details/13591743 后成功实现了将两程序合并为一个. IAP +APP 结合的方法 IAP 和APP 的hex 文件合成1个hex 文件的方法有2种: 1.IAP 先烧写进fla…
/********************************************************************************* * STM32 IAP docs * 说明: * STM32在线写入程序,目前没有去实践. * * 2017-12-29 深圳 南山平山村 曾剑锋 ********************************************************************************/ 一.参考文档: . S…
IAP的源代码等资料我上传了,压缩包内有12个文件.,http://download.csdn.net/detail/f907279313/7524849(要积分的辛苦收集的你们就给点积分吧) 还有还有一篇博客总结的IAP:http://blog.csdn.net/super_demo/article/details/32133257 一,串口通信问题 1,串口通信两端的TTL电平要一致,看选用的芯片,要么都是3.3V要么都是5V..当两端电平不一致时一般是收不到数据的.. 当检測程序等都没有问…
IOS应用程序升级流程介绍:IOS手机端应用程序需要升级时,打开服务器端html文件(本文为ucab.html文件)->点击在线安装->打开plist文件(本文中为ucab.plist文件)->plist文件中存储有应用程序升级包的地址.(本文为:http://192.168.1.126:8088/netcrm/ucab.ipa),这个地址是在打包时填写的Application URL值.通过升级包地址访问升级包,提示安装升级. 分步介绍: 一.准备工作 1.打包用的企业级证书mobil…
原文 NSIS:应用软件自动升级功能的探索与实践 记得以前轻狂曾分享过使用第三方软件实现应用软件自动升级功能 (详细http://www.flighty.cn/html/soft/20110106_108.html) 但那个QUpdater毕竟不是自己写的,用起来不怎么放心,关键是其开发者对程序进行了各种限制. 现在,轻狂用NSIS来实现软件自动升级功能,有兴趣的同学可以共同探讨. 本文为原创文章,转载请注明出处和链接!(鄙视一下COPY帝……) 实现过程: 1.搭建一个HTTP环境,放置升级安…
.h文件中 <UIAlertViewDelegate> .m文件中 #import "SBJson.h"        //解析sbjson 数据 - (void)viewDidLoad { [super viewDidLoad]; ⋯⋯ [self checkVersion]; //检测升级 } #pragma mark - 实现升级功能 //检测软件是否需要升级 -(void)checkVersion { NSString *newVersion; NSURL *url…
wordpress自己带有一个自动升级的功能,也就是说,如果wp检测到官方已经有新的升级可用的话他就会自己升级上去.这可能对于某些场合是个不错的功能,但是对于一些已经对系统大量魔改或者对插件稳定性不抱有特别大的信心的场合来说这有时无疑是致命的,对于一些 禁止文件写入或容器重启后文件全部丢失的容器 (比如openshift)来说,它的升级也几乎没有什么作用,也会对系统造成一些不稳定因素,所以说这种场合我们需要关闭Wordpress的自动升级来保证站点运行的稳定 如何关闭自动升级功能? 对于关闭自动…
本文转载自:http://blog.csdn.net/tfslovexizi/article/details/73835594 之前看到过一个人写了4.4上添加U盘升级功能的博客http://blog.csdn.net/kris_fei/article/details/50311885,写得挺好. 我们在5.1上也要做同样的功能,具体修改如下: diff --git a/bootable/recovery/Android.mk b/bootable/recovery/Android.mkold…
用w5500做网页iap升级, 文件上传正确, 对比内部flash内容也正确, 就是不跳转. 查资料, 怀疑是中断的影响. 在跳转前关闭中断, 问题解决! // IAP程序使用了中断, 跳转前关闭 __disable_irq();…
很久没有记笔记了.今天要记点东西,不然以后又忘记了. 随着时代的发展,现在的SDK已经是13.0了.蓝牙5.0也就来了.废话就少说了,记笔记吧. 两年前搞过nRF51822 的无线升级功能,那时候用的还是 SDK5.20,直接用hex镜像进行升级的.后来的SDK就不再是hex,要用zip了,现在还不清楚具体做APP时候的用法.以后再说,先用官方提供了nRF_ToolBox能升级就很不错了. 现在用了新的SDK,试了很长一段时间,各种各样的文档都过了,各种各样的方法都试过了,就是不行,真特么尴尬.…
http://bbs.21ic.com/forum.php?mod=viewthread&tid=588265&reltid=624002&pre_pos=2&ext= https://www.cnblogs.com/dwj411024/p/7717084.html https://www.cnblogs.com/hiker-blogs/archive/2013/03/17/stm32.html https://blog.csdn.net/qq_29344757/artic…
复用功能分复用输入,复用输出,STM32芯片内部集成多种模块,如GPIO.串口.i2c等,为使IO端口支持这些模块,厂家对IO端口进行扩展,同一个端口通过设置寄存器会有不同的功能.如下图IO结构图: STM32的复用功能由两个高.低的均为32位的寄存器组成: (1) GPIO 复用功能低位寄存器 (GPIOx_AFRL) (2) GPIO 复用功能高位寄存器 (GPIOx_AFRH) 复用功能寄存器4位为1小组,分别是AFL0~AFL7.AFH8~AFH15. AFL0~AFL7 是和GPIOx…
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 应用程序升级功能是App的基础功能之一,如果没有此功能会造成用户无法升级,应用程序的bug或者新功能老用户无法触达,甚至损失这部分用户. 对于应用程序升级功能的重要性就无需赘言了,下面介绍下应用程序升级功能的几种方式,从平台方面来说: IOS平台,应用程序升级功能只能通过跳转到app store进行升级. Android平台,既可以通过跳转到应用市场进行升…
项目:https://github.com/iccfish/FSLib.App.SimpleUpdater C/S程式一般需要部署在多台机器上,如果程式有变动,需要一台一台重新安装,相当麻烦,如果我们给程式加入自动升级功能,会方便许多 升级程式的思路可以参考:https://www.cnblogs.com/tuyile006/p/12699972.html 自己做程式比较麻烦,而且健壮性和时效性都不怎么样,使用现有的项目可以更快更好,有时间再自己研究研究怎么写吧 使用方法: 下载:https:/…
一.知识点 1.BootLoader就是单片机启动时候运行的一段小程序,这段程序负责单片机固件的更新,也就是单片机选择性的自己给自己下程序.可以更新,也可以不更新,更新的话,BootLoader更新完程序后,跳转到新程序运行:不更新的话,BootLoader直接跳转到原来的程序去运行. 2.BootLoader更新完程序后并不擦除自己,下次启动后依然先运行BootLoader程序,又可以选择性的更新或者不更新程序,所以BootLoader就是用来管理单片机程序的更新. 3.在实际的单片机工程项目…
Ⅰ.写在前面在开发STM32的时候,都需要对IO的模式进行配置(GPIO_InitStructure. GPIO_Mode = xxx).但是,你们都知道各种模式的具体意义吗? 有的人问:IO口输出可以上拉吗? 开漏输出是干什么用的? 其实这些问题并不难,只要你了解到每一种模式的真正意思,相信这些问题都不会难道你.本文的内容比较基础,也比较实用,希望对你有所帮助. 关于本文的详细内容请看下面章节 Ⅱ.模式说明STM32芯片的IO有8中模式: (1)GPIO_Mode_AIN 模拟输入 (2)GP…