RK U-Boot is based on the open source U-Boot. It supports boot loader mode and download mode. Boot loader mode is the normal mode of U-Boot. Device usually releases under this mode. This mode mainly loads the kernel from FLASH to SDRAM and boots the Operating System. User needs to flash the device under the download mode. Keep the recover key pressed while powering on the board, and it will enter download mode. This chapter mainly talks about U-Boot.
The compiling steps of U-Boot are similar to kernel's. You need to write the configuration to ".config" first，run the command:
If you need to modify the configuration, run:
The following files are generated after successful compilation:
RK3128MiniLoaderAll(L)_V2.20.bin and uboot.img use the feature of two stages boot, which supports eMMC and NAND flash.
Run AndroidTool in Windows. Make the board powerless by plugging out both power adapter cord and mini USB OTG cable. Then keep the recover key pressed while connecting the board to the PC. The device will enter Download Mode, ready to flash the Loader.
If you flash the loader successfully, there will be some information output from the debug UART as the follow log shows:
#Boot ver: 2015-01-05#2.19
If printed timestamp matches your compiling time, you have flashed the loader successfully.
Enter U-Boot command mode
Since Firefly is mainly used for development, there are default 1 second countdown before running the Operating System. During the 1 second, any input from the debug UART can make the UBOOT enter the command mode. If you need to set the UBOOT doesn’t enter the command mode default, you can edit the file:U-boot/include/configs/rk32plat.h Change the code
#define CONFIG_BOOTDELAY 1
#define CONFIG_BOOTDELAY 0
Change 0 to 3, then you'll get 3 seconds delay before a normal boot. Within this duration, press Enter key in the serial console to enter U-Boot's command line mode.