+++
title = "STM32F746G-DISCO"
date = "2026-02-15T09:30:45+01:00"
type = "index"

+++

+ Architecture: ARM Little-Endian
+ CPU: Cortex-M7
+ RAM: 8 MB
+ 100 MBit/s Ethernet
+ Micro-SD-Card
+ Serial console (Micro-USB)
+ LCD Display

Serial console has a speed of 115200n8. The Ethernet card is not supported by Linux.

Use the OpenADK installer (scripts/install.sh) to write a SD-Card.

Useful to test ARM FDPIC support in uClibc-ng.

![STM32F746G-DISCO](/img/stm32f746g-disco.jpg)

dmesg:
```
<6>[    0.000000] Booting Linux on physical CPU 0x0
<5>[    0.000000] Linux version 6.12.69-1 (wbx@fluor) (arm-openadk-uclinuxfdpiceabi-gcc (GCC) 15.2.0, GNU ld (GNU Binutils) 2.46.0.20260210) #2 Mon Feb 16 07:52:25 CET 2026
<6>[    0.000000] CPU: ARMv7-M [410fc271] revision 1 (ARMv7M), cr=00000000
<6>[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache
<6>[    0.000000] OF: fdt: Machine model: STMicroelectronics STM32F746-DISCO board
<6>[    0.000000] Reserved memory: created DMA memory pool at 0xc0780000, size 0 MiB
<6>[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
<6>[    0.000000] OF: reserved mem: 0xc0780000..0xc07fffff (512 KiB) nomap non-reusable linux,cma
<6>[    0.000000] Zone ranges:
<6>[    0.000000]   Normal   [mem 0x00000000c0000000-0x00000000c07fffff]
<6>[    0.000000] Movable zone start for each node
<6>[    0.000000] Early memory node ranges
<6>[    0.000000]   node   0: [mem 0x00000000c0000000-0x00000000c077ffff]
<6>[    0.000000]   node   0: [mem 0x00000000c0780000-0x00000000c07fffff]
<6>[    0.000000] Initmem setup node 0 [mem 0x00000000c0000000-0x00000000c07fffff]
<7>[    0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
<7>[    0.000000] pcpu-alloc: [0] 0 
<5>[    0.000000] Kernel command line: console=ttySTM0,115200 root=/dev/mmcblk0p2 rw rootwait consoleblank=0
<5>[    0.000000] Unknown kernel command line parameters "consoleblank=0", will be passed to user space.
<6>[    0.000000] Dentry cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
<6>[    0.000000] Inode-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
<6>[    0.000000] Built 1 zonelists, mobility grouping off.  Total pages: 2048
<6>[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
<6>[    0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
<2>[    0.000000] Invalid parameters for execmem allocator, module loading will fail
<6>[    0.000000] NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
<6>[    0.000000] /soc/interrupt-controller@40013c00: bank0
<6>[    0.000000] clocksource: arm_system_timer: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 298634427 ns
<6>[    0.000000] ARM System timer initialized as clocksource
<6>[    0.000020] sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 21474836475ns
<6>[    0.000184] timers@40000c00: STM32 sched_clock registered
<6>[    0.000278] Switching to timer-based delay loop, resolution 10ns
<6>[    0.000362] timers@40000c00: STM32 delay timer registered
<6>[    0.000456] clocksource: timers@40000c00: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns
<6>[    0.000653] /soc/timers@40000c00: STM32 clockevent driver initialized (32 bits)
<6>[    0.001925] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=1000000)
<6>[    0.002110] pid_max: default: 32768 minimum: 301
<6>[    0.003093] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
<6>[    0.003303] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
<6>[    0.015792] Memory: 4664K/8192K available (1301K kernel code, 467K rwdata, 408K rodata, 76K init, 169K bss, 3240K reserved, 0K cma-reserved)
<6>[    0.018408] devtmpfs: initialized
<6>[    0.083041] DMA: default coherent area is set
<6>[    0.083133] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
<6>[    0.083350] futex hash table entries: 256 (order: 0, 3072 bytes, linear)
<6>[    0.083793] pinctrl core: initialized pinctrl subsystem
<6>[    0.156032] stm32f746-pinctrl soc:pinctrl@40020000: GPIOA bank added
<6>[    0.158414] stm32f746-pinctrl soc:pinctrl@40020000: GPIOB bank added
<6>[    0.161906] stm32f746-pinctrl soc:pinctrl@40020000: GPIOC bank added
<6>[    0.164902] stm32f746-pinctrl soc:pinctrl@40020000: GPIOD bank added
<6>[    0.168035] stm32f746-pinctrl soc:pinctrl@40020000: GPIOE bank added
<6>[    0.171238] stm32f746-pinctrl soc:pinctrl@40020000: GPIOF bank added
<6>[    0.174931] stm32f746-pinctrl soc:pinctrl@40020000: GPIOG bank added
<6>[    0.178648] stm32f746-pinctrl soc:pinctrl@40020000: GPIOH bank added
<6>[    0.183777] stm32f746-pinctrl soc:pinctrl@40020000: GPIOI bank added
<6>[    0.188252] stm32f746-pinctrl soc:pinctrl@40020000: GPIOJ bank added
<6>[    0.191487] stm32f746-pinctrl soc:pinctrl@40020000: GPIOK bank added
<6>[    0.191820] stm32f746-pinctrl soc:pinctrl@40020000: Pinctrl STM32 initialized
<6>[    0.209900] /soc/display-controller@40016800: Fixed dependency cycle(s) with /panel-rgb
<6>[    0.211115] /panel-rgb: Fixed dependency cycle(s) with /soc/display-controller@40016800
<6>[    0.224594] clocksource: Switched to clocksource timers@40000c00
<6>[    0.230640] vcc5v-otg-fs-regulator enforce active low on GPIO handle
<6>[    0.250188] workingset: timestamp_bits=30 max_order=11 bucket_order=0
<6>[    0.310668] STM32 USART driver initialized
<6>[    0.313706] stm32-usart 40011000.serial: interrupt mode for rx (no dma)
<6>[    0.313823] stm32-usart 40011000.serial: interrupt mode for tx (no dma)
<6>[    0.316781] 40011000.serial: ttySTM0 at MMIO 0x40011000 (irq = 31, base_baud = 6250000) is a stm32-usart
<6>[    0.317081] printk: legacy console [ttySTM0] enabled
<6>[    0.774768] i2c_dev: i2c /dev entries driver
<6>[    0.854359] mmci-pl18x 40012c00.mmc: Got CD GPIO
<6>[    0.863594] mmci-pl18x 40012c00.mmc: mmc0: PL180 manf 80 rev8 at 0x40012c00 irq 34,0 (pio)
<6>[    0.885432] clk: Disabling unused clocks
<6>[    0.911643] Waiting for root device /dev/mmcblk0p2...
<4>[    1.003801] mmc0: host does not support reading read-only switch, assuming write-enable
<6>[    1.012479] mmc0: new SDHC card at address b368
<6>[    1.022763] mmcblk0: mmc0:b368 USD   7.45 GiB
<6>[    1.034537]  mmcblk0: p1 p2
<6>[    1.088545] EXT4-fs (mmcblk0p2): mounted filesystem fe39f8b1-ff85-4aa4-94ac-c53211e4132e r/w without journal. Quota mode: disabled.
<6>[    1.101107] VFS: Mounted root (ext4 filesystem) on device 179:2.
<6>[    1.109393] devtmpfs: mounted
<6>[    1.113095] Freeing unused kernel image (initmem) memory: 76K
<4>[    1.119134] This architecture does not have kernel memory protection.
<6>[    1.125855] Run /sbin/init as init process
<7>[    1.130065]   with arguments:
<7>[    1.130153]     /sbin/init
<7>[    1.130258]   with environment:
<7>[    1.130340]     HOME=/
<7>[    1.130437]     TERM=linux
<7>[    1.130534]     consoleblank=0
<4>[   11.358962] platform 40005400.i2c: deferred probe pending: stm32f7-i2c: Error: Missing reset ctrl
```

Have fun!
