Ports/aarch64/u-boot-sunxi
Статья описывает прошивку плат на основе U-boot Sunxi (SoC Allwinner).
Прошивка u-boot в SPI nor-flash (на примере Orange Pi Prime)
0. Подготовка u-boot. В конфиге u-boot для платы должна при сборке быть включена поддержка загрузки с SPI Flash:
Например, в orangepi_prime_defconfig должны быть включены:
CONFIG_SPI=y
CONFIG_SPI_SUNXI=y
CONFIG_SPL_SPI_SUNXI=y
CONFIG_SPI_FLASH_MACRONIX=y
Вместо CONFIG_SPI_FLASH_MACRONIX должен быть указан конфиг, соответствующий микросхеме SPI NOR-FLASH, установленной на плате. Кроме того, интерфейс SPI должен быть описан в dtb u-boot'а.
u-boot должен иметь имя u-boot-sunxi-with-spl.bin. В дистрибутиве u-boot для плат на основе SoC Allwinner (Sunxi) собираются в rpm пакете u-boot-sunxi.
1. Установка инструмента для прошивки платы через USB-otg интерфейс платы sunxi-fel:
apt-get install sunxi-tools
2. Подключение платы:
2.1 Отключите всё от платы, включая UART.
2.2 Подключите плату к компьютеру, с установленным ПО sunxi-fel, при помощи кабеля USB (micro-USB для Orange Pi Prime).
2.3 Нажмите и не отпускайте кнопку FEL на плате (на Orange Pi Prime эта кнопка рядом с micro-USB разъёмом).
2.4 Включите питание платы
3. Проверяем, что плата определилась на компьютере:
sunxi-fel -l
USB device 001:010 Allwinner H5 82800001:94004704:5036c218:382b02cd
4. Прошиваем u-boot в SPI Flash:
sunxi-fel spiflash-write 0 u-boot-sunxi-with-spl.bin
Прошивка длится секунд 10.
5. Отключаем плату от компьютера и пробуем загружаться.
Ссылки
1. https://github.com/u-boot/u-boot/blob/master/doc/board/allwinner/sunxi.rst#installing-on-spi-flash
2. https://linux-sunxi.org/FEL