Впринципе, алгоритм действий точно такой же, как и в предыдущем посте под Ubuntu

[tip]Обновил ссылку на новый ARM GCC[/tip]

Здесь приведу лишь отличия по пунктам

  1. Качаем  драйвер, распаковываем и ставим. Вместо ST-Link поставим OpenOCD  , скачиваем, распаковываем в любую папку.
  2. так же
  3. Качаем GCC ARM с https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads (справа в списке экзешник) и ставим.  отладчик qtcreator-gdb-7-7-mingw32_nt-6-1-i686 (т.к. для Qt Creator нужно, что бы он был с поддержкой питона), распаковываем в любую папку и прописываем полный путь, имя на ваше усмотрение.
  4. Путь компилятораC:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q1-update\bin\arm-none-eabi-gcc.exe (либо в ту папку, куда поставили)
  5. При добавлении выбираем OpenOCD, запуск в режиме pipe,
    исполняемый файл: прописываете полный путь до OpenOCD.exe,
    файл конфигурации ставите <full path>\openocd-0.9.0\scripts\board\stm32f3discovery.cfg  под свою плату.
  6. Также
  7. Также

Вот как -то так =)

[tip] Если вылетает при отладке, либо при её завершении, поставьте в Qt Creator -> Инструменты -> Параметры -> Отладчик -> GDB, расширенные
галку у «Использовать асинхронный режим для работы с программой»
[/tip] [tip]Если будет ошибка «Unknown remote qXfer reply: OK», то см. пункт 5.1 из статьи для Ubuntu[/tip]

P.S  Вместо OpenOCD можно использовать старую добрую st-link-utility под Windows, но она старовата и, как мне кажется, тормознута.

3 комментария

Александр 4 декабря 2017 - 0:38

Приветствую! Во-первых, спасибо за руководства, пользовался многими из них)
Сейчас пытаюсь настроить среду для работы с stm32 в QT.
Делаю все по твоим правилам, причем ставлю и на винду и на убунту, скачивал 2-3 темплейта, создавал свой qbs с помощью питон скрипта (https://github.com/ivandzen/CubeMX2QBS) , короче говоря день убил, ставил разные тулчейны, одна и та же ошибка при сборке:
c:/program files (x86)/gnu tools arm embedded/6 2017-q2-update/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld.exe: unrecognised emulation mode: fpu=fpv4-sp-d16
Supported emulations: armelf
collect2.exe: error: ld returned 1 exit status
Весь инет уже обрыл, нихера нет, мил человек, может быть ты подскажешь, что я делаю не так?)

Reply
Вадим 25 декабря 2017 - 1:13

Сам столкнулся примерно с такой ошибкой.
В QtCreator4.4.1 не работает
QtCreator 4.2 все собираеться без этой ошибки.
Пока не разбирался может какие настройки изменились.

Reply
Pavelk 7 января 2018 - 2:35

Проблема в том, что линкер вызывается ld, а должен gcc.
В qbs пропишите:
cpp.linkerMode: «manual»
cpp.linkerName: «gcc»
Если не поможет, то добавьте:
cpp.linkerPath: «//usr/bin/arm-none-eabi-gcc»
Фишка в двойном слэше в начале (если вкратце, нужно что бы qt отличал компилятор и линковщик и не совал лишних параметров типа -Wl в начале)

Reply

Leave a Comment

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.