linux下使用stm32flash对stm32进行串口烧录
在Arch/Manjaro 环境下使用stm32flash 对stm32进行串口下载
由于我们老师给我们的stm32带了一个扩展板,扩展板上带了一个CH340烧录电路,所以只能使用ISP下载。
Linux下想要直接在命令行进行串口烧录需要先下载 stm32flash
工具,Arch系可以直接从AUR仓库下载。
下载了以后直接连接电脑和板子(注意要检查你的板子有没有CH340烧录芯片,没有的话就不要看了)。然后输入lsusb
会发现已经有了一个名为 CH340 serial converter
的usb设备,但是这时候如果你输入 ls /dev
会发现找不到名为ttyUSB0
的设备文件,我们需要这个设备文件来进行烧录,如果找不到的话就无法继续进行。
这时你如果输入 desmg | grep tty
会发现下面的输出:
[1182096.667353] usb 1-9: ch341-uart converter now attached to ttyUSB0
[1182096.729868] audit: type=1130 audit(1637925474.011:3648): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=brltty-device@sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d9 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[1182096.800144] audit: type=1130 audit(1637925474.081:3649): pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=brltty@-sys-devices-pci0000:00-0000:00:14.0-usb1-1\x2d9 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
[1182096.803145] usb 1-9: usbfs: interface 0 claimed by ch341 while 'brltty' sets config #1
[1182096.803731] ch341-uart ttyUSB0: ch341-uart converter now disconnected from ttyUSB0
具体就是串口设备刚刚连接电脑就自动断开了,具体原因我也不清楚。
于是我找了好多帖子,最终在一个Manjaro论坛中找到了这篇帖子,好像是需要移除一些udev 规则才能正常工作,具体命令如下:
sudo mv /usr/lib/udev/rules.d/90-brltty-device.rules /usr/lib/udev/rules.d/90-brltty-device.rules.disabled
sudo mv /usr/lib/udev/rules.d/90-brltty-uinput.rules /usr/lib/udev/rules.d/90-brltty-uinput.rules.disabled
sudo udevadm control --reload-rules
运行后应该可以在/dev文件夹下找到名为ttyUSB0
的设备文件。
然后运行 sudo stm32flash /dev/ttyUSB0
(注意必须要获取root权限),正常应该会显示如下结果:
stm32flash 0.6
http://stm32flash.sourceforge.net/
Interface serial_posix: 57600 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0410 (STM32F10xxx Medium-density)
- RAM : Up to 20KiB (512b reserved by bootloader)
- Flash : Up to 128KiB (size first sector: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB
这样就说明成功了。
接着你可以试着通过命令 sudo stm32flash -w proj.hex /dev/ttyUSB0
进行烧录。
WELCOME TO THE MACHINE
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)