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 進行燒錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM