RK UBOOT is designed basing on the open UBOOT resource. It support boot loader mode and download mode. Boot loader mode is the normal mode of UBOOT. Device usually release under this mode. This mode mainly load the kernel from FLASH to SDRAM and run the Operating System. User need to flash the device under the download mode. Keep press the recover key on board and power on the board, it will enter download mode. This chapter mainly talk about UBOOT.
The compiling steps of UBOOT are similar to kernel compiling. Before compiling, you need to write the configuration to ".config"，run the command:
If you need to modify the relative option, you can run:
Run below command to Compile:
After compiling successfully, there will be a new file created at the follow path:
If you flash the loader successfully, there will be some information output from the debug UART as the follow log shows:
#Boot ver: 2014-12-10#2.17
If the time shows the same as your compile time,it means you flash the loader successfully.
Enter UBOOT 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
Sencond level loader
There is no Nand Flash on Firefly, so generally don’t use the second level loader. Here is simply introduction for second level loader. RK3288Loader_uboot_Vx.xx.xx.bin is the first level loader mode, it only support eMMC. Combine RK3288Loader_uboot_Vx.xx.xx.bin with uboot.img is the second level loader. It support both eMMC and Nand Flash. You need to add codes in the rk32xx.h file to configure second loader as below.
After that, remake the UBOOT and the following file will be created.
Then you can flash these two files to Firefly.