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.
Level 2
Level 2
First like received

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 ?
0 Replies