基于STM32F4,实现RT-Thread的串口OTA(Ymodem_ota的方式)

基于STM32F4,实现RT-Thread的串口OTA(Ymodem_ota的方式)

手把手教学,从零到一实现RT-Thread的Ymodem-ota



前言

前言:主要还是基于RT-Thread的文档中心(以下简述为“文档中心”:https://www.rt-thread.org/document/site/application-note/system/rtboot/an0028-rtboot/),然后自己根据实际操作实现Ymodem-ota,如果有什么疑问的,欢迎留言交流~


一、首先准备好一个可以使用Env工具的工程

直接参考:https://blog.csdn.net/Jerry_Han0/article/details/112652922。
我这里以正点原子的STM32F407ZGT6,探索者作为例子,来进行实验,用一个简单BSP例子来实现Ymodem-ota,保持RTT和原子哥的开源精神,绝对手把手实现


二、使用官方的bootloader文件

生成方式可以看一下文档中心只是特别强调一下对于F407ZGT6的相关配置
生成官网网址:Bootloader 在线获取地址: http://iot.rt-thread.com
在这里插入图片描述
在这里插入图片描述
通过上面的步骤后,将收到一个压缩包,里面包含了一个bin文件


三、下载bootloader文件

直接参考文档中心即可,我这里不再赘述,值得强调的事需要注意两点,一,注意不自己把Flash给写保护了,防止被锁;二,在烧录bootloader之前,还是将整个芯片的flash都擦除一遍吧

在这里插入图片描述


四、制作APP程序(重点)

1.APP修改连接脚本(偏移地址)

1.修改偏移地址
在这里插入图片描述
2.修改中断向量表的跳转基址
在这里插入图片描述
修改后可以直接烧录,即将代码下载到偏移地址处
3.运行APP程序
在这里插入图片描述

2.APP添加FAL

看图即可,简单易懂
1.
在这里插入图片描述
2.
在这里插入图片描述
3.
在这里插入图片描述
4.
在这里插入图片描述
5.
在这里插入图片描述
6.
在这里插入图片描述
7.如果 BSP 没有该选项,则需要手动在 board 文件夹的 Kconfig 添加下面定义,保存,然后重新进入 menuconfig 即可
在这里插入图片描述
8.
在这里插入图片描述
9.
在这里插入图片描述
10.若9有错误,说明没有执行7
在这里插入图片描述

3.定义flash分区表

修改E:\My_desktop\RT_thread_learn\rt-thread-master\bsp\stm32\stm32f407-atk-explorer\board\ports/fal_cfg.h 文件中的分区表,使分区表中 download 分区的起始地址和大小与 Bootloader 中的 download 分区一致

1.先将该文件复制到工程board\ports文件夹中(如果没有则创建文件夹ports),由于工程原本就是参考atk-explorer的BSP,因此此分区表(头文件)已经在相应的文件中

2.修改board文件夹中的SConscript文件,将上面的分区表(fal_cfg.h头文件)的路径加入即可(如:path += [cwd + ‘/ports’])

3.使用Env工具重新生成工程(scons --target=mdk5)

4.修改FAL分区表(fal_cfg.h头文件)
在这里插入图片描述

5.初始化FAL配置
在这里插入图片描述

4.APP添加OTA下载器

1.APP添加OTA下载器(这里我都选上了,最好不要选择Enable HTTP/HTTPS OTA,我们这里主要只演示使用串口Ymodem的方式来进行OTA,而且添加了有点问题,如下)
在这里插入图片描述

2.添加头文件(这一步我是参考的blibili上RTT国际哥的视频,但还是有问题,见下)
在这里插入图片描述

3.更新包并生成工程
在这里插入图片描述

4.添加了头文件还是有一个错误
在这里插入图片描述

5.使能此选项(参考的文档中心的使用,但是有大量问题,见下)
在这里插入图片描述

6.使能后,错误高达30
在这里插入图片描述

7.然后再用Env取消使能后,错误消失(之前那个缺乏头文件的故障也消失了。。很奇怪,求解)
在这里插入图片描述

5.打包新的APP到下载区

1.使用固件打包器,将新的app压缩打包(这里特别重要,一定不能够将固件名称任意填写,我就没有注意,以为可以和固件版本一样可以自定义,特别注意)
在这里插入图片描述

2.传输新app
在这里插入图片描述

3.传输成功
在这里插入图片描述

总结

应该还是比较清晰了吧,如果不够清晰的话,可以提议我重新修改文本,力求都能够接受。

最后,上面所遇到的问题,求解。。。呼叫RTT大佬们解答,非常感谢

附加源代码:
链接:https://pan.baidu.com/s/1EFn3O2Xc6bQUCSsaEy6qfA
提取码:b2pd
复制这段内容后打开百度网盘手机App,操作更方便哦

  • 6
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值