0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

APM32F072在线升级的实现

Geehy极海半导体 来源:21ic 作者:21ic 2022-07-14 09:47 次阅读

APM32F072在线升级的实现

虽然APM32F072有提供ISP实现程序通过Uart口进行程序烧录,只要在应用程序中跳转到0x1FFFC800即可,同样不需要改变boot脚的电位就可以完成通过Uart口进行程序升级。但是这样不便于我们按需定制的在线升级过程。所以我们还是通过自定义bootloader和app的方式来实现。

首先我们需要对bootloader和app大小进行分配。
Bootloader 4k IROM的配置如下

c882f38c-0315-11ed-ba43-dac502259ad0.png


APP 124k IROM的配置如下

c898cd38-0315-11ed-ba43-dac502259ad0.png



剩下的一些flash区域用来存储一些参数和在线升级的标志位
c8b020dc-0315-11ed-ba43-dac502259ad0.png
Bootloader中只需要加入这部分代码,就可以实现跳转,跳转前注意要关闭所以中断即可

c8c38b72-0315-11ed-ba43-dac502259ad0.png



为了让BootLoader能识别是否进人程序升级还是跳转到正常app运行,我通过了一个标志位FlagOnlineUpdate来进行判断,如果不为0x5AA5就进行在线升级,升级完成后改FLASH位置会变为0x5AA5。

c8da3598-0315-11ed-ba43-dac502259ad0.png


App如果需要进行在线升级只需要把FLAGUPDATE_ADDR处的flash的值0x5AA5擦除后,通过NVIC_SystemReset进行复位即可进入到BootLoader进行程序升级了

c8f4caf2-0315-11ed-ba43-dac502259ad0.png


App需要注意的就是需要修改中断向量表的偏移地址。不然中断触发的时候中断还会回到BootLoader中,无法正常运行app这边工程的中断函数。

c90dcbce-0315-11ed-ba43-dac502259ad0.png

c9232fb4-0315-11ed-ba43-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 应用程序
    +关注

    关注

    37

    文章

    3232

    浏览量

    57535
  • APM
    APM
    +关注

    关注

    1

    文章

    71

    浏览量

    12974

原文标题:APM32芯得 EP.04 | APM32F072在线升级的实现

文章出处:【微信号:geehysemi,微信公众号:Geehy极海半导体】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    KM振动在线监测系统助力设备焕新升级#振动在线监测#振动监测#在线监测

    在线监测
    KM预测性维护专家
    发布于 :2024年10月23日 14:59:48

    APM32F10xx进入低功耗模式的问题分析

    近日,在学习APM32开发板关于PMU模块的内容,看到很多内容都是调用WFI内核指令进入低功耗模式,于是自己想尝试调用WFE内核指令进入低功耗模式,但在APM32F10xx中,我运用按键中断,在中断
    的头像 发表于 10-18 16:13 176次阅读
    <b class='flag-5'>APM32F</b>10xx进入低功耗模式的问题分析

    TinyMaix框架的内存需求超过了APM32F411的可用内存,导致运行失败,怎么能成功优化?

    TinyMaix框架的内存需求超过了APM32F411的可用内存,导致运行失败。怎么能成功优化?
    发表于 09-27 09:44

    如何开发不带Flash API 的Bootloader实现在线升级

    电子发烧友网站提供《如何开发不带Flash API 的Bootloader实现在线升级.pdf》资料免费下载
    发表于 09-12 09:41 0次下载
    如何开发不带Flash API 的Bootloader<b class='flag-5'>实现在线</b><b class='flag-5'>升级</b>

    F28M35x串口在线升级设计

    电子发烧友网站提供《F28M35x串口在线升级设计.pdf》资料免费下载
    发表于 09-02 10:58 0次下载
    <b class='flag-5'>F</b>28M35x串口<b class='flag-5'>在线</b><b class='flag-5'>升级</b>设计

    APM805F应用于太阳能草坪灯升压芯片

    概述 APM805F 是一款高性能的太阳能草坪灯升压控制芯片,内部集成开关型驱动电路、光控开关、电池过放电保护电路、欠压关断锁定电路、肖特基二极管等。 APM805F 可以利用太阳能电池的能源来进行
    发表于 08-29 18:01

    请问ESP32是否支持串口在线升级

    请问ESP32是否支持串口在线升级。对OTA升级例程进行修改,将http传输改为串口传输,是否可行。
    发表于 06-18 06:30

    STM32F072怎么移植os?

    STM32F072 怎么移植os
    发表于 05-17 08:22

    怎么在STM32 Nucleo,STM32F072RB上使用mbed-rtos?

    谁知道怎么在STM32 Nucleo,STM32F072RB上使用mbed-rtos。在mode在线平台上导入了几个mbed-rtos的例程,都不能使用,搞了很长时间也没有个头绪。求指导。
    发表于 05-17 08:02

    极海APM32F003F6U7芯片特性

    APM32F003F6U7车规级MCU,宽温幅、高精度、低温漂且极具性价比,是成本敏感型汽车应用的优质选择。
    的头像 发表于 04-15 12:39 758次阅读

    如何用外挂SPI FLASH运行的STM32F1在线升级

    之前做的都是在芯片内FLASH运行的串口在线升级工作, 现在需要对外挂SPI FLASH进行程序升级,希望有做过的大佬给个大概思路,谢谢!
    发表于 03-13 08:03

    极海APM32F072xBT7硬件兼容ST电动车应用方案mcu

    极海APM32F072xBT7硬件兼容ST电动车应用方案MCU 随着电动车市场的不断发展,对于电动车控制器的要求也越来越高。而作为电动车控制器的核心部件,MCU的选择至关重要。极海
    的头像 发表于 03-04 21:30 424次阅读

    APM32F035开发板雷卯防雷防静电推荐图

    的模拟与连接特性赋予电机更多的新功能属性,有效提升电机驱动性能并降低用户产品运行成本,助力国内电机企业全面迈入“IE3高效时代”。APM32F035具备满足各种电机控制应用的外设与内存,多种核心电机控制算法大幅提升电机效率,满足行业结构升级需求,广泛应用于风机、水泵、电
    的头像 发表于 01-11 16:56 403次阅读
    <b class='flag-5'>APM32F</b>035开发板雷卯防雷防静电推荐图

    STM32单片机实现固件在线升级(IAP)

    1,固件升级方案综述单片机的固件升级方式有很多种。1、ICP:简单说就是在单片机开发时使用烧录器升级程序,比如使用J-Link烧录单片机程序。2、ISP:在单片机内部实现了基于通信接口
    的头像 发表于 12-16 08:00 4698次阅读
    STM32单片机<b class='flag-5'>实现</b>固件<b class='flag-5'>在线</b><b class='flag-5'>升级</b>(IAP)

    极海APM32F035强磁搅拌器应用方案

    目前市面上强磁搅拌器的电机控制多以使用有感方波控制为主,极海通过技术创新与优化升级,在增加集成度、并兼具成本效益的前提下,推出基于APM32F035电机控制专用MCU的强磁搅拌器量产级应用方案。
    的头像 发表于 12-01 17:43 568次阅读
    极海<b class='flag-5'>APM32F</b>035强磁搅拌器应用方案