Thread 中讨论的其他器件:SYSBIOS、 C2000WARE
当我编译我的项目时、我收到以下警告:
#10247-D 在没有段规范 C/C++问题的情况下创建输出段".data"
在映射文件中、我可以了解此部分中存储了哪些变量:
.data 1 00000002 000000d2未初始化
00000002 00000020 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:ti_sysbios_KNL_KNL_STATE__V Task_Module_)
00000022 00000016 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:ti_sysbios_KNL_KNL_STATE___V Clock_Module_)
00000038 00000008 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:ti_sysbios_family_c28_sys_state__V Timer_Module_)
00000040 0000004c DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:ti_sysbios_utils_sys_state__V Load_Module_)
0000008c 00000012 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:ti_sysBIOS_BIOS_Module__STATE_V)
0000009e 00000010 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:ti_sysBIOS_family_c28_sys_state__V Hwi_Module_)
000000ae 0000000c DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:ti_sysbios_KNL_KNL_STATE__V Swi_Module_)
000000ba 00000004 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:xdc_runtime_runtime_state_state__V Registry_Module_)
000000be 00000002 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:xdc_runtime_runtime_state_state__V Memory_Module_)
000000c0 00000004 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:xdc_runtime_runtime_state_state__V Startup_Module_)
000000c4 00000004 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:XDC_RUNTIME_SYSSD_STATE__V Min_Module_)
000000c8 00000004 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:xdc_runtime_runtime_state_state__V System_Module_)
000000cc 00000004 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:xdc_runtime_runtime_state_state__V Text_Module_)
000000d0 00000003 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:xdc_runtime_Logcion_state_V Buf_Module_)
000000d3 00000001 DEV_FLASH_CONFIG_cpu01_p28fp.o28FP (.data:xdc_runtime_runtime_state_state__V Error_Module_)
此区域似乎由 Sys/BIOS 和 XDC_runtime 使用。 在我的 cmd 文件中、我获得了.data 段的以下定义:
/* Allocate data memory at RAM
* - .stack: Stack space | Volatile memory (SRAM). The C28x Stack Pointer (SP) is 16 bits. .stack must be in the low 64k words.
* - .bss and ebss: Global and static variables | Volatile memory (SRAM)
* - .sysmem and .esysmem: Memory for malloc type functions | Volatile memory (SRAM)
* - .data: Initialized data
* - .cio: Debugger section | Buffer for stdio functions
*/
/*
* .stack section cannot be split and must be in the low 64k words
* This section is only used for HWIs and SWIs. SYS/BIOS Thread stacks are allocated in .ebss
*/
.stack : > RAMM0, PAGE = 1
#ifdef __TI_EABI__
.bss : >> RAMGS0 | RAMGS1 | RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9, PAGE = 1
.bss:output : >> RAMGS0 | RAMGS1 | RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9, PAGE = 1
.sysmem : > RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9, PAGE = 1
.data : > RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9, PAGE = 1
#else
.ebss : >> RAMGS0 | RAMGS1 | RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9, PAGE = 1
.esysmem : > RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9, PAGE = 1
#endif
.cio : >> RAMM1 | RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9, PAGE = 1
我是否应该担心该警告? 如何解决呢?