不用仿真器,有办法么,我看到mcfw demo里面关于dsp和m3大量使用了一个Vps_printf函数打印一些东西实际运行时却是没有的,怎样才能看到这些信息呢,我想追踪下
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.
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/185162.aspx
http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/228678.aspx
大意就是你需要使能remote_debug_client.out
感谢你的回答,但是还是有点疑惑:
依次执行init.sh、load.sh和run.sh之后选择1模式:
捕捉+编码+解码+显示。也就是:1: VCAP + VENC + VDEC + VDIS - Progressive SD Encode + Decode
我追踪McFw代码的时候,我记录了所有输出信息包括远程的m3和dsp,请看下面一段输出:
[host] MCFW_IPCBITS:VcapVencVdecVdis_ipcBitsSendFxn:Entered...
[host] MCFW_IPCBITS:VcapVencVdecVdis_ipcBitsRecvFxn:Entered...
1: SYSTEM: System Common Init in progress !!!
9: SYSTEM: IPC init in progress !!!
21: SYSTEM: Opening MsgQ Heap [IPC_MSGQ_MSG_HEAP] ...
24: SYSTEM: Creating MsgQ [HOST_MSGQ] ...
26: SYSTEM: Creating MsgQ [HOST_ACK_MSGQ] ...
29: SYSTEM: Opening MsgQ [DSP_MSGQ] ...
30: SYSTEM: Opening MsgQ [VIDEO-M3_MSGQ] ...
31: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
33: SYSTEM: Notify register to [DSP] line 0, event 12 ...
33: SYSTEM: Notify register to [VIDEO-M3] line 0, event 12 ...
34: SYSTEM: Notify register to [VPSS-M3] line 0, event 12 ...
35: SYSTEM: IPC init DONE !!!
36: SYSTEM: Creating ListMP [HOST_IPC_OUT_29] in region 0 ...
41: SYSTEM: Creating ListMP [HOST_IPC_IN_29] in region 0 ...
44: SYSTEM: ListElem Shared Addr = 0x41671c80
46: SYSTEM: Creating ListMP [HOST_IPC_OUT_30] in region 0 ...
50: SYSTEM: Creating ListMP [HOST_IPC_IN_30] in region 0 ...
53: SYSTEM: ListElem Shared Addr = 0x41689580
55: SYSTEM: Creating ListMP [HOST_IPC_OUT_24] in region 0 ...
59: SYSTEM: Creating ListMP [HOST_IPC_IN_24] in region 0 ...
63: SYSTEM: ListElem Shared Addr = 0x416a0e80
65: SYSTEM: Creating ListMP [HOST_IPC_OUT_25] in region 0 ...
69: SYSTEM: Creating ListMP [HOST_IPC_IN_25] in region 0 ...
72: SYSTEM: ListElem Shared Addr = 0x416c0480
74: SYSTEM: Creating ListMP [HOST_IPC_OUT_26] in region 0 ...
78: SYSTEM: Creating ListMP [HOST_IPC_IN_26] in region 0 ...
82: SYSTEM: ListElem Shared Addr = 0x416dfa80
82: SYSTEM: System Common Init Done !!!
********* Entered usecase 16CH Progressive <816x> Cap/Enc/Dec/Dis
93: MCFW : CPU Revision [ES1.1] !!!
93: MCFW : Detected [4x TVP5158 VS] Board !!!
93: MCFW : Base Board Revision [REV B] !!!
93: MCFW : Daughter Card Revision [REV B] !!!
[m3vpss ] 1348225: HDMI: Starting HDMI Transmitter ... !!!
[m3vpss ] 1348236: HDMI: HDMI Config ... DONE !!!
.....
.....
[c6xdsp ] 1392086: IPC_FRAMES_IN : Create in progress !!!
[m3vpss ] 1354672: DUP : Create Done !!!
[c6xdsp ] 1392086: SYSTEM: Opening ListMP [VPSS-M3_IPC_OUT_24] ...
[m3vpss ] 1354672: IPC_FRAMES_OUT : Create in progress !!!
[c6xdsp ] 1392087: SYSTEM: Opening ListMP [VPSS-M3_IPC_IN_24] ...
[c6xdsp ] 1392087: SYSTEM: Opening MsgQ [VPSS-M3_MSGQ] ...
[m3vpss ] 1354674: IPC_FRAMES_OUT : Create Done !!!
[c6xdsp ] IPC_FRAMES_IN:HEAPID:0 USED:240
[c6xdsp ] 1392088: IPC_FRAMES_IN : Create Done !!!
[m3vpss ] 1354683: DEI : Create in progress !!!
[c6xdsp ] ALGLINK:HEAPID:0 USED:2832
[c6xdsp ] ALGLINK:HEAPID:1 USED:5536
从第3行开始到到33行都是A8的输出没错把,大部分是在一个System_init()函数及其子函数打印的。
首先这个System_init()有4个定义,我知道分别是a8、dsp、m3vpss和m3video的分别实现,问题是:
就我关注的dsp来说,下面这个打印出现在IpcFramesInLink_create()函数.
[c6xdsp ] 1392086: IPC_FRAMES_IN : Create in progress !!!
调用关系如下:
IpcFramesInLink_create()<--IpcFramesInLink_tskMain()<-IpcFramesInLink_init()<-System_init()
请注意这里的 System_init函数有4个定义但是针对dsp的情况我选择对应dsp的System_init
在dsp的System_init函数有这样的打印:
#ifdef SYSTEM_DEBUG /*这个是有定义的*/
Vps_printf(" %d: SYSTEM : System DSP Init in progress !!!\n",
Clock_getTicks());
#endif
但是实际上串口是没有打印这一句的,后面还有很多句没有打印。
这是为什么?
我认为m3vpss和m3video的System_init都有执行到,但是部分信息都没有打印出来这是为什么?
竟然在运行load.sh中发现上面本应该有的输出,能解释下么