TBM Bare metal tests
Clone or download
Pull request Compare This branch is 2 commits ahead, 38 commits behind edgarigl:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
arch-aarch64
arch-arm
arch-microblaze
configs
drivers
ehash
libfdt
libminic
libverif
plat
scripts
testsuite-aarch64
testsuite-arm
testsuite-c3p3u
testsuite-microblaze
testsuite-pele
testsuite-petalogix-ml605
testsuite-petalogix-s3adsp1800-aspace
testsuite-petalogix-s3adsp1800
zlib
LICENSE
Makefile
README
Rules.mk
bitops.h
ctest-bare.c
devtree.c
devtree.h
initcalls.c
initcalls.h
io.h
irq.h
plat.c
regops.h
sys.c
sys.h
testcalls.c
testcalls.h
unitname.c
unitname.h

README

This is a small bare-metal SW test/exploration environment.

TEST
----
Examples how-to build some ARM and MicroBlaze variants:
$ make CFG=configs/vexpress-a32.cfg
$ make CFG=configs/vexpress-a64.cfg
$ make CFG=configs/petalogix-s3adsp1800.cfg

To build all:
make CFG=configs/test

If you need to override the default toolchains:
$ make CFG=configs/vexpress-a64.cfg CROSS=aarch64-myown-elf-

Or you can create a .config file, for example:
$ cat .config
MB_CROSS=microblazeel-xilinx-linux-gnu-
ARM_CROSS=arm-xilinx-linux-gnueabi-
AARCH64_CROSS=aarch64-linux-gnu-

The final binaries can be found in the build/* dir.

To run the vexpress-a64 tests, do the following:
qemu-system-aarch64 -M vexpress-a15,secure=on -cpu cortex-a53 -m 1024 -display none -serial stdio -kernel build/vexpress/a64/ctest-bare

To run the vexpress-a32 tests, do the following:
qemu-system-arm -M vexpress-a15,secure=on -serial stdio -display none -kernel build/vexpress/a32/ctest-bare

Directory structure:

configs/ Build configuration files.
build/ Build products/artifacts.
arch-*/ Contains arch specific boot code, interrupt setups and other stuff.
testsuite-*/ Contains most of the test driving logic.
drivers/*/ Contains drivers to be used by tests or other code.
drivers-*/ Legacy naming for old drivers
libminic/ A BSD licenced small C library implementation
libfdt/ Flat Device Tree lib to parse device trees on boot