Boot mode description

Preface

There is a flexible boot method for the ROC-RK3328-PC. In general, it is impossible to brick for the ROC-RK3328-PC development board unless the hardware is damaged.

If an accident occurs during the upgrade, the bootloader is damaged and cannot be re-upgraded, at this time, you can enter the MaskRom mode to fix it.

Loading mode

There is 20KB of BootRom and 36KB of internal SRAM for ROC-RK3328-PC, which supports loading the system from the following devices:

  • 8-bit Async Nand Flash

  • 8-bit toggle Nand Flash

  • SPI interface

  • eMMC interface

  • SDMMC interface

In addition, the ROC-RK3328-PC supports downloading the firmware from the USB OTG interface.

Boot order

The boot order is:

  • Master control board power-up initialization

  • Run the BootRom code on SRAM to verify the bootloader in the storage device

  • After verification, load and run the bootloader boot code

  • The bootloader boot code is responsible for initializing the DDR memory and loading the complete code of bootloader into DDR memory and running it

  • The bootloader loads the Linux kernel on the storage device and passes the execution power to the Linux kernel

Boot mode

There are three boot modes for the ROC-RK3328-PC:

  • Normal mode

  • Loader mode

  • MaskRom mode

Normal mode

Normal mode is the normal startup process, and each component is loaded in order to enter the system normally.

Loader mode

In Loader mode, the bootloader goes into the upgrade state and waits for host commands for firmware upgrades and so on.If you want to enter the Loader mode,the bootloader must detect that the RECOVERY key is pressed and the USB is connected at startup. There are two ways to bring the device into the upgrade mode:

One way is to disconnect the power adapter

  • The USB Type-C cable is connected to the device and the host.

  • Press and hold the RECOVERY key on the device.

  • Plug in the power supply

  • After approximately two seconds, release the RECOVERY key.

The other way is to plug in the power adapter

  • Connect the device and the host with a USB Type-C cable.

  • Press and hold the RECOVERY key on the device.

  • Short press the RESET key.

  • After approximately two seconds, release the RECOVERY key.

MaskRom mode

The MaskRom mode is used for system recovery when the bootloader is damaged.

In general, the BootRom code will not enter the MaskRom mode, and only if bootloader validation fails (the IDR is not readable or the bootloader is damaged), the BootRom code will enter the MaskRom mode . At this time, the BootRom code waits for the host to pass the bootloader code through the USB interface, and load and run the code.

If you want to forcibly enter the MaskRom mode, please refer to the chapter MaskRom.