|
|
Строка 1: |
Строка 1: |
| {{Stub}} | | {{Stub}} |
| Allwinner Nezha — первая общедоступная плата на базе Allwinner D1 (sun20iw1p1). Официальная документация предоставлена на сайте [https://d1.docs.aw-ol.com/ awol] | | |
| | Allwinner Nezha — первая общедоступная плата на базе [[Allwinner D1]]. Официальная документация предоставлена на сайте [https://d1.docs.aw-ol.com/ awol] |
| | |
| | Плата поддерживается [[Ports/riscv64|портом Сизифа на архитекуру riscv64]]. |
| | |
| | == Ядра и загрузчики == |
| | |
| | Загрузчик собран в пакет [https://packages.altlinux.org/en/sisyphus_riscv64/srpms/u-boot-sunxi-riscv/ u-boot-sunxi-riscv]. |
| | |
| | Ядро un-def загружается, начиная с версии 6.6. Отдельное ядро d1-un поддерживает больше перифирии, включая вывод на HDMI. |
| | |
| == Версии платы == | | == Версии платы == |
| | |
| На данный момент существует 2 версии платы: | | На данный момент существует 2 версии платы: |
| * D1_DEV_DDR3_16X2_V1_0 | | * D1_DEV_DDR3_16X2_V1_0 |
Строка 7: |
Строка 18: |
| Информация на данной странице актуальна для V1_2. | | Информация на данной странице актуальна для V1_2. |
|
| |
|
| == Tina Linux == | | == Отладка == |
| Плата поставляется с установленной на SPI Tina Linux
| |
|
| |
|
| == Процесс загрузки платы == | | === Подключение к UART === |
| Кратко, процесс загрузки можно описать так:
| |
| 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 адаптер, с помощью которого можно подключиться к плате следующим образом: | | В комплекте с платой предоставляется UART адаптер, с помощью которого можно подключиться к плате следующим образом: |
| <br>Черный -> GND | | <br>Черный -> GND |
Строка 40: |
Строка 28: |
| <br>На хосте, с которого осуществляется подключение выполнить команду: | | <br>На хосте, с которого осуществляется подключение выполнить команду: |
| <code>picocom -b 115200 /dev/ttyUSB0</code> | | <code>picocom -b 115200 /dev/ttyUSB0</code> |
|
| |
|
| |
| == Компиляция ядра из оригинального исходного кода ==
| |
| === Получение исходного кода ===
| |
| # Перейдите на [https://open.allwinnertech.com/ платформу обслуживания клиентов Allwinner] и зарегистрируйтесь.
| |
| # Войдите в свою учетную запись и добавьте свой публичный ключ.
| |
| ## Для этого перейдете в скачать -> управление ключами -> создать [[Файл:Awpubkeys.png|мини|без]]
| |
| ## В открывшейся форме укажите свой username и добавьте открытый ключ
| |
| # Загрузите скрипт загрузки SDK:
| |
| ##Замените "username" на свое и выполните следующую команду:<br><code>git clone ssh://username@sdk.allwinnertech.com/git_repo/repo</code>
| |
| ##Откройте файл ./repo/repo и замените username в следующей строке:<br><code>REPO_URL = 'ssh://voropaevdmtr@sdk.allwinnertech.com/git_repo/repo.git'</code>
| |
| #Загрузите исходный код
| |
| $ mkdir tina-d1-h
| |
| $ cd tina-d1-h
| |
| $ repo/repo init -u ssh://username@sdk.allwinnertech.com/git_repo/D1_Tina_Open/manifest.git -b master -m tina-d1-h.xml
| |
| $ repo/repo sync
| |
| $ repo/repo start product-smartx-d1-h-tina-stable-v2.0 --all # После завершения всех загрузок создайте ветку
| |
| Возможно, перед выполнением команд вам потребуется создать симлинк:
| |
| $ sudo ln -s /usr/bin/python2 /usr/bin/python
| |
|
| |
| === Компиляция ===
| |
| # Перейдите в каталог <code>./lichee/linux-5.4</code>
| |
| # Выполните следующую последовательность команд:
| |
| cp arch/riscv/configs/sun20iw1p1_d1_defconfig .config
| |
| make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv olddefconfig
| |
| make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv
| |
| make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv INSTALL_PATH=${RISCV_ROOTFS_BOOT} install
| |
| make CROSS_COMPILE=riscv64-linux-gnu- ARCH=riscv INSTALL_MOD_PATH=${RISCV_ROOTFS} modules_install
| |
| [[Категория:RISC-V]]
| |
|
| |
| == Другие поддерживаемые ОС ==
| |
| * [https://d1.docs.aw-ol.com/strong/strong_6debianbysipeed/ Debian от Sipeed]
| |
| * [https://d1.docs.aw-ol.com/strong/strong_4debian/ Debian от PerfXLab]
| |
| * [https://fedoraproject.org/wiki/Architectures/RISC-V/Allwinner/zh-cn Fedora] ([https://openkoji.iscas.ac.cn/pub/dl/riscv/Allwinner/Nezha_D1/images-release/Fedora/ скачать])
| |
| * [http://dl.slarm64.org/slackware/images/nezha/ slarm64]
| |
|
| |
| == Документация ==
| |
| * [https://www.aw-ol.com/downloads?cat=8 awol.com]
| |
| * [https://ovsienko.info/D1/ дополнительно]
| |
|
Данная страница находится в разработке. Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.
|
Allwinner Nezha — первая общедоступная плата на базе Allwinner D1. Официальная документация предоставлена на сайте awol
Плата поддерживается портом Сизифа на архитекуру riscv64.
Ядра и загрузчики
Загрузчик собран в пакет u-boot-sunxi-riscv.
Ядро un-def загружается, начиная с версии 6.6. Отдельное ядро d1-un поддерживает больше перифирии, включая вывод на HDMI.
Версии платы
На данный момент существует 2 версии платы:
- D1_DEV_DDR3_16X2_V1_0
- D1_DEV_DDR3_16X2_V1_2
Информация на данной странице актуальна для V1_2.
Отладка
Подключение к UART
В комплекте с платой предоставляется UART адаптер, с помощью которого можно подключиться к плате следующим образом:
Черный -> GND
Зеленый -> RX
Белый -> TX
На хосте, с которого осуществляется подключение выполнить команду:
picocom -b 115200 /dev/ttyUSB0