华大MCU的IAP升级
折腾了些时间,总算解决了
芯片型号是HC32F460,用串口实现IAP升级,从21IC论坛中找到了同样的IAP升级源码,下载后,在自己的开发板上测试也没问题,阅读源码发现,作者的源码中串口通信部分没有用中断。
不过像这样的IAP程序也没有太多事情可做,主要就串口通信和FLASH更新,不用DMA传输也没多大影响。
但我想将它改为串口通信用中断实现,结果是怎么都不行,头大了...,想啊想,怎么会不行呢,然后仔细阅读《HC32F460系列用户手册》发现以下描述:
我恍然大悟了,哦,原来如此。
那么我的串口通信要用中断实现,就需要将串口通信部分代码放到RAM中,怎么实现呢?刚好前期对分散加载有了解,大家可以参考我的专栏《armLink》中关于分散加载的内容。这里就不赘述了。
因此我的代码用了2个技术,DMA传输和分散加载。
串口通信改为用DMA实现,这样我认为效率会更高。
看代码,IAP程序主要分2个部分,一个是和上位机通过串口通信,另一个是分散加载文件的编写。
一、串口通信部分代码
华大MCU的IAP升级相关推荐
- 剖析MCU的IAP升级软件设计思路
关注.星标公众号,不错过精彩内容 转自公号:最后一个bug 二次整理:strongerHuang 做软件开发的人,都知道程序升级.升级的方式有很多,今天就来讲讲升级的软件的设计思路. 一.ISP/IC ...
- 华大 MCU 之四 使用问题记录
在最近使用华大 MCU 时,遇到了不少坑,这里记录一下,以方便在以后升级驱动库!其中,有些问题仅仅是在由 ST 切换到 华大之后不太适于的问题,有些是驱动库的更改问题! 如果您发现我说的问题是 ...
- 华大 MCU 之一 HC32F460 替换 STM32F411 移植记录
更新 2020年 10 月 21 日,将驱动库更新到了最新版 1.1.1 2020年 10 月 20 日,MCU 由原来的 HC32F460KCTA 更换为 HC32F460KETA 简介 目前, ...
- 华大 MCU 之三 时钟控制器(CMU)配置记录
今天在新项目(MCU 为华大 HC32F460)中不再使用外部晶振,转而要使用 HC32F460 内部的 HRC,之前在使用外部晶振时,对华大 MCU 的时钟配置有过一些了解,但是,由于使用内部晶 ...
- iap升级问题 stm32f103r8_STM32的基于串口的IAP固件升级与加密
大家好,我是川楠,最近,在问答频道上看到有人对IAP升级心存疑惑.恰好,我本人在这方面的做过功课,也实战使用到很多的项目上,所以我就来为大家做个抛砖引玉吧. 本次例程,我用的是STM32F103VET ...
- 差分升级 增量升级 单片机 STM32 IAP升级OTA升级,物联网车联网可用
差分升级 增量升级 单片机 STM32 IAP升级OTA升级,物联网车联网可用 介绍博客 https://blog.csdn.net/zhou74281/article/details/1177776 ...
- LPC11U3x系列IAP升级 BootLoader分析
首先要明确LPC11Uxx系列的程序执行开始地址是0x00000000, 从0x0开始的512字节大小的存储空间存放的是中断向量表,之后便是程序,数据一般存放在8KB大小的SRAM中.(具体可参考LP ...
- 基于STM32的IAP升级程序
基于STM32的IAP升级程序 IAP介绍 功能设计 硬件设计 软件设计 软件设计流程如下 完整程序 具体实现 设计功能程序 IAP实现程序 主程序 后续 IAP介绍 IAP(In Applicati ...
- 华大 MCU 之七 DMA 导致 SPI 异常停止的原因分析、DMA 配置的那些坑
缘起 在最近的项目测试中发现,SPI 通信总是莫名其妙的失败,查看寄存器发现 SPI 已经被停止了.根据手册,SPI 在异常情况下会被强制停止(SPI 的使能为被清零),而根据波形显示通信过程没有 ...
- 华大 MCU 之六 SEGGER Embedded Studio 及 Ozone 使用 Jlink 调试
首先说一下,我之前的开发流程是:VSCode 编辑代码 + Keil 编译及调试.Keil 的调试功能虽然很强大,但是多数功能需要配合 ARM 自家的 ULINKpro 才可以用,例如 Perfo ...
最新文章
- Linux文件大小排序
- 从表现现象查找电脑问题的根源
- jQuery学习笔记(四)
- 基于Python从头开始使用 RMSProp 进行梯度下降
- c语言图像的简单叠加,第10章C语言图形编程.ppt
- 碳排放计算-20210515
- 那些年震撼我们心灵的音乐
- 在线FLV播放器实现方法
- 华为关闭telnet命令_华为s5720配置telnet命令详解
- L1-030. 一帮一-PAT团体程序设计天梯赛GPLT
- 抑郁症患者突然心情变好,不一定是好事!
- 互联网,因特网和万维网的区别是什么?
- 简单理解数字签名和验签
- 成都,今夜请将我遗忘 读后感
- Topic7——279. 完全平方数
- 1028 人口普查 (20分)
- Inno Setup入门(十五)——Inno Setup类参考(1)
- python 喜马拉雅 音乐下载 演示代码
- 【Simulink】锁相环模块
- (ESP32学习1)IO的输出高低电平与上下拉输入