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.

TID_xxx sections within the STACK-area?

Hello.

I'm new to CCS so please excuse my possible silly questions.
Case: We have a (CCS v5.5) project consisting of C++, C and ASM files for a F2806x MCU.
In the link map file I find the following (another company has included it's C++ code into the system, out of our control unfortunately):

GLOBAL SYMBOLS: SORTED BY Symbol Address

address    name
--------   ----
00000000   __sys_memory
00000001   __SYSMEM_SIZE
00000001   __TI_args_main
00000050   __stack
00000100   ___TID_12PsuDriveCtrl
00000101   ___TID_6PsuApp
00000102   ___TID_17PsuSendSensorData
00000103   ___TID_12PsuAppTarget
00000104   ___TID_22SdaTreatmentController
00000105   ___TID_14SdaPowerSupply
00000106   ___TID_15SdpPackVariable
00000107   ___TID_16SdpPackParameter
00000108   ___TID_12SdpPackEvent
00000109   ___TID_11SdpPackData
0000010a   ___TID_7SdpPack
0000010b   ___TID_11SosItemList
0000010c   ___TID_7SosItem
0000010d   ___TID_11SosVariable
0000010e   ___TID_16SosVariableFloat
0000010f   ___TID_14SosVariableInt
00000110   ___TID_15SosParameterInt
00000111   ___TID_17SosParameterFloat
00000112   ___TID_12SosParameter
00000113   ___TID_8SosEvent
00000114   ___TID_11SosDataType
00000115   ___TID_7SosData
00000116   ___TID_7SosPort
00000117   ___TID_Q2_3std9type_info
00000380   __STACK_SIZE
000003d0   __STACK_END
00000880   _DevEmuRegs
00000985   _SysPwrCtrlRegs

. . .

At startup, the SP is set to 0x00000400.
But, all these __TID_xxxx sections are within the stack area...

Q-1: Should they be here?
Q-2: If so, could the be placed downwords to start at 0x50 (stack-area from 0x50 to 0x100 (0xB0=176 bytes are now/otherwise wasted/unused)
Q-3: if not, where in memory should the be placed?
Q-4: What are they?

I'll really appreciate assistance with this matter.

Best regards
terje bohler

  • Terje Bohler1 said:
    Q-4: What are they?

    They are symbols, not sections.  For a better idea of what sections are, please see this wiki article.  Most symbols are names that correspond to a specific address in memory.  Sections are associated with a range of memory addresses, and thus multiple symbols.  (In theory, a section can have no associated symbols, but that never happens in practice.)  

    All that said, these TID symbols are unusual.  They are auto-generated by the compiler.  They are created for typeinfo information in C++.  Typeinfo information is used to support features like the typeid() operator.  These TID symbols do not correspond to any memory location.  They only establish a unique number for each symbol name.  They are never used to access memory.  Thus, you don't need to worry about moving them anywhere.

    Thanks and regards,

    -George

  • Thanks.
    So, if I understood you right, I don't have to worry about this:
    00000100 ___TID_12PsuDriveCtrl simply means that the symbol "___TID_12PsuDriveCtrl " is assigned the value 00000100.
    And, furthermore, this (or the other similar sysmbols) are not physically located/placed inside the STACK-area?
    Right?
    best regards
    terje bohler
  • You understand correctly.  -George