Впринципе, алгоритм действий точно такой же, как и в предыдущем посте под Ubuntu
[tip]Обновил ссылку на новый ARM GCC[/tip]Здесь приведу лишь отличия по пунктам
- Качаем драйвер, распаковываем и ставим. Вместо ST-Link поставим OpenOCD , скачиваем, распаковываем в любую папку.
- так же
- Качаем GCC ARM с https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads (справа в списке экзешник) и ставим. отладчик qtcreator-gdb-7-7-mingw32_nt-6-1-i686 (т.к. для Qt Creator нужно, что бы он был с поддержкой питона), распаковываем в любую папку и прописываем полный путь, имя на ваше усмотрение.
- Путь компилятораC:\Program Files (x86)\GNU Tools ARM Embedded\6 2017-q1-update\bin\arm-none-eabi-gcc.exe (либо в ту папку, куда поставили)
- При добавлении выбираем OpenOCD, запуск в режиме pipe,
исполняемый файл: прописываете полный путь до OpenOCD.exe,
файл конфигурации ставите <full path>\openocd-0.9.0\scripts\board\stm32f3discovery.cfg под свою плату. - Также
- Также
Вот как -то так =)
[tip] Если вылетает при отладке, либо при её завершении, поставьте в Qt Creator -> Инструменты -> Параметры -> Отладчик -> GDB, расширенныегалку у «Использовать асинхронный режим для работы с программой»
[/tip] [tip]Если будет ошибка «Unknown remote qXfer reply: OK», то см. пункт 5.1 из статьи для Ubuntu[/tip]
P.S Вместо OpenOCD можно использовать старую добрую st-link-utility под Windows, но она старовата и, как мне кажется, тормознута.
3 комментария
Приветствую! Во-первых, спасибо за руководства, пользовался многими из них)
Сейчас пытаюсь настроить среду для работы с 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
Весь инет уже обрыл, нихера нет, мил человек, может быть ты подскажешь, что я делаю не так?)
Сам столкнулся примерно с такой ошибкой.
В QtCreator4.4.1 не работает
QtCreator 4.2 все собираеться без этой ошибки.
Пока не разбирался может какие настройки изменились.
Проблема в том, что линкер вызывается ld, а должен gcc.
В qbs пропишите:
cpp.linkerMode: «manual»
cpp.linkerName: «gcc»
Если не поможет, то добавьте:
cpp.linkerPath: «//usr/bin/arm-none-eabi-gcc»
Фишка в двойном слэше в начале (если вкратце, нужно что бы qt отличал компилятор и линковщик и не совал лишних параметров типа -Wl в начале)