[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