Russian Qt Forum

Qt => Qt Embedded => Тема начата: phpCoder от Июль 28, 2016, 18:43



Название: Qt Creator и ARM Compiler 6
Отправлено: phpCoder от Июль 28, 2016, 18:43
Добрый день!
Интересует разработка программ для ARM, а точнее для МК STM32. Знаю, что можно, используя Qt Creator, писать прошивки и отлаживать их.
Это читал:
http://electronics.stackexchange.com/questions/212018/debugging-an-arm-stm32-microcontroller-using-qt-creator
http://we.easyelectronics.ru/STM32/razrabotka-dlya-stm32f4discovery-s-pomoschyu-mbed-v-qtcreator.html
http://www.bartslinger.com/cx-10-quadcopter/debugging-stm32-from-qtcreator/

Везде используется GGC ARM Toolchain. А можно прикрутить ARM Compiler 6 (https://developer.arm.com/products/software-development-tools/compilers/arm-compiler-6 (https://developer.arm.com/products/software-development-tools/compilers/arm-compiler-6))? Раз его делают армовцы, то видимо и выходной код будет качественным.

Спасибо.


Название: Re: Qt Creator и ARM Compiler 6
Отправлено: kuzulis от Июль 28, 2016, 22:25
Цитировать
А можно прикрутить ARM Compiler 6

Можно только прикрутить для компиляции, используя всякие там QBS rules; но отладку - наврятли.

Отладка только работает для GCC + нужен какой-нить сервер типа OpenOCD и прочие, которые
поддерживают GDB протокол для отладки, а также которые поддерживают целевые процессоры.

Нужно модифицировать QtCreator, или создавать плагин для ARM Compiler 6. Если есть желание - то вперед. :)

PS: GCC хватает "за глаза"


Название: Re: Qt Creator и ARM Compiler 6
Отправлено: lit-uriy от Февраль 12, 2017, 16:22
Решил попробовать написать прошивку под STM32.
и так чтоб в Creatore работать.

Насмотрелся всяких инструкций, и что-то на выхлопе нуль, т.е. никакого ELF файла не генерируется.

компиллер стоит - и GCC 5.4 и GCC 4.7

проект взят с Изиэлектроникс (на основе QBS)

Creator 4.2.x - падает при попытке компиляции
Creator 4.1.х - не пораждает никаких файлов кроме ***.bg и ***.bg.lock
Creator 3.6.1 - не показывает в дереве ни одного файла исходников и ругается на модуль CPP

Как же это дело завести? (пёс с ней с отладкой, лишь бы компилироваться начало)


Название: Re: Qt Creator и ARM Compiler 6
Отправлено: kuzulis от Февраль 12, 2017, 20:23
Я не знаю что там на изиэлектроникс, но вот этот проект на stm32f4-discovery (см. аттач) и собирался и отлаживался лично (сейчас не могу проверить, т.к. не хочу ставить OpenOCD и ARM-туллчейны).


Название: Re: Qt Creator и ARM Compiler 6
Отправлено: lit-uriy от Февраль 13, 2017, 06:39
Денис, спасибо.
А для успешной компиляции (без отладки) этого проекта какой компилер использовался, может помнишь?

.


Название: Re: Qt Creator и ARM Compiler 6
Отправлено: kuzulis от Февраль 13, 2017, 09:41
Юр, вот что помню:

1. Компилер был: gcc-arm-none-eabi-4_9-2015q3-20150921-win32.zip.

2. OpenOCD: OpenOCD-0.9.0-Win32.zip.

3. Также пробовал и утилиту ST-Link: stlink-20130324-win.zip (не помню откуда - вроде бы какой-то открытый проект).

4. GDB собирал сам, т.к. для отладки нужна поддержка питона, которой раньше не было в тулчейнах (ни в от launchpad.net, ни от linaro).
Для этого собирал вот этим мейк файлом (http://code.qt.io/cgit/qt-creator/qt-creator.git/tree/dist/gdb/Makefile.mingw). Но может сейчас это не нужно, я х.з.

UPD:Вот, еще пробовал этот проектик  (https://github.com/alekseysidorov/te-stm32f407-qbs-template)- вроде оно собиралось и даже мог отлаживать.


Название: Re: Qt Creator и ARM Compiler 6
Отправлено: lit-uriy от Февраль 13, 2017, 11:33
странно, у меня креатор 4.2.0 ругается на файл проекта
на строку:
    Group {
        Depends { name:"qbs"}

говорит, что элементы типа Group не могут содержать элементы типа Depends

более старый креатор 4.0.3 ведёт себя так же


Название: Re: Qt Creator и ARM Compiler 6
Отправлено: kuzulis от Февраль 13, 2017, 12:18
А, эту группу убрать вообще можно.


Название: Re: Qt Creator и ARM Compiler 6
Отправлено: lit-uriy от Февраль 13, 2017, 21:19
Группу закомментировал, но не компилируется (имею в наличии два компилятора 4.7 и 5.4, пробовал обоими) теперь ошибка в файле cmsis_boot\startup\startup_stm32f4xx.cpp
строка:
Код
C
extern void _eram;
компиллер говорит:
error: variable or field '_eram' declared void
и собственно я никогда не сталкивался, чтобы переменную объявляли как void, обычно указатель на него.

Вообще в этом файле компиллер нашёл тьму ошибок


------------
А пример с github-а компилируется

Попутно про него вопрос возник, а где задаётся имя файла прошивки? А то у меня гениерится ELF-файл с именем которое во вложенном QBS задано: "Aplication", как-то без расширения не привычно.


Название: Re: Qt Creator и ARM Compiler 6
Отправлено: kuzulis от Февраль 13, 2017, 23:03
Цитировать
Попутно про него вопрос возник, а где задаётся имя файла прошивки?

Просто заменить "Application" на что-то свое:

/src/src.qbs

Код:
Stm32Application {
    name: "MyCoolFirmware" // << здесь

...
...

Но IMHO, все-таки лучше Keil или IAR нету штуковин.  ::)