STM32F103RCT6使用CubeMX移植一个BootLoader openBLT

STM32F103RCT6自己动手移植一个BootLoader—openBLT–基于XCP协议

使用的是正点原子STM32F103RCT6 mini开发板,本次仅仅记录移植过程
使用STM32CubeMX生成两个工程,一个用于移植openBLT作为boot程序,一个当做APP程序
一、使用STM32CubeMX生成boot工程
1.首先从官网下载openBLT源码
在这里插入图片描述
2.使用STM32CubeMX新建boot工程,只使用RCC及USART1,另外两个GPIO是LED灯,可以不使用

  • USART1波特率配置为57600(和官方Demo保持一致)
  • RCC可以使用内部的,也可以使用外部的
    在这里插入图片描述
    3.USART1使用LL库(和官方Demo保持一致)
    在这里插入图片描述
    4.移植openBLT源码文件到boot程序,有三个文件记得添加flash_layout.c(放到工程即可,系统自动调用)、blt_conf.h文件、cpu_comp.c,共有下图这么多文件,Source里面没有的就从DEMO里面找,可以根据需要增删通讯协议
    所有源码路径:
    \openblt_v011200\Target\Source
    \openblt_v011200\Target\Source\ARMCM3_STM32F1
    \openblt_v011200\Target\Source\ARMCM3_STM32F1\Keil
    \openblt_v011200\Target\Demo\ARMCM3_STM32F1_Nucleo_F103RB_Keil\Boot
    在这里插入图片描述
    5.Disable回调函数,此处不使用回调函数
    在这里插入图片描述
    6.注释掉LL库头文件,不使用ll_gpio库
    在这里插入图片描述
    7.修改blt_conf.h文件,改为使用串口1(官方demo使用的串口2)
    在这里插入图片描述
    8.注释掉两个未使用的函数,未使用LED灯
    在这里插入图片描述
    9.依据官方的DEMO,在main函数里面增加头文件boot.h,和初始化函数BootInit();,任务函数BootTask();
    到这里编译不报错
    在这里插入图片描述
    10.设置Boot size要和flash_layout.c保持一致
    在这里插入图片描述
    11.中断向量表偏移地址需要≥中断向量表个数*4
    在这里插入图片描述
    二、APP程序配置
    1.APP程序任务是LED闪烁
    在这里插入图片描述
    2.设置APP程序起始地址及size
    在这里插入图片描述
    3. APP程序编译生成srec文件
    fromelf --m32 --output=…\openblt_test.srec .\openblt_test\openblt_test.axf
    在这里插入图片描述
    三、设置上位机
    1.打开上位机
    在这里插入图片描述
    2.设置波特率及端口
    在这里插入图片描述
    3.此时就可以使用官方上位机下载程序,并可以成功运行
    在这里插入图片描述

完整工程详见:https://download.csdn.net/download/qq_34471936/21712881?spm=1001.2014.3001.5501

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值