首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >STM32蓝屏USB引导加载器DFU

STM32蓝屏USB引导加载器DFU
EN

Stack Overflow用户
提问于 2020-01-12 15:06:29
回答 2查看 2.1K关注 0票数 1

我正在尝试做一个蓝色药丸STM32F103的基础项目,我可以用于多个项目。我希望既能闪存设备,又能使用mirco-USB端口使用串口发送命令。

到目前为止,我已经:

  • 成功创建了一个使用STLINK工具下载到设备上的"hello world“闪烁LED makefile项目
  • 通过串行FTDI设备创建UART命令接口
  • 将DFU引导程序闪现到芯片上,并成功地将我自己的(makefile编译的) bin闪现到设备上。

在使用DFU时,我发现一旦我将.bin闪烁到设备上,它就不再显示为USB设备。在下面链接的文章之后,我不需要修改我的项目代码的ROM地址,我在makefile项目链接器中将文件大小缩短到55k,但仍然没有成功。

USBDFU/图/ https://github.com/devanlai/dapboot/releases/tag/v0.1

我的问题:

  • 当使用DFU引导加载程序时,如果我的应用程序代码中没有写入USB堆栈,那么当我的代码运行时,它如何作为usb设备变得可见呢?
  • 我需要把跳伞移到蓝鳍上吗?我已经尝试过各种组合,但没有成功。
  • 在不编写和调试自己独特的引导加载程序的情况下,通过项目中的USB获得串行通信和引导加载程序的最佳方法是什么?
EN

回答 2

Stack Overflow用户

发布于 2020-01-13 09:20:14

因此,如果我正确理解您的问题,那么您想要闪现您的单片机板与DFU通过USB,并连接到USB串口时,它正在运行。

可以这样做,因为DFU功能是引导加载程序的一部分,USB串行端口是应用程序的一部分。

创建虚拟com端口的最简单方法是使用STM32 CubeMX USB。这里有一个视频例子。 -- CubeMX生成的源代码可以提取出来并添加到您自己的项目中。

票数 1
EN

Stack Overflow用户

发布于 2020-01-12 19:44:41

恐怕它将不再作为USB设备出现,除非您在代码中实现USB堆栈。

在不编写和调试自己独特的引导加载程序的情况下,通过项目中的USB获得串行通信和引导加载程序的最佳方法是什么?

只有一种方法-你需要在你的应用程序中有USB堆栈。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59705114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档