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

审核编辑 :李倩

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

    关注

    38

    文章

    3346

    浏览量

    60422
  • APM
    APM
    +关注

    关注

    1

    文章

    74

    浏览量

    13975

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索STM32L072xx:超低功耗32位MCU的卓越之选

    探索STM32L072xx:超低功耗32位MCU的卓越之选 在当今电子设备追求低功耗、高性能的时代,STM32L072xx系列微控制器凭借其出色的特性脱颖而出。作为一名资深电子工程师,今天就带大
    的头像 发表于 04-18 09:05 131次阅读

    极海APM32F427 MCU在RT-Thread系统上使用LwIP网络功能

    下面是基于RT-Thread的ENV命令行开发环境,在APM32F427上使用LwIP网络协议栈实现网络通信功能的。
    的头像 发表于 04-02 15:19 8668次阅读
    极海<b class='flag-5'>APM32F</b>427 MCU在RT-Thread系统上使用LwIP网络功能

    基于极海APM32F4的Azure RTOS ThreadX移植过程分享

    最近在玩APM32F407IG的板子,发现官方提供了两个RTOS的demo,FreeRTOS和RT-thread。想着APM32F4这么丰富的资源,是不是也可以跑一下ThreadX RTOS看看
    的头像 发表于 04-02 11:30 860次阅读
    基于极海<b class='flag-5'>APM32F</b>4的Azure RTOS ThreadX移植过程分享

    探索 onsemi FCH072N60F:高性能 N 沟道 MOSFET 的卓越之选

    : FCH072N60F-D.PDF 产品简介 FCH072N60F 属于 onsemi 的 SUPERFET II MOSFET 家族,这是一款采用全新高压超结(SJ)技术的产品。超结技术利用电荷平衡原理,实现了极低的
    的头像 发表于 03-30 10:50 321次阅读

    极海APM32F427如何实现自定义USB HID设备与PC进行通信

    最近需要使用到 APM32F427 枚举成Custom HID设备进行用户自定义通信,但是官方的例程只有提供的HID枚举为鼠标或者键盘类型的设备。这里记录一下,怎么使用Geehy官方的USB中间件,实现自定义的USB HID设备进行用户通信。
    的头像 发表于 03-30 09:30 2779次阅读
    极海<b class='flag-5'>APM32F</b>427如何<b class='flag-5'>实现</b>自定义USB HID设备与PC进行通信

    深入解析FCH072N60F:高性能N沟道MOSFET的卓越之选

    深入解析FCH072N60F:高性能N沟道MOSFET的卓越之选 在电源应用领域,MOSFET就像是一位默默奉献的幕后英雄。今天,让我们一起深入探究安森美(onsemi)的FCH072N60F这款N
    的头像 发表于 03-27 16:00 230次阅读

    KM在线监测实现设备高效管理#在线监测

    在线监测
    KM预测性维护专家
    发布于 :2026年02月27日 14:24:25

    极海APM32F427移植CherryUSB实现自定义USB HID设备

    最近需要使用到APM32F427枚举成Custom HID设备进行用户自定义通信,但我又不想要使用官方的USB中间件去做一个USB Custom HID设备。了解到Cherry USB这个开源
    的头像 发表于 01-20 09:52 4063次阅读
    极海<b class='flag-5'>APM32F</b>427移植CherryUSB<b class='flag-5'>实现</b>自定义USB HID设备

    使用极海APM32F427驱动QSPI XIP内存映射流程

    下面这部分源自APM32F4xx_DAL_SDK_V1.3.0中的示例工程,并基于“QSPI_ReadWrite”例程进行修改,演示如何实现W25Q16JV的擦除、写入、读取,以及如何进入XIP内存映射模式。
    的头像 发表于 12-29 11:13 3818次阅读
    使用极海<b class='flag-5'>APM32F</b>427驱动QSPI XIP内存映射流程

    极海APM32E030/F402系列MCU通过IEC 60730/60335功能安全认证

    近日,极海APM32E030系列基础拓展型MCU、APM32F402系列高性能高性价比MCU通过IEC 60730/60335认证,可提供符合Class B标准的功能安全库,助力客户快速推出稳定可靠的终端产品。
    的头像 发表于 08-29 13:57 1373次阅读
    极海<b class='flag-5'>APM</b>32E030/<b class='flag-5'>F</b>402系列MCU通过IEC 60730/60335功能安全认证

    极海APM32F411微控制器硬件FPU使用指南

    APM32F411是一款基于32位Arm Cortex-M4F内核的微控制器。硬件FPU是Arm Cortex-M4F的一大优势。合理应用硬件FPU可以大大缩短运算时间。
    的头像 发表于 06-28 11:23 2358次阅读
    极海<b class='flag-5'>APM32F</b>411微控制器硬件FPU使用指南

    基于APM32F411 DMA_ADC Handler模式分析及解决

    ADC连续转换采集,因此,我没过滤掉ADC采集中开启中断配置的信息,开启了ADC中断采集,因此这次以APM32F411官方例程中的DMA_ADC例程,复刻了此次出现的问题。
    的头像 发表于 06-24 14:30 1220次阅读
    基于<b class='flag-5'>APM32F</b>411 DMA_ADC Handler模式分析及解决

    (大赛作品)STM32F072RB NUCLEO智能家居控制实例项目

    (大赛作品)STM32F072RB NUCLEO智能家居控制实例项目文档截图
    发表于 05-28 21:06

    极海APM32F003触发NMI中断的解决方案

    问题:APM32F003F6P6 PC3配置成外部中断口,下拉触发之后没有进入EINTC_IRQHandler外部中断函数,反而一直触发NMI中断。
    的头像 发表于 05-24 14:44 1082次阅读
    极海<b class='flag-5'>APM32F</b>003触发NMI中断的解决方案

    极海APM32F407 uc/os3学习笔记之任务管理介绍

    最近了解了uc/os3这个操作系统,上篇介绍了uc/os3如何正确移植到APM32F407开发板上,根据我最近学到的一些知识,这篇文章主要介绍一下uc/os3中的一些简单的任务管理API以及如何使用。
    的头像 发表于 05-24 14:37 1161次阅读
    极海<b class='flag-5'>APM32F</b>407 uc/os3学习笔记之任务管理介绍