Attachments are accessible only for community members.
Jul 11, 2021
12:02 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jul 11, 2021
12:02 PM
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 ?
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
Apr 07, 2024
02:31 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Apr 07, 2024
02:31 PM
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