12 063
правки
(Подготовка страницы к переводу) |
(Отметить эту версию для перевода) |
||
Строка 1: | Строка 1: | ||
<languages/> | <languages/> | ||
<translate> | <translate> | ||
<!--T:1--> | |||
Device Tree -файлы описания аппаратной конфигурации. Они используются в Linux и, следовательно в Wiren Board. | Device Tree -файлы описания аппаратной конфигурации. Они используются в Linux и, следовательно в Wiren Board. | ||
Модификация Device Tree-файлов может понадобится при переназначении портов, подключении некоторых UEXT-устройств, при подключении 1-wire датчиков и т.д. | Модификация Device Tree-файлов может понадобится при переназначении портов, подключении некоторых UEXT-устройств, при подключении 1-wire датчиков и т.д. | ||
<!--T:2--> | |||
Подробнее про Device Tree: https://en.wikipedia.org/wiki/Device_tree , http://elinux.org/Device_Tree | Подробнее про Device Tree: https://en.wikipedia.org/wiki/Device_tree , http://elinux.org/Device_Tree | ||
<!--T:3--> | |||
Device Tree для Wiren Board находится в файле [https://github.com/contactless/linux/blob/v3.12-rc3-imxv5-x0.3/arch/arm/boot/dts/imx23-wirenboard28.dts imx23-wirenboard28.dts]. В нём также используется файл описания процессора, [https://github.com/contactless/linux/blob/v3.12-rc3-imxv5-x0.3/arch/arm/boot/dts/imx23.dtsi imx23.dtsi] | Device Tree для Wiren Board находится в файле [https://github.com/contactless/linux/blob/v3.12-rc3-imxv5-x0.3/arch/arm/boot/dts/imx23-wirenboard28.dts imx23-wirenboard28.dts]. В нём также используется файл описания процессора, [https://github.com/contactless/linux/blob/v3.12-rc3-imxv5-x0.3/arch/arm/boot/dts/imx23.dtsi imx23.dtsi] | ||
<!--T:4--> | |||
Файлы Device Tree бывают в текстовом формате dts, который компилируется в бинарный формат dtb | Файлы Device Tree бывают в текстовом формате dts, который компилируется в бинарный формат dtb | ||
== Загрузка == | == Загрузка == <!--T:5--> | ||
<!--T:6--> | |||
В стандартом образе Wiren Board загрузчик [[Special:MyLanguage/U-Boot|U-Boot]] считывает dtb-файл описания Device Tree и передаёт его ядру. | В стандартом образе Wiren Board загрузчик [[Special:MyLanguage/U-Boot|U-Boot]] считывает dtb-файл описания Device Tree и передаёт его ядру. | ||
Имя dtb-файла задаётся в файле [https://github.com/contactless/wirenboard/blob/master/rootfs/configs/boot/uEnv.txt /boot/uEnv.txt] : | Имя dtb-файла задаётся в файле [https://github.com/contactless/wirenboard/blob/master/rootfs/configs/boot/uEnv.txt /boot/uEnv.txt] : | ||
<!--T:7--> | |||
<pre> | <pre> | ||
#These are the default settings for some useful u-boot variables: | #These are the default settings for some useful u-boot variables: | ||
Строка 21: | Строка 27: | ||
</pre> | </pre> | ||
<!--T:8--> | |||
Файл dtb находится в /boot/dtbs/imx23-wirenboard28.dtb (для Wiren Board rev. 2.8), в /boot/dtbs/imx23-wirenboard32.dtb (для Wiren Board Smart Home rev. 3.5) | Файл dtb находится в /boot/dtbs/imx23-wirenboard28.dtb (для Wiren Board rev. 2.8), в /boot/dtbs/imx23-wirenboard32.dtb (для Wiren Board Smart Home rev. 3.5) | ||
== Пересборка == | == Пересборка == <!--T:9--> | ||
<!--T:10--> | |||
Для внесения изменений в Device Tree надо скачать Device Tree в текстовом формате, скомпилировать файл imx23-wirenboard28.dts и записать результат (imx23-wirenboard28.dtb) в /boot/dtbs/ | Для внесения изменений в Device Tree надо скачать Device Tree в текстовом формате, скомпилировать файл imx23-wirenboard28.dts и записать результат (imx23-wirenboard28.dtb) в /boot/dtbs/ | ||
<!--T:11--> | |||
Другой способ - [[Special:MyLanguage/Сборка ядра|Сборка ядра]] | Другой способ - [[Special:MyLanguage/Сборка ядра|Сборка ядра]] | ||
===Загрузка=== | ===Загрузка=== <!--T:12--> | ||
<!--T:13--> | |||
Необходимо скачать из [https://github.com/contactless/linux/tree/v3.13-imxv5-x0.1/arch/arm/boot/dts] файл imx23-wirenboardXX.dts, соответствующий версии устройства и зависимости. Зависимости на настоящий момент это файлы imx23.dtsi, skeleton.dtsi. | Необходимо скачать из [https://github.com/contactless/linux/tree/v3.13-imxv5-x0.1/arch/arm/boot/dts] файл imx23-wirenboardXX.dts, соответствующий версии устройства и зависимости. Зависимости на настоящий момент это файлы imx23.dtsi, skeleton.dtsi. | ||
<!--T:14--> | |||
Основной DTS-файл: | Основной DTS-файл: | ||
<!--T:15--> | |||
imx23-wirenboard32.dts для Wiren Board Smart Home rev. 3.5 | imx23-wirenboard32.dts для Wiren Board Smart Home rev. 3.5 | ||
<!--T:16--> | |||
imx23-wirenboard28.dts для Wiren Board rev. 2.8 | imx23-wirenboard28.dts для Wiren Board rev. 2.8 | ||
<!--T:17--> | |||
: | : | ||
<!--T:18--> | |||
<pre> | <pre> | ||
$ mkdir dts | $ mkdir dts | ||
$ cd dts | $ cd dts | ||
<!--T:19--> | |||
$ #export WB_BRANCH=v3.12-rc3-imxv5-x0.3 # для ядра 3.12 | $ #export WB_BRANCH=v3.12-rc3-imxv5-x0.3 # для ядра 3.12 | ||
$ export WB_BRANCH=v3.13-imxv5-x0.1 | $ export WB_BRANCH=v3.13-imxv5-x0.1 | ||
<!--T:20--> | |||
$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/mxs-pinfunc.h | $ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/mxs-pinfunc.h | ||
<!--T:21--> | |||
$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23-wirenboard28.dts | $ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23-wirenboard28.dts | ||
<!--T:22--> | |||
2013-11-17 04:24:28 (37.9 MB/s) - «imx23-wirenboard28.dts» сохранён [5255/5255] | 2013-11-17 04:24:28 (37.9 MB/s) - «imx23-wirenboard28.dts» сохранён [5255/5255] | ||
<!--T:23--> | |||
$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23.dtsi | $ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23.dtsi | ||
<!--T:24--> | |||
2013-11-17 04:24:33 (272 KB/s) - «imx23.dtsi» сохранён [13052/13052] | 2013-11-17 04:24:33 (272 KB/s) - «imx23.dtsi» сохранён [13052/13052] | ||
<!--T:25--> | |||
$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/skeleton.dtsi | $ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/skeleton.dtsi | ||
<!--T:26--> | |||
$ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23-pinfunc.h | $ wget https://raw.github.com/contactless/linux/$WB_BRANCH/arch/arm/boot/dts/imx23-pinfunc.h | ||
<!--T:27--> | |||
$ ls | $ ls | ||
imx23.dtsi imx23-wirenboard28.dts skeleton.dtsi | imx23.dtsi imx23-wirenboard28.dts skeleton.dtsi | ||
Строка 72: | Строка 96: | ||
<!--T:28--> | |||
</pre> | </pre> | ||
===Компилятор=== | ===Компилятор=== <!--T:29--> | ||
<!--T:30--> | |||
Компилятор Device Tree в Ubuntu и Debian находится в пакете device-tree-compiler. Установим его: | Компилятор Device Tree в Ubuntu и Debian находится в пакете device-tree-compiler. Установим его: | ||
<!--T:31--> | |||
<pre> | <pre> | ||
$ sudo apt-get install device-tree-compiler | $ sudo apt-get install device-tree-compiler | ||
Строка 84: | Строка 111: | ||
<!--T:32--> | |||
Также требуется gcc | Также требуется gcc | ||
<!--T:33--> | |||
<pre> | <pre> | ||
$ sudo apt-get install gcc | $ sudo apt-get install gcc | ||
Строка 91: | Строка 120: | ||
===Компиляция=== | ===Компиляция=== <!--T:34--> | ||
<!--T:35--> | |||
<pre> | <pre> | ||
$ gcc -E -Wp,-MD,imx23-wirenboard28.dtb.d.pre.tmp -nostdinc -I. -undef -D__DTS__ -x assembler-with-cpp -o .imx23-wirenboard28.dtb.dts.tmp imx23-wirenboard28.dts | $ gcc -E -Wp,-MD,imx23-wirenboard28.dtb.d.pre.tmp -nostdinc -I. -undef -D__DTS__ -x assembler-with-cpp -o .imx23-wirenboard28.dtb.dts.tmp imx23-wirenboard28.dts | ||
<!--T:36--> | |||
$ cat .imx23-wirenboard28.dtb.dts.tmp | grep -v "^#" | dtc -I dts -O dtb -o imx23-wirenboard28.dtb | $ cat .imx23-wirenboard28.dtb.dts.tmp | grep -v "^#" | dtc -I dts -O dtb -o imx23-wirenboard28.dtb | ||
DTC: dts->dtb on file "-" | DTC: dts->dtb on file "-" | ||
Строка 101: | Строка 132: | ||
===Установка=== | ===Установка=== <!--T:37--> | ||
<!--T:38--> | |||
Скомпилированный файл необходимо записать в /boot/dtsb. | Скомпилированный файл необходимо записать в /boot/dtsb. | ||
<b> Обязательно сделайте резервную копию существущего в /boot/dtsb файла!</b> | <b> Обязательно сделайте резервную копию существущего в /boot/dtsb файла!</b> | ||
</translate> | </translate> |
правки