Function Pointer Assignment Flow
Function Pointer Assignment Flow
___________________________________________________________________________________
__________________________________________________
2.
Steps to follow:
___________________________________________________________________________________
__________________________________________________
1. find <function_name>.
2. find callx8
3. scroll up and find function call line and file name and line number.
4. Now go to pfn_database.json
9. you will get multiple, one is correct, rest will come as black list.
10. then select function key from dict and this will be actual function, and
details of this function is in dis file.
Example:
___________________________________________________________________________________
__________________________________________________
find callx8:
/opt/samba/nxf46137/radiosystems/build/hifi5-es2-dbg/lib/dabCtrlLib/comps/
tmrrRouter/../../../../../../lib/dabCtrlLib/comps/tmrrRouter/src/tmrrRouter.c:429
prcState |= p_SubChDecEntryLink[idx]-
>pfn_subChDecDataIn(p_SubChDecEntryLink[idx], k_Sync, k_SubChId, p_subChData,
k_Size, k_actionType, &p_Inst->subChDecLinkResultHdl);
222aca04: 0a98 l32i.n a9, a10, 0
222aca06: 0179 s32i.n a7, a1, 0
222aca08: 0009e0 callx8 a9
{
"file": "tmrrRouter.c",
"line": 429,
"ptr_type": "pfn_SubChDecoderDataIn"
}
Found results:
1. {
"file": "handleSinkPktDgTpegToHost.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_SinkPktDgTpegToHost",
"dbg_assign_type": 40,
"dbg_ast_adr": "0x080f2ce0"
}
2. {
"file": "handleDecTDmb.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecTDmb",
"dbg_assign_type": 40,
"dbg_ast_adr": "0x0ba80e20"
}
3. {
"file": "handleDecMusicam.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecMusicam",
"dbg_assign_type": 40,
"dbg_ast_adr": "0x1cb1c180"
}
4. {
"file": "tmrrRouter_GlobalResources.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecMusicam",
"dbg_assign_type": 10,
"dbg_ast_adr": "0x31ea1e00"
}
5. {
"file": "tmrrRouter_GlobalResources.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecDabPlus",
"dbg_assign_type": 10,
"dbg_ast_adr": "0x31ea2158"
}
6. {
"file": "tmrrRouter_GlobalResources.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecTDmb",
"dbg_assign_type": 10,
"dbg_ast_adr": "0x31ea2438"
}
7. {
"file": "tmrrRouter_GlobalResources.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecTDmb",
"dbg_assign_type": 10,
"dbg_ast_adr": "0x31ea27a8"
}
8. {
"file": "tmrrRouter_GlobalResources.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecPacketData",
"dbg_assign_type": 10,
"dbg_ast_adr": "0x31ea2b78"
}
9. {
"file": "handleSinkPad.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_SinkPad",
"dbg_assign_type": 40,
"dbg_ast_adr": "0x256d6bd0"
}
10. {
"file": "handleSinkSrcDec.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_SinkSrcDec",
"dbg_assign_type": 40,
"dbg_ast_adr": "0x026ff390"
}
11. {
"file": "handleSinkSrcDec.c",
"ptr_type": "const pfn_SubChDecoderDataIn",
"function": "process_SinkSrcDec",
"dbg_assign_type": 40,
"dbg_ast_adr": "0x027d2e10"
}
12. {
"file": "handleDecPacketData.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecPacketData",
"dbg_assign_type": 40,
"dbg_ast_adr": "0x372c3f30"
}
13. {
"file": "handleSinkDataToHost.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_SinkDataToHost",
"dbg_assign_type": 40,
"dbg_ast_adr": "0x244f0e60"
}
14. {
"file": "handleDecDabPlus.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecDabPlus",
"dbg_assign_type": 40,
"dbg_ast_adr": "0x1466c540"
}
15. {
"file": "tmrrRouterTb_Select.c",
"ptr_type": "pfn_SubChDecoderDataIn",
"function": "process_DecMusicam",
"dbg_assign_type": 10,
"dbg_ast_adr": "0x0dae67e0"
}
search him in dis file and get the size and create the call graph with size:
<process_DecDabPlus>
searched details:
222acb98 <process_DecDabPlus>:
process_DecDabPlus():
/opt/samba/nxf46137/radiosystems/build/hifi5-es2-dbg/lib/dabCtrlLib/comps/
tmrrRouter/../../../../../../lib/dabCtrlLib/comps/tmrrRouter/src/
handleDecDabPlus.c:190
return prcState;
}