This repository contains software and hardware designs of a low-power Linux board based on a STM32H743 microcontroller.
The Linux environment is deployed through buildroot. The custom_board_def
folder contains all the custom definitions, packages, configs and patches for the board.
There are three base configs for Linux that can be used
First of all, run the init_tftp.sh
to install, configure and create the TFTP server and directory. The TFTP folder for the project is /srv/tftp/stm32h743
.
To generate Linux distribution using Buildroot, run make BR2_EXTERNAL=<path_to_this_git_repo>/custom_board_def
.
Once Buildroot has finished generating the distribution, simply set the desired configuration by running one of the following script :
set_mode_initramfs_rootfs.sh
set_mode_jffs2_rootfs.sh
set_mode_xip_rootfs.sh
After this, run make
again inside the buildroot repository.
The output files can be found under buildroot/output/images
.
To communicate with the board, a serial terminal such as minicom
must be used. The board will show up under /dev/ttyACMx
.
The flash_uboot.sh
script can be used to flash the bootloader (U-Boot) to the STM32H743 internal flash over JTAG.
Once U-Boot is started, the following commands can be used :
run netboot
: directly download Linux from TFTP and boot it inside RAM (initramfs required)run updatespiram
: update Linux with JFFS2 rootfs from TFTP inside SPI-flashrun spibootram
: launch Linux with JFFS2 rootfs from SPI-flashrun updatespixip
: update Linux with CRAMFS rootfs from TFTP inside SPI-flashrun spibootxip
: launch Linux with CRAMFS rootfs from SPI-flash in XIP modeTo show all the available commands type pri
inside U-Boot.
The hardware design is split in two different boards. The UCL-CPUM-H7-x
board, which is the CPU module (MCU, RAM, flash) and the UCL-MB-802154RT-x
board, which is the motherboard (USB, Ethernet, power-supply, IEEE 802.15.4 interface). The -x
corresponds to the version of the design.
The respository also contains a cross-compilation environment to create user-space applications for the system. This can be found in the Application folder
.
The pre-built_images
folder contains ready-to-use images for U-Boot, Linux and the rootfs.