Running Kernel and userspace apps from flash (XIP)?

307 views Asked by At

I have Uclinux environment based on Buildroot running on ARM Cortex M7 (noMMU, STM32F769 DISCO board).

I have quite simple kernel and only a few userspace applications. I have a lot of Flash memory over qspi interface.

I'd like to run Kernel and userspace apps from Flash (HW supports XIP).

Any advice, your example, experience or pointers to more info would help me a lot.

Thanks in advance, Rob.

1

There are 1 answers

3
Itzik Chaimov On

I assume you already running a u-boot from the flash. First you need to make sure that u-boot recognize your flash memory (NOR/NAND). Now it depends on your flash type for a specific command, at u-boot, to erase->write your Linux Kernel uImage file, file system image and DTB (Device Tree Binary) once and then, regularly to read->load to memory (RAM) and run the images from there. Also, if you have an SD card (NAND type flash), you can follow the guidelines of your board (EVB) to copy and deploy your Linux images from your Linux host using SD card reader (you probably, need to switch the embedded board to boot from there) - very good guideline (for BeagleBone Black EVB) is provided by Bootlin (https://bootlin.com/doc/training/buildroot/buildroot-labs.pdf -> from page 9 ).