Allwinner Nezha: различия между версиями
Нет описания правки |
|||
Строка 33: | Строка 33: | ||
== Отладка == | == Отладка == | ||
=== Подключение к UART === | === Подключение к UART === | ||
В комплекте с платой предоставляется UART адаптер, с помощью которого можно подключиться к плате следующим образом: | В комплекте с платой предоставляется UART адаптер, с помощью которого можно подключиться к плате следующим образом: | ||
<br>Черный -> GND | <br>Черный -> GND | ||
Строка 41: | Строка 41: | ||
<code>picocom -b 115200 /dev/ttyUSB0</code> | <code>picocom -b 115200 /dev/ttyUSB0</code> | ||
== Компиляция ядра из оригинального исходного кода == | == Компиляция ядра из оригинального исходного кода == | ||
=== Получение исходного кода === | === Получение исходного кода === | ||
# Перейдите на [https://open.allwinnertech.com/ платформу обслуживания клиентов Allwinner] | # Перейдите на [https://open.allwinnertech.com/ платформу обслуживания клиентов Allwinner] и зарегистрируйтесь. | ||
# Войдите в свою учетную запись и добавьте свой публичный ключ. Для этого: <br> ##нажмите «Resource Download». | |||
# | |||
=== Компиляция === | === Компиляция === | ||
Версия от 16:27, 6 июля 2022
Allwinner Nezha — первая общедоступная плата на базе Allwinner D1 (sun20iw1p1). Официальная документация предоставлена на сайте awol
Версии платы
На данный момент существует 2 версии платы:
- D1_DEV_DDR3_16X2_V1_0
- D1_DEV_DDR3_16X2_V1_2
Информация на данной странице актуальна для V1_2.
Tina Linux
Плата поставляется с установленной на SPI Tina Linux
Процесс загрузки платы
Кратко, процесс загрузки можно описать так: bootROM -> SPL -> OpenSBI -> U-Boot -> extlinux -> Linux kernel Сразу после включения питания платы процессор получает первые команды из ПЗУ(bootROM), эти команды передают управление вторичному загрузчику SPL, находящемуся на съемном носителе (microSD).
SPL
SPL (Secondary Program Loader) является промежуточным этапом загрузки платы и служит для инициализации контроллера памяти и загрузки следующего загрузчика. В качестве SPL в Allwinner Nezha используется Boot0. Собрать из исходников и записать его на флешку можно по следующей инструкции:
git clone https://github.com/smaeul/sun20i_d1_spl -b mainline cd sun20i_d1_spl make CROSS_COMPILE=riscv64-linux-gnu- p=sun20iw1p1 mmc sudo dd if=nboot/boot0_sdcard_sun20iw1p1.bin of=/dev/sdX bs=8192 seek=1
OpenSBI + U-Boot
Зпуск Simply с ядром 5.4.61 из федоры
Для эксперимента взял образ федоры https://openkoji.iscas.ac.cn/pub/dl/riscv/Allwinner/Nezha_D1/images-release/Fedora/fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-20220104-012902.n.0-sda.raw.zst fedora-riscv64-d1-developer-xfce-rawhide-Rawhide-20220104-012902.n.0-sda.raw
Создал с помощью kpartx loop device из образа, примонтировал. Забыкапил модули ядра очистил корневой раздел, чтобы
slinux-10.0-riscv64.img.xz
Отладка
Подключение к UART
В комплекте с платой предоставляется UART адаптер, с помощью которого можно подключиться к плате следующим образом:
Черный -> GND
Зеленый -> RX
Белый -> TX
На хосте, с которого осуществляется подключение выполнить команду:
picocom -b 115200 /dev/ttyUSB0
Компиляция ядра из оригинального исходного кода
Получение исходного кода
- Перейдите на платформу обслуживания клиентов Allwinner и зарегистрируйтесь.
- Войдите в свою учетную запись и добавьте свой публичный ключ. Для этого:
##нажмите «Resource Download».