This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC1352P:尝试将 TI-rtos7 EasyLink 工程迁移到基于 TI 15.4堆栈的收集器工程(#ERROR 不兼容的编译器:使用此包含路径)

Guru**** 2484615 points
Other Parts Discussed in Thread: SYSBIOS

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1181409/cc1352p-trying-to-migrate-a-ti-rtos7-easylink-project-into-a-ti-15-4-stack-based-collector-project-error-incompatible-compiler-use-this-include-path

器件型号:CC1352P
Thread 中讨论的其他器件: SYSBIOS

您好!

我之前的项目在 EasyLink 堆栈上工作、与 ti-rtos7以及 TI v20.2.5 LTS 编译器一起工作。

现在、我希望使用我的所有应用代码将其迁移到新的 TI-clang 编译器中。  

当我尝试编译工程时、遇到以下编译器:

Building file: "syscfg/ti_sysbios_config.c"
Invoking: Arm Compiler
"C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-armllvm_2.1.2.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -Oz -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang/application/agc" -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang/application/crs/snapshots" -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang/application/crs" -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang/easylink" -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang/mac" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source/ti/common/cc26xx/flash_interface" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source/ti/posix/ccs" -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang" -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang/Release" -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang/application/collector" -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang/application" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source/ti/devices/cc13x2_cc26x2" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source/ti/devices/cc13x2_cc26x2/inc" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source/ti/devices/cc13x2_cc26x2/driverlib" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source/ti/posix/ticlang" -DFEATURE_BLE_OAD -DCC13X2 -DTIMAC_ROM_IMAGE_BUILD -DBoard_EXCLUDE_NVS_EXTERNAL_FLASH -DDeviceFamily_CC13X2 -gdwarf-3 -fdiagnostics-show-option -fshort-enums -munaligned-access -funsigned-char -fcommon -ffunction-sections -fno-strict-aliasing -march=armv7e-m -MMD -MP -MF"syscfg/ti_sysbios_config.d_raw" -MT"syscfg/ti_sysbios_config.o" -I"C:/Users/cellium/workspace_v12/collector_CC1352P_4_LAUNCHXL_tirtos7_ticlang/Release/syscfg" -std=gnu9x -o"syscfg/ti_sysbios_config.o" "syscfg/ti_sysbios_config.c"
subdir_rules.mk:26: recipe for target 'syscfg/ti_sysbios_config.o' failed
In file included from syscfg/ti_sysbios_config.c:121:
In file included from C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source\ti/posix/tirtos/clock.c:45:
C:/ti/simplelink_cc13xx_cc26xx_sdk_6_30_01_03/source/ti/posix/ccs\time.h:42:2: error: Incompatible compiler: use this include path (.../ti/posix/ccs) only with a Texas Instruments compiler. You appear to be using a different compiler.
#error Incompatible compiler: use this include path (.../ti/posix/ccs) only \

在 syscfg 中、我删除了所有射频堆栈(因为我以前使用 EasyLink)

我应该怎么做?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Michael、

    请共享 您生成的 ti_sysbios_config.c 和 ti_sysbios_config.h 文件吗?

    SysBIOS_config 中包含的源代码似乎存在问题。

    此致、

    SID

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    附加:

    /*
     *  ======== ti_sysbios_config.c ========
     *  Configured BIOS module definitions
     *
     *  DO NOT EDIT - This file is generated
     *  by the SysConfig tool.
     */
    
    #include <stddef.h>
    #include <stdint.h>
    
    #include "ti_sysbios_config.h"
    
    #include <ti/sysbios/BIOS.h>
    #include <ti/sysbios/family/arm/cc26xx/Boot.h>
    #include <ti/sysbios/family/arm/cc26xx/Timer.h>
    #include <ti/sysbios/family/arm/m3/Hwi.h>
    #include <ti/sysbios/gates/GateMutex.h>
    #include <ti/sysbios/heaps/HeapMem.h>
    #include <ti/sysbios/knl/Clock.h>
    #include <ti/sysbios/knl/Event.h>
    #include <ti/sysbios/knl/Idle.h>
    #include <ti/sysbios/knl/Mailbox.h>
    #include <ti/sysbios/knl/Queue.h>
    #include <ti/sysbios/knl/Semaphore.h>
    #include <ti/sysbios/knl/Swi.h>
    #include <ti/sysbios/knl/Task.h>
    #include <ti/sysbios/runtime/Error.h>
    #include <ti/sysbios/runtime/Memory.h>
    #include <ti/sysbios/runtime/Startup.h>
    #include <ti/sysbios/runtime/System.h>
    #include <ti/sysbios/runtime/Timestamp.h>
    
    
    /* Idle module definitions */
    
    /* Idle functions */
    extern void _pthread_cleanupFxn(void);
    extern void Power_idleFunc(void);
    
    /* Idle function list */
    volatile const Idle_FuncPtr Idle_funcList[2] = {
        _pthread_cleanupFxn,
        Power_idleFunc,
    };
    
    
    
    /* Startup module definitions */
    
    /* Startup reset functions */
    void Startup_reset()
    {
        Boot_trimDevice();
    }
    
    /*
     * Startup first functions
     * Module init functions
     * Startup last functions
     */
    void Startup_exec()
    {
        /* Startup first functions */
        Hwi_initNVIC();
        Hwi_initStack();
        BIOS_init();
        ti_sysbios_family_arm_cc26xx_TimestampProvider_init();
    
        /* Module init functions */
        System_init();
        Clock_init();
        Swi_init();
        Task_init();
        Idle_init();
        Hwi_init();
    
        Startup_done = true;
    }
    
    /* BIOS module definitions */
    
    extern char __primary_heap_start__;
    extern char __primary_heap_end__;
    
    HeapMem_Object BIOS_heapMemObject;
    
    /*
     *  ======== BIOS_init ========
     *  Perform any initialization needed before using any BIOS APIs
     */
    void BIOS_init(void)
    {
        if (BIOS_module->initDone) {
            return;
        }
        BIOS_module->initDone = true;
    
        char *buf = &__primary_heap_start__;
        size_t size = &__primary_heap_end__ - &__primary_heap_start__;
        HeapMem_Params heapMemParams;
    
        HeapMem_init();
    
        HeapMem_Params_init(&heapMemParams);
        heapMemParams.buf = buf;
        heapMemParams.size = size;
    
        Memory_defaultHeapInstance = (IHeap_Handle)HeapMem_construct(
            &BIOS_heapMemObject, &heapMemParams);
    }
    
    #include <ti/dpl/ClockP_tirtos.c>
    #include <ti/dpl/DebugP_tirtos.c>
    #include <ti/dpl/HwiP_tirtos.c>
    #include <ti/dpl/MutexP_tirtos.c>
    #include <ti/dpl/SemaphoreP_tirtos.c>
    #include <ti/dpl/SwiP_tirtos.c>
    #include <ti/dpl/SystemP_tirtos.c>
    #include <ti/dpl/PowerCC26X2_tirtos.c>
    #include <ti/posix/tirtos/clock.c>
    #include <ti/posix/tirtos/mqueue.c>
    #include <ti/posix/tirtos/pthread_barrier.c>
    #include <ti/posix/tirtos/pthread.c>
    #include <ti/posix/tirtos/pthread_cond.c>
    #include <ti/posix/tirtos/pthread_key.c>
    #include <ti/posix/tirtos/pthread_mutex.c>
    #include <ti/posix/tirtos/pthread_rwlock.c>
    #include <ti/posix/tirtos/pthread_util.c>
    #include <ti/posix/tirtos/sched.c>
    #include <ti/posix/tirtos/semaphore.c>
    #include <ti/posix/tirtos/sleep.c>
    #include <ti/posix/tirtos/timer.c>
    #include <ti/sysbios/BIOS.c>
    #include <ti/sysbios/family/arm/cc26xx/Boot.c>
    #include <ti/sysbios/family/arm/cc26xx/ClockSupport.c>
    #include <ti/sysbios/family/arm/cc26xx/Seconds.c>
    #include <ti/sysbios/hal/time.c>
    #include <ti/sysbios/family/arm/cc26xx/Timer.c>
    #include <ti/sysbios/family/arm/cc26xx/TimestampProvider.c>
    #include <ti/sysbios/family/arm/m3/Hwi.c>
    #include <ti/sysbios/family/arm/m3/TaskSupport.c>
    #include <ti/sysbios/gates/GateMutex.c>
    #include <ti/sysbios/heaps/HeapMem.c>
    #include <ti/sysbios/knl/Clock.c>
    #include <ti/sysbios/knl/Event.c>
    #include <ti/sysbios/knl/Idle.c>
    #include <ti/sysbios/knl/Mailbox.c>
    #include <ti/sysbios/knl/Queue.c>
    #include <ti/sysbios/knl/Semaphore.c>
    #include <ti/sysbios/knl/Swi.c>
    #include <ti/sysbios/knl/Task.c>
    #include <ti/sysbios/rts/MemAlloc.c>
    #include <ti/sysbios/runtime/Error.c>
    #include <ti/sysbios/runtime/Memory.c>
    #include <ti/sysbios/runtime/System.c>
    #include <ti/sysbios/runtime/SysCallback.c>
    #include <ti/sysbios/runtime/Timestamp.c>
    #include <ti/sysbios/runtime/Startup.c>
    

    /*
     *  ======== ti_sysbios_config.h ========
     *  Configured BIOS module declarations
     *
     *  The macros defined herein are intended for use by applications which
     *  directly include this header. These macros should NOT be hard coded or
     *  copied into library source code.
     *
     *  Symbols declared as const are intended for use with libraries.
     *  Library source code must extern the correct symbol--which is resolved
     *  when the application is linked.
     *
     *  DO NOT EDIT - This file is generated
     *  by the SysConfig tool.
     */
    #ifndef ti_sysbios_config_h
    #define ti_sysbios_config_h
    
    #include <stdint.h>
    
    /* support C++ sources */
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    /* BIOS module definitions */
    
    #define xdc_runtime_Log_DISABLE_ALL 1
    
    #define BIOS_assertsEnabled_D false
    #define BIOS_cpuFrequency_D 48000000
    #define BIOS_runtimeCreatesEnabled_D true
    #define BIOS_taskEnabled_D true
    #define BIOS_swiEnabled_D true
    #define BIOS_clockEnabled_D true
    #define BIOS_psaEnabled_D false
    #define BIOS_heapSize_D 0x1000
    #define BIOS_rtsLockType_D BIOS_GateMutex
    #define BIOS_numStartUserFuncs_D 0
    
    #define BIOS_RTS_GATE_STRUCT GateMutex_Struct
    #define BIOS_RTS_GATE_HANDLE(x) GateMutex_handle(x)
    #define BIOS_RTS_GATE_ENTER(x) GateMutex_enter(x)
    #define BIOS_RTS_GATE_LEAVE(x,y) GateMutex_leave(x,y)
    #define BIOS_RTS_GATE_CONSTRUCT(x,y) GateMutex_construct(x,y)
    
    /* ensure Error and Assert defines come before dependent modules */
    
    /* ti_sysbios_runtime_Error module definitions */
    #define Error_policy_D Error_SPIN
    #define Error_raiseHook_D 1
    #define Error_printDetails_D 0
    #define Error_addFileLine_D 1
    #define Error_retainStrings_D 1
    
    /* This header defines macros that rely on the above defines, do not reorder */
    #include <ti/sysbios/runtime/Error.h>
    
    extern void errorHandle(Error_Block *eb);
    #define Error_raiseHookFxn(x) errorHandle(x)
    
    /* Settings module definitions */
    
    
    
    /* Seconds module definitions */
    
    #define Seconds_generateTimeFunction_D true
    
    /* Timer module definitions */
    
    /* Function hook for RTC channel 1 and 2 */
    #define Timer_funcHookCH1_D NULL;
    #define Timer_funcHookCH2_D NULL;
    
    /* ti/sysbios/family/arm/cc26xx/TimestampProvider module definitions */
    
    #define ti_sysbios_family_arm_cc26xx_TimestampProvider_useClockTimer_D true
    
    /* Hwi module definitions */
    
    #include <ti/sysbios/family/arm/m3/Hwi.h>
    
    #define Hwi_NUM_INTERRUPTS_D 54
    #define Hwi_numSparseInterrupts_D 0
    #define Hwi_disablePriority_D 0x20
    #define Hwi_priGroup_D 0x0
    #define Hwi_nvicCCR_D 0x200
    #define Hwi_dispatcherAutoNestingSupport_D true
    #define Hwi_dispatcherSwiSupport_D true
    #define Hwi_dispatcherTaskSupport_D true
    #define Hwi_excHandlerFunc_D Hwi_excHandlerMin
    #define Hwi_resetVectorAddress_D 0x0
    #define Hwi_vectorTableAddress_D 0x20000000
    #define Hwi_initStackFlag_D true
    
    #define Hwi_resetFunc_D _c_int00
    #define Hwi_nmiFunc_D Hwi_excHandlerAsm
    #define Hwi_hardFaultFunc_D Hwi_excHandlerAsm
    #define Hwi_memFaultFunc_D Hwi_excHandlerAsm
    #define Hwi_busFaultFunc_D Hwi_excHandlerAsm
    #define Hwi_usageFaultFunc_D Hwi_excHandlerAsm
    #define Hwi_svCallFunc_D Hwi_excHandlerAsm
    #define Hwi_debugMonFunc_D Hwi_excHandlerAsm
    #define Hwi_reservedFunc_D Hwi_excHandlerAsm
    
    #define Hwi_swiDisable_D Swi_disable
    #define Hwi_swiRestore_D Swi_restore
    #define Hwi_swiRestoreHwi_D Swi_restoreHwi
    #define Hwi_taskDisable_D Task_disable
    #define Hwi_taskRestoreHwi_D Task_restoreHwi
    
    #define Hwi_nvic (*(volatile Hwi_NVIC *)0xe000e000)
    
    /* HwiHooks module definitions */
    
    #define HwiHooks_numHooks_D 0
    #define HwiHooks_array NULL
    
    /* HeapMem module definitions */
    
    #define HeapMem_GateStruct GateMutex_Struct
    #define HeapMem_gateConstruct(params) GateMutex_construct(&HeapMem_gate, params)
    #define HeapMem_gateEnter() GateMutex_enter(&HeapMem_gate)
    #define HeapMem_gateLeave(key) GateMutex_leave(&HeapMem_gate, key)
    #define HeapMem_gateCanBlock() GateMutex_canBlock()
    
    /* Clock module definitions */
    
    #define Clock_swiPriority_D 5
    #define Clock_tickSource_D Clock_TickSource_TIMER
    #define Clock_tickMode_D Clock_TickMode_DYNAMIC
    #define Clock_tickPeriod_D 10
    
    /* Idle module definitions */
    
    #define Idle_numFuncs_D 2
    
    /* Semaphore module definitions */
    
    #define Semaphore_supportsPriority_D false
    #define Semaphore_supportsEvents_D false
    #define Semaphore_eventPost_D NULL
    #define Semaphore_eventSync_D NULL
    
    /* Swi module definitions */
    
    #define Swi_taskDisable Task_disable
    #define Swi_taskRestore Task_restore
    
    #define Swi_numPriorities_D 6
    
    /* SwiHooks module definitions */
    #include <ti/sysbios/knl/Swi.h>
    
    #define SwiHooks_numHooks_D 0
    #define SwiHooks_array NULL
    
    /* Task module definitions */
    
    #define Task_allBlockedFunc_D NULL
    #define Task_numPriorities_D 6
    #define Task_defaultStackSize_D 512
    #define Task_idleTaskStackSize_D 512
    #define Task_idleTaskVitalTaskFlag_D true
    #define Task_initStackFlag_D true
    #define Task_checkStackFlag_D true
    #define Task_deleteTerminatedTasks_D false
    #define Task_numVitalTasks_D 0
    #define Task_minimizeLatency_D false
    #define Task_enableIdleTask_D true
    
    /* TaskHooks module definitions */
    #include <ti/sysbios/knl/Task.h>
    
    #define TaskHooks_numHooks_D 0
    #define TaskHooks_array NULL
    
    /* MemAlloc module definitions */
    
    #define MemAlloc_generateFunctions_D true
    
    /* Startup module definitions */
    
    /* Startup functions */
    extern void ti_sysbios_family_arm_cc26xx_TimestampProvider_init(void);
    
    /* SysCallback module definitions */
    
    #define SysCallback_abortFxn_D SysCallback_defaultAbort
    #define SysCallback_exitFxn_D SysCallback_defaultExit
    #define SysCallback_flushFxn_D SysCallback_defaultFlush
    #define SysCallback_initFxn_D SysCallback_defaultInit
    #define SysCallback_putchFxn_D SysCallback_defaultPutch
    #define SysCallback_readyFxn_D SysCallback_defaultReady
    
    /* System module definitions */
    
    #define System_maxAtexitHandlers_D 8
    #define System_abortFxn_D System_abortSpin
    #define System_exitFxn_D System_exitSpin
    #define System_supportPercentF_D 1
    extern void System_exitSpin(int);
    
    /* ti_sysbios_runtime_Timestamp module definitions */
    
    #define TimestampProvider_get32_D ti_sysbios_family_arm_cc26xx_TimestampProvider_get32
    #define TimestampProvider_get64_D ti_sysbios_family_arm_cc26xx_TimestampProvider_get64
    #define TimestampProvider_getFreq_D ti_sysbios_family_arm_cc26xx_TimestampProvider_getFreq
    #define TimestampProvider_init_D ti_sysbios_family_arm_cc26xx_TimestampProvider_init
    
    #ifdef __cplusplus
    }
    #endif
    
    #endif /* include guard */
    

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它看起来与以下内容有关:  

    /*编译器供应商检查*/
    #if !defined (__TI_Compiler_version__)||定义(__clang__)
    错误不兼容的编译器:仅使用此包含路径(.../ti/posix/ccs)\
    一个德州仪器编译器。 您似乎正在使用不同的编译器。
    #endif

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有什么帮助??

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果我在 include 选项中包含此路径、则会发生此问题:

    ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/source/ti/posix/ccs

    如果我将其删除、则会出现此错误:  

    未定义                    第一个参考
    符号                         文件中
    ------                         --------
    RAM_MAC_BASE_ADDR

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Michael、

    我认为您选择了正确的路径、删除了此 include 选项。 您还应该删除  RAM_MAC_BASE_ADDR 符号。

    您可以获取 TI clang 链接器 cmd 文件并直接使用或用作参考。

    谢谢、

    玛丽·H

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题是、我以前在 EasyLink 堆栈上、但您删除了它、因此我必须在 syscfg ti 15.4堆栈上进行选择、以便 syscfg 包含所需的文件。