华大MCU的IAP升级

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

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

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

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

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

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

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

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

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

一、串口通信部分代码

版权声明:本文为CSDN博主「David123_liu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_15548761/article/details/121938693

David123_liu

我还没有学会写个人说明!

暂无评论

发表评论

相关推荐

华大MCU的IAP升级

折腾了些时间,总算解决了 芯片型号是HC32F460,用串口实现IAP升级,从21IC论坛中找到了同样的IAP升级源码,下载后,在自己的开发板上测试也没问题,阅读源码发现,作者的源码中串口通信部分没有用中断。 不过像这样的IAP程序也没有

基于8051单片机实现电子时钟+数字秒表设计

概述 电子时钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显 示直观、无机械传动装置等优点,因而得到广泛应用。随着人们生活环境的不断改善和美化,在许

4pin oled字模,oled图片编码生成方法

在制作手工的时候,选用了一款4pin 的OLED单色显示屏,在取字模的时候遇到一些问题,特此做一下记录,对于也遇到这方面问题的朋友,也可以提供一些思路。 所选用的4pin

esp32测试wifi速率

一、下载demo, demo路径esp-idf\examples\wifi\iperf 注意:运行可能会报分区表错,idf.py menuconfig修改下flash为DIO模式再试;