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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Общие знания по Linux/ARM
RadiatoR
сообщение Mar 13 2018, 19:21
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



Всем доброго дня.
Около года назад вооружился платкой DE0-nano-SOC с cortex-a9 на борту. С тех пор при не особо резвом курении платки удалось помигать светодиодом на HPS, потестить периферию.
В процессе курения у меня вылезла куча вопросов, аля:
  1. Линукс, работа в нем, его сборка и прочее
  2. Компиляторы, линковщики и прочие утилиты которые я знаю только по названию и тому, зачем они нужны
  3. Make файлы, scatter файлы и прочие файлы, необходимые для сборки чего-либо.
  4. Процесс создания ПО на такого рода ядра (cortex-axx) в большинстве случаев выглядит как "скачиваем -> make -> заливаем бинарник на флешку -> вуаля, линукс забутился". Не совсем ясен процесс создания например чистого baremetal приложения (с помощью него я уже помигал светиком, но за основу брался GoldRef) с нуля.
  5. Заливку бинарника на флешку, файловые системы, благо более менее понял.
  6. Какое-то время назад узнал, что, например андроид можно собрать только под линуксом - непонятно почему.
Пытаясь разобраться в чем-то одном - всё начинает ссылаться друг на друга и получается туда-сюда, в голове все сразу не укладывается, да и тяжело скакать по темам.

В общем есть большая пропасть, а вместе с ней есть вопрос - есть ли какая-то общая точка входа по изучению этих вопросов (полагаю все крутится именно вокруг самого линкуса)? Или какого-то общего описания нету и придется все по кусочкам изучать?

Спасибо.
Go to the top of the page
 
+Quote Post
Jury093
сообщение Mar 13 2018, 20:56
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(RadiatoR @ Mar 13 2018, 22:21) *
В процессе курения у меня вылезла куча вопросов, аля:

https://habrahabr.ru/company/metrotek/blog/235707/
по ссылке накрываете пункты 1 и 2

3. без понятия зачем это нужно
4. тут изредка выплывают бареметалщики, видимо чего-то пилят
5. это по ссылке выше
6. а под чем же его еще собирать? и главное зачем? да, существуют коммерческие предложения сборки андроида для SoC, там основная фишка даже не видеоинтерфейс (а в SoC его просто нет), а графическая турбина + поддержка в драйвере. иначе андроид превратится просто в слайдшоу при процовой отрисовке

Цитата
Или какого-то общего описания нету и придется все по кусочкам изучать?

а там по другому и не бывает, тихо радуйтесь, если дока найдется, и просто праздник, если не стухла и подойдет..
Go to the top of the page
 
+Quote Post
RadiatoR
сообщение Mar 14 2018, 05:19
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



6. Так в том то и вопрос - почему его нельзя собрать, например в винде. Компилятор есть, что не так то...
(кстати по поводу для чего - у нас на работе для некоторых целей используется в данный момент обычный китайский планшет к которому приделан переходник SPI->CAN, так как хардварного CAN нету в проце (rockchip какой-то). Работа самого SPI осуществляется из операционки, что тормознуто. Вот и хочется сделать нормальную оболочку (драйвер) для переходника и, более того, собрать свою платформу на одной плате в нормальном корпусе, а не сопливую железяку, как сейчас).

По сути это всё вопросы общей тематики, связанные с линуксом и процесса (исторического) его создания если можно так выразиться...
Я пробовал его использовать и читал что да как (правда кроме основного набора команд консоли дело дальше не пошло - не было какой-то конкретной цели, точнее она была, но не в самом использовании оси), но в большинстве случаев описывается сам процесс использования операционки, а ее суть (внутреннее устройство) остается за кадром.

Вообще из всего этого непонятным больше всего остается даже не сама ось и работа в ней и не ее сборка, а все те makefile, scatter file и подобные + настройки среды для компиляции какого-либо кода
Go to the top of the page
 
+Quote Post
Эдди
сообщение Mar 14 2018, 05:43
Сообщение #4


Знающий
****

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



Все в линуксе понятно, есть гайды для разработчиков ядра. Единственный косяк — Линуса последнее время как будто бы терзает что-то, и он версии ядра уж совсем зачастил обновлять. Эдак психанут разработчики железа и перестанут линукс поддерживать!
Насчет ондроеда — это не совсем линукс! Там есть базовый огрызок от линуксового ядра, но подавляющая часть модулей — проприетарщина, исходных кодов которой вы не увидите. Да и сам принцип ондроеда: натянуть на нижний уровень жабу и в ней все делать — тупиковый путь, это только для игрушек годится.
Лучше вместо планшета возьмите полноценный ноутбук, куда поставьте полноценный линукс. Ондроед — удел игрушек, ничего серьезного с его помощью не сделать.
Цитата
все те makefile

