我正在尝试为蓝色药丸 STM32F103 制作一个可用于多个项目的基础项目。我希望能够使用 mirco-USB 端口刷新设备并使用串行 COM 端口发送命令
到目前为止,我有:
- 使用 STLINK 工具成功创建了一个基于“hello world”闪烁 LED 生成文件的项目下载到设备
- 创建 UART 命令接口以通过串行 FTDI 设备进行命令
- 将 DFU 引导加载程序刷到芯片上,并成功使用它将我自己的(makefile 编译)bin 刷到设备上
使用 DFU 时,我发现将 .bin 刷入设备后,它不再显示为 USB 设备。按照下面链接的文章,我不需要修改我的项目代码的ROM地址,我在我的makefile项目链接器中将文件大小缩短到55k,但仍然没有成功
https://os.mbed.com/users/devanlai/code/STM32F103C8T6_USBDFU/graph/ https://github.com/devanlai/dapboot/releases/tag/v0.1
我的问题:
- 使用 DFU 引导加载程序时,一旦我的代码运行,如果我的应用程序代码中没有写入 USB 堆栈,它应该如何作为 USB 设备可见?
- 我需要移动 bluepill 上的跳线吗?我已经尝试了各种组合但没有成功
- 在我的项目中通过 USB 获得串行通信和引导加载程序而不编写和调试我自己独特的引导加载程序的最佳方法是什么?