[TC297TF, TaskingCompiler] Understanding the MAP file

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
User21707
Level 2
Level 2
First like received
Hi,

I had a couple of queries on understanding the memory map file for TC297TF. I have attached a part of the map file for the discussion.

1. In line no. 1006 of map file i.e SomeIpXf_Com_SystemSignal_StructWithinStruct_array [ustack_tc0:16,16]
Does it mean the API - "SomeIpXf_Com_SystemSignal_StructWithinStruct_array" uses 16 Bytes of stack ?

2. In line no. 1006 of map i.e SomeIpXf_Com_SystemSignal_StructWithinStruct_array [ustack_tc0:16,16], the call graph is as follows :

+-- SomeIpXf_Com_SystemSignal_StructWithinStruct_array [ustack_tc0:16,16]
| |
| +-- SomeIpXf_LSBtoMSB *
| |
| +-- SomeIpXf_AppendHeaderSR *

But in actual code, SomeIpXf_AppendHeaderSR is called before SomeIpXf_LSBtoMSB . Why is this not observed in the call graph?

3. In line no. 938 of map, SomeIpXf_Inv_Com_SystemSignal_U32_Deserialize [ustack_tc0:8,8]
In the Trace32 debugger [image_1 in attachment], the SP (stack pointer) goes up to +04 (in bytes = 4 ). So my assumption is, this particular API is consuming 4 bytes. But in the map file, it shows as
SomeIpXf_Inv_Com_SystemSignal_U32_Deserialize [ustack_tc0:8,8] i.e 8 Bytes of Stack usage. Why is such discrepancy ?
1 Reply
Arnd
Level 1
Level 1
First reply posted Welcome!

Hi,

regarding 2.) i have the same observation and the same question - is there any reasoning for this?

Or a description in a user manual - of the linker?

My understanding is at the moment - the call graphs should be better named - dependency graphs?

Is  the safety checker (ichk) capable of generating  different call graphs?

 

Kind regards

0 Likes