Part Number: LAUNCHXL-CC1352P
Tool/software: TI C/C++ Compiler
Hi,
I want to include some open-source stacks in my code for the CC1352P1, so I'm trying to use cmake with armcl compiler and armar archiver.
Here is my code:
cmake_minimum_required(VERSION 3.10)
set (CMAKE_CONFIGURATION_TYPES "Debug;Release")
project(lwIP)
# Example lwIP application
set(LWIP_DIR "/Users/sramnath/lwip_blinky/lwip")
set (LWIP_DEFINITIONS LWIP_DEBUG=1)
set(CMAKE_VERBOSE_MAKEFILE ON)
# Generate docs before creating source package
include(${LWIP_DIR}/contrib/ports/CMakeCommon.cmake)
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
if (TARGET lwipdocs)
add_dependencies(dist lwipdocs)
endif()
set(TIRTOS_XDC_RT "/Applications/ti_ccs9/xdctools_3_32_00_06_core")
set(TIRTOS_BIOS_RT "/Applications/ti_ccs9/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages/ti/sysbios")
set(TIRTOS_BIOS_INC "/Applications/ti_ccs9/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages")
set(TIRTOS_TARGET_INC "/Applications/ti_ccs9/tirtos_cc13xx_cc26xx_2_21_01_08/products/bios_6_46_01_38/packages")
set(TIRTOS_COMPILER "/Applications/ti_ccs9/ccs9/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS")
set(TIRTOS_SDK "/Applications/ti_ccs9/simplelink_cc13x2_26x2_sdk_3_20_00_68")
set(TIRTOS_CROSS_COMPILER "/Applications/ti_ccs9/simplelink_cc13x2_26x2_sdk_3_20_00_68/kernel/tirtos/packages/gnu/targets/arm/libs/install-native/arm-none-eabi")
set(LWIP_TIRTOS_SRCS
${TIRTOS_XDC_RT}/packages
${TIRTOS_BIOS_RT}
${TIRTOS_BIOS_INC}
${TIRTOS_BIOS_INC}/gnu/targets
${TIRTOS_TARGET_INC}
${TIRTOS_COMPILER}
${TIRTOS_SDK}/source
${TIRTOS_SDK}/source/ti/posix/ccs
)
set (LWIP_INCLUDE_DIRS
"${LWIP_DIR}/src/include"
"${LWIP_DIR}"
"${LWIP_DIR}/contrib/"
"${LWIP_DIR}/contrib/ports/tirtos/include"
"${LWIP_DIR}/contrib/examples/test"
# "/Users/sramnath/lwip_out/lwip/contrib/ports/tirtos"
"${LWIP_DIR}/contrib/ports/tirtos"
"${LWIP_TIRTOS_SRCS}"
)
set (LWIP_COMPILE_OPTIONS
"-Dxdc_target_types__=${TIRTOS_BIOS_INC}/gnu/targets/arm/std.h"
"-Dxdc_target_name__=M3"
"-DDeviceFamily_CC13X2"
)
set (LWIP_CCOPTS
"--endian=little --mv7M4 --abi=eabi -q -ms --opt_for_speed=0 --program_level_compile -o3 -g --optimize_with_debug -Dti_sysbios_knl_Task_minimizeLatency__D=FALSE -Dti_sysbios_family_arm_cc26xx_Boot_driverlibVersion=2 -Dti_sysbios_knl_Clock_stopCheckNext__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_enableException__D=TRUE -Dti_sysbios_family_arm_m3_Hwi_disablePriority__D=32U -Dti_sysbios_family_arm_m3_Hwi_numSparseInterrupts__D=0U"
)
set (LWIP_BIOS_OPTS
"-Dti_sysbios_BIOS_swiEnabled__D=TRUE"
"-Dti_sysbios_BIOS_taskEnabled__D=TRUE"
"-Dti_sysbios_BIOS_clockEnabled__D=TRUE"
"-Dti_sysbios_BIOS_runtimeCreatesEnabled__D=TRUE"
"-Dti_sysbios_hal_Hwi_DISABLE_ALL_HOOKS"
"-Dti_sysbios_knl_Swi_DISABLE_ALL_HOOKS"
"-Dti_sysbios_BIOS_smpEnabled__D=FALSE"
"-Dti_sysbios_Build_useHwiMacros"
"-Dti_sysbios_knl_Swi_numPriorities__D=6"
"-Dti_sysbios_knl_Task_deleteTerminatedTasks__D=FALSE"
"-Dti_sysbios_knl_Task_numPriorities__D=16"
"-Dti_sysbios_knl_Task_checkStackFlag__D=FALSE"
"-Dti_sysbios_knl_Task_initStackFlag__D=TRUE"
"-Dti_sysbios_knl_Task_DISABLE_ALL_HOOKS"
"-Dti_sysbios_knl_Clock_TICK_SOURCE=ti_sysbios_knl_Clock_TickSource_TIMER"
"-Dti_sysbios_knl_Clock_TICK_MODE=ti_sysbios_knl_Clock_TickMode_DYNAMIC"
"-Dti_sysbios_hal_Core_delegate_getId=ti_sysbios_hal_CoreNull_getId__E"
"-Dti_sysbios_hal_Core_delegate_interruptCore=ti_sysbios_hal_CoreNull_interruptCore__E"
"-Dti_sysbios_hal_Core_delegate_lock=ti_sysbios_hal_CoreNull_lock__E"
"-Dti_sysbios_hal_Core_delegate_unlock=ti_sysbios_hal_CoreNull_unlock__E"
"-Dti_sysbios_hal_Core_numCores__D=1"
"-Dti_sysbios_hal_CoreNull_numCores__D=1"
"-Dti_sysbios_utils_Load_taskEnabled__D=TRUE"
"-Dti_sysbios_utils_Load_swiEnabled__D=FALSE"
"-Dti_sysbios_utils_Load_hwiEnabled__D=FALSE"
"-Dti_sysbios_family_arm_m3_Hwi_dispatcherSwiSupport__D=TRUE"
"-Dti_sysbios_family_arm_m3_Hwi_dispatcherTaskSupport__D=TRUE"
"-Dti_sysbios_family_arm_m3_Hwi_dispatcherAutoNestingSupport__D=TRUE"
"-Dti_sysbios_knl_Semaphore_supportsEvents__D=FALSE"
"-Dti_sysbios_knl_Semaphore_supportsPriority__D=FALSE"
"-Dxdc_runtime_Assert_DISABLE_ALL"
"-Dxdc_runtime_Log_DISABLE_ALL"
)
# Compiler options
set(TI_CGT_PATH "${TIRTOS_COMPILER}")
set(CMAKE_C_COMPILER "${TIRTOS_COMPILER}/bin/armcl")
set(CMAKE_C_FLAGS "-c ${LWIP_CCOPTS} -I ${TIRTOS_COMPILER}/include -I ${TIRTOS_SDK}/kernel/tirtos/packages" CACHE STRING "" FORCE)
# skip compiler tests
set(CMAKE_C_COMPILER_WORKS 1)
# add default include and lib directories
include_directories(${TIRTOS_COMPILER}/include)
link_directories(${TIRTOS_COMPILER}/lib)
# set target environment
set(CMAKE_FIND_ROOT_PATH ${TIRTOS_COMPILER} )
set(PLATFORM_CONFIG_C_FLAGS "-mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -O2 -g --include_path=${TIRTOS_COMPILER}/include -gcc --define=ccs=ccs --diag_warning=225 --display_error_number --diag_wrap=off --gen_func_subsections=on --ual" CACHE STRING "platform config c flags")
# combine flags to C and C++ flags
SET(CMAKE_C_FLAGS "${PLATFORM_CONFIG_C_FLAGS} ${CMAKE_C_FLAGS}" CACHE STRING "platform config c flags")
SET(CMAKE_CXX_FLAGS "${PLATFORM_CONFIG_CXX_FLAGS} ${CMAKE_CXX_FLAGS}" CACHESTRING "platform config c flags")
SET(CMAKE_EXE_LINKER_FLAGS "-mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me -O2 -g --define=ccs=\"ccs\" --diag_warning=225 --display_error_number --diag_wrap=off --gen_func_subsections=on --ual -z --stack_size=256 -mblinky_ccs.map --heap_size=0 -i${TIRTOS_COMPILER}/lib -i${TIRTOS_COMPILER}/include --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info=blinky_linkInfo.xml --rom_model" CACHE STRING "")
# change to armar
SET(CMAKE_AR "${TIRTOS_COMPILER}/bin/armar")
SET(CMAKE_AR_FLAGS "-av")
SET(CMAKE_C_ARCHIVE_CREATE "<CMAKE_AR> ${CMAKE_AR_FLAGS} <TARGET> <LINK_FLAGS> <OBJECTS>")
include(${LWIP_DIR}/src/Filelists.cmake)
include(${LWIP_DIR}/contrib/Filelists.cmake)
include(${LWIP_DIR}/contrib/ports/tirtos/Filelists.cmake)
set (cc1352p1_board_SRCS
${LWIP_DIR}/CC1352P1_LAUNCHXL_TIRTOS.cmd
${LWIP_DIR}/CC1352P1_LAUNCHXL_fxns.c
${LWIP_DIR}/CC1352P1_LAUNCHXL.c
${LWIP_DIR}/ccfg.c
)
add_library(lwipboard EXCLUDE_FROM_ALL ${cc1352p1_board_SRCS})
target_include_directories(lwipboard PRIVATE ${LWIP_INCLUDE_DIRS})
target_compile_options(lwipboard PRIVATE ${LWIP_COMPILER_FLAGS} ${LWIP_COMPILER_OPTIONS})
target_compile_definitions(lwipboard PRIVATE ${LWIP_DEFINITIONS})
add_executable(test ${LWIP_DIR}/main.c )
target_include_directories(test PRIVATE ${LWIP_INCLUDE_DIRS})
target_compile_options(test PRIVATE ${LWIP_COMPILER_FLAGS} ${LWIP_COMPILER_OPTIONS})
target_link_libraries(test ${LWIP_SANITIZER_LIBS} lwipboard)
add_definitions( ${LWIP_COMPILE_OPTIONS} ${LWIP_CCOPTS} ${LWIP_BIOS_OPTS})
I am able to build but when I get to linking static libraries, I get the following error :
[ 60%] Linking C static library liblwipboard.a /usr/local/Cellar/cmake/3.15.5/bin/cmake -P CMakeFiles/lwipboard.dir/cmake_clean_target.cmake /usr/local/Cellar/cmake/3.15.5/bin/cmake -E cmake_link_script CMakeFiles/lwipboard.dir/link.txt --verbose=1 /Applications/ti_ccs9/ccs9/ccs/tools/compiler/ti-cgt-arm_18.12.2.LTS/bin/armar -av liblwipboard.a CMakeFiles/lwipboard.dir/CC1352P1_LAUNCHXL_fxns.c.o CMakeFiles/lwipboard.dir/CC1352P1_LAUNCHXL.c.o CMakeFiles/lwipboard.dir/ccfg.c.o ==> new archive 'liblwipboard.a' ==> building archive 'liblwipboard.a' --> error: 'CMakeFiles/lwipboard.dir/CC1352P1_LAUNCHXL_fxns.c.o' not found --> error: 'CMakeFiles/lwipboard.dir/CC1352P1_LAUNCHXL.c.o' not found --> error: 'CMakeFiles/lwipboard.dir/ccfg.c.o' not found make[2]: *** [liblwipboard.a] Error 1 make[2]: *** Deleting file `liblwipboard.a' make[1]: *** [CMakeFiles/lwipboard.dir/all] Error 2 make: *** [all] Error 2
all builds show successful so I assume that the .o objects they are referring to were generated.
Any idea as to what could be going wrong?
Warm regards,
Samyukta