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

 
 
 
Reply to this topicStart new topic
> Как дать имя новому устройству
Tarbal
сообщение Jan 31 2014, 14:06
Сообщение #1


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

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



В Линуксе многие вещи очевидны для тех кто с ними разобрался. Однако для остальных бывает непросто отыскать информацию.
Я хочу рассказать о том как давать имя новому устройству.

Сначала надо зрегистрировать новое устройство здесь:
http://www.arm.linux.org.uk/developer/machines/

В самом верху страницы есть две ссылки. По одной регистрация, по второй создание файла, который надо записать вместо имеющегося arch/arm/tools/mach-types

Следующим шагом постройте кернел и скопируйте генерируемый файл
include/generated/mach-types.h вместо одноименного в u-boot.

В файле борда поменяйте (если скопировали с другого борда) директиву:
MACHINE_START

Например вы взяли за основу Freescale MX53 LOCO Board. Она зарегистрирована под идентификационным номером MX53_LOCO.
Значит
MACHINE_START(MX53_LOCO, "Freescale MX53 LOCO Board")
Надо поменять на
MACHINE_START(NEW_NAME, "Freescale MX53 New_Name Board")

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

Постройте кернел и у-бут заново.
Все готово.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jan 31 2014, 14:32
Сообщение #2


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Tarbal @ Jan 31 2014, 16:06) *
В Линуксе многие вещи очевидны для тех кто с ними разобрался.


Моя машина под номером 2250.
А ваша? wink.gif
Go to the top of the page
 
+Quote Post
x893
сообщение Jan 31 2014, 16:36
Сообщение #3


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

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



А смысл ?
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Jan 31 2014, 18:34
Сообщение #4


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

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



Цитата(x893 @ Jan 31 2014, 20:36) *
А смысл ?


Никакого. Равно как и умываться по утрам и мыть ноги на ночь.
Go to the top of the page
 
+Quote Post
x893
сообщение Jan 31 2014, 18:42
Сообщение #5


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

Группа: Свой
Сообщений: 1 333
Регистрация: 27-10-08
Из: Планета Земля
Пользователь №: 41 226



sm.gif я так и понял
хотя умывание по утрам несет в себе хоть какой-то смысл (не говоря уже о мытье ног)

Сообщение отредактировал x893 - Jan 31 2014, 18:45
Go to the top of the page
 
+Quote Post
sasamy
сообщение Jan 31 2014, 19:24
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Tarbal @ Jan 31 2014, 22:34) *
Никакого. Равно как и умываться по утрам и мыть ноги на ночь.


Раньше был хоть какой-то смысл но сейчас и правда никакого - достаточно указать с каким процессором совместима машина в dts

Цитата
/include/ "imx53.dtsi"

/ {
model = "i.mx53 starterkit";
compatible = "sk,imx53-sk", "fsl,imx53";

memory {
reg = <0x70000000 0x20000000>; /* Up to 512MB */
};
...


Сообщение отредактировал sasamy - Jan 31 2014, 19:25
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Jan 31 2014, 21:05
Сообщение #7


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

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



Цитата(sasamy @ Jan 31 2014, 23:24) *
Раньше был хоть какой-то смысл но сейчас и правда никакого - достаточно указать с каким процессором совместима машина в dts


А как отличить один борд от другого?
В кернеле 3.13 для beagle все без изменений:
http://lxr.free-electrons.com/source/arch/...d-omap3beagle.c
Go to the top of the page
 
+Quote Post
sasamy
сообщение Feb 1 2014, 03:07
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Tarbal @ Feb 1 2014, 01:05) *
А как отличить один борд от другого?
В кернеле 3.13 для beagle все без изменений:


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

Сообщение отредактировал sasamy - Feb 1 2014, 03:13
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Feb 2 2014, 04:39
Сообщение #9


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

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



Цитата(sasamy @ Feb 1 2014, 06:07) *
Зачем их отличать ? Вы загружаете конфигурацию от конкретного устройства для ядра - других у него не будет, а то что вы привели это legacy - просто в техасе все еще кипятят sm.gif

Конкретное устройство это процессор или борд?
Go to the top of the page
 
+Quote Post
sasamy
сообщение Feb 2 2014, 07:25
Сообщение #10


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Tarbal @ Feb 2 2014, 08:39) *
Конкретное устройство это процессор или борд?


Конкретное устройство - это изделие на базе процессора - хоть борд, хоть планшет, хоть телепон sm.gif вот эта вот ерунда

http://lxr.free-electrons.com/source/arch/...p3beagle.c#L156

должна быть описана в DTS конкретной борды, а не в общем board-файле и тогда не надо опрашивать никакие GPIO потому что вы и так знаете для какой из них пишете DTS. Потом эта конфигурация компилируется специальным компилятором и получается бинарник который вы передаете ядру при загрузке. Производитель процессора или те кто делал порт Linux описывает общую конфигурацию SoC а вы просто включаете ее в свой DTS через include
http://lxr.free-electrons.com/source/arch/.../dts/imx53.dtsi

и дописываете только свои специфичные особенности
http://lxr.free-electrons.com/source/arch/...-mba53.dts#L154

или изменяете значения по умолчанию - например контроллер по умолчанию отключен а вы указываете чтобы он был включен
http://lxr.free-electrons.com/source/arch/...-mba53.dts#L182

глубина вложенности может быть любой - например вы для биглей можете сделать дополнительный общий инклуд
http://lxr.free-electrons.com/source/arch/...x53-tqma53.dtsi

и для конкретных борд в конечном счете в текстовом виде получатся простейшие и понятные конфигурации
http://lxr.free-electrons.com/source/arch/...imx53-mba53.dts

Сообщение отредактировал sasamy - Feb 2 2014, 07:51
Go to the top of the page
 
+Quote Post
Tarbal
сообщение Feb 2 2014, 18:05
Сообщение #11


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

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



Цитата(sasamy @ Feb 2 2014, 10:25) *
Конкретное устройство - это изделие на базе процессора - хоть борд, хоть планшет, хоть телепон sm.gif вот эта вот ерунда

http://lxr.free-electrons.com/source/arch/...p3beagle.c#L156

должна быть описана в DTS конкретной борды, а не в общем board-файле и тогда не надо опрашивать никакие GPIO потому что вы и так знаете для какой из них пишете DTS. Потом эта конфигурация компилируется специальным компилятором и получается бинарник который вы передаете ядру при загрузке. Производитель процессора или те кто делал порт Linux описывает общую конфигурацию SoC а вы просто включаете ее в свой DTS через include
http://lxr.free-electrons.com/source/arch/.../dts/imx53.dtsi

и дописываете только свои специфичные особенности
http://lxr.free-electrons.com/source/arch/...-mba53.dts#L154

или изменяете значения по умолчанию - например контроллер по умолчанию отключен а вы указываете чтобы он был включен
http://lxr.free-electrons.com/source/arch/...-mba53.dts#L182

глубина вложенности может быть любой - например вы для биглей можете сделать дополнительный общий инклуд
http://lxr.free-electrons.com/source/arch/...x53-tqma53.dtsi

и для конкретных борд в конечном счете в текстовом виде получатся простейшие и понятные конфигурации
http://lxr.free-electrons.com/source/arch/...imx53-mba53.dts


Спасибо. Мне к сожалению еще несколько месяцев не светит перейти на новую концепцию.

Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th July 2025 - 07:44
Рейтинг@Mail.ru


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