Slower average solve time in MABX III (DS1403) with example code

Hi,

Now I’m currently deploying an example code provided acados, e.g., linear mpc code into a MicroAutoBox III (DS1403).

However, when I ran the example code in the .m file script, Simulink, and deployed to MABX III took as follows.

Average solve time: 0.11446 ms (.m file script)
Average solve time: 0.011652 ms (Simulink)
Average solve time: 0.11362 ms (MABX III)

As you can see the average solve time with MABX III, it tooks 10 times slower than Simulink code only version.

Furthermore, I’d changed a few code line in the cmake file for target hardware, i.e., MABX III, and for example, L’m currently using the following .cmake file as follows.

SET(CMAKE_SYSTEM_NAME "dSpaceDS1403")
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR})
SET(CMAKE_SYSTEM_PROCESSOR "arm")
file(TO_CMAKE_PATH "C:/Program Files/dSPACE RCPHIL 2022-B/" DSPACE_TOOLS)
set(DSPACE_RTLIB "C:/Program Files/dSPACE RCPHIL 2022-B/DS1403/Lib")
set(DSPACE_COMPILER "${DSPACE_TOOLS}/Compiler/Linux_4.14_GCC_10.3/target/arm-linux-gnueabihf")

find_program(CMAKE_C_COMPILER NAMES ${DSPACE_COMPILER}/bin/arm-linux-gnueabihf-gcc.exe)
find_program(CMAKE_CXX_COMPILER NAMES ${DSPACE_COMPILER}/bin/arm-linux-gnueabihf-gcc.exe)
find_program(CMAKE_ASM_COMPILER NAMES ${DSPACE_COMPILER}/bin/arm-linux-gnueabihf-gcc.exe)
set(CMAKE_RANLIB ":")
set(CMAKE_MAKE_PROGRAM "C:/Program Files/dSPACE RCPHIL 2022-B/Exe/DSMAKE.exe" CACHE FILEPATH "" FORCE)

SET(CMAKE_FIND_ROOT_PATH ${DSPACE_COMPILER})
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

set(ARM_FLAGS "-mcpu=cortex-a9 -mfpu=neon -mfloat-abi=hard")
set(CMAKE_C_FLAGS "-D_INLINE ${ARM_FLAGS} -O3 -ffast-math" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS "-D_INLINE ${ARM_FLAGS} -O3" CACHE STRING "" FORCE)
set(CMAKE_ASM_FLAGS "${ARM_FLAGS} -DOS_LINUX" CACHE STRING "" FORCE)

set(BLASFEO_TARGET "ARMV7A_ARM_CORTEX_A9" CACHE STRING "BLASFEO Target architecture")
set(HPIPM_TARGET "ARMV7A_ARM_CORTEX_A9" CACHE STRING "HPIPM Target architecture")
set(BUILD_SHARED_LIBS OFF CACHE STRING "")
set(BLASFEO_EXAMPLES OFF CACHE BOOL "")
set(EXT_DEP OFF CACHE BOOL "")
set(ACADOS_INSTALL_DIR "install" CACHE PATH "")
set(CMAKE_IMPORT_LIBRARY_PREFIX "")
set(CMAKE_SHARED_LIBRARY_PREFIX "")
set(CMAKE_SHARED_MODULE_PREFIX "")
set(CMAKE_STATIC_LIBRARY_PREFIX "")
set(CMAKE_EXECUTABLE_SUFFIX ".exe")
set(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib")
set(CMAKE_SHARED_LIBRARY_SUFFIX ".lib")
set(CMAKE_SHARED_MODULE_SUFFIX ".lib")
set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
set(CMAKE_ASM_COMPILER_FORCED TRUE)
set(CMAKE_ASM_COMPILER_WORKS 1 CACHE INTERNAL "" FORCE)
set(CMAKE_INCLUDE_FLAG_C "-I")
set(CMAKE_INCLUDE_FLAG_CXX "-I")
remove_definitions(-DLINUX)
remove_definitions(-DOS_WINDOWS)
remove_definitions(-D__LINUX__)

And my MATLAB version is R2022b, dSPACE software version is 2022-B.

Consequently, I wander the different average solve time between Simulink and MABX III, which is slower solve time in MABX III.
Is there any solution about this problem as me?

Sincerly,
Solyeon Kwon