Понять, как писать Makefile, можно буквально за пару дней. Читайте литературу. Но писать Makefile руками стоит лишь для всякой примитивщины. Для более сложных вещей уже руками не попишешь. То же ядро использует свою систему; кому-то нравятся тормозные автотулсы, мне лично нравится cmake, есть еще более новые системы для генерирования Makefile'ов.

Сообщение отредактировал Эдди - Mar 14 2018, 05:46
Go to the top of the page
 
+Quote Post
Jury093
сообщение Mar 14 2018, 11:48
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(RadiatoR @ Mar 14 2018, 08:19) *
6. Так в том то и вопрос - почему его нельзя собрать, например в винде. Компилятор есть, что не так то...

на мой взгляд, это нормально - с какого перепугу линуксовые проги должны собираться в чуждой операционке-конкуренте?
достаточно того, что существуют порты приложений для запуска в венде..

если уж так хочется, то существуют бесплатные/платные/краденые решения - под виндой ставиться виртуалка, в качестве гостевой любой простецкий линукс и вперед, на сборку в нативной среде..
я работал (и работаю) в обеих комбинациях - венда-линукс и линукс-венда, разницы практически нет

к вопросу о вышеупомянутом SoC, если я правильно помню, то в среде Quartus и Co под винду можно сгенерить вплоть до u-boot без всяких линуксов, т.е. ваш стендалоне вполне тоже можно сделать не погружаясь в линуксы

(чуть в сторону) если честно, я не очень понимаю тенденцию брать FPGA+ARM в одном кузове и пилить туда бареметал, делая восход солнца вручную..
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Mar 14 2018, 11:58
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Jury093 @ Mar 14 2018, 14:48) *
...под виндой ставиться виртуалка, в качестве гостевой любой простецкий линукс и вперед, на сборку в нативной среде..

16Гбайт оперативки нужно для сборки седьмого андроида. Под виртуалкой я бы не советовал
Go to the top of the page
 
+Quote Post
Jury093
сообщение Mar 14 2018, 12:29
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(aaarrr @ Mar 14 2018, 14:58) *
16Гбайт оперативки нужно для сборки седьмого андроида. Под виртуалкой я бы не советовал

16Г на текущий момент невелика цифра, доставить памяти много денег не потребуется
в свое время собирал 4.3 jelly из спортивного интереса под виртуалкой, 4Г памяти.. пару раз падало из-за выедаемой оперативки, но таки собралось, для imx6:



сборка андроида, занятие скучное и неинтересное, да и бессмысленное..
Go to the top of the page
 
+Quote Post
RadiatoR
сообщение Mar 14 2018, 13:37
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



Цитата(Jury093 @ Mar 14 2018, 14:48) *
на мой взгляд, это нормально - с какого перепугу линуксовые проги должны собираться в чуждой операционке-конкуренте?
достаточно того, что существуют порты приложений для запуска в венде..

просто не ясно что именно является препятствием...

Цитата(Jury093 @ Mar 14 2018, 14:48) *
к вопросу о вышеупомянутом SoC, если я правильно помню, то в среде Quartus и Co под винду можно сгенерить вплоть до u-boot без всяких линуксов, т.е. ваш стендалоне вполне тоже можно сделать не погружаясь в линуксы

(чуть в сторону) если честно, я не очень понимаю тенденцию брать FPGA+ARM в одном кузове и пилить туда бареметал, делая восход солнца вручную..

Так я выше написал, что на HPS сделал бареметал, но он был по голдрефу.
Не придерживаюсь какой-либо тенденции. Просто хочу изучить и ПЛИС и ARM процы и их связку. Если с ПЛИС порядком попроще и порог входа поменьше (в сети достаточно много примеров всех мастей), то с микропроцессорами обстоит дело сложнее. По крайней мере для меня, т.к. в основном работа связана только с программированием либо на микроконтроллерах (опять же из готовой, настроенной среды), либо для десктопа (утилиты для работы с девайсами на C#). Так и выходит, что процессоры никогда не затрагивал. Для саморазвития, тем более в наше время с их тотальным заполнением считаю необходимым. При этом не просто уметь скомпилить и залить что-то готовое, но и самому разобраться в недрах процесса создания ПО с 0, его граблей и прочего...

В общем я понял - начну курить про сборку + использование линукса, а там по дороге зацеплю и всякие makefile...
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Mar 14 2018, 13:44
Сообщение #9


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(RadiatoR @ Mar 14 2018, 16:37) *
просто не ясно что именно является препятствием...
Одним из препятствий является использование символических ссылок, отсутствующих в NTFS.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Mar 14 2018, 14:52
Сообщение #10


Знающий
****

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



Цитата(andrew_b @ Mar 14 2018, 16:44) *
Одним из препятствий является использование символических ссылок, отсутствующих в NTFS.

Нет, в NTFS симлинки есть (вот насчет хардлинков не скажу). Проблема не в симлинках, а в правах доступа! Точнее, даже так: проблема в том, что в линуксе нет официальной поддержки NTFS — либо readonly, либо через fuse на свой страх и риск. И не факт, что все возможности NTFS этот fuse-модуль реализует (не проверял, мне это нафиг не нужно).
Go to the top of the page
 
+Quote Post
Jury093
сообщение Mar 14 2018, 16:24
Сообщение #11


Знающий
****

Группа: Участник
Сообщений: 959
Регистрация: 11-01-06
Из: Санкт-Петербург
Пользователь №: 13 050



Цитата(RadiatoR @ Mar 14 2018, 16:37) *
просто не ясно что именно является препятствием...

неохота влезать в эти бессмысленные войны, но кто будет этим заниматься? майкрософт - ей это не нужно, чистая поддержка конкурента.. линуксоиды? а кто им даст исходники платной операционки? а под какую версию делать 7, 8, 10, 15?
как выше написали, даже поддержать NTFS венды не могут полноценно, видимо нет полноценной доки..

Цитата
Не придерживаюсь какой-либо тенденции. Просто хочу изучить и ПЛИС и ARM процы и их связку. Если с ПЛИС порядком попроще и порог входа поменьше (в сети достаточно много примеров всех мастей), то с микропроцессорами обстоит дело сложнее. По крайней мере для меня, т.к. в основном работа связана только с программированием либо на микроконтроллерах (опять же из готовой, настроенной среды), либо для десктопа (утилиты для работы с девайсами на C#). Так и выходит, что процессоры никогда не затрагивал. Для саморазвития, тем более в наше время с их тотальным заполнением считаю необходимым. При этом не просто уметь скомпилить и залить что-то готовое, но и самому разобраться в недрах процесса создания ПО с 0, его граблей и прочего...

всегда полезно почитать и поизучать, особенно если в дальнейшем пригодится..
я стараюсь получить ключевые бинарники из исходников, начиная от прелоадера и до драйвером, ну и рутовую свою сгенеренную, чоуж мелочиться..
в бареметал на SoC должен быть какой-то скрытый смысл, иначе проще взять обычную ФПГА и к ней прикруть хоть stm32, благо их дофига разных.. но сильной стороной HPS под линукс будет коммуникативные возможности (терминалы, сеть, юсб) и шустрый интерфейс с фпга
успехов в освоение!

PS у бареметал, в силу закрытости разработки, есть очевидные минусы, помимо потраченных сил - изобретение велосипедов с нуля (для поддержки стандартных протоколов и интерфейсов) и куча багов, которые в опенсорс вылавливает сообщество..
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Mar 15 2018, 04:49
Сообщение #12


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Эдди @ Mar 14 2018, 17:52) *
Нет, в NTFS симлинки есть (вот насчет хардлинков не скажу).
Одной из проблем кросс-компиляции ядра Линукса в Венде было (наверное, до сих пор и есть) как раз использование в дереве исходников ядра символических ссылок. И это не то же самое, что ссылки в NTFS.
Или нет, не ссылок, а файлов с именами в разном регистре. Не помню уже, давно, славабогу, было.

Цитата
проблема в том, что в линуксе нет официальной поддержки NTFS
При чём тут поддержка NTFS в Линуксе, если речь идёт о компиляции софта в Венде.
Go to the top of the page
 
+Quote Post
Эдди
сообщение Mar 15 2018, 05:04
Сообщение #13


Знающий
****

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



При чем здесь регистры? Это в NTFS тоже нормально работает. Единственная проблема — разные типы прав доступа. Ну как в мастдайке сделать chmod 755?
Но есть другой вариант размещения линукса на чужеродных ФС: загоняем все в архив, который на стадии загрузки разворачивается в оперативку, и в /dev/shm получаем нормальный нативный корень. Понятно, что компиляции это тоже никак не поможет.

Кстати, а зачем вообще может возникнуть мысль компилировать хоть тот же андроид из-под венды? Вы еще попробуйте игровую приставку в сервер превратить...
Go to the top of the page
 
+Quote Post
RadiatoR
сообщение Mar 15 2018, 05:23
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 270
Регистрация: 8-08-15
Из: Москва
Пользователь №: 87 901



Да нету необходимости =). Просто коллега озвучил это и мне стало интересно что такого может препятствовать.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Mar 15 2018, 05:28
Сообщение #15


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Эдди @ Mar 15 2018, 08:04) *
При чем здесь регистры? Это в NTFS тоже нормально работает.
Ну создайте в одном каталоге файлы ZZZZ и zzzz и доложите о результате.
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 - 10:24
Рейтинг@Mail.ru


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