IAP(BOOTLOADER):将OPENBLT移植至GD32F450

IAP(BOOTLOADER):将OPENBLT移植至GD32F450

因为要做台架和实车试验,用JTAG烧录程序不方便,所以想要开发一个适用于GD32芯片的bootloader。
因为使用的调试设备主要是kvaser,所以想找一个基于kvaser的CAN烧录程序。
经过大概4天的移植调试,基本完成了OPENBLT到GD32F450的移植。
看到APP程序发出的Hello world,感觉身心都得到了极大的满足。
下面将调试过程的一些问题和经验总结下来:

  • IAP DEMO
    gd32官方提供了IAP工具,可以在官方的资料库/百度云里找到。通过这个可以很好的理解IAP的作用过程,并且推荐一个B站的视频:STM32的IAP技术,基于CAN总线的STM32F103 BootLoader设计。讲解的非常全面。

  • OPENBLT
    openblt是开源的项目,基于xcp协议,Vector公司对其做了支持 ,支持kvaser工具,并且针对很多款芯片做了demo,包括stm32f4系列。在**vector 官网【更正:kvaser官网】可以下载openblt的资源xcp协议的资料**。

openblt的介绍和移植过程,有一篇知乎介绍的非常好:【BootLoader】OpenBLT 移植记录

移植过程:
(1)CAN,FLASH驱动开发(当然之前就开发过了);
(2)参考STM32F4系列的DEMO进行移植;

注意:
(1)OPENBLT提供的源码里面主要分成两部分,一部分是与具体芯片无关的协议,逻辑方面的代码,一部分是与芯片相关的代码。如图:core段的代码与芯片无关。
与芯片无关的这个部分逻辑代码最好不要修改,也无需修改。主要改的是BL文件夹中的代码,以及blt_conf.h文件。
core文件夹中的代码与芯片无关

note:

(1)#define BOOT_FLASH_VECTOR_TABLE_CS_OFFSET (0x1C0) 该代码是checksum值存放的地方,这个位置要在向量表之后的位置,所以要根据芯片的向量表算一下该存放的位置。我建议这个位置可以放在中断向量表中reservd的中断位置。
(2)static const tFlashSector flashLayout[] = 该代码需要与芯片的flash大小和分布匹配,并且要规划好boot段和app段代码的空间。

其他问题,后续一边完善一边记录吧。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值