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

 
 
> Разработка под ARM
k000858
сообщение Sep 29 2017, 05:10
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Предстоит осваивать Linux-устройства. Для "попробовать" заказана Малина (позже переориентируемся под более удобные процессоры). Интересует с помощью каких средств разрабатывается ПО под старшие системы? Как происходит отладка?

Сейчас работаю под Eclipse + GNU для разработки под STM32. Тут все просто: скомпилил, тут же залил, включил отладчик либо вывод SWO.

А как это делается под MPU? Устройства в основном будут с ethrnet интерфейсом.

Сообщение отредактировал k000858 - Sep 29 2017, 05:12
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 25)
jcxz
сообщение Sep 29 2017, 05:48
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(k000858 @ Sep 29 2017, 12:10) *
А как это делается под MPU? Устройства в основном будут с ethrnet интерфейсом.

MPU есть и в STM32. Попробуйте - понравится rolleyes.gif
Go to the top of the page
 
+Quote Post
k000858
сообщение Sep 29 2017, 05:55
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(jcxz @ Sep 29 2017, 09:48) *
MPU есть и в STM32. Попробуйте - понравится rolleyes.gif

Я имел ввиду микропроцессоры
Go to the top of the page
 
+Quote Post
Obam
сообщение Sep 29 2017, 07:53
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Включил, загрузился - обычная Линукс-машина. Как люди под dos\windows писали\пишут, так и тут. Не?


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
Gleb80
сообщение Sep 29 2017, 08:10
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470



Цитата(k000858 @ Sep 29 2017, 08:10) *
Сейчас работаю под Eclipse + GNU для разработки под STM32. Тут все просто: скомпилил, тут же залил, включил отладчик либо вывод SWO.
А как это делается под MPU? Устройства в основном будут с ethrnet интерфейсом.


C Linux будет почти также. Можно воспользоваться ARM DS-5, там и Eclipse и GNU-toolchain
http://www.compel.ru/wordpress/wp-content/.../02/DS5_NEW.pdf
Go to the top of the page
 
+Quote Post
k000858
сообщение Sep 29 2017, 08:40
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(Gleb80 @ Sep 29 2017, 12:10) *
C Linux будет почти также. Можно воспользоваться ARM DS-5, там и Eclipse и GNU-toolchain
http://www.compel.ru/wordpress/wp-content/.../02/DS5_NEW.pdf

сходу не нашел, насколько она платна/бесплатна?

все нашел. много ка евро. вариант, не совсем подходящий (на данном этапе).

Есть какие то альтернативы?
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 29 2017, 08:40
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Gleb80 @ Sep 29 2017, 11:10) *
C Linux будет почти также. Можно воспользоваться ARM DS-5, там и Eclipse и GNU-toolchain
http://www.compel.ru/wordpress/wp-content/.../02/DS5_NEW.pdf

Я так понимаю, такие штуки нужны для разработки загрузчиков, драйверов и тому подобного. Для отладки юзерспейса используют gdb, если не ошибаюсь.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Sep 29 2017, 09:29
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Абсолютно так же, как и на "обычном" компьютере. Лично я пользуюсь printf и логгированием в файл.
Go to the top of the page
 
+Quote Post
k000858
сообщение Sep 29 2017, 09:42
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



спасибо за ответы. интересует более детальное описание процесса разработки.

я вижу это так: есть плата с процессором, памятью и флэш (на отладочной наверное SD, на готовом устройстве нанд какая нибудь). На флэш заливается загрузчик (юбут какойнибудь) и образ ОС.

Сам этот образ ОС собирается программистом в среде разработки или испод десктоопной ОС Линукс.
Предварительно перед сборкой программист пишет драйвера (BSP периферии), некие функции (приложения). BSP процессора, памяти и флэш уже включены в OS от производителя.

После загрузки образа на флэш происходит загрузка ПО устройства в память (включение и запуск устройства). При этом программист контролирует выполнение программы с помощью JTAG отладчика + gdb компилятора либо консоли подключенной по IP.

Поправьте в чем я ошибаюсь.
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 29 2017, 09:48
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(k000858 @ Sep 29 2017, 12:42) *
Поправьте в чем я ошибаюсь.

Берёте платку с уже готовой осью. Остаётся только добавить своё приложение. Всё.
Go to the top of the page
 
+Quote Post
k000858
сообщение Sep 29 2017, 09:54
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



Цитата(scifi @ Sep 29 2017, 13:48) *
Берёте платку с уже готовой осью. Остаётся только добавить своё приложение. Всё.

ну это на этапе "пощупать".

В последствии будут свои платы со своей периферией под разные задачи. Соответственно программить необходимо будет начиная драйверами заканчивая "приложениями".
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 29 2017, 10:09
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(k000858 @ Sep 29 2017, 12:54) *
В последствии будут свои платы со своей периферией под разные задачи. Соответственно программить необходимо будет начиная драйверами заканчивая "приложениями".

Я этими вещами не занимался, но складывается ощущение, что раз вы задаёте такие вопросы, то лучше вам туда не соваться. Пытаетесь прыгать выше головы.
Go to the top of the page
 
+Quote Post
Gleb80
сообщение Sep 29 2017, 10:13
Сообщение #13


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 25-09-08
Из: Москва
Пользователь №: 40 470



Цитата(k000858 @ Sep 29 2017, 12:42) *
спасибо за ответы. интересует более детальное описание процесса разработки.
я вижу это так: есть плата с процессором, памятью и флэш (на отладочной наверное SD, на готовом устройстве нанд какая нибудь). На флэш заливается загрузчик (юбут какойнибудь) и образ ОС.
Сам этот образ ОС собирается программистом в среде разработки или испод десктоопной ОС Линукс.
Предварительно перед сборкой программист пишет драйвера (BSP периферии), некие функции (приложения). BSP процессора, памяти и флэш уже включены в OS от производителя.
После загрузки образа на флэш происходит загрузка ПО устройства в память (включение и запуск устройства). При этом программист контролирует выполнение программы с помощью JTAG отладчика + gdb компилятора либо консоли подключенной по IP.
Поправьте в чем я ошибаюсь.


В целом все так, но как известно, дьявол кроется в деталях, а их очень много и продираясь сквозь них многие разработчики проклинают Linux и отказываются от него навсегда sm.gif
Есть несколько открытых проектов, занимающихся средствами разработки для Embedded Linux, например Yocto:
https://www.yoctoproject.org/
https://www.yoctoproject.org/product/angstrom-distribution
они значительно облегчают жизнь начинающему микроконтроллерному линуксоиду (например мне sm.gif ).
Поэтому я согласен с scifi, лучше взять готовый проект, максимально похожий на ваш и его прогрызать, приготовившись пролить много горьких слез и провести длинные бессонные ночи sm.gif
Еще вот тут много чего на эту тему: https://rocketboards.org/
Go to the top of the page
 
+Quote Post
Эдди
сообщение Sep 29 2017, 22:04
Сообщение #14


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Я извиняюсь, но если разработчик "проклинает линукс", то это не разработчик никакой! Потому как линукс и мастдайка — небо и земля! Особенно если под железо что-то пишешь. Линукс — нормальная операционная система, а мастдайка — так, пускалка игрушек.

Из личного опыта сразу советую автору прикупить (если еще нет) дешевый преобразователь UST<->TTL (например, на PL2303, они где-то по полбакса на али), подключить его к Rx/Tx "малинки" и иметь таким образом нормальный терминал — очень помогает при первичной настройке, чтобы не тянуть дополнительную клавиатуру и монитор. А уж как сеть настроена, запускаем ssh и работаем через него. Вот только, учитывая тормознутость армов, лучше отлаживать софт на компьютере (#define'ами поотключав всякие wiringPi и т.п. архитектурно-зависимые штуки), а уж как точно проверено, что собирается нормально и багов нет, компилировать на одноплатнике.

В принципе, если не нужно в реальном времени видео обрабатывать, и нет нагрузки больше пары-тройки клиентов, даже самая простая "малинка" подойдет для разработки. Собрать простую веб-морду и радоваться... Я последнее время люблю вебсокеты использовать, но и REST можно. Пример простой веб-морды (видео пришлось по-старинке jpeg'ами гнать, т.к. все остальное было слишком медленно, а ничего приличного для работы с рилтаймовым потоком в браузере до сих пор не придумали).

И да, если не планируется одноплатник к монитору подрубать, лучше сразу выпилить иксы и прочую ненужную гадость, связанную с ними.

Сообщение отредактировал Эдди - Sep 29 2017, 22:05
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 30 2017, 10:34
Сообщение #15


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



k000858,
Вы же уже с Eclipse работаете!
Так и продолжайте.
В eclipse есть все необходимые плагины для удаленной отладки.

Вот примеры как для малины используют
http://cxemotexnika.org/2016/10/programmir...se-pod-windows/
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Sep 30 2017, 15:43
Сообщение #16


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(KRS @ Sep 30 2017, 15:34) *
k000858,
Вы же уже с Eclipse работаете!
Так и продолжайте.
В eclipse есть все необходимые плагины для удаленной отладки.

Вот примеры как для малины используют
http://cxemotexnika.org/2016/10/programmir...se-pod-windows/


На мой взгляд прекрасным инструментом разработки является фреймворк Qt, существует немало руководств по организации кросс компиляции Qt дл RPi. Правда ни по одному из них мне не удалось довести дело до конца.
Несколько лет назад делал проект для платы SK-ATSAMA5D3, впечатления самые положительные. С запуском кросс компиляции для этой платы проблем не возникло.
Если сможете запустить кросскомпиляцию Qt для RPi3 - потом расскажете.. biggrin.gif

Сообщение отредактировал nanorobot - Sep 30 2017, 15:45
Go to the top of the page
 
+Quote Post
Эдди
сообщение Sep 30 2017, 16:23
Сообщение #17


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Культям на одноплатнике стопроцентно нет никакого места! Зачем эта жирная неповоротливая гадость на и без того еле лапами шевелющем чипе?
Go to the top of the page
 
+Quote Post
nanorobot
сообщение Sep 30 2017, 16:46
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Цитата(Эдди @ Sep 30 2017, 21:23) *
Культям на одноплатнике стопроцентно нет никакого места! Зачем эта жирная неповоротливая гадость на и без того еле лапами шевелющем чипе?

Несколько безапеляционно.. В чем принципиаиальное отличие Qt от(от чего? Вы то что предлагаете?) "простого" C++? Что его так "утяжелило" ? Библиотеки? Механизм сигналы/слоты? или что то другое?
Так вы вольны их не использовать.
Коли уж на то пошло то и линукс долой с одноплатников. Bare Metal наше все!

PS: Или Вы решили , что я предлагаю QT Creator установить на одноплатник? Речь была о кросс компиляции.

Сообщение отредактировал nanorobot - Sep 30 2017, 17:38
Go to the top of the page
 
+Quote Post
Fedor
сообщение Sep 30 2017, 17:40
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 26-10-05
Пользователь №: 10 125



Цитата(k000858 @ Sep 29 2017, 10:10) *
Предстоит осваивать Linux-устройства. Для "попробовать" заказана Малина (позже переориентируемся под более удобные процессоры). Интересует с помощью каких средств разрабатывается ПО под старшие системы? Как происходит отладка?

Сейчас работаю под Eclipse + GNU для разработки под STM32. Тут все просто: скомпилил, тут же залил, включил отладчик либо вывод SWO.

А как это делается под MPU? Устройства в основном будут с ethrnet интерфейсом.


Есть линукс для stm32 смотрите в сторону uclinux, и при чем здесь MPU возможно вы перепутали с MMU? Вам правильно ответили, смортите в сторону yocto это сейчас мейнстрим. Суть процесса разработки под АРМ , качаем и правим u-boot далее разбираемся с ядром линукс ,
а это сборка + devicetree пад вашу платформу. Для начала лучше действительно разобраться с действующей платформой типа "малинки",.. вобщем мой совет сначала разобраться во всем в "разобранном" виде. Это в смысле собрать свой u-boot и ядро,
а потом освоить как формируются рецепты и как добавить свои программы в rootfs вашей сборки.
Обычно для каждой плаформы имеется guide как собрать правильный образ в yocto.. лучше просмотреть несколько, для разных типов платформ, тогда будет более понятно что такое слой (layer) и что такое yocto вообще. И как только команды devtool и bitbake
будут для вас "родными" вы сможете разобраться как устроить отладку и деплой вашего приложения.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Sep 30 2017, 18:37
Сообщение #20


Знающий
****

Группа: Участник
Сообщений: 825
Регистрация: 16-04-15
Из: КЧР, Нижний Архыз
Пользователь №: 86 250



Цитата(nanorobot @ Sep 30 2017, 19:46) *
В чем принципиаиальное отличие Qt от(от чего? Вы то что предлагаете?) "простого" C++?

C++ я тоже считаю избыточным. Но это просто ЯП. А вот культяпки... Бешеная жирнючая библиотека с переизбытком всяких лишних совершенно ненужных вещей.
Цитата
Коли уж на то пошло то и линукс долой с одноплатников. Bare Metal наше все!

С линуксом там как раз все ОК, очень удобно работать: меньше ненужных телодвижений. Правда, возникает проблема с доступом к низкоуровщине: кое-что до сих пор по-человечески не сделано, приходится suid-биты выставлять на исполняемые файлы..
Цитата
PS: Или Вы решили , что я предлагаю QT Creator установить на одноплатник? Речь была о кросс компиляции.

Ну и кросс-компиляйте себе на нормальных сях, а не этом ублюдстве! Вы еще буст туда добавьте для радостей жизни!

И да, что-то мне подсказывает, что ТС вообще "пороху не нюхал" и лучше бы ему снести нафиг все эти вендозы с компьютера и научиться работать в линуксе. Года 3, думаю, хватит. А потом уже можно на напаханном поле...

Сообщение отредактировал Эдди - Sep 30 2017, 18:38
Go to the top of the page
 
+Quote Post
alexunder
сообщение Oct 1 2017, 11:41
Сообщение #21


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Если "малина" 3, то ставьте Windows 10 for IoT - удобнейшая вещь. С MSVS2015 (community edition бесплатная) поднимите разработку качественных и эффективных программ.


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 1 2017, 18:03
Сообщение #22


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(alexunder @ Oct 1 2017, 14:41) *
Если "малина" 3, то ставьте Windows 10 for IoT - удобнейшая вещь. С MSVS2015 (community edition бесплатная) поднимите разработку качественных и эффективных программ.


И что там такого можно крутого-эффективного сделать??
Граф. интерфейса там нет насколько помню, всяческие свистоперделки с эзернетом - так это лучше линукс, а qt в основном берут для создания граф. приложений, т.к. под линуксом работать с графикой -это что-то с чем-то...
Go to the top of the page
 
+Quote Post
alexunder
сообщение Oct 1 2017, 21:40
Сообщение #23


unexpected token
****

Группа: Свой
Сообщений: 899
Регистрация: 31-08-06
Из: Мехелен, Брюссель
Пользователь №: 19 987



Цитата(mantech @ Oct 1 2017, 20:03) *
И что там такого можно крутого-эффективного сделать??

Легче поднять GUI-приложение имхо.

Цитата(mantech @ Oct 1 2017, 20:03) *
Граф. интерфейса там нет насколько помню

wpf


--------------------
А у тебя SQUID, и значит, мы умрем.
Go to the top of the page
 
+Quote Post
k000858
сообщение Oct 2 2017, 04:17
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 319
Регистрация: 31-01-12
Пользователь №: 69 978



благодарю всех за ответы. далее только практика)
графических приложений на устройствах не ожидается, это в основном интерфейсные и сетевые устройства будут, поэтому все же остановлюсь на варианте с эклипс.
Go to the top of the page
 
+Quote Post
scifi
сообщение Oct 2 2017, 07:43
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Эклипс-то здесь при чём? Банальный текстовый редактор. Это будет наименьшая из проблем.
Go to the top of the page
 
+Quote Post
mantech
сообщение Oct 2 2017, 16:00
Сообщение #26


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(alexunder @ Oct 2 2017, 00:40) *
Легче поднять GUI-приложение имхо.


wpf


Как бы пишут так:
"
Все, что относится к графике уже год в таком статусе:
«is not currently supported, as it requires GPU services that are not currently available on the Raspberry Pi because the DirectX driver has not been implemented»
UI (читай WPF) через программную эмуляцию там все же есть и работает, но пользоваться им толко нельзя, потому и остаются только безголовые решения или с веб-интефейсом управления. Ждем выхода Pi 3 (или сразу 8?), может тогда что-то по софту изменится и можно будет хоть медиа-плееры или центры видеонаблюдения делать."
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:38
Рейтинг@Mail.ru


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