реклама на сайте
подробности

 
 
> Написание и отладка пользовательской программы под Embedded Linux. Как стартануть?, Не могу понять, с чего начать и как сделать
transf
сообщение Apr 16 2018, 18:50
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 5-04-09
Пользователь №: 47 192



Добрый день всем.
Народ, может кто знает? Проблема такова:
Работаю под самим Linux'ом, но десктопным, на компе и безо всякой виртуалки. Нужно писать и отлаживать пользовательское ПО под встроенный Linux. Embedded Linux собран под одно из 2-х ядер, находящихся внутри чуда Zynq-7000, конкретно под плату zc706. Имеется инструмент Vivado, Xilinx SDK, но я в нем новичок. У меня опыт программирования MK с использованием RTOS, но это совсем другое, потому-что там исходники операционки и пользовательских задач собираются вместе. Также, и программировать под самой Linux на C/C++ для меня дело привычное (конкретно сейчас - работаю под Eclipse CDT в OpenSUSE). Но что такое работать под Embedded Linux - пока тайна и задача, к которой, не знаю, с какой стороны подойти. Что-то слышалось про GDB, но как настроить его и прикрутить к той же IDE Eclipse - не знаю. Помогите пожалуйста, как решить эту задачу? Еще такая же предстоит с IMX 6D (NXP), плюс еще и сборка ядра самой системы под него - а моих знаний для этого недостаточно. Расскажите пожалуйста, как победить? Подчеркну: в частности интересует работа с инструментом Eclipse (конкретно написание ПО и отладка). Заранее благодарю!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tarbal
сообщение Apr 20 2018, 01:44
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



Цитата(transf @ Apr 16 2018, 22:50) *
Еще такая же предстоит с IMX 6D (NXP), плюс еще и сборка ядра самой системы под него - а моих знаний для этого недостаточно. Расскажите пожалуйста, как победить? Подчеркну: в частности интересует работа с инструментом Eclipse (конкретно написание ПО и отладка). Заранее благодарю!


Начните с того, что у представителя NXP скачайте с сайта образ для Линукса. Насколько мне известно они Yocto используют. Это такая система, которой вы можете модифицировать конфигурацию, а потом ваш компьютер долго работает и выдает вам образ диска для установки навстроеный Линукс.

Мне джавовские IDE не нравятся (Eclipse QT creator). Я ими не пользуюсь. Это совсем не обязательно. Да и жалко тратить на их изучение время. Изучайте лучше кросскомпиляцию, git, Linux API, gdb, ddd.
На работе все пользуются QT creator, но я обхожусь vim, grep, a компилируем скриптом, дебагируем gdbgui.
Go to the top of the page
 
+Quote Post
transf
сообщение Apr 24 2018, 10:07
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 5-04-09
Пользователь №: 47 192



Цитата(juvf @ Apr 17 2018, 07:01) *
Вам нужен тулчейн. Либо сами соберайте, либо скачайте с инета готовый.

Возможно проявлю невежество: не совсем понимаю какой и как сделать

Цитата(juvf @ Apr 17 2018, 07:01) *
на таргете должен работать ssh


Он работает, еще поставлен tcf-client для работы через Xilinx SDK (входит в пакет программ Vivado, собрана на том же Eclipse). Debug в среде Xilinx SDK запускается только под Windows. Под LInux не удалось пока.


Цитата(juvf @ Apr 17 2018, 07:01) *
на десктопе в Eclipse делается проект с++, выберается Cross GCC
в свойствах проекта c/c++ build->settings->cross settings указываем префикс arm-linux-gnueabihf- и путь до папки с кросс-компиляторами.
можно собирать холловорд


Собрать под обычным Eclipse (Oxygen.3 Release (4.7.3RC3)) таким образом так и не удалось. С помощью YaST поставил несколько инструментов:
cross-armv6hl-gcc48-icecream-backend
cross-armv7hl-gcc48-icecream-backend
cross-arm-binutils

В поле Properties->Settings->CrossSettings->Prefix вбил arm-linux-gnueabinf-, с помощью grep -r искал arm-linux-gnueabi* - пока не врубился какой путь до компилятора вбить.
В общем так ничего и не заработало. Ругается что не может найти arm-linux-gnueabinf-g++ (command not found). Каким образом и какие нужно поставить компиляторы?

Помогите пожалуйста новичку настроить Eclipse.
Еще: совершенно не понимаю разницу в их версиях; Oxygen, Luna, Mars и пр. Какая для работы нужна версия? Можно с любой работать или с какой-то конкретной? При отладке C/C++ программ для десктопников, между Oxygen и Luna не увидел никакой разницы.

Цитата(juvf @ Apr 17 2018, 07:01) *
Дебаг: теоретически..... десктоп полученный бинарник закидывает на таргет, запускает на таргете gdbserver, на десктопе arm-linux-gnueabihf-gdb цепляется к тагрету и запускает отлаживаемую программу. Далее как на десктопе.


до этого пока не добрался

Цитата(juvf @ Apr 18 2018, 05:57) *
QtCreator-у ещё нужно подрасти до Eclipse.

А что касается тормознутости - так это как любое жаваприложение - старт чуть подольше, а работа без каких-либо тормозов. Тем более автор знает еклипс. В одной ИДЭ и проекты для bare metal/RTOS на МК, и проекты для Linux.

ps Раньше был плуг Qt для Eclipse, сейчас нет. Плохо.


С этим согласен. Я в Qt-Creator'е работал долго, но очень не удобная отладка, невозможно просмотреть динамические массивы (динамически выделенную память) и прочие проблемы при отладке. Eclipse намного удобнее.

Сообщение отредактировал transf - Apr 24 2018, 11:42
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th August 2025 - 22:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01386 секунд с 7
ELECTRONIX ©2004-2016