Microchip MCU
博客 网店

 STM32使用TF(SD,MMC)卡更新程序技术

介绍:
    已部署的产品中由于产品功能的升级或修复,现场升级(刷新)单片机程序不可避免,
如何更加方便完成此项工作是很多应用工程师关心的问题,在没有网络远程升级的前提下我们
能想到的方法不外乎以下几种:
 1.使用下载器+pc到现场下载程序
 2.使用bootloader(iap)功能在现场用一个usb转串口适配器+pc升级程序
 3.在产品上做一个存储卡插座,升级时将程序保存到卡内,单片机从卡读取程序后实现自我升级程序
 本资料属于stm32实现第三种自我升级程序的方法。

开发环境:
    MCU:STM32F103C8T6
    编译:Keil MDK5

技术/功能要点:
   本资料为Bootloader程序,支持板上串口(RS485)升级和TF卡两种升级方式。
   在STM32上占用FLASH存储器的前12K存储空间,上电时首先得到执行
   主要涉及的技术有以下三点:
   STM32F1 IAP技术
   FatFs文件系统应用
   HEX文件格式解析

   以下为操作方法的说明:
  上电后两秒内按下控制板按钮时进入BOOT程序,否则跳转到用户APP
  进入引导程序后可使用 RS485 (USART3) 端口与PC连接 ,PC端使用CAS-BOOT软件进行用户程序下载
  本程序使用CAS-BOOT V1版协议,CAS-BOOT软件必须为2.7或以上版本 ,通信波特率为 38400
  进入引导程序后也可通过TF卡下载程序,TF卡下载程序时将程序文件(app.hex)保存到TF卡根目录下,并再次按下按钮即可进行TF下载。
  引导程序执行时LED快速闪烁,TF卡升级程序期间LED超快速闪烁,如果升级程序成功则直执行刚下载的用户程序如果升级失败则返回引导程序状态。

  提供的测试硬件原理图文件为PDF格式;

源代码部分:


测试板:


获取资料

注意事项:
  本资料主要为了提供一种设计参考或思路,需要使用者有一定设计能力才可利用,请谨慎下载!
  本资料不提供任何形式的技术支持或咨询服务;对参考本资料设计的产品也不承担任何形式的责任.


更多资源:
ENC28J60+uIP DHCP动态获取IP及UDP广播服务端示例
C720H5上实现MODBUS远程IO
ENC28J60+uIP 基于TCP的MODBUS IO示例
ENC28J60+uIP HTTP GET方式将温度数据上传到web服务器
FM1702读写S50(也叫M1)卡相关资料
SYN480R+MCU实现遥控开关示例
单片机(AVR)普通IO口模拟UART实现Bootloader
STM8S003学习型红外软解码遥控开关
STM32通过TF卡(sd/mmc)升级程序
STM8S003学习型射频软解码遥控开关

芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved