Xephyrlol

This commit is contained in:
Ciro Santilli 六四事件 法轮功
2020-03-13 00:00:00 +00:00
parent fcc3fd3db0
commit b11e3cd9fb

View File

@@ -21555,15 +21555,19 @@ gem5:
** https://stackoverflow.com/questions/47997565/gem5-system-requirements-for-decent-performance/48941793#48941793
** https://github.com/gem5/gem5/issues/25
== Xephyr
== RTOS
Xephyr is an RTOS that has <<posix>> support. I think it works much like our <<baremetal-setup>> which uses Newlib and generates individual ELF files that contain both our C program's code, and the Xephyr libraries.
=== Zephyr
https://en.wikipedia.org/wiki/Zephyr_(operating_system)
Zephyr is an RTOS that has <<posix>> support. I think it works much like our <<baremetal-setup>> which uses Newlib and generates individual ELF files that contain both our C program's code, and the Zephyr libraries.
TODO get a hello world working, and then consider further integration in this repo, e.g. being able to run all C userland content on it.
TODO: Cortex-A CPUs are not currently supported, there are some `qemu_cortex_m0` boards, but can't find a QEMU Cortex-A. There is an x86_64 qemu board, but we don't currently have an <<about-the-baremetal-setup,x86 baremetal toolchain>>. For this reason, we won't touch this further for now.
However, unlike Newlib, Xephyr must be setting up a simple pre-main runtime to be able to handle threads.
However, unlike Newlib, Zephyr must be setting up a simple pre-main runtime to be able to handle threads.
Failed attempt:
@@ -21587,6 +21591,12 @@ west build -b qemu_aarch64 samples/hello_world
The build system of that project is a bit excessive / wonky. You need an edge CMake not present in Ubuntu 18.04, which I don't want to install right now, and it uses the weird custom `west` build tool frontend.
=== ARM Mbed
https://en.wikipedia.org/wiki/Mbed
TODO minimal setup to run it on QEMU
== Compilers
Argh, compilers are boring, let's learn a bit about them.