Я пытаюсь загрузить свою письменную программу для STM32F411RE из моей TrueStudio для STM32 IDE на саму плату.Плата подключается с помощью кабеля mini USB b, и ее цель - запрограммировать ее через SWD.
Настройка
Atollic предоставляет хорошее руководство по выполнению этого программирования с помощью TrueStudio IDE иST-Link_CLI (интерфейс командной строки), , как описано в документе по этой ссылке .Это требует следующих шагов, которые я выполнил и проверил несколько раз:
Прежде всего, выходной (двоичный) файл должен быть Intel .HEX, а не TrueStudio .elf по умолчанию,Чтобы изменить это, перейдите на Project properties -> c/c++ build -> settings -> tool settings tab -> other -> Output format
и отметьте опцию «Преобразовать выходные данные сборки», убедитесь, что в выпадающем списке выбран параметр Intel Hex.
Для вызова ST-Link_CLI изнутри среды IDE требуется выполнить настройку внешних инструментов.Для создания этой конфигурации я перехожу на Run -> External Tools ->
External Tools Configurations ....
и создаю новую конфигурацию, назовем ее ST-Link_CLI.
Для Рабочего каталога я указываю каталог моего ST-LINK_CLI
(C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility
)
, а для Местоположения я указываю этот каталог и имя файла
(C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK
Utility\ST-LINK_CLI.exe
),
Наконец, я добавляю следующие параметры для идентификации платы STM32, чтобы она подключалась через SWD и была сброшена при перезагрузке, одновременно говоря, чтобы она загружала файл .HEX, созданный TrueStudio
(-c ID=0 SWD UR LPM -P ${project_loc}\Debug\${project_name}.hex -v
).
Выход
Когда я затем вызываю эту конфигурацию внешнего инструмента черезRun -> External Tools -> ST-Link_CLI
ссылка только что создана. Я получаю вывод, перечисленный ниже:
STM32 ST-LINK CLI v3.4.0.0
STM32 ST-LINK Command Line Interface
ST-LINK SN: 066EFF525750877267092042
ST-LINK Firmware version: V2J33M25
Connected via SWD.
SWD Frequency = 4000K.
Target voltage = 3.3 V
Connection mode: Connect Under Reset
Reset mode: Hardware reset
Debug in Low Power mode enabled
Device ID: 0x431
Device flash Size: 512 Kbytes
Device family: STM32F411xC/E
Loading file...
Unable to open file!
Очевидно, что ST-Link_CLI успешно вызывается изнутри IDE, но он каким-то образом не может переварить.hex файл (внутри папки отладки) и загрузите его на плату STM32.
Даже перепрошивка совершенно нового сгенерированного проекта из CubeMX и установка указанных выше параметров (включая установку его в файл .hex) не позволят этой цепочке инструментов загрузить его на доску.
Ручное мигание кода
Мне удалось успешно загрузить файл .HEX, созданный TrueStudio, вручную загрузив его на плату STM32 с использованием графического интерфейса ST-Link, поэтому я делаюНе думаю, что проблема в самом ST-Link.Однако я не могу отладить его таким образом, так как для этого мне нужны инструменты TrueStudio IDE и, следовательно, для успешной работы требуется конфигурация внешнего инструмента.
Вместо этого я подозреваюпроблема связана с моей собственной установкой, где каким-то образом отсутствует вызов или неправильно установлена опция.Возможно также, что клиенты GUI и CLI работают совершенно по-другому, позволяя одному читать и загружать файл, а другой - нет, но мне это кажется неразумным.
Однако я немного растерялся, поскольку не могу понять, почему другие могут выполнить эту работу с помощью предоставленной документации Atollic, и моя ошибка выдает эти ошибки.