Инструменты пользователя

Инструменты сайта


orange_pi_one

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
orange_pi_one [2017/08/09 15:24]
reug [Сборка ядра]
orange_pi_one [2017/09/03 22:17] (текущий)
reug [Установка ARM Toolchain и настройка окружения]
Строка 3: Строка 3:
 ===== Ссылки ===== ===== Ссылки =====
  
 +  * sunxi: video: Add video driver for H3 SoC (https://​patchwork.ozlabs.org/​patch/​705339/​)
 +  * Видео в U-Boot (https://​forum.armbian.com/​index.php?/​topic/​2864-h2h3h5a64-disp2-u-boot-video-driver/&​page=4)
   * http://​orangepi.pp.ua/​index.php/​topic,​406.15.html?​PHPSESSID=32008a926e97c20dd94bbaa03a46789d   * http://​orangepi.pp.ua/​index.php/​topic,​406.15.html?​PHPSESSID=32008a926e97c20dd94bbaa03a46789d
   * https://​wiki.alpinelinux.org/​wiki/​DIY_Fully_working_Alpine_Linux_for_Allwinner_and_Other_ARM_SOCs   * https://​wiki.alpinelinux.org/​wiki/​DIY_Fully_working_Alpine_Linux_for_Allwinner_and_Other_ARM_SOCs
Строка 41: Строка 43:
 <code bash> <code bash>
 ln -s gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf /​opt/​gcc-linaro ln -s gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf /​opt/​gcc-linaro
 +</​code>​
 +
 +Примечание:​ данная сборка имеет множество повторяющихся файлов. Данный скрипт освободит 137 Мбайт.
 +Запускать из каталога gcc-linaro.
 +<​code>​
 +cd bin
 +
 +rm arm-linux-gnueabihf-c++
 +ln -s arm-linux-gnueabihf-g++ arm-linux-gnueabihf-c++
 +rm arm-linux-gnueabihf-gcc
 +ln -s arm-linux-gnueabihf-gcc-6.3.1 arm-linux-gnueabihf-gcc
 +rm arm-linux-gnueabihf-ld
 +ln -s arm-linux-gnueabihf-ld.bfd arm-linux-gnueabihf-ld
 +
 +cd ..
 +
 +cd arm-linux-gnueabihf
 +
 +rm -r lib
 +ln -s libc/lib lib
 +
 +rm bin/*
 +for t in ar as ld ld.bfd ld.gold nm objcopy objdump ranlib readelf strip
 +do
 +ln -s ../​../​bin/​arm-linux-gnueabihf-$t bin/$t
 +done
 +
 +rm libc/​usr/​libexec/​getconf/​*
 +for t in POSIX_V6_ILP32_OFF32 POSIX_V6_ILP32_OFFBIG POSIX_V7_ILP32_OFF32 POSIX_V7_ILP32_OFFBIG ​ XBS5_ILP32_OFF32 XBS5_ILP32_OFFBIG
 +do
 +ln -s ../​../​bin/​getconf libc/​usr/​libexec/​getconf/​$t
 +done
 +
 +cd ..
 +
 +cd share/​man/​man1
 +rm arm-linux-gnueabihf-g++.1
 +ln -s arm-linux-gnueabihf-gcc.1 arm-linux-gnueabihf-g++.1
 </​code>​ </​code>​
  
Строка 127: Строка 167:
  
 Имеется еще один патч https://​patchwork.kernel.org/​patch/​9390817/,​ который может будет полезен для других плат на базе Allwinner H3. Имеется еще один патч https://​patchwork.kernel.org/​patch/​9390817/,​ который может будет полезен для других плат на базе Allwinner H3.
 +
 +Включаем встроенные в SoC UART1 и UART2 при необходимости (аналогично с UART3). Для этого в файле
 +''​arch/​arm/​boot/​dts/​sun8i-h3-orangepi-one.dts''​ в секциях настройки ''&​uart1''​ и ''&​uart2''​ исправляем ''​status''​ с ''​disabled''​ на ''​okay'':​
 +<​code>​
 +&uart1 {
 + pinctrl-names = "​default";​
 + pinctrl-0 = <&​uart1_pins>;​
 + status = "​okay";​
 +};
 +
 +&uart2 {
 + pinctrl-names = "​default";​
 + pinctrl-0 = <&​uart2_pins>;​
 + status = "​okay";​
 +};
 +</​code>​
 +После загрузки системы данные порты будут видны как ''/​dev/​ttyS1''​ и ''/​dev/​ttyS2''​ соответственно.
 +Порт UART0 ''/​dev/​ttyS0''​ - консоль управления,​ выводы которой (GND,TX,RX) выведены на плате отдельно около разъема RJ-45. Расположение выводов UART1 и UART2 см. на схеме ниже.
 +Описание конкретных выводов для портов указано в файле ''​arch/​arm/​boot/​dts/​sunxi-h3-h5.dtsi'',​ который должен помочь на случай необходимости использования RTS/CTS.
  
 Выбираем базовый конфигурационный файл для сборки ядра: Выбираем базовый конфигурационный файл для сборки ядра:
Строка 138: Строка 197:
 make menuconfig make menuconfig
 </​code>​ </​code>​
 +
 +Отключаем поддержку initramfs:
 +  - ''​General setup''​ ---> ''​Initial RAM filesystem and RAM disk (initramfs/​initrd) support''​ убираем.
  
 Выбираем поддержку framebuffer:​ Выбираем поддержку framebuffer:​
Строка 151: Строка 213:
 <​code>​ <​code>​
 [*] OTG support [*] OTG support
 +<M> USB Modem (CDC ACM) support
 <*> USB Mass Storage support <*> USB Mass Storage support
 <*> USB Serial Converter support ---> <*> USB Serial Converter support --->
Строка 187: Строка 250:
 #Copying #Copying
 cp -R linux/​arch/​arm/​boot/​zImage ArchARM/​boot/​ cp -R linux/​arch/​arm/​boot/​zImage ArchARM/​boot/​
-cp -R linux/​arch/​arm/​boot/​dts/​* ArchARM/​boot/​dtbs/​+cp -R linux/​arch/​arm/​boot/​dts/​sun8i-h3*.dtb ArchARM/​boot/​dtbs/​
 cp -R linux/​output/​lib/​ ArchARM/​usr/​ cp -R linux/​output/​lib/​ ArchARM/​usr/​
 cp -R linux/​output/​usr/​ ArchARM/ cp -R linux/​output/​usr/​ ArchARM/
Строка 363: Строка 426:
 localepurge localepurge
 </​code>​ </​code>​
 +
 +====== Настройка параметров и работа с GPIO ======
 +
 +===== Управление светодиодами =====
 +
 +Установить пакет ''​sunxi-tools''​.
 +
 +Включение и выключение светодиода "​Status"​ (от рута):
 +<code bash>
 +sunxi-pio -m PA15=1
 +sunxi-pio -m PA15=0
 +</​code>​
 +
 +===== Расположение выводов GPIO =====
 +
 +{{orangepi-h3_gpio_pinout.png}}
 +
 +
 +
 +
 +
 +
  
  
orange_pi_one.1502281479.txt.gz · Последние изменения: 2017/08/09 15:24 — reug