Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Linux on STM32H7R7 ART-Pi2

This repository archives a hardware-tested Linux noMMU port for the Ruiside ART-Pi2 development board. The board uses an STM32H7R7 Cortex-M7, executes the kernel in place from external XSPI NOR, and uses 32 MiB of HyperRAM as system memory.

The Linux changes are kept as a nine-patch mail-ready series rather than as a vendored Linux tree. The repository also contains the first-stage boot stub, the private kernel configuration fragments used for hardware testing, and the bring-up record.

Upstream status

The v2 series was posted for upstream review, but it is now maintained as a downstream patch set. STM32 maintainer Alexandre Torgue declined new Cortex-v7M board support because Cortex-M3/M4/M7 Linux support is scheduled for removal. See Arnd Bergmann's deprecation series and the Cortex-M deprecation patch.

The code remains useful for reproducible experiments and downstream kernels; no further upstream revision is currently planned.

Repository layout

Path Contents
patches/linux-v2/ Cover letter and the reproducible nine-patch v2 series
boot/ Internal-flash boot stub plus load, flash, build, and verification scripts
configs/linux/ Private noMMU, initramfs, and XIP kernel configuration fragments
PROGRESS.md Detailed bring-up decisions and hardware evidence in Chinese

The RT-Thread ART-Pi2 SDK, Linux, Buildroot, generated images, serial logs, and Microsoft 365 credentials are deliberately not included.

Apply the Linux series

Clone Linux and check out the pinned baseline:

git clone https://github.com/torvalds/linux.git
git -C linux checkout 248951ddc14de84de3910f9b13f51491a8cd91df
git -C linux am "$PWD"/patches/linux-v2/000[1-9]-*.patch

When running the commands from a clone of this repository, replace $PWD with the absolute path to that clone if the Linux checkout is elsewhere. A correctly applied series produces this tree ID:

2558e0a90844ab2959ef43bf1bae56edd1b22e52

Full baseline, image hash, and hardware-test details are in patches/linux-v2/README.md.

Boot and build layout

The scripts expect sibling source directories below the repository root:

artpi2-linux/
├── boot/
├── configs/linux/
├── linux/
├── buildroot/
├── sdk-artpi2/
└── out/

Use these pinned external revisions:

  • Linux baseline: 248951ddc14de84de3910f9b13f51491a8cd91df
  • Buildroot: 3d0fdde8a79377b5ca98a05dbd3b226937bf352d
  • RT-Thread ART-Pi2 SDK: 4e85d5c8d622f27e1028b875c4551913ed18465c

The boot stub reuses STM32 HAL, CMSIS, memory component drivers, and the external-NOR loader from the SDK; third-party SDK files are not copied into this repository. See boot/README.md for build, flash, and verification commands.

Verified hardware path

The exact v2 source tree was tested with:

  • Linux XIP from 64 MiB external XSPI NOR;
  • 32 MiB external HyperRAM;
  • UART4 early console and normal console;
  • TIM5 clockevent and clocksource;
  • twelve GPIO banks, two LEDs, and the user button;
  • SDMMC1 with a 59.5 GiB SDXC card;
  • ext4 write, sync, unmount, remount, and SHA-256 verification;
  • static-FLAT BusyBox initramfs userspace.

The tested kernel kept the Cortex-M7 instruction and data caches disabled. SDMMC DMA coherency with the data cache enabled has not been validated.

Branch layout

main is the only published project branch and tracks the latest hardware-verified downstream archive. The corresponding Linux development branch was named artpi2-upstream-v2; its complete state is represented by the nine patches and the expected tree ID above, so a separate full Linux fork is not required. Experimental bring-up branches and generated artifacts remain local and are not part of the public repository.

About

Linux noMMU bring-up and downstream patch set for STM32H7R7 ART-Pi2

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages