-
Notifications
You must be signed in to change notification settings - Fork 349
Fix compile errors when building SOF, from Zephyr, as a sample application #7533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix compile errors when building SOF, from Zephyr, as a sample application #7533
Conversation
Update parameter type for asrc_initialise() to match those from header file. This fixes "error: conflicting types for 'asrc_initialise'". Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
Update parameter type for _xt_atomic_compare_exchange_4() to match xthal_compare_and_set() from xtensa/hal.h This fixes "error: passing argument 1 of 'xthal_compare_and_set' from incompatible pointer type" Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
| int _xt_atomic_compare_exchange_4(int *address, int32_t test_value, int32_t set_value); | ||
|
|
||
| int _xt_atomic_compare_exchange_4(int32_t *address, int32_t test_value, int32_t set_value) | ||
| int _xt_atomic_compare_exchange_4(int *address, int32_t test_value, int32_t set_value) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interesting, I don't see this file being built with Zephyr? And I don't see this function called anywhere. How are you building?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The NXP config has select ATOMIC_OPERATIONS_BUILTIN.
The Intel config has select ATOMIC_OPERATIONS_BUILTIN if "$(ZEPHYR_TOOLCHAIN_VARIANT)" != "xcc" (note: probably should extend to also cover xt-clang?)
Files are in zephyr/soc/xtensa/{intel,nxp}_adsp/*/Kconfig.series
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interesting, I don't see this file being built with Zephyr? And I don't see this function called anywhere. How are you building?
Directly from zephyr folder:
nxa06898@lsv15040:~/data/zephyrproject/zephyr$ west build -p always -b nxp_adsp_imx8m ../modules/audio/sof/ -- -DTOOLCHAIN=/opt/zephyr-sdk-0.15.2/xtensa-nxp_imx8m_adsp_zephyr-elf/bin/xtensa-nxp_imx8m_adsp_zephyr-elf -DINIT_CONFIG=imx8m_defconfig
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I only see atomics.c being built in src/arch/xtensa/hal/CMakeLists.txt and AFAIK that file isn't used in Zephyr builds, so I'm confused...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interesting, I don't see this file being built with Zephyr? And I don't see this function called anywhere. How are you building?
Directly from zephyr folder:
nxa06898@lsv15040:~/data/zephyrproject/zephyr$ west build -p always -b nxp_adsp_imx8m ../modules/audio/sof/ -- -DTOOLCHAIN=/opt/zephyr-sdk-0.15.2/xtensa-nxp_imx8m_adsp_zephyr-elf/bin/xtensa-nxp_imx8m_adsp_zephyr-elf -DINIT_CONFIG=imx8m_defconfig
@iuliana-prodan this looks wrong to me. You should build modules/audio/sof/app, not modules/audio/sof
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, so it can use the correct CMakeFiles.txt and related files. Yeah makes sense, she was using the CMakeFiles.txt for Xtos within the Zephyr build.
The fix still felt sketchy.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lyakh you're right! Compiling modules/audio/sof/app is fine, no warnings/errors thrown.
But, these fixes seems reasonable to me, since we need to have the same parameters in header and source.
When building SOF, in Zephyr, as a sample application I got the following errors:
This PR fixes the above issues.