[Buildroot] buildroot 2023.08 on STM32F429 Disco

hg gpfw.hgiang at gmail.com
Tue Nov 28 03:46:47 UTC 2023


Hi,

I've tried buildroot 2023.08 on STM32F429 Disco board recently and faced 
following issues:

- Can't enter anything into console to login

- LCD doesn't display (this could be the that the kernel crashes 
already, so I wouldn't worry too much about this atm)

Further debugging suggest Stack corrupted (I enabled Stack Protection):

    x080de188 in __loop_delay () (gdb) bt #0  0x080de188 in __loop_delay
    () #1  0x080f042c in panic () #2  0x080f244a in __stack_chk_fail ()
    #3  0x0813f1ca in __inflate_kernel_data () #4  0x0813cbf0 in
    __mmap_switched ()

Anyone can suggest a fix for this issue? This is XIP image and the chip 
has very limited memory.

This is the console log before it hangs (I only upgraded kernel to 
6.1.63, the rest was default from Buildroot 2023.08)

    [    0.000000] Booting Linux on physical CPU 0x0 [    0.000000]
    Linux version 6.1.63
    (arm-buildroot-uclinux-uclibcgnueabi-gcc.br_real (Buildroot
    2023.08-1-g5292a466fb) 12.3.0, GNU ld (GNU Binutils) 2.40) #2
    PREEMPT Mon Nov 27 00:23:16 PST 2023 [    0.000000] CPU: ARMv7-M
    [410fc241] revision 1 (ARMv7M), cr=00000000 [    0.000000] CPU:
    unknown data cache, unknown instruction cache [    0.000000] OF:
    fdt: Machine model: STMicroelectronics STM32F429i-DISCO board [   
    0.000000] Zone ranges: [    0.000000]   Normal   [mem
    0x0000000090000000-0x00000000907fffff] [    0.000000] Movable zone
    start for each node [    0.000000] Early memory node ranges [   
    0.000000]   node   0: [mem 0x0000000090000000-0x00000000907fffff]
    [    0.000000] Initmem setup node 0 [mem
    0x0000000090000000-0x00000000907fffff] [    0.000000] pcpu-alloc: s0
    r0 d32768 u32768 alloc=1*32768 [    0.000000] pcpu-alloc: [0] 0 [   
    0.000000] Built 1 zonelists, mobility grouping off.  Total pages:
    2032 [    0.000000] Kernel command line: root=/dev/ram [   
    0.000000] Dentry cache hash table entries: 1024 (order: 0, 4096
    bytes, linear) [    0.000000] Inode-cache hash table entries: 1024
    (order: 0, 4096 bytes, linear) [    0.000000] mem auto-init:
    stack:all(zero), heap alloc:off, heap free:off [    0.000000]
    Memory: 7876K/8192K available (1002K kernel code, 69K rwdata, 216K
    rodata, 74K init, 45K bss, 316K reserved, 0K cma-reserved) [   
    0.000000] rcu: Preemptible hierarchical RCU implementation. [   
    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is
    100 jiffies. [    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated
    irqs: 16 [    0.000000] /soc/interrupt-controller at 40013c00: bank0
    [    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on
    contention. [    0.000000] clocksource: arm_system_timer: mask:
    0xffffff max_cycles: 0xffffff, max_idle_ns: 355517175 ns [   
    0.000000] ARM System timer initialized as clocksource [    0.000011]
    sched_clock: 32 bits at 84MHz, resolution 11ns, wraps every
    25565281274ns [    0.000155] timers at 40000c00: STM32 sched_clock
    registered [    0.000263] Switching to timer-based delay loop,
    resolution 11ns [    0.000341] timers at 40000c00: STM32 delay timer
    registered [    0.000446] clocksource: timers at 40000c00: mask:
    0xffffffff max_cycles: 0xffffffff, max_idle_ns: 22753100554 ns [   
    0.000649] /soc/timers at 40000c00: STM32 clockevent driver initialized
    (32 bits) [    0.003076] Calibrating delay loop (skipped), value
    calculated using timer frequency.. 168.00 BogoMIPS (lpj=84000) [   
    0.003248] pid_max: default: 4096 minimum: 301 [    0.003688]
    Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
    [    0.003980] Mountpoint-cache hash table entries: 1024 (order: 0,
    4096 bytes, linear) [    0.019413] rcu: Hierarchical SRCU
    implementation. [    0.019468] rcu:     Max phase no-delay instances
    is 400. [    0.024442] devtmpfs: initialized [    0.257147]
    clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff,
    max_idle_ns: 1911260446275000 ns [    0.257625] pinctrl core:
    initialized pinctrl subsystem [    0.441498] stm32f429-pinctrl
    soc:pinctrl at 40020000: GPIOA bank added [    0.444993]
    stm32f429-pinctrl soc:pinctrl at 40020000: GPIOB bank added [   
    0.453497] stm32f429-pinctrl soc:pinctrl at 40020000: GPIOC bank added
    [    0.461149] stm32f429-pinctrl soc:pinctrl at 40020000: GPIOD bank
    added [    0.464614] stm32f429-pinctrl soc:pinctrl at 40020000: GPIOE
    bank added [    0.473104] stm32f429-pinctrl soc:pinctrl at 40020000:
    GPIOF bank added [    0.476777] stm32f429-pinctrl
    soc:pinctrl at 40020000: GPIOG bank added [    0.484763]
    stm32f429-pinctrl soc:pinctrl at 40020000: GPIOH bank added [   
    0.490909] stm32f429-pinctrl soc:pinctrl at 40020000: GPIOI bank added
    [    0.494343] stm32f429-pinctrl soc:pinctrl at 40020000: GPIOJ bank
    added [    0.503230] stm32f429-pinctrl soc:pinctrl at 40020000: GPIOK
    bank added [    0.503503] stm32f429-pinctrl soc:pinctrl at 40020000:
    Pinctrl STM32 initialized [    0.678526] stm32-dma
    40026000.dma-controller: STM32 DMA driver registered [    0.711907]
    stm32-dma 40026400.dma-controller: STM32 DMA driver registered [   
    0.728203] clocksource: Switched to clocksource timers at 40000c00 [   
    0.780779] workingset: timestamp_bits=30 max_order=11 bucket_order=0
    [    1.157699] STM32 USART driver initialized [    1.174322]
    40011000.serial: ttySTM0 at MMIO 0x40011000 (irq = 47, base_baud =
    5250000) is a stm32-usart [    1.694863] printk: console [ttySTM0]
    enabled [    1.730462] stm32_rtc 40002800.rtc: registered as rtc0
    [    1.736328] stm32_rtc 40002800.rtc: setting system clock to
    2000-01-01T03:02:48 UTC (946695768) [    1.747677] stm32_rtc
    40002800.rtc: Date/Time must be initialized [    2.075660] Freeing
    unused kernel image (initmem) memory: 24K [    2.081881] This
    architecture does not have kernel memory protection. [    2.088952]
    Run /init as init process [    2.092970]   with arguments: [   
    2.096321]     /init [    2.098791]   with environment: [   
    2.102341]     HOME=/ [    2.105028]     TERM=linux seedrng: can't
    determine pool size, assuming 256 bits: No such file or directory
    Saving 256 bits of non-creditable seed for next boot Welcome to
    Buildroot (none) login:

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.buildroot.org/pipermail/buildroot/attachments/20231127/4f97bc55/attachment.html>


More information about the buildroot mailing list