Не удается загрузить прошивку на STM32f103 с помощью загрузчика
Я пытаюсь использовать STM32F103C8T6 с загрузчиком, чтобы иметь возможность загружать код, соединяющий его порт непосредственно с портом компьютера. У меня есть адаптер USB-последовательный порт, с помощью которого я могу загрузить код на плату разработки STM32. Поэтому я прошил загрузчик STM32duino-bootloader, чтобы можно было загружать код напрямую на плату без последовательного адаптера.
Это команда, которую я использовал для прошивки прошивки:
$ ./stm32flash -w generic_boot20_pc13.bin -v -g 0x0 /dev/ttyUSB0
stm32flash Arduino_STM32_0.9
http://github.com/rogerclarkmelbourne/arduino_stm32
Using Parser : Raw BINARY
Interface serial_posix: 57600 8E1
Version : 0x22
Option 1 : 0x00
Option 2 : 0x00
Device ID : 0x0410 (Medium-density)
- RAM : 20KiB (512b reserved by bootloader)
- Flash : 128KiB (sector size: 4x1024)
- Option RAM : 16b
- System RAM : 2KiB
Write to memory
Erasing memory
Wrote and verified address 0x08005294 (100.00%) Done.
Starting execution at address 0x08000000... done.
Доказательство того, что оно правильно мелькнуло:
$ cat /dev/ttyACM0
Congratulations, you have installed the STM32duino bootloader
See https://github.com/rogerclarkmelbourne/STM32duino-bootloader
For more information about Arduino on STM32
and http://www.stm32duino.com
Проблема в том, что он не отображается как устройство DFU:
$ ./dfu-util -l
dfu-util 0.7
Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
И если я переведу его в режим вечного загрузчика, переключив перемычку на плате, теперь он отображается в dfu-util, но у него нет порта:
$ ./dfu-util -l
dfu-util 0.7
Copyright 2005-2008 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2012 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
Found DFU: [1eaf:0003] devnum=0, cfg=1, intf=0, alt=0, name="UNDEFINED"
Found DFU: [1eaf:0003] devnum=0, cfg=1, intf=0, alt=1, name="UNDEFINED"
Found DFU: [1eaf:0003] devnum=0, cfg=1, intf=0, alt=2, name="UNDEFINED"
$ cat /dev/ttyACM0
cat: /dev/ttyACM0: No such file or directory