🛠 CM3588: First Boot and Hardware Diagnostics
Objectives
This tutorial aims to correctly initialize the CM3588 module on a compatible baseboard, ensuring stable power supply and verifying critical interfaces (PCIe, NPU, Video). Unlike standard SBCs, the CM3588 requires specific attention to thermal management and bootloader configuration via GPIO pins.
Required Hardware
- FriendlyElec CM3588 module (with pre-loaded eMMC or microSD card).
- Compatible CM3588 baseboard (e.g., Core3588-CM).
- DC Power Supply 5V-12V (12V/2A recommended for stability under load).
- USB-C cable for serial communication (debug).
- Serial console (Putty, Minicom) configured at 1500000 bauds.
- Heatsink or active fan (essential for CPU/GPU loads).
Steps
- Physical Installation: Gently insert the CM3588 into the baseboard connector. Ensure the heatsink is properly applied to the RK3588 SoC, as the Cortex-A76 cores heat up quickly without passive or active cooling.
- Boot Mode Configuration: By default, the CM3588 boots from eMMC. To force booting from microSD (useful for flashing), short-circuit the MASKROM pins (often identified as
BOOT_SELor via a jumper on the baseboard) before powering on. - Serial Connection: Connect the USB-C cable to the OTG port on the baseboard. Open a serial session at 1500000 bauds. This step is crucial for reading bootloader (U-Boot) and Linux kernel logs.
- Power On: Connect the DC power supply. Observe the status LEDs. A steady green LED usually indicates correct power. Boot messages should appear in the serial console.
- Interface Verification: Once the Linux system starts (login prompt), log in via SSH or directly. Run the following commands to validate hardware:
# Check CPU core detection and frequency
cat /proc/cpuinfo | grep MHz
# Check NPU detection (Rockchip RKNPU)
dmesg | grep rknpu
# Check PCIe links (if NVMe or Wi-Fi cards are connected)
lspci -v
# Check HDMI output detection
cat /sys/class/drm/card0-HDMI-A-1/status
Verification
Successful initialization is confirmed by the absence of critical errors in dmesg, detection of 8 CPU cores, and presence of video interfaces. If the system does not boot, check the power supply voltage (must be stable between 5V and 20V, ideally 12V) and proper contact of the 100-pin connector.
Further Reading
Once the system is initialized, configure dynamic cooling via thermal-engine and test the NPU's computing power (6 TOPS) with TensorFlow Lite or ONNX models to validate the RK3588's real-world performance.