mirror of https://github.com/thesofproject/sof.git
f0740ed103
Contains the following squashed SOF commits: nxp: imx8ulp: change SOC name to MIMX8UD7 zephyr: CMakeLists.txt use new `CONFIG_SOC_C` for 8ULP cmake: update configs for NXP ADSP and the following Zephyr patches affecting SOF: 951763939034 nxp: imx8ulp: change SOC name to MIMX8UD7 b8214b673970 dts: xtensa: nxp_imx8: add SAI1 node a0e32f07ef76 dts: intel_adsp: ace: update host dma copy alignment 3fde2c50c6ef tracing: add intel ADSP memory window backend 6b9d01f995c7 intel_adsp/ace: power: No pending transaction before power gate 6ea749de5283 arch: rename arch_start_cpu() to arch_cpu_start() b69d2486fee6 kernel: rename Z_KERNEL_STACK_BUFFER to K_KERNEL_STACK_BUFFER 1f55be8b42df nxp: imx8: change CONFIG_SOC_<name> to match the value 688fbb53aeb2 intel_adsp: ace: Fix sparse error Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com> Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com> |
||
---|---|---|
.. | ||
include | ||
lib | ||
scripts | ||
test | ||
CMakeLists.txt | ||
FindZephyr-sdk.cmake | ||
Kconfig | ||
README | ||
boot_test.c | ||
docker-build.sh | ||
docker-run.sh | ||
edf_schedule.c | ||
lib.c | ||
module.yml | ||
schedule.c | ||
wrapper.c |
README
SOF with Zephyr RTOS ==================== SOF currently uses the Cadence Xtos/HAL and it's own kernel functions as its RTOS. SOF is moving to use Zephyr as it's RTOS in parallel to current releases using xtos. The initial "alpha" of SOF on Zephyr will use the Zephyr RTOS for boot, IRQs, scheduling and memory allocation. Subsequent release will use more Zephyr functionality as code is moved from SOF to Zephyr (i.e. EDF scheduler updates copied from SOF to Zephyr). Building SOF on Zephyr ====================== Section promoted to https://thesofproject.github.io/latest/getting_started/build-guide/build-with-zephyr.html Testing on Qemu =============== Get the SOF qemu sof-v4.2 branch here. git@github.com:thesofproject/qemu.git Configure as ./configure' '--prefix=.' '--target-list=xtensa-softmmu,x86_64-softmmu' \ '--enable-gtk' '--enable-sdl' '--enable-spice' \ '--audio-drv-list=alsa' '--enable-libusb' \ '--enable-usb-redir' '--enable-coroutine-pool' \ '--disable-opengl' '--enable-fdt' Then run make. FW can be tested as follows using the qemu helper script. ./xtensa-host.sh apl \ -r ../../sof/sof/build_apl_gcc/src/arch/xtensa/rom-apl.bin \ -k ../../zephyrproject/zephyr/build/zephyr/zephyr.ri Where -r and -k are used to specify the ROM and kernel files. The ROMS can be built from the SOF repo by running ./scripts/xtensa-build-all.sh -r -a Using console ------------- Using logging and simulator backend with processing printk (LOG_PRINTK) can bring console in qemu. - Enable xtensa simulator logging backend (LOG_BACKEND_XTENSA_SIM). - Enable printk processing(LOG_PRINTK) - Add "-semihosting" to qemu command line. Make sure it goes through scripts to real qemu.