Мигает STM32f103c8t6 на неправильном адресе карты памяти
Я высветил свою синюю таблетку с помощью следующей команды OpenOCD, и тогда мой OpenOCD больше не подключается к моей плате. Мои контакты boot0 и boot1 были заземлены.
flash write_image стереть blinkled.hex
Я забыл указать типичную карту памяти init 0x08000000 в конце команды. Что только что произошло?
После этой ошибки мой OpenOCD подключается к плате только тогда, когда boot0 равен 1, а boot1 равен 0. Кто-нибудь знает, как решить проблему? Кстати, я использую Linux.
0 ответов
Вчера я собрал проект сборки на основе CMake. В CMakeLists есть команды OpenOCD для прошивки и отладки.
А именно
Мигает:
openocd -c 'source [find interface/stlink-v2.cfg]' -c 'transport select hla_swd' -c 'source [find target/stm32f1x.cfg]' -c 'program ${PROJECT_ELF_FILE} verify reset exit'
где ${PROJECT_ELF_FILE} - ваш эльфийский файл
Отладка:
Чтобы узнать больше о специфике перепрошивки платы, я бы посмотрел на stm32f1x.cfg
где приведены подробные сведения о цели, например
flash bank $_FLASHNAME stm32f1x 0x08000000 0 0 0 $_TARGETNAME