Как исправить «Невозможно открыть файл» при загрузке в STM32 в TrueStudio - PullRequest
0 голосов
/ 17 мая 2019

Я пытаюсь загрузить свою письменную программу для STM32F411RE из моей TrueStudio для STM32 IDE на саму плату.Плата подключается с помощью кабеля mini USB b, и ее цель - запрограммировать ее через SWD.

Настройка

Atollic предоставляет хорошее руководство по выполнению этого программирования с помощью TrueStudio IDE иST-Link_CLI (интерфейс командной строки), , как описано в документе по этой ссылке .Это требует следующих шагов, которые я выполнил и проверил несколько раз:

  1. Прежде всего, выходной (двоичный) файл должен быть Intel .HEX, а не TrueStudio .elf по умолчанию,Чтобы изменить это, перейдите на Project properties -> c/c++ build -> settings -> tool settings tab -> other -> Output format и отметьте опцию «Преобразовать выходные данные сборки», убедитесь, что в выпадающем списке выбран параметр Intel Hex.

    1


  2. Для вызова 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).

    2


Выход

Когда я затем вызываю эту конфигурацию внешнего инструмента через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!

3

Очевидно, что ST-Link_CLI успешно вызывается изнутри IDE, но он каким-то образом не может переварить.hex файл (внутри папки отладки) и загрузите его на плату STM32.

Даже перепрошивка совершенно нового сгенерированного проекта из CubeMX и установка указанных выше параметров (включая установку его в файл .hex) не позволят этой цепочке инструментов загрузить его на доску.


Ручное мигание кода

Мне удалось успешно загрузить файл .HEX, созданный TrueStudio, вручную загрузив его на плату STM32 с использованием графического интерфейса ST-Link, поэтому я делаюНе думаю, что проблема в самом ST-Link.Однако я не могу отладить его таким образом, так как для этого мне нужны инструменты TrueStudio IDE и, следовательно, для успешной работы требуется конфигурация внешнего инструмента.

3 4

Вместо этого я подозреваюпроблема связана с моей собственной установкой, где каким-то образом отсутствует вызов или неправильно установлена ​​опция.Возможно также, что клиенты GUI и CLI работают совершенно по-другому, позволяя одному читать и загружать файл, а другой - нет, но мне это кажется неразумным.


Однако я немного растерялся, поскольку не могу понять, почему другие могут выполнить эту работу с помощью предоставленной документации Atollic, и моя ошибка выдает эти ошибки.

Ответы [ 2 ]

1 голос
/ 17 мая 2019

Вы пытаетесь заново изобрести колесо, используя треугольник.

Все настроено в TrueStudio:

enter image description here

Просто добавьте конфигурацию отладки, и все готово.

Какие преимущества предлагает OpenOCD на данный момент

Одно важное: отладка

учитывая, сколько я уже узнал о TrueStudio?

Эти знания (как настроить внешние инструменты и т. Д.) Довольно бесполезны в 99,9999% случаев. Это только конфигурация Eclipse. Здесь не так уж и сложно.

0 голосов
/ 17 мая 2019

Что касается моего собственного кода, я не смог заставить ST-Link_CLI работать как внешний инструмент так, как я планировал, [но я смог заставить STCubeProgrammer (CLI) работать в том же самомсоответствующим образом, как я пытался сделать с ST-Link]. (http://gotland.atollic.com/resources/applicationnotes/AN1801_cubeprogrammer_in_truestudio.pdf).

Видя, как я буквально использовал ту же процедуру, что и раньше, но вместо этого указав расположение и исполняемый файл для STCubeProgrammer (а не ST-Link), я подозреваю, что проблема действительно может быть в CL-ST-Link (соединение с TrueStudio).

Теперь он успешно загружается и сразу после загрузки в среду отладки TrueStudio:)

...