• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..--

include/11-Mar-2024-1,314686

lib/11-Mar-2024-926583

scripts/11-Mar-2024-7033

CMakeLists.txtD11-Mar-202420.3 KiB737604

FindZephyr-sdk.cmakeD11-Mar-2024705 2319

KconfigD11-Mar-20241.4 KiB5043

READMED11-Mar-20241.7 KiB5738

docker-build.shD11-Mar-20241.7 KiB5418

docker-run.shD11-Mar-20242 KiB7124

edf_schedule.cD11-Mar-20243.5 KiB148102

lib.cD11-Mar-2024381 2111

module.ymlD11-Mar-2024166 103

schedule.cD11-Mar-2024616 2511

wrapper.cD11-Mar-20247 KiB314172

README

1SOF with Zephyr RTOS
2====================
3
4SOF currently uses the Cadence Xtos/HAL and it's own kernel functions as
5its RTOS. SOF is moving to use Zephyr as it's RTOS in parallel to current
6releases using xtos.
7
8The initial "alpha" of SOF on Zephyr will use the Zephyr RTOS for boot, IRQs,
9scheduling and memory allocation. Subsequent release will use more Zephyr
10functionality as code is moved from SOF to Zephyr (i.e. EDF scheduler updates
11copied from SOF to Zephyr).
12
13Building SOF on Zephyr
14======================
15
16Section promoted to
17https://thesofproject.github.io/latest/getting_started/build-guide/build-with-zephyr.html
18
19Testing on Qemu
20===============
21
22Get the SOF qemu sof-v4.2 branch here.
23
24git@github.com:thesofproject/qemu.git
25
26Configure as
27
28./configure' '--prefix=.' '--target-list=xtensa-softmmu,x86_64-softmmu' \
29             '--enable-gtk' '--enable-sdl' '--enable-spice' \
30             '--audio-drv-list=alsa' '--enable-libusb' \
31             '--enable-usb-redir' '--enable-coroutine-pool' \
32             '--disable-opengl' '--enable-fdt'
33
34 Then run make.
35
36FW can be tested as follows using the qemu helper script.
37
38 ./xtensa-host.sh apl \
39     -r ../../sof/sof/build_apl_gcc/src/arch/xtensa/rom-apl.bin \
40     -k ../../zephyrproject/zephyr/build/zephyr/zephyr.ri
41
42Where -r and -k are used to specify the ROM and kernel files.
43
44The ROMS can be built from the SOF repo by running
45
46./scripts/xtensa-build-all.sh  -r -a
47
48Using console
49-------------
50
51Using logging and simulator backend with processing printk (LOG_PRINTK)
52can bring console in qemu.
53
54 - Enable xtensa simulator logging backend (LOG_BACKEND_XTENSA_SIM).
55 - Enable printk processing(LOG_PRINTK)
56 - Add "-semihosting" to qemu command line. Make sure it goes through scripts to real qemu.
57