首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于STM32 IAP

    说一下自己是如何做的,,, 先说一下实现的功能 IAP程序的功能 ? 再看自己的用户程序--用户程序自己也做了些设置 ?...最后有自己的源码 IAP程序软件不需要任何配置 ? ? 波特率太快的话,数据来不及写入Flash,环形队列容易溢出,,太慢的话,程序发送的慢。。。 用户程序软件需要一些配置 ?...20000换成十进制就是131072个字节  除以1024 等于128 由于我先把IAP程序下进去了,IAP程序也需要空间来运行,,,我就给了他6000 换成十进制就是24576  除以1024就是24K...FLASH_APP2_ADDR+4指针就移动到了IAP升级程序的E9或者说电压电流采集程序的D5上 (*(vu32*)(FLASH_APP2_ADDR+4))然后强制型的转成32位的,然后取出来,就是IAP...产生的中断 岂不是跑到了IAP那边去了,IAP那边有自己的中断函数,,,乱了,彻底乱了,,,,,所以必须得让中断向量表改变改变,好让自己产生的 中断,执行自己的中断函数......

    3K60

    MCU的IAP和ISP

    什么是IAP和ISP: IAP是In Applicating Programing,既是在应用编程。 ISP是In SystemPrograming,既是在系统编程。...这两种各有好处,IAP灵活,但是程序流程复杂,ISP方式固定,但是用起来简单。IAP适合需求比较多,程序基本功比较好的人。ISP适合需求不多的人。 ISP一般需要更改硬件的引脚,因此用起来有些麻烦。...可以结合着IAP使用。如下图所示: 左侧的是纯IAP,用户先写一个bootlaoder_own_1,接收外部指令,根据要求决定是否跳转,如果需要,如果根据自己写的bootloader跳转运行。...右侧的是IAP和ISP相结合(整体上也是一种IAP),用户先自己写一个bootlaoder_own_2,可根据指令决定是否跳转到官方的bootloader,跳转到官方bootloader就可以按照ISP...但是没有纯IAP灵活。

    2K30

    详解STM32在线IAP升级

    最近一些朋友在玩在线升级,所以这里bug菌挑选了一篇原理与实践结合的技术文章,在stm32上实现还是比较详细的,以前bug也跟大家介绍过这一块的设计方案: 【重磅】剖析MCU的IAP升级软件设计(设计思路篇...) 【MCU】一种"灵活且省资源"的IAP升级方案 当然目前比较火热的OTA升级,为了保证升级过程的权限、完整性、稳定性等等,还需要做很多工作包括加密、压缩等等,可能会更加复杂一点,特别是差分升级,通过版本之间的差异来生成升级包进行升级...,一方面可以节省空间,另一方面也能够加快升级速度,这一块bug菌后续整理一下~ 好了,下面这篇文章,大家好好学习一下: 简介 本文主要讲解在线升级IAP的基础知识, 主要是针对IAP 从原理分析, 分区划分...r0 //设置Main Stack的值 5 BX r14 6} 7 8 9/* 程序跳转函数 */ 10typedef void (*Jump_Fun)(void); 11void IAP_ExecuteApp...JumpToApp(); //跳转到APP. 20 } 21} 在需要跳转的地方执行这个函数就可以了IAP_ExecuteApp

    2.7K20

    什么是系统可用性?如何提升可用性?

    日常开发中,我们经常听到系统的可用性是几个 9这样的描述,因此,这篇文章,我们将探讨什么是可用性、如何计算可用性以及提高可用性的一些常用策略。什么是系统可用性?...= 0.99452转换成百分比 = 99.452 %可用性等级系统可用性,可用性通常用“9”表示,可用性越高,停机时间就越少。...如下图所示:如何提升系统可用性?...使用高可用性云服务云服务提供商的HA解决方案:利用云服务提供商提供的高可用性解决方案,如多区域部署、自动故障转移等。网络优化冗余网络连接:配置冗余的网络连接,避免单点网络故障。...优化网络配置:使用CDN(内容分发网络)加速内容交付,减少网络延迟。总结可用性是我们在做系统设计时一个重要指标,它确保用户可以可靠且持续地访问服务。

    67410

    RabbitMQ 延迟队列,消息延迟推送

    目录 应用场景 消息延迟推送的实现 测试结果 ---- 应用场景 目前常见的应用软件都有消息的延迟推送的影子,应用也极为广泛,例如: 淘宝七天自动确认收货。...这种解决方案相较于消息的延迟推送性能较低,因为我们知道 redis 都是存储于内存中,我们遇到恶意下单或者刷单的将会给内存带来巨大压力。...消息延迟推送的实现 在 RabbitMQ 3.6.x 之前我们一般采用死信队列+TTL过期时间来实现延迟队列,我们这里不做过多介绍,可以参考之前文章来了解:TTL、死信队列 在 RabbitMQ 3.6....x 开始,RabbitMQ 官方提供了延迟队列的插件,可以下载放置到 RabbitMQ 根目录下的 plugins 下。...延迟队列插件下载 ? 首先我们创建交换机和消息队列,application.properties 中配置与上一篇文章相同。

    2.5K10

    关于可用性测试

    顾名思义,可用性测试是对网站或应用程序的可用性进行的一种测试类型。通过可用性测试,可能会将其与产品的“易用性 ”相混淆。易用性是一个广义术语,还有很多其他内容。...本文中,您将了解到可用性和可用性测试的各个方面。 在详细讨论可用性测试之前,您需要了解为什么可用性如此重要。...无论是产品还是产品用例,即使定义产品可用性的参数会发生变化,可用性测试背后的关键特性和基本原理也保持不变。 为什么我们需要关注可用性?...这就是在可用性测试需要测试的内容。 那么,要测试产品的可用性要进行哪些测试? 有效性 有效性是指用户是否能够准确地实现目标。在执行可用性测试时,需要确保网站/产品是否确实解决了核心用户需求。...一旦清楚了什么是可用性以及我们需要什么以及为什么要进行可用性测试,现在就需要创建节省时间和有效的可用性测试策略。

    1.1K30

    粉丝学习STM32 IAP升级遇到的问题

    在你提供的IAP程序代码中,while(1)是一个无限循环。从代码逻辑看,IAP应用的退出并没有显式的break语句。...一旦跳转到业务APP,MCU的控制权就交给了业务APP,IAP程序实际上“停止”了,因为MCU不再执行IAP的指令。...你的理解大体正确:在业务APP运行期间,IAP应用已经被“替换”,无法直接从业务APP切回到IAP应用。...根据这位粉丝提供的图片资料现有流程理解: IAP应用作用: IAP程序运行后,可以通过串口或其他接口接收新的业务APP文件,并将其烧录到FLASH指定区域。...方案2:设计IAP与业务APP共存 通过MCU的FLASH分区管理,让IAP和业务APP同时存在于不同的区域,具体做法: 双区启动机制: IAP程序在启动时检测用户输入或某个标志位。

    32110
    领券