Rockpi4/dev/spi-install/pt BR
ROCK Pi 4 > Development > Write image to SPI flash from USB OTG port
O ROCK Pi suporta o modo maskrom, que é um modo de execução especial que a CPU está esperando pelo comando da porta USB OTG. A ferramenta PC que usamos para se comunicar com o ROCK Pi no modo maskrom é a ferramenta rkdevelop, uma ferramenta de código aberto da Rockchip.
Contents
Requisitos
- ROCK Pi 4 mainboard
- SPI flash soldado no ROCK Pi 4
- Adaptador de energia
- USB Macho A para um cabo A macho(importante) Se o USB-C não funcionar, um adaptador para USB-C para USB-A tem que funcionar. See discussion.
Verifique se o rkdeveloptool está configurado no computador host
Linux
Para construir o rkdeveloptool em uma distribuição Linux baseada no Debian, siga as instruções abaixo:
Instale build e as dependências:
sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf
Clone o código-fonte e build :
git clone https://github.com/rockchip-linux/rkdeveloptool cd rkdeveloptool autoreconf -i ./configure make
Se você encontrar erro de compilação, como abaixo
./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0' ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'
Você deve instalar o pkg-config libusb-1.0
sudo apt-get install pkg-config libusb-1.0
Em seguida, execute novamente
autoreconf -i ./configure make
Agora você tem o executável rkdeveloptool no diretório atual.
sudo cp rkdeveloptool /usr/local/bin/
MacOS
Para construir o rkdeveloptool no macOS, você precisa de homebrew(or similar package manager) para instalar os pacotes necessários.
Instale a dependência e build:
brew install automake autoconf libusb
Clone o código-fonte e build:
git clone https://github.com/rockchip-linux/rkdeveloptool cd rkdeveloptool autoreconf -i ./configure make
Se você encontrar erro de compilação, como abaixo
./configure: line 4269: syntax error near unexpected token `LIBUSB1,libusb-1.0' ./configure: line 4269: `PKG_CHECK_MODULES(LIBUSB1,libusb-1.0)'
Você deve instalar pkg-config libusb-1.0
brew install pkg-config
Em seguida, execute novamente
autoreconf -i ./configure make
Agora você tem o executável rkdeveloptool no diretório atual.
sudo cp rkdeveloptool /usr/local/bin/
Inicialize a placa no modo maskrom
Esvaziar o SPI flash
Para inicializar o ROCK Pi no modo maskrom é simples, você não precisa pressionar nenhuma tecla
- Desligue a placa e remove any bootable storage media, remova o cartão microSD, remova o módulo eMMC.
- Conecte o cabo USB A macho no macho A à porta ROCK Pi 4 OTG (a porta USB3 superior), o outro lado no PC
- Ligue a placa
Atualize SPI FLASH com bootloader dentro
Se o SPI flash já contiver um bootloader inicializável, você precisará desabilitar o flash SPI no momento da inicialização através do atalho SPI1_CLK para GND. Use fio para conectar o PIN 23 e 25. Checkout no Pinout.
Mostrado como a seguir:
- Use o cabo para conectar o PIN23 e o PIN25
- Desligue a placa e remove any bootable storage media, remova o cartão microSD, remova o módulo eMMC.
- Conecte o cabo USB A macho no macho A à porta ROCK Pi 4 OTG (a porta USB3 superior), o outro lado no PC
- Ligue a placa
- Remova o cabo e desconecte o PIN23 e o PIN25
Agora em seu Linux PC, 'lsusb' comando show mostram os seguintes dispositivos USB
Bus 003 Device 005: ID 2207:330c
Isso significa que o dispositivo está em maskrom mode agora.
- Agora podemos continuar o próximo passo no flash.
Grave o flash SPI via USB
No seu PC, execute o rkdeveloptool
rkdeveloptool ld # List the device DevNo=1 Vid=0x2207,Pid=0x330c,LocationID=305 Maskrom
Faça o download do SPI loader (flash helper, é importante) para iniciar o RAM e preparar o ambiente flash, etc. Se você não tiver, você pode baixá-lo em here
rkdeveloptool db rk3399_loader_spinor_v1.15.114.bin
Grave o pacote SPI de u-boot e trust.img, offset 0.
rkdeveloptool wl 0 /path/to/uboot-trust-spi.img
Reinicie o dispositivo
rkdeveloptool rd
Agora o dispositivo deve inicializar a partir do flash SPI agora.
Solução de problemas
- Se você tiver problema com flashing via USB OTG, inicie uma nova postagem no fórum. https://forum.radxa.com/c/dev