×

USB_DFU_IAP例程移植

消耗积分:0 | 格式:pdf | 大小:272KB | 2017-04-20

diyiduohua

分享资料个

不同型号STM32的USB烧录程序移植介绍。通过USB对芯片下载程序的bootloader介绍。

USB DFU IAP 例程移植的两个话题

前言

在 STM32 的系列产品中,很多型号都带有 USB 接口,为使用 USB 来进行代码升级提供了便利。这些型号中又有很大一部分可以通过内部 System Memory 中的 Bootloader 直接进行 USB DFU 升级,具体哪些型号支持 USB DFU,可参考应用笔记 AN2606《STM32 微控制器系统存储器自举模式》。有些型号虽然有 USB,但是 System Memory 中的 Bootloader 并没有支持 USB DFU,比如 STM32F102 / STM32F103、或者 Bootloader V2.x 的 STM32F2xxx、STM32F303,等等,或者用户希望通过不同的触发方式进入 bootloader 来进行 USB 下载,比如接收一串编制好的数据来触发。那么,就要使用 USB DFU IAP 了。关于如何使用 USB DFU IAP 的简要说明,可参考另一份文档《利用 USB DFU 实现 IAP 功能》。在这里,主要要谈的是在 USB DFU IAP 例程进行移植时,需要注意的两个地方。问题一某客户在其产品的设计中,使用了 STM32L073RBT6。客户在开发过程中,使用 STM32L0Cube 库中的 STM32L073Z_EVAL 的 DFU_Standalone 进行代码移植,完成后在使用 Dfuse Demo 软件烧写用户代码时发生了错误。

调研 1.了解问题客户在开发中使用了 STM32L0Cube 库 STM32Cube_FW_L0_V1.7.0,对里边的 \Projects\STM32L073Z_EVAL\Applications\USB_Device\DFU_Standalone 例程进行修改,以应用于用户板。客户已经根据硬件上的区别,对 LED 灯和按键的 I/O 口配置做了相应的修改,并在 main.h 中使能了 USE_USB_CLKSOURCE_CRSHSI48,因为其使用 STM32L073 内部的 48MHz 振荡作为 USB 时钟源。客户编译通过后,使用 ST-Link 将其下载到 STM32L073RBT6 中。然后断开 ST-Link,使用 USB 进行连接,PC 可以认到“STM Device in DFU Mode”。打开 Dfuse Demo 软件,也可发现已经识别到 STM32L073 处于 DFU Mode。

USB_DFU_IAP例程移植

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !