打印
[应用相关]

关于STM32 IAP

[复制链接]
1521|68
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
转眼间天亮了......

然后就想起了一个朋友QQ的个性签名:年轻人总是要为一些自己认为有意义的事情而废寝忘食,通宵达旦,直至白发方休........
对了这篇**一定会介绍的很详细,请细嚼慢咽.......嗯,我是这样认为的,,,,,,
上面是昨天写的,应该说是今天写的,,今天发现发现博客又不能复制粘贴图片了!!!!然后就睡了一觉,,麻烦。。。。是不是因为我写的博客有太多的图片而把我屏蔽了。能让人一目了然的就是图片。。。。
说一下自己是如何做的,,,



作者:杨奉武
链接:https://www.jianshu.com/p/8eb8465d5dee
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

使用特权

评论回复
沙发
sensitivity|  楼主 | 2020-7-24 20:06 | 只看该作者
先说一下实现的功能

IAP程序的功能

使用特权

评论回复
板凳
sensitivity|  楼主 | 2020-7-24 20:07 | 只看该作者
再看自己的用户程序--用户程序自己也做了些设置

使用特权

评论回复
地板
sensitivity|  楼主 | 2020-7-24 20:07 | 只看该作者
对了关于我为什么拷贝到Flash里面------自己用的单片机的RAM不够用,存不了用户程序,所以自己就定义了一个小点的数组(环形队列),串口一边接收,一边往Flash里面写,环形队列可是帮了大忙了,,,,

使用特权

评论回复
5
sensitivity|  楼主 | 2020-7-24 20:08 | 只看该作者
把IAP升级程序下进去,以后就直接通过串口发送自己的用户程序就行了...什么都不需要做了,先说一下操作过程吧!最后有自己的源码

使用特权

评论回复
6
sensitivity|  楼主 | 2020-7-24 20:09 | 只看该作者
IAP程序软件不需要任何配置

使用特权

评论回复
7
sensitivity|  楼主 | 2020-7-24 20:15 | 只看该作者
波特率太快的话,数据来不及写入Flash,环形队列容易溢出,,太慢的话,程序发送的慢。。。

使用特权

评论回复
8
sensitivity|  楼主 | 2020-7-24 20:16 | 只看该作者
用户程序软件需要一些配置

使用特权

评论回复
9
sensitivity|  楼主 | 2020-7-24 20:17 | 只看该作者
8006000告诉编译器我的用户程序打算在这里开始,你帮我设置一下吧,默认是在8000000开始的

0x1A000,就是告诉编译器我的程序空间有这么大。

使用特权

评论回复
10
sensitivity|  楼主 | 2020-7-24 20:17 | 只看该作者
我的用户程序里面也是设置的6000,这个一定要和程序设置的一样哈

关于这个我后面会说为什么这样设置。。。当然也可以百度一下。

使用特权

评论回复
11
sensitivity|  楼主 | 2020-7-24 20:18 | 只看该作者
其实我的本来是

使用特权

评论回复
12
sensitivity|  楼主 | 2020-7-24 20:19 | 只看该作者
20000换成十进制就是131072个字节  除以1024 等于128

由于我先把IAP程序下进去了,IAP程序也需要空间来运行,,,我就给了他6000 换成十进制就是24576  除以1024就是24K

使用特权

评论回复
13
sensitivity|  楼主 | 2020-7-24 20:22 | 只看该作者
我的总共是128K然后去掉IAP暂用的24K就是  128-24 = 104K  = 106496个字节   换成16进制就是 1A000

所以我上面写了1A000

对了如果您的板子是大容量的如果您非常明白就自己随意修改把,别忘了修改程序里的那个,,,

使用特权

评论回复
14
sensitivity|  楼主 | 2020-7-24 20:24 | 只看该作者
如果不是很明白按照上面修改就行,后面会让您明白

使用特权

评论回复
15
sensitivity|  楼主 | 2020-7-24 20:25 | 只看该作者
这个呢就是让Keil软件帮忙生成bin文件

F:\Keil4&&MDK4.70A\ARM\ARMCC\bin\fromelf.exe   --bin -o  .\Progect\Progect.bin  ..\Progect\output\Progect.axf

F:\Keil4&&MDK4.70A\ARM\ARMCC\bin\fromelf.exe   --bin -o这个是执行的命令,就是生成bin文件,根据自己的安装路径找哈

.\Progect\Progect.bin 就是告诉他把生成的bin文件放在哪个地方

..\Progect\output\Progect.axf 这个就是自己工程编译的时候产生的.axf文件,根据自己的找到

./当前目录

../上一级目录

../../上上一级目录

使用特权

评论回复
16
sensitivity|  楼主 | 2020-7-24 20:26 | 只看该作者
关于Bin文件和Hex文件

http://blog.sina.com.cn/s/blog_6b94d5680100lo2h.html

这是我的用户程序的Hex与Bin

使用特权

评论回复
17
sensitivity|  楼主 | 2020-7-24 20:27 | 只看该作者

使用特权

评论回复
18
sensitivity|  楼主 | 2020-7-24 20:28 | 只看该作者
咱们自己设置好写到哪里了,所以前头的就不需要了,后面的校验也不需要了,,不过呢应该向他那样加上校验,数据对了再写进去!!!!

使用特权

评论回复
19
sensitivity|  楼主 | 2020-7-24 20:28 | 只看该作者
好生成了bin文件

使用特权

评论回复
20
sensitivity|  楼主 | 2020-7-24 20:29 | 只看该作者
然后

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

216

帖子

0

粉丝