折腾了些时间,总算解决了

芯片型号是HC32F460,用串口实现IAP升级,从21IC论坛中找到了同样的IAP升级源码,下载后,在自己的开发板上测试也没问题,阅读源码发现,作者的源码中串口通信部分没有用中断。

不过像这样的IAP程序也没有太多事情可做,主要就串口通信和FLASH更新,不用DMA传输也没多大影响。

但我想将它改为串口通信用中断实现,结果是怎么都不行,头大了...,想啊想,怎么会不行呢,然后仔细阅读《HC32F460系列用户手册》发现以下描述:

我恍然大悟了,哦,原来如此。

那么我的串口通信要用中断实现,就需要将串口通信部分代码放到RAM中,怎么实现呢?刚好前期对分散加载有了解,大家可以参考我的专栏《armLink》中关于分散加载的内容。这里就不赘述了。

因此我的代码用了2个技术,DMA传输和分散加载。

串口通信改为用DMA实现,这样我认为效率会更高。

看代码,IAP程序主要分2个部分,一个是和上位机通过串口通信,另一个是分散加载文件的编写。

一、串口通信部分代码

华大MCU的IAP升级相关推荐

  1. 剖析MCU的IAP升级软件设计思路

    关注.星标公众号,不错过精彩内容 转自公号:最后一个bug 二次整理:strongerHuang 做软件开发的人,都知道程序升级.升级的方式有很多,今天就来讲讲升级的软件的设计思路. 一.ISP/IC ...

  2. 华大 MCU 之四 使用问题记录

      在最近使用华大 MCU 时,遇到了不少坑,这里记录一下,以方便在以后升级驱动库!其中,有些问题仅仅是在由 ST 切换到 华大之后不太适于的问题,有些是驱动库的更改问题!   如果您发现我说的问题是 ...

  3. 华大 MCU 之一 HC32F460 替换 STM32F411 移植记录

    更新 2020年 10 月 21 日,将驱动库更新到了最新版 1.1.1 2020年 10 月 20 日,MCU 由原来的 HC32F460KCTA 更换为 HC32F460KETA 简介   目前, ...

  4. 华大 MCU 之三 时钟控制器(CMU)配置记录

      今天在新项目(MCU 为华大 HC32F460)中不再使用外部晶振,转而要使用 HC32F460 内部的 HRC,之前在使用外部晶振时,对华大 MCU 的时钟配置有过一些了解,但是,由于使用内部晶 ...

  5. iap升级问题 stm32f103r8_STM32的基于串口的IAP固件升级与加密

    大家好,我是川楠,最近,在问答频道上看到有人对IAP升级心存疑惑.恰好,我本人在这方面的做过功课,也实战使用到很多的项目上,所以我就来为大家做个抛砖引玉吧. 本次例程,我用的是STM32F103VET ...

  6. 差分升级 增量升级 单片机 STM32 IAP升级OTA升级,物联网车联网可用

    差分升级 增量升级 单片机 STM32 IAP升级OTA升级,物联网车联网可用 介绍博客 https://blog.csdn.net/zhou74281/article/details/1177776 ...

  7. LPC11U3x系列IAP升级 BootLoader分析

    首先要明确LPC11Uxx系列的程序执行开始地址是0x00000000, 从0x0开始的512字节大小的存储空间存放的是中断向量表,之后便是程序,数据一般存放在8KB大小的SRAM中.(具体可参考LP ...

  8. 基于STM32的IAP升级程序

    基于STM32的IAP升级程序 IAP介绍 功能设计 硬件设计 软件设计 软件设计流程如下 完整程序 具体实现 设计功能程序 IAP实现程序 主程序 后续 IAP介绍 IAP(In Applicati ...

  9. 华大 MCU 之七 DMA 导致 SPI 异常停止的原因分析、DMA 配置的那些坑

    缘起   在最近的项目测试中发现,SPI 通信总是莫名其妙的失败,查看寄存器发现 SPI 已经被停止了.根据手册,SPI 在异常情况下会被强制停止(SPI 的使能为被清零),而根据波形显示通信过程没有 ...

  10. 华大 MCU 之六 SEGGER Embedded Studio 及 Ozone 使用 Jlink 调试

      首先说一下,我之前的开发流程是:VSCode 编辑代码 + Keil 编译及调试.Keil 的调试功能虽然很强大,但是多数功能需要配合 ARM 自家的 ULINKpro 才可以用,例如 Perfo ...

最新文章

  1. iOS HitTest 机制
  2. 建议收藏这7个软件,自用良心推荐!
  3. JSP WEB开发入门基础到高手进阶教程002
  4. 智能车竞赛技术报告 | 智能车视觉 - 首都师范大学 - 首师智能视觉
  5. CVPR!你凭什么收录我3篇论文!?
  6. BlockChain:《2016年中国区块链产业概况》听课笔记
  7. 【转】修改static控件背景颜色和文字颜色
  8. 【IDEA】IDEA 下 如何 jstack 线程状态
  9. java 视频 缩略图_java获取视频缩略图
  10. Eclipse中配置CORBA环境
  11. JavaScript总结摘要
  12. python的egg包的安装和制作]
  13. “鱼”和“熊掌”也能兼得——省时省心
  14. 实验任务四:实现登陆界面
  15. GoJS图表组件简介
  16. 抓取必应在线词典的英语音标
  17. 干细胞体外培养最新技术进展(2021年9月)
  18. C++很难?神级程序员自述对C++的认识!见解独到能少走很多弯路!
  19. C语言学生成绩管理系统——检查学号姓名,双向循环链表
  20. 迅为i.MX6ULL终结者进程基础-进程创建

热门文章

  1. matlab-m文件常用积分函数-ode45含有时变参数用法/菜鸟理解4
  2. 中链云矿主办Web3.0 中国财富峰会
  3. 医院随访系统标准化流程之三级随访
  4. 共焦显微镜技术原理、参数及其应用
  5. 聚焦堆栈重建光场-SART实现(附代码)
  6. macOS安装brew和ffmpeg下载m3u8
  7. VLAN及VLAN间路由
  8. html视频怎么改大小,对视频大小、比例进行修改
  9. android第三方库进程,Android 第三方库AgentWeb的使用
  10. DVWA靶机安装(超详细教程)