Skip to main content

eMMC Image Flashing

1. Overview

The Luckfox Pico Pi series development boards come pre - installed with eMMC. At the time of leaving the factory, they are loaded with a test system. The factory image is mainly used to check whether the interface functions of the development board are in normal condition and is updated relatively infrequently. To ensure the proper operation of the development board, it is advisable that users use tools such as a USB Type - A to Type - C data cable to burn the system image provided in the network disk on their own after receiving the board. Before flashing the firmware image, make sure to check the development board’s status: the DIP switch should be set to the “ON” position.xxx

2. Driver Installation

  1. Download the RK DriverAssitant(click here to download).
  2. Open the RK Driver Assistant to install the USB driver. There is no need to connect during this process. After the installation is complete, restart the computer.
    Screenshot of the driver installation process.
## 3. Image Download

The Luckfox Pico Pi series offers images for Buildroot and Ubuntu22.04. Users can download the image files according to their requirements.

Officially Supported Image Download

The Luckfox Pico Pi series provides images based on Buildroot. Users can download the image files according to their needs.

VersionDescriptionDownload
BuildrootStandard models (A/B): Burn the Luckfox_Pico_Pi_EMMC_250313 firmware Wireless models (A/B W): Burn the Luckfox_Pico_Pi_W_EMMC_250313 firmwareGoogle Driver

Community-Supported Image Download

VersionDescriptionDownload
Ubuntu22.04Standard models (A/B): Burn the Ubuntu_Luckfox_Pico_Pi_EMMC_250313 firmware Wireless models (A/B W): Burn the Ubuntu_Luckfox_Pico_Pi_W_EMMC_250313 firmwareGoogle Driver

4. Flashing the Image (Windows Environment)

The SocToolKit software supports two flashing modes for eMMC or Flash:

  • One-click full image flashing: This mode uses a pre-packaged full system image containing all required partitions. It is suitable for rapid deployment and enables quick system setup.

  • Selective partition flashing: This allows updating specific system modules, offering a flexible flashing solution for users with advanced customization needs.

[Tip]
  1. These two flashing modes are independent. Choose the one that fits your needs — only one is required during the actual operation.
  2. If the development board is successfully connected via ADB, you can directly execute the command reboot loader to quickly enter flashing mode without manually pressing any buttons.
  1. Download and extract the SocToolKit flashing tool(Click here to download).
  2. Open the software(right-click and run as administrator),then select RV1106.
    SocToolKit-RV1103
  3. Device connection and partition image flashing:
    ① While holding down the BOOT button, connect the board to your PC. Release the BOOT button once the Rockchip flashing tool displays a MaskRom device (device number may vary).
    ② Click Search Path to select the firmware directory, check all the partitions you want to flash, then click the Download button to start flashing.
    RKusb
  4. Device connection and one-click full image flashing:
    ① While holding down the BOOT button, connect the board to your PC. Release the BOOT button once the Rockchip flashing tool displays a MaskRom device (device number may vary).
    ② Click Firmware to select the firmware directory, then click the Upgrade button to start flashing.
    RKusb

5. Image Flashing (Linux Environment)

[Note]
  1. Currently supported only on Ubuntu 22.04 x86_64. Other platforms or architectures are not compatible at this time.
  2. upgrade_tool is a closed-source command-line flashing utility provided by Rockchip, supporting only SPI NAND Flash and eMMC as target storage media.

5.1 Entering Flash Mode on the Development Board

Press and hold the BOOT button while connecting the board to the host PC to enter flash mode.
After running the lsusb command, you can compare the device recognition results between flash mode and normal operating mode, as shown below:

  • Board in flash mode:
    xxx
  • Board successfully booted into the system:
    xxx
[Note]

If the virtual machine cannot recognize the board, it is usually caused by one of the following reasons:

  1. Faulty USB cable: If replugging the cable causes no response and no system or VMware popup appears, the cable is likely damaged or has a poor connection. Try replacing the USB cable and reconnecting the board.
  2. Device not assigned in VMware popup: When plugging in the board, VMware will prompt you to choose whether to connect the device to the “Host” or “Virtual Machine.”
    If no selection is made before the popup disappears and VMware’s auto-connect policy is not properly configured, the device remains unassigned, meaning it is neither controlled by the host nor mounted to the VM.
    In this case, replug the device to reassign control.

5.2 Flashing Standalone Image (Without SDK)

  1. Download, extract, and install upgrade_tool

    sudo unzip upgrade_tool_v2.17.zip
    cd upgrade_tool_v2.17_for_linux/
    sudo cp upgrade_tool /usr/local/bin
    sudo chmod +x /usr/local/bin/upgrade_tool
  2. Verify installation success:

    ubuntu@ubuntu:~$ sudo upgrade_tool -v
    Upgrade Tool v2.17
  3. Run the tool to flash the firmware:

    luckfox@luckfox:~$ sudo upgrade_tool uf update.img 
    Loading firmware...
    Support Type:1106 FW Ver:0.0.00 FW Time:2023-11-16 16:24:18
    Loader ver:1.01 Loader Time:2023-11-16 16:22:58
    Start to upgrade firmware...
    Download Boot Start
    Download Boot Success
    Wait For Maskrom Start
    Wait For Maskrom Success
    Test Device Start
    Test Device Success
    Check Chip Start
    Check Chip Success
    Get FlashInfo Start
    Get FlashInfo Success
    Prepare IDB Start
    Prepare IDB Success
    Download IDB Start
    Download IDB Success
    Download Firmware Start
    Download Image... (100%)
    Download Firmware Success
    Upgrade firmware ok.
  4. Result preview:
    KVM

5.3 Flashing the Image via SDK Script

[Note]

The output/image directory must contain the update.img file, which is automatically generated when compiling the SDK. If you have not compiled the SDK yet, manually create the output/image directory and place the downloaded firmware inside it, renaming the file to update.img.

  1. Ensure the board is in flash mode before proceeding.
  2. Run the flashing script with administrator privileges:
    $ sudo ./rkflash.sh update
    [sudo] password for ubuntu:
    Using /home/ubuntu/Luckfox/ubuntu-bluetooth/luckfox-pico/tools/linux/Linux_Upgrade_Tool/config.ini
    Loading firmware...
    Support Type:1106 FW Ver:0.0.00 FW Time:2024-09-27 14:22:59
    Loader ver:1.01 Loader Time:2024-09-27 14:17:09
    Start to upgrade firmware...
    Download Boot Start
    Download Boot Success
    Wait For Maskrom Start
    Wait For Maskrom Success
    Test Device Start
    Test Device Success
    Check Chip Start
    Check Chip Success
    Get FlashInfo Start
    Get FlashInfo Success
    Prepare IDB Start
    Prepare IDB Success
    Download IDB Start
    Download IDB Success
    Download Firmware Start
    Download Image... (100%)
    Download Firmware Success
    Upgrade firmware ok
  3. Result preview:
    KVM

6. Image Flashing (macOS Environment)

The upgrade_tool is available not only for Linux but also supports the macOS platform.

  1. Download and extract the Upgrade_Tool flashing tool(Click here to download).
  2. Run the system_profiler SPUSBDataType command to check whether the development board is correctly detected by the system.
    macos
  3. Run the tool to flash the firmware (please modify the path according to the actual location of your image):
    $ cd upgrade_tool_v2.44_mac
    sudo ./upgrade_tool uf Luckfox-xxx-xxx.img
  4. The expected output is as follows:
    macos