Hi.
I've been developing with nRF54L15DK.
I added below in prj.conf.
CONFIG_CMSIS_DSP=y CONFIG_DSP=y CONFIG_COMPILER_OPT="-DARM_TABLE_TWIDDLECOEF_F32_64 -DARM_TABLE_BITREVIDX_FLT_64 -DARM_TABLE_TWIDDLECOEF_RFFT_F32_128"
Indeed, I could confirm CMSIS-DSP function normally running in main.c.
In my goal, I would like to use .a library file, which requires CMSIS-DSP .
In the MDK-Arm environment, its default configuration does not activate 128 points FFT.
I would like to refer below explanation and adopt its configuration.
then, I placed the library(.a) and header file(.h) as below.
.a : src/app/lib
.c,.h : src/app
then, I wrote in CMakeLists.txt
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE}) project(led) FILE(GLOB_RECURSE app_sources src/*.c) target_sources(app PRIVATE ${app_sources}) # 1. set lib and header path set(MYLIB_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/app/lib) set(MYLIB_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/app) #header # 2. import lib add_library(mylib_lib STATIC IMPORTED GLOBAL) set_target_properties(mylib_lib PROPERTIES IMPORTED_LOCATION ${MYLIB_LIB_DIR}/libepsonvital_hard_2_1_0_eval.a) set_target_properties(mylib_lib PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${MYLIB_INCLUDE_DIR}) # 3. link application to target target_link_libraries(app PUBLIC mylib_lib) target_include_directories(app PRIVATE src/app) target_include_directories(app PRIVATE src)
and, I added "include "arm_math.h"" in header file for linking.
but, it failed to build , mainly found 'undefined reference to "arm math function" '.
(below is part of build error)
undefined reference to `arm_sin_f32' undefined reference to `arm_mean_f32' ....
It seemes for me to require the CMSIS-DSP function, but I already set in prj.conf
How should I solve this confliction?
Best regards.