Руководство по настройке и использованию открытого ПО
Модераторы: ea, dav, bkolbov, Alis, pip, _sva_
Руководство по настройке и использованию открытого ПО
Целью данного руководства является демонстрация одного из возможных путей организации полноценного рабочего окружения
на основе открытого ПО для взаимодействия с микроконтроллерами на базе ядра арм кортекс-M4 производства ОАО «НИИЭТ».
В данном случае для реализации среды разработки предлагается использовать:
• Qt Creator 3.4.2 – популярная и довольно мощная среда разработки на C/C++ с открытым исходным кодом,
на основе которой и будет построено рабочее окружение;
• GCC арм Embedded 4.9 – открытый компилятор для арм;
• OpenOCD – программа, необходимая для программирования и отладки,
в которую была добавлена поддержка микроконтроллеров НИИЭТ на базе ядра арм кортекс-M4.
В качестве аппаратного отладчика в примерах использовался St-Link, как один из наиболее дешевых и распространённых,
но OpenOCD также позволяет использовать и другие отладочные устройства (полная информация в официальной документации на утилиту).
Вопрос установки отладчиков в данном руководстве не поднимается – подразумевается, что драйвера на отладчик установлены и
все необходимые настройки сделаны.
Рекомендации по настройке окружения ориентированы на микроконтроллер К1921ВК01Т и 32-битную версию Windows 7, но практически все рекомендации,
за исключением этапа установки необходимых утилит, справедливы и для настройки под Linux или Mac OS, так как все использованное ПО – кроссплатформенное.
Архив с последней версией руководства и сопутствующими материалами прикреплен к сообщению.
на основе открытого ПО для взаимодействия с микроконтроллерами на базе ядра арм кортекс-M4 производства ОАО «НИИЭТ».
В данном случае для реализации среды разработки предлагается использовать:
• Qt Creator 3.4.2 – популярная и довольно мощная среда разработки на C/C++ с открытым исходным кодом,
на основе которой и будет построено рабочее окружение;
• GCC арм Embedded 4.9 – открытый компилятор для арм;
• OpenOCD – программа, необходимая для программирования и отладки,
в которую была добавлена поддержка микроконтроллеров НИИЭТ на базе ядра арм кортекс-M4.
В качестве аппаратного отладчика в примерах использовался St-Link, как один из наиболее дешевых и распространённых,
но OpenOCD также позволяет использовать и другие отладочные устройства (полная информация в официальной документации на утилиту).
Вопрос установки отладчиков в данном руководстве не поднимается – подразумевается, что драйвера на отладчик установлены и
все необходимые настройки сделаны.
Рекомендации по настройке окружения ориентированы на микроконтроллер К1921ВК01Т и 32-битную версию Windows 7, но практически все рекомендации,
за исключением этапа установки необходимых утилит, справедливы и для настройки под Linux или Mac OS, так как все использованное ПО – кроссплатформенное.
Архив с последней версией руководства и сопутствующими материалами прикреплен к сообщению.
- Вложения
-
- opensource_guide_160113.zip
- (6.33 МБ) 807 скачиваний
- Лашкевич
- Сообщения: 335
- Зарегистрирован: 13 май 2015, 13:10
- Предприятие: ООО "НПФ Вектор"
- Откуда: Москва
- Контактная информация:
Re: Руководство по настройке и использованию открытого ПО
Добрый день.
Альтернативой использованию QT Creator является использование Eclipse. Мы на фирме разрабатываем ПО на Eclipse и нам он кажется немного более удобным по сравнению с QT Creator. Мы сделали готовую сборку (http://motorcontrol.ru/production/soft/vector-ide/) Eclipse+GCC+OpenOCD+GNU арм Plugin, которая теоретически должна работать "из коробки" с JTAG эмулятором j-link или его клоном.
Более подробно написали в отдельной теме: viewtopic.php?f=37&t=491.
Предлагаем вам попробовать эту среду, и, если получится, подставить свой конфигурационный файл для St-Link и свой OpenOCD. Если заработает, можно сделать сборку еще более универсальной.
Альтернативой использованию QT Creator является использование Eclipse. Мы на фирме разрабатываем ПО на Eclipse и нам он кажется немного более удобным по сравнению с QT Creator. Мы сделали готовую сборку (http://motorcontrol.ru/production/soft/vector-ide/) Eclipse+GCC+OpenOCD+GNU арм Plugin, которая теоретически должна работать "из коробки" с JTAG эмулятором j-link или его клоном.
Более подробно написали в отдельной теме: viewtopic.php?f=37&t=491.
Предлагаем вам попробовать эту среду, и, если получится, подставить свой конфигурационный файл для St-Link и свой OpenOCD. Если заработает, можно сделать сборку еще более универсальной.
Re: Руководство по настройке и использованию открытого ПО
Здравствуйте, коллеги!
С помощью коллег установил и настроил eclipse для программирования процессора k1921vk01t. К eclipse подключил OpenOCD.
При запуске OpenOCD выдает лог, в котором мелькают сообщения ERROR.
Интересует знать что за ошибки и прояснить как их можно устранить. Вполне возможно что не установил где-то галочку в настройках.
Журнал вывода OpenOCD прилагаю.
С помощью коллег установил и настроил eclipse для программирования процессора k1921vk01t. К eclipse подключил OpenOCD.
При запуске OpenOCD выдает лог, в котором мелькают сообщения ERROR.
Интересует знать что за ошибки и прояснить как их можно устранить. Вполне возможно что не установил где-то галочку в настройках.
Журнал вывода OpenOCD прилагаю.
- Console out OpenOCD 0.10.0-dev | Показать
Re: Руководство по настройке и использованию открытого ПО
Микроконтроллер при этом программируется и отлаживается?Andrew писал(а):Здравствуйте, коллеги!
С помощью коллег установил и настроил eclipse для программирования процессора k1921vk01t. К eclipse подключил OpenOCD.
При запуске OpenOCD выдает лог, в котором мелькают сообщения ERROR.
Интересует знать что за ошибки и прояснить как их можно устранить. Вполне возможно что не установил где-то галочку в настройках.
Журнал вывода OpenOCD прилагаю.
Re: Руководство по настройке и использованию открытого ПО
Да микроконтроллер программируется.bkolbov писал(а):Микроконтроллер при этом программируется и отлаживается?Andrew писал(а): При запуске OpenOCD выдает лог, в котором мелькают сообщения ERROR.
Интересует знать что за ошибки и прояснить как их можно устранить.
Журнал вывода OpenOCD прилагаю.
Хочу узнать почему возникают ошибки. Из за чего?
При использовании платной среды, например IAR, ошибки также возникают?
При использовании Qt Creator такие же ошибки вылезут?
Если ошибки выдает openOCD тогда они должны быть во всех средах программирования.
У меня нет возможности установить IAR. Работать приходится только на свободных средах.
Для меня важно полностью разобраться с микроконтроллером. Спасибо за ответы.
Re: Руководство по настройке и использованию открытого ПО
Ошибки эти генерирует openOCD и связаны они с некоторыми ограничениями GDB. С другими средами, такими как IAR, KEIL это не связано.Andrew писал(а): Да микроконтроллер программируется.
Хочу узнать почему возникают ошибки. Из за чего?
При использовании платной среды, например IAR, ошибки также возникают?
При использовании Qt Creator такие же ошибки вылезут?
Если ошибки выдает openOCD тогда они должны быть во всех средах программирования.
У меня нет возможности установить IAR. Работать приходится только на свободных средах.
Сама ошибка является безвредной и может просто игнорироваться. Подробнее о механизме возникновения можно прочитать в прикрепленном документе - там сохраненная страница из кэша гугла с подобным вашему вопросом и подробным ответом одного из разработчиков OpenOCD.
- Вложения
-
- openocd_error.pdf
- (104.66 КБ) 361 скачивание
Re: Руководство по настройке и использованию открытого ПО
Есть проблемы при попытке сделать "по образу и подобию" для QTCreator 4.2.x
При сборке отстреливает ошибками...
С:gcc/bin/.../lib/armv7e-m/fpu/\libc_nano.a(lib_a-exit.o): In function 'exit'
Exit.c ....Undefined reference to _exit
Collect2.exe error.. ld returned 1 exit status...
Подозреваю что для более свежей кутэшки надо все все все переделывать, вот только как? - не соображу
При сборке отстреливает ошибками...
С:gcc/bin/.../lib/armv7e-m/fpu/\libc_nano.a(lib_a-exit.o): In function 'exit'
Exit.c ....Undefined reference to _exit
Collect2.exe error.. ld returned 1 exit status...
Подозреваю что для более свежей кутэшки надо все все все переделывать, вот только как? - не соображу
Re: Руководство по настройке и использованию открытого ПО
Добрый день!c2n писал(а):Есть проблемы при попытке сделать "по образу и подобию" для QTCreator 4.2.x
При сборке отстреливает ошибками...
С:gcc/bin/.../lib/armv7e-m/fpu/\libc_nano.a(lib_a-exit.o): In function 'exit'
Exit.c ....Undefined reference to _exit
Collect2.exe error.. ld returned 1 exit status...
Подозреваю что для более свежей кутэшки надо все все все переделывать, вот только как? - не соображу
Судя по логу, ошибка относится скорее к компилятору, а не к Qt.
И проблема, вероятнее всего во флагах линкера и компилятора: cpp.linkerFlags и cpp.includePaths. Пробовали флаги менять/комментировать? Версия компилятора свежая?
Re: Руководство по настройке и использованию открытого ПО
Версии компилятора - последние, самые свежие. Брал еще рекомендованную - результат тот же.
делаю по инструкции.
Версия QT-Creator 3.x.x - по ссылке из руководства - при нажатии ctrl+B - создает файлы прошивки, ошибки не отстреливает.
Версия QT-Creator 4.x.x - последняя версия с сайта - при нажатии ctrl+B - отстреливает ошибками.
Отличие при настройках для последней версии QT от "мурзилки" и что тыкалось.
1. предлагается указать компилятор для языка С и С++, тоесть раздельно. В обоих случаях указывал и g++ и с++ и cpp, и в разных комбинациях. В общем случае - ошибки при нажатии ctrl+B - схожи. То функции close, то функции exit...
2. В настройках вкладка QBS - предлагает сама вносить какие-то параметры. Методом высоконаучного тыка -пока безрезультатно, документация на буржуйском, под линукс в основном..понимания с моей стороны, так на лекциях по матану в гиганской лектории и я на галерке - тоесть нифига "не понятно".
3. Пробовал комментировать в файле QBS древа проекта разные параметры - ситуация - не меняется.
Есть предположение, что именно сами настройки компоновщика (QBS) - разные, и идеология для "bare metall" очень сильно разнятся для разных версий QT-Creator'a, и нельзя просто взять и использовать файлы предыдущих версий...
Так же пока неудачно заканчиваются попытки повторить и эти примеры:
https://habrahabr.ru/post/222877/
https://www.bartslinger.com/cx-10-quadc ... qtcreator/
http://we.easyelectronics.ru/STM32/razr ... eator.html
Впрочем остальные примеры в сети - не сильно отличаются друг от друга...
Хотел попробовать через cmake какой нибудь - но тоже не понял как... видимо я туп как дэрэво и буду баобабом
))
делаю по инструкции.
Версия QT-Creator 3.x.x - по ссылке из руководства - при нажатии ctrl+B - создает файлы прошивки, ошибки не отстреливает.
Версия QT-Creator 4.x.x - последняя версия с сайта - при нажатии ctrl+B - отстреливает ошибками.
Отличие при настройках для последней версии QT от "мурзилки" и что тыкалось.
1. предлагается указать компилятор для языка С и С++, тоесть раздельно. В обоих случаях указывал и g++ и с++ и cpp, и в разных комбинациях. В общем случае - ошибки при нажатии ctrl+B - схожи. То функции close, то функции exit...
2. В настройках вкладка QBS - предлагает сама вносить какие-то параметры. Методом высоконаучного тыка -пока безрезультатно, документация на буржуйском, под линукс в основном..понимания с моей стороны, так на лекциях по матану в гиганской лектории и я на галерке - тоесть нифига "не понятно".
3. Пробовал комментировать в файле QBS древа проекта разные параметры - ситуация - не меняется.
Есть предположение, что именно сами настройки компоновщика (QBS) - разные, и идеология для "bare metall" очень сильно разнятся для разных версий QT-Creator'a, и нельзя просто взять и использовать файлы предыдущих версий...
Так же пока неудачно заканчиваются попытки повторить и эти примеры:
https://habrahabr.ru/post/222877/
https://www.bartslinger.com/cx-10-quadc ... qtcreator/
http://we.easyelectronics.ru/STM32/razr ... eator.html
Впрочем остальные примеры в сети - не сильно отличаются друг от друга...
Хотел попробовать через cmake какой нибудь - но тоже не понял как... видимо я туп как дэрэво и буду баобабом

- еще проблемка... | Показать
Re: Руководство по настройке и использованию открытого ПО
В таком случае, это весьма возможный вариант. Как это вылечить, вам подсказать к сожалению не могу.Есть предположение, что именно сами настройки компоновщика (QBS) - разные, и идеология для "bare metall" очень сильно разнятся для разных версий QT-Creator'a, и нельзя просто взять и использовать файлы предыдущих версий...
Тут могут быть с питоном проблемы - это так, первое что пришло в голову.есть еще и второй момент - GDB -- не запускается, даже для версии по мурзилке, но это следующий этап... надо для начала хотя бы разобраться, как генерировать бинарник