I builded https://github.com/flatmax/buildroot.rockchip
I noticed the resulting image always crashes on high IO operations. Like real time NPU, untar.
I narrowed the issue to the RAM, everytime I run “stress --cpu 4 --vm 10” the board instantly crashes and reboots
This is not happening if I first build into a standard Debian image on a SD card. I can boot into Debian, interrupt at U-Boot command line, remove the SD card and restart to load the Buildroot image from eMMC
If I do this the Buildroot image then stops failing RAM Stress Tests and doesn’t crash running NPU programs
So this has to be an issue on U-Boot somewhere. My theory is, U-Boot on Buildroot is not configuring something. When I boot into Debian, it is configuring everything properly, and the thing not being configured by Buildroot, persists configured after reboot
If I remove power and cold boot into Buildroot it keeps crashing again
Any clue? I’ll leave my log
U-Boot SPL board init
U-Boot SPL 2017.09 (Oct 23 2023 - 17:07:39)
unknown raw ID phN
unrecognized JEDEC id bytes: 00, 00, 00
Trying to boot from MMC2
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 10
spl: mmc init failed with error: -95
Trying to boot from MMC1
Verified-boot: 0
Checking atf-1 0x00040000 … sha256(569842593f…) + OK
Checking uboot 0x00a00000 … sha256(92306e40ee…) + OK
Checking fdt 0x00b2def8 … sha256(5eac431258…) + OK
Checking atf-2 0xfdcc9000 … sha256(71fe14fa9d…) + OK
Checking atf-3 0xfdcd0000 … sha256(a5730ca9cc…) + OK
Checking optee 0x08400000 … sha256(b8cddafab0…) + OK
Jumping to U-Boot(0x00a00000) via ARM Trusted Firmware(0x00040000)
Total: 221.47 ms
INFO: Preloader serial: 2
NOTICE: BL31: v2.3():v2.3-135-gcda1658bc-dirty:xsf
NOTICE: BL31: Built : 14:19:26, Jun 1 2021
INFO: GICv3 without legacy support detected.
INFO: ARM GICv3 driver initialized in EL3
INFO: pmu v1 is valid
INFO: dfs DDR fsp_param[0].freq_mhz= 1056MHz
INFO: dfs DDR fsp_param[1].freq_mhz= 324MHz
INFO: dfs DDR fsp_param[2].freq_mhz= 528MHz
INFO: dfs DDR fsp_param[3].freq_mhz= 780MHz
INFO: Using opteed sec cpu_context!
INFO: boot cpu mask: 0
INFO: BL31: Initializing runtime services
INFO: BL31: Initializing BL32
I/TC:
I/TC: Start rockchip platform init
I/TC: Rockchip release version: 1.0
I/TC: OP-TEE version: 3.6.0-307-g0b06ae94 #1 Fri May 7 01:52:27 UTC 2021 aarch6 4
I/TC: Initialized
INFO: BL31: Preparing for EL3 exit to normal world
INFO: Entry point address = 0xa00000
INFO: SPSR = 0x3c9
U-Boot 2017.09 (Oct 23 2023 - 17:07:39 -0400)
Model: Radxa CM3 IO
PreSerial: 2, raw, 0xfe660000
DRAM: 2 GiB
Sysmem: init
Relocation Offset: 7d34a000
Relocation fdt: 7b9f7bc0 - 7b9fecc8
CR: M/C/I
Using default environment
failed to find reset-gpios property
dwmmc@fe2b0000: 1, dwmmc@fe2c0000: 2, sdhci@fe310000: 0
Bootdev(atags): mmc 0
MMC0: HS200, 200Mhz
PartType: EFI
No misc partition
boot mode: None
FIT: No fdt blob
No resource partition
No resource partition
Failed to load DTB, ret=-19
Failed to get kernel dtb, ret=-19
I2c0 speed: 100000Hz
vsel-gpios- not found! Error: -2
vdd_cpu init 900000 uV
PMIC: RK8170 (on=0x10, off=0x00)
vdd_logic init 900000 uV
vdd_gpu init 900000 uV
io-domain: OK
Model: Radxa CM3 IO
rockchip_set_serialno: could not find efuse/otp device
CLK: (sync kernel. arm: enter 816000 KHz, init 816000 KHz, kernel 0N/A)
apll 816000 KHz
dpll 528000 KHz
gpll 1188000 KHz
cpll 1000000 KHz
npll 24000 KHz
vpll 24000 KHz
hpll 24000 KHz
ppll 200000 KHz
armclk 816000 KHz
aclk_bus 150000 KHz
pclk_bus 50000 KHz
aclk_top_high 300000 KHz
aclk_top_low 200000 KHz
hclk_top 150000 KHz
pclk_top 50000 KHz
aclk_perimid 300000 KHz
hclk_perimid 150000 KHz
pclk_pmu 100000 KHz
No misc partition
Net: No ethernet found.
Hit key to stop autoboot(‘CTRL+C’): 0
failed to find reset-gpios property
Device 0: unknown device
MMC error: The cmd index is 1, ret is -110
Card did not respond to voltage select!
mmc_init: -95, time 9
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1…
Found U-Boot script /boot.scr
reading /boot.scr
1113 bytes read in 11 ms (98.6 KiB/s)
Executing script at 00c00000
loading boot vars
reading vars.txt
78 bytes read in 8 ms (8.8 KiB/s)
setting boot args
reading rockchip/rk3566-radxa-cm3-io.dtb
139875 bytes read in 19 ms (7 MiB/s)
reading Image
20879368 bytes read in 149 ms (133.6 MiB/s)
loading overlay rk3568-fiq-debugger-uart2m0
reading rockchip/overlays/rk3568-fiq-debugger-uart2m0.dtbo
513 bytes read in 29 ms (16.6 KiB/s)
Applying kernel provided DT overlay rk3568-fiq-debugger-uart2m0.dtbo
booting linux …
Fdt Ramdisk skip relocation
No misc partition
Flattened Device Tree blob at 0x0a100000
Booting using the fdt blob at 0x0a100000
reserving fdt memory region: addr=a100000 size=88000
‘reserved-memory’ ramoops@110000: addr=110000 size=f0000
Using Device Tree in place at 000000000a100000, end 000000000a18afff
Adding bank: 0x00200000 - 0x08400000 (size: 0x08200000)
Adding bank: 0x09400000 - 0x80000000 (size: 0x76c00000)
Total: 1447.4 ms