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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Разработка под 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
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

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

 


RSS Текстовая версия Сейчас: 16th April 2024 - 08:43
Рейтинг@Mail.ru


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