stm32使用SD卡IAP固件升级笔记

本文详细介绍了如何在STM32上使用SD卡进行IAP固件升级,包括SDIO驱动和文件系统移植、片内Flash分区、中断向量表设置、.bin文件生成以及IAP测试过程。
摘要由CSDN通过智能技术生成

        最近开发了stm32用SD卡进行IAP固件升级用的bootloader,特整理一下笔记:

        首先说一下升级原理,固件升级需要有2套程序,1套就是加载引导程序,也就是所谓的bootloader。另一套就是APP程序。

主要的难点就是bootloader程序了。下面讲解如何写基于SD卡的bootloader程序。

编写基于SD卡的固件升级bootloader,需要做一下几项工作:

  • 编写移植能驱动SD卡的SDIO驱动bsp
  • 移植能读写SD卡的文件系统
  • 对flash程序存储区进行分区
  • 移植能进行stm32的片内flash读写的驱动
  • 从SD卡加载读取APP程序,以及写flash,跳转
  • Keil编译出.bin文件

(1) SD卡SDIO驱动 && 文件系统移植

首先,要想能支持从SD卡进行固件升级,首先MCU需要能从SD卡进行读写。操作SD卡对于stm32有集成的硬件SDIO接口,然后还需要移植能读写SD卡的文件系统。说到移植SD卡的文件系统,这里有个小插曲不得不说,一开始我移植的文件系统,发现太大了,编译出来的bootloader足足有180多kB,占据了stm32的flash的半壁江山。后来对文件系统进行了裁剪后之后不到30k了。

1.1 SDIO驱动:

SDIO驱动我也是没时间自己去写,而是直接移植的官方的sdio驱动部分,里面集成了基于SDIO的读写擦操作的API接口,移植好后可以直接调用。说到SDIO驱动,我就再多

  • 5
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值