Thread 中讨论的其他器件:SysConfig、 BLE-STACK
我的客户希望在 EasyLink 示例中使用自动堆大小以节省 RAM 存储器。 TI15.4和 BLE 用户指南中的现有指南基于 TI-RTOS6、这不适用于新的 TI-RTOS7项目。 您能否帮助您在 TI-RTOS7中使用 HeapMem 或 HeapCallback 启用自动堆大小?
客户的项目基于 SDK6.20中的 rfEasyLinkListenBeforeTalk、谢谢。
此致、
水阳
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.
我的客户希望在 EasyLink 示例中使用自动堆大小以节省 RAM 存储器。 TI15.4和 BLE 用户指南中的现有指南基于 TI-RTOS6、这不适用于新的 TI-RTOS7项目。 您能否帮助您在 TI-RTOS7中使用 HeapMem 或 HeapCallback 启用自动堆大小?
客户的项目基于 SDK6.20中的 rfEasyLinkListenBeforeTalk、谢谢。
此致、
水阳
您好、Shuyang、
我认为应该可以在编译时使用 TI RTOS 6中的相同机制来设置堆大小。
在 TI-RTOS7中、堆参数在 SysConfig -> TI RTOS -> BIOS ->默认堆设置中定义。 默认情况下、该示例使用 HeapMem 模块。
堆开始和结束使用 __primary_heap_start__和 __primary_heap_end__变量定义。 您可以在链接器命令文件 cc13x2_cc26x2_tirtos7.cmd 中找到这些命令。
/* Section allocation in memory */ SECTIONS { // ... .nonretenvar : > SRAM /* Heap buffer used by HeapMem */ .priheap : { __primary_heap_start__ = .; . += HEAPSIZE; __primary_heap_end__ = .; } > SRAM align 8 .gpram : > GPRAM .log_data : > LOG_DATA, type = COPY }
如果用编译时定义替换此定义、则应该具有可变的堆大小。 例如、使用 BLE-Stack 中的链接器命令文件(cc13x2_cc26x2_app_tirtos7.cmd)作为示例。 此处的相关变量称为 heapstart 和 heapend。
/******************************************************************************* * Section Allocation in Memory ******************************************************************************/ SECTIONS { // ... GROUP > SRAM { // ... } LOAD_END(heapStart) .stack : > SRAM (HIGH) LOAD_START(heapEnd)
谢谢、
Marie
BTW 如果您想深入了解 TI-RTOS 7中的堆实现、请访问以下资源:
1) 1) TI-RTOS7用户指南、请参阅第7.3和7.4章
2) 2) TI-RTOS7 API 文档:
谢谢、
玛丽·H
您好、Marie、
我正在尝试将 rfEasyLinkListenBeforeTalk CC1352P1_LAUNCHXL_tirtos7_climang 的堆配置更改为自动调整堆大小。 我从 TI15.4-stack 传感器示例中复制了.cmd 文件、并相应地更改默认堆设置:
我还修改了.syscfg 文件中的 BIOS 设置、如下所示:
/* * Runtime instance creation enable flag. * * Pick one: * - true (default) * Allows Mod_create() and Mod_delete() to be called at runtime which * requires a default heap for dynamic memory allocation. * - false * Reduces code footprint by disallowing Mod_create() and Mod_delete() to * be called at runtime. Object instances are constructed via * Mod_construct() and destructed via Mod_destruct(). * * When using BIOS in ROM: * This option must be set to true. */ BIOS.runtimeCreatesEnabled = true; //BIOS.runtimeCreatesEnabled = false; BIOS.rtsGateType = "BIOS_GateMutexPri"; BIOS.heapSize = 0x00000000; //BIOS.heapBaseAddr = "__primary_heap_start__"; //BIOS.heapEndAddr = "__primary_heap_end__"; BIOS.heapType = "HeapCallback";
之后、我将 rtos_heaposal.h 从 \simplelink_cc13xx_cc26xx_sdk_6_20_00_29\sources\ti154stack\common\heapmgr 复制到我的项目文件、并添加了预定义符号 TIRTOS7_support、HEAPMGR_CONFIG=0x80和 HEAPMGR_SIZE=0x0。
但是、编译错误仍然存在、如下所示:
**** Build of configuration Debug for project rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf **** "C:\\ti\\ccs1120\\ccs\\utils\\bin\\gmake" -k -j 8 all -O Building file: "../rfEasylinkListenBeforeTalk.c" Invoking: Arm Compiler "C:/ti/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/heapmgr" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/posix/ticlang" -DDeviceFamily_CC13X2 -DTIRTOS7_SUPPORT -DHEAPMGR_CONFIG=0x80 -DHEAPMGR_SIZE=0x0 -gstrict-dwarf -gdwarf-3 -march=armv7e-m -MMD -MP -MF"rfEasylinkListenBeforeTalk.d_raw" -MT"rfEasylinkListenBeforeTalk.o" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug/syscfg" -o"rfEasylinkListenBeforeTalk.o" "../rfEasylinkListenBeforeTalk.c" subdir_rules.mk:38: recipe for target 'rfEasylinkListenBeforeTalk.o' failed In file included from ../rfEasylinkListenBeforeTalk.c:71: C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:328:17: warning: implicit declaration of function 'heapmgrMalloc' is invalid in C99 [-Wimplicit-function-declaration] HEAPMGR_FF2 = HEAPMGR_MALLOC(0); ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:72:24: note: expanded from macro 'HEAPMGR_MALLOC' #define HEAPMGR_MALLOC heapmgrMalloc ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:328:15: warning: incompatible integer to pointer conversion assigning to 'heapmgrHdr_t *' (aka 'unsigned int *') from 'int' [-Wint-conversion] HEAPMGR_FF2 = HEAPMGR_MALLOC(0); ^ ~~~~~~~~~~~~~~~~~ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:349:7: error: conflicting types for 'heapmgrMalloc' void *HEAPMGR_MALLOC(hmU32_t size) ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:72:24: note: expanded from macro 'HEAPMGR_MALLOC' #define HEAPMGR_MALLOC heapmgrMalloc ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:328:17: note: previous implicit declaration is here HEAPMGR_FF2 = HEAPMGR_MALLOC(0); ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:72:24: note: expanded from macro 'HEAPMGR_MALLOC' #define HEAPMGR_MALLOC heapmgrMalloc ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:602:5: warning: implicit declaration of function 'heapmgrFree' is invalid in C99 [-Wimplicit-function-declaration] HEAPMGR_FREE(ptr); ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:76:22: note: expanded from macro 'HEAPMGR_FREE' #define HEAPMGR_FREE heapmgrFree ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:614:6: error: conflicting types for 'heapmgrFree' void HEAPMGR_FREE(void *ptr) ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:76:22: note: expanded from macro 'HEAPMGR_FREE' #define HEAPMGR_FREE heapmgrFree ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:602:5: note: previous implicit declaration is here HEAPMGR_FREE(ptr); ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:76:22: note: expanded from macro 'HEAPMGR_FREE' #define HEAPMGR_FREE heapmgrFree ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:748:23: error: unknown type name 'ICall_heapStats_t' void HEAPMGR_GETSTATS(ICall_heapStats_t *stats) ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:883:39: error: expected expression HEAPMGR_GETSTATS((ICall_heapStats_t*)&stats); ^ C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/rtos_heaposal.h:883:21: error: use of undeclared identifier 'ICall_heapStats_t' HEAPMGR_GETSTATS((ICall_heapStats_t*)&stats); ^ 3 warnings and 5 errors generated. gmake: *** [rfEasylinkListenBeforeTalk.o] Error 1 gmake: Target 'all' not remade because of errors. **** Build Finished ****
我错过了什么?
此致、
水阳
您好、Marie、
我将 heapmgr 文件夹添加到 include 路径中、但它不起作用。
我还尝试将 ${com_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/source/ti/ti154stack/common/osal_port 添加到 include 路径、并将整个 ${PROJECT_ROOT}/software_stack/ti15_4stack/osal 文件夹复制到我的项目中、但错误仍然存在。
请在附件中查找我的.syscfg 文件:
e2e.ti.com/.../rfEasyLinkListenBeforeTalk.syscfg
和完整的构建日志:
**** Build of configuration Debug for project rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf **** "C:\\ti\\ccs1120\\ccs\\utils\\bin\\gmake" -k -j 8 all -O Building file: "../osal_port.c" Invoking: Arm Compiler "C:/ti/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/heapmgr" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/software_stack/ti15_4stack/osal" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/posix/ticlang" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/osal_port" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr" -DDeviceFamily_CC13X2 -DTIRTOS7_SUPPORT -DHEAPMGR_CONFIG=0x80 -DHEAPMGR_SIZE=0x0 -gstrict-dwarf -gdwarf-3 -march=armv7e-m -MMD -MP -MF"osal_port.d_raw" -MT"osal_port.o" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug/syscfg" -std=gnu9x -o"osal_port.o" "../osal_port.c" Finished building: "../osal_port.c" Building file: "syscfg/ti_easylink_config.c" Invoking: Arm Compiler "C:/ti/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/heapmgr" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/software_stack/ti15_4stack/osal" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/posix/ticlang" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/osal_port" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr" -DDeviceFamily_CC13X2 -DTIRTOS7_SUPPORT -DHEAPMGR_CONFIG=0x80 -DHEAPMGR_SIZE=0x0 -gstrict-dwarf -gdwarf-3 -march=armv7e-m -MMD -MP -MF"syscfg/ti_easylink_config.d_raw" -MT"syscfg/ti_easylink_config.o" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug/syscfg" -std=gnu9x -o"syscfg/ti_easylink_config.o" "syscfg/ti_easylink_config.c" Finished building: "syscfg/ti_easylink_config.c" Building file: "syscfg/ti_devices_config.c" Invoking: Arm Compiler "C:/ti/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/heapmgr" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/software_stack/ti15_4stack/osal" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/posix/ticlang" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/osal_port" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr" -DDeviceFamily_CC13X2 -DTIRTOS7_SUPPORT -DHEAPMGR_CONFIG=0x80 -DHEAPMGR_SIZE=0x0 -gstrict-dwarf -gdwarf-3 -march=armv7e-m -MMD -MP -MF"syscfg/ti_devices_config.d_raw" -MT"syscfg/ti_devices_config.o" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug/syscfg" -std=gnu9x -o"syscfg/ti_devices_config.o" "syscfg/ti_devices_config.c" Finished building: "syscfg/ti_devices_config.c" Building file: "syscfg/ti_radio_config.c" Invoking: Arm Compiler "C:/ti/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/heapmgr" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/software_stack/ti15_4stack/osal" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/posix/ticlang" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/osal_port" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr" -DDeviceFamily_CC13X2 -DTIRTOS7_SUPPORT -DHEAPMGR_CONFIG=0x80 -DHEAPMGR_SIZE=0x0 -gstrict-dwarf -gdwarf-3 -march=armv7e-m -MMD -MP -MF"syscfg/ti_radio_config.d_raw" -MT"syscfg/ti_radio_config.o" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug/syscfg" -std=gnu9x -o"syscfg/ti_radio_config.o" "syscfg/ti_radio_config.c" Finished building: "syscfg/ti_radio_config.c" Building file: "syscfg/ti_drivers_config.c" Invoking: Arm Compiler "C:/ti/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/heapmgr" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/software_stack/ti15_4stack/osal" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/posix/ticlang" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/osal_port" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr" -DDeviceFamily_CC13X2 -DTIRTOS7_SUPPORT -DHEAPMGR_CONFIG=0x80 -DHEAPMGR_SIZE=0x0 -gstrict-dwarf -gdwarf-3 -march=armv7e-m -MMD -MP -MF"syscfg/ti_drivers_config.d_raw" -MT"syscfg/ti_drivers_config.o" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug/syscfg" -std=gnu9x -o"syscfg/ti_drivers_config.o" "syscfg/ti_drivers_config.c" Finished building: "syscfg/ti_drivers_config.c" Building file: "../rfEasylinkListenBeforeTalk.c" Invoking: Arm Compiler "C:/ti/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/heapmgr" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/software_stack/ti15_4stack/osal" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/posix/ticlang" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/osal_port" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr" -DDeviceFamily_CC13X2 -DTIRTOS7_SUPPORT -DHEAPMGR_CONFIG=0x80 -DHEAPMGR_SIZE=0x0 -gstrict-dwarf -gdwarf-3 -march=armv7e-m -MMD -MP -MF"rfEasylinkListenBeforeTalk.d_raw" -MT"rfEasylinkListenBeforeTalk.o" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug/syscfg" -std=gnu9x -o"rfEasylinkListenBeforeTalk.o" "../rfEasylinkListenBeforeTalk.c" subdir_rules.mk:9: recipe for target 'rfEasylinkListenBeforeTalk.o' failed In file included from ../rfEasylinkListenBeforeTalk.c:71: C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:328:17: warning: implicit declaration of function 'heapmgrMalloc' is invalid in C99 [-Wimplicit-function-declaration] HEAPMGR_FF2 = HEAPMGR_MALLOC(0); ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:72:24: note: expanded from macro 'HEAPMGR_MALLOC' #define HEAPMGR_MALLOC heapmgrMalloc ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:328:15: warning: incompatible integer to pointer conversion assigning to 'heapmgrHdr_t *' (aka 'unsigned int *') from 'int' [-Wint-conversion] HEAPMGR_FF2 = HEAPMGR_MALLOC(0); ^ ~~~~~~~~~~~~~~~~~ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:349:7: error: conflicting types for 'heapmgrMalloc' void *HEAPMGR_MALLOC(hmU32_t size) ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:72:24: note: expanded from macro 'HEAPMGR_MALLOC' #define HEAPMGR_MALLOC heapmgrMalloc ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:328:17: note: previous implicit declaration is here HEAPMGR_FF2 = HEAPMGR_MALLOC(0); ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:72:24: note: expanded from macro 'HEAPMGR_MALLOC' #define HEAPMGR_MALLOC heapmgrMalloc ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:602:5: warning: implicit declaration of function 'heapmgrFree' is invalid in C99 [-Wimplicit-function-declaration] HEAPMGR_FREE(ptr); ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:76:22: note: expanded from macro 'HEAPMGR_FREE' #define HEAPMGR_FREE heapmgrFree ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:614:6: error: conflicting types for 'heapmgrFree' void HEAPMGR_FREE(void *ptr) ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:76:22: note: expanded from macro 'HEAPMGR_FREE' #define HEAPMGR_FREE heapmgrFree ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:602:5: note: previous implicit declaration is here HEAPMGR_FREE(ptr); ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:76:22: note: expanded from macro 'HEAPMGR_FREE' #define HEAPMGR_FREE heapmgrFree ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:748:23: error: unknown type name 'ICall_heapStats_t' void HEAPMGR_GETSTATS(ICall_heapStats_t *stats) ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:883:39: error: expected expression HEAPMGR_GETSTATS((ICall_heapStats_t*)&stats); ^ C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr\rtos_heaposal.h:883:21: error: use of undeclared identifier 'ICall_heapStats_t' HEAPMGR_GETSTATS((ICall_heapStats_t*)&stats); ^ 3 warnings and 5 errors generated. gmake: *** [rfEasylinkListenBeforeTalk.o] Error 1 Building file: "syscfg/ti_sysbios_config.c" Invoking: Arm Compiler "C:/ti/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/heapmgr" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/software_stack/ti15_4stack/osal" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/posix/ticlang" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/osal_port" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr" -DDeviceFamily_CC13X2 -DTIRTOS7_SUPPORT -DHEAPMGR_CONFIG=0x80 -DHEAPMGR_SIZE=0x0 -gstrict-dwarf -gdwarf-3 -march=armv7e-m -MMD -MP -MF"syscfg/ti_sysbios_config.d_raw" -MT"syscfg/ti_sysbios_config.o" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug/syscfg" -std=gnu9x -o"syscfg/ti_sysbios_config.o" "syscfg/ti_sysbios_config.c" Finished building: "syscfg/ti_sysbios_config.c" Building file: "../easylink/EasyLink.c" Invoking: Arm Compiler "C:/ti/ti-cgt-armllvm_2.1.0.LTS/bin/tiarmclang.exe" -c -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mlittle-endian -mthumb -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/heapmgr" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/software_stack/ti15_4stack/osal" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/kernel/tirtos7/packages" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/posix/ticlang" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/osal_port" -I"C:/ti/simplelink_cc13xx_cc26xx_sdk_6_20_00_29/source/ti/ti154stack/common/heapmgr" -DDeviceFamily_CC13X2 -DTIRTOS7_SUPPORT -DHEAPMGR_CONFIG=0x80 -DHEAPMGR_SIZE=0x0 -gstrict-dwarf -gdwarf-3 -march=armv7e-m -MMD -MP -MF"easylink/EasyLink.d_raw" -MT"easylink/EasyLink.o" -I"C:/Users/a0222721/workspace_v11/rfEasyLinkListenBeforeTalk_CC1352P1_LAUNCHXL_tirtos7_ticlang_system_printf/Debug/syscfg" -std=gnu9x -o"easylink/EasyLink.o" "../easylink/EasyLink.c" Finished building: "../easylink/EasyLink.c" gmake: Target 'all' not remade because of errors. **** Build Finished ****
此致、
水阳
您好、Shuyang、
是否确实要使用 HeapCallback 模块?
我尝试了使用 HeapMem 的更简单的解决方案。 请参阅随附的链接器命令文件。 这假定您在 TI clang 中使用 EasyLink LBT 示例、而没有其他更改(SysConfig 堆设置无更改)。
e2e.ti.com/.../cc13x2_5F00_cc26x2_5F00_tirtos7.cmd
谢谢、
玛丽·H