OMAP4之DSP核(Tesla)软件开发学习(四)ARM核与DSP核通讯示例
2013-10-21 08:55
483 查看
首先,安卓系统完全启动4AJ.2.1。
其次,查看OMAP4的Tesla相关信息,检查Tesla是否使能。(有如下显示,则OK)
cat /d/emoteproc/omap-rproc.0/version <
rpmsg: 1.20.09.23
core0: 1.20.09.23
xdctools_3_23_04_60
ipc_1_24_03_32
bios_6_33_06_50
TI_CGT_C6000_7.3.4
127|shell@android:/d/remoteproc/omap-rproc.0 # cat trace0
[ 0.000] 10 IpcMemory entries at 20000010
[ 0.000] Watchdog enabled: TimerBase = 0x1d3a000 Freq = 38400000
[ 0.000] Watchdog_restore registered as a resume callback
[ 0.000] DSP starting..
[ 0.001] copyTask 50: Entered...:
[ 0.005] VirtQueue_startup: bufAddr address of 0xa0000000 received
[ 0.005] registering rpmsg-client-sample service on 50 with HOST
[ 0.009] copyTask 51: Entered...:
[ 0.009] registering rpmsg-client-sample service on 51 with HOST
[ 0.011] OmxSrvMgr: started on port: 60
[ 0.011] registering rpmsg-omx2 service on 60 with HOST
[ 0.011] OmxSrvMgr: Proc#3 sending BOOTINIT_DONE
最后,运行编译好的官方示例,并查看相关信息。
1|shell@android:/data/test_dsp # ./omx_sample 2
omx_sample: Connected to OMX
omx_sample (1): OMX_GetHandle (H264_decoder).
msg_id: 99, fxn_idx: 5, data_size: 13, data: OMX_Callback
omx_sample (1): Got omx_handle: 0x5c0ffee5
omx_sample(1): OMX_SetParameter (0x5c0ffee5)
omx_sample (1): Got result 0
omx_sample: Closed connection to OMX!
shell@android:/data/test_dsp # ./omx_benchmark 2
omx_sample: Connected to OMX
omx_benchmarkex: called fxnDouble(1)), result = 2
exec_cmd time (1): 61
exec_cmd avg time: 61 usecs
omx_sample: Closed connection to OMX!
shell@android:/data/hmm_test_dsp # ./omx_benchmark 2 10
omx_sample: Connected to OMX
omx_benchmarkex: called fxnDouble(1)), result = 2
exec_cmd time (1): 91
omx_benchmarkex: called fxnDouble(2)), result = 4
exec_cmd time (2): 61
omx_benchmarkex: called fxnDouble(3)), result = 6
exec_cmd time (3): 61
omx_benchmarkex: called fxnDouble(4)), result = 8
exec_cmd time (4): 61
omx_benchmarkex: called fxnDouble(5)), result = 10
exec_cmd time (5): 61
omx_benchmarkex: called fxnDouble(6)), result = 12
exec_cmd time (6): 91
omx_benchmarkex: called fxnDouble(7)), result = 14
exec_cmd time (7): 91
omx_benchmarkex: called fxnDouble(8)), result = 16
exec_cmd time (8): 61
omx_benchmarkex: called fxnDouble(9)), result = 18
exec_cmd time (9): 61
omx_benchmarkex: called fxnDouble(10)), result = 20
exec_cmd time (10): 61
exec_cmd avg time: 70 usecs
omx_sample: Closed connection to OMX!
shell@android:/data/test_dsp #
DSP核调试信息
cat /d/remoteproc/omap-rproc.0/trace0 <
[ 0.000] 10 IpcMemory entries at 20000010
[ 0.000] Watchdog enabled: TimerBase = 0x1d3a000 Freq = 38400000
[ 0.000] Watchdog_restore registered as a resume callback
[ 0.000] DSP starting..
[ 0.000] copyTask 50: Entered...:
[ 0.004] VirtQueue_startup: bufAddr address of 0xa0000000 received
[ 0.004] registering rpmsg-client-sample service on 50 with HOST
[ 0.007] copyTask 51: Entered...:
[ 0.007] registering rpmsg-client-sample service on 51 with HOST
[ 0.009] OmxSrvMgr: started on port: 60
[ 0.009] registering rpmsg-omx2 service on 60 with HOST
[ 0.009] OmxSrvMgr: Proc#3 sending BOOTINIT_DONE
[ 5.054] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 5.057] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 5.057] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 5.063] createService: new OMX Service at endpoint: 101
[ 5.063] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 5.074] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 5.074] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 5.075] RcmServer_serverThrFxn_P: Exiting thread.
[ 5.075] deleteService: removed RcmServer at endpoint: 101
[ 10.092] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 10.095] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 10.095] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 10.102] createService: new OMX Service at endpoint: 101
[ 10.102] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 10.112] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 10.112] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 10.113] RcmServer_serverThrFxn_P: Exiting thread.
[ 10.115] deleteService: removed RcmServer at endpoint: 101
[ 15.273] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 15.276] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 15.276] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 15.283] createService: new OMX Service at endpoint: 101
[ 15.283] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 15.293] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 15.293] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 15.294] RcmServer_serverThrFxn_P: Exiting thread.
[ 15.296] deleteService: removed RcmServer at endpoint: 101
[ 20.891] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 20.894] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 20.894] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 20.901] createService: new OMX Service at endpoint: 101
[ 20.901] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 20.908] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 20.908] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 20.909] RcmServer_serverThrFxn_P: Exiting thread.
[ 20.911] deleteService: removed RcmServer at endpoint: 101
[ 26.619] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 26.622] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 26.622] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 26.629] createService: new OMX Service at endpoint: 101
[ 26.629] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 26.662] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 26.662] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 26.663] RcmServer_serverThrFxn_P: Exiting thread.
[ 26.665] deleteService: removed RcmServer at endpoint: 101
参考资料:
1、http://www.omappedia.com/wiki/RPMsg_Tesla
其次,查看OMAP4的Tesla相关信息,检查Tesla是否使能。(有如下显示,则OK)
cat /d/emoteproc/omap-rproc.0/version <
rpmsg: 1.20.09.23
core0: 1.20.09.23
xdctools_3_23_04_60
ipc_1_24_03_32
bios_6_33_06_50
TI_CGT_C6000_7.3.4
127|shell@android:/d/remoteproc/omap-rproc.0 # cat trace0
[ 0.000] 10 IpcMemory entries at 20000010
[ 0.000] Watchdog enabled: TimerBase = 0x1d3a000 Freq = 38400000
[ 0.000] Watchdog_restore registered as a resume callback
[ 0.000] DSP starting..
[ 0.001] copyTask 50: Entered...:
[ 0.005] VirtQueue_startup: bufAddr address of 0xa0000000 received
[ 0.005] registering rpmsg-client-sample service on 50 with HOST
[ 0.009] copyTask 51: Entered...:
[ 0.009] registering rpmsg-client-sample service on 51 with HOST
[ 0.011] OmxSrvMgr: started on port: 60
[ 0.011] registering rpmsg-omx2 service on 60 with HOST
[ 0.011] OmxSrvMgr: Proc#3 sending BOOTINIT_DONE
最后,运行编译好的官方示例,并查看相关信息。
1|shell@android:/data/test_dsp # ./omx_sample 2
omx_sample: Connected to OMX
omx_sample (1): OMX_GetHandle (H264_decoder).
msg_id: 99, fxn_idx: 5, data_size: 13, data: OMX_Callback
omx_sample (1): Got omx_handle: 0x5c0ffee5
omx_sample(1): OMX_SetParameter (0x5c0ffee5)
omx_sample (1): Got result 0
omx_sample: Closed connection to OMX!
shell@android:/data/test_dsp # ./omx_benchmark 2
omx_sample: Connected to OMX
omx_benchmarkex: called fxnDouble(1)), result = 2
exec_cmd time (1): 61
exec_cmd avg time: 61 usecs
omx_sample: Closed connection to OMX!
shell@android:/data/hmm_test_dsp # ./omx_benchmark 2 10
omx_sample: Connected to OMX
omx_benchmarkex: called fxnDouble(1)), result = 2
exec_cmd time (1): 91
omx_benchmarkex: called fxnDouble(2)), result = 4
exec_cmd time (2): 61
omx_benchmarkex: called fxnDouble(3)), result = 6
exec_cmd time (3): 61
omx_benchmarkex: called fxnDouble(4)), result = 8
exec_cmd time (4): 61
omx_benchmarkex: called fxnDouble(5)), result = 10
exec_cmd time (5): 61
omx_benchmarkex: called fxnDouble(6)), result = 12
exec_cmd time (6): 91
omx_benchmarkex: called fxnDouble(7)), result = 14
exec_cmd time (7): 91
omx_benchmarkex: called fxnDouble(8)), result = 16
exec_cmd time (8): 61
omx_benchmarkex: called fxnDouble(9)), result = 18
exec_cmd time (9): 61
omx_benchmarkex: called fxnDouble(10)), result = 20
exec_cmd time (10): 61
exec_cmd avg time: 70 usecs
omx_sample: Closed connection to OMX!
shell@android:/data/test_dsp #
DSP核调试信息
cat /d/remoteproc/omap-rproc.0/trace0 <
[ 0.000] 10 IpcMemory entries at 20000010
[ 0.000] Watchdog enabled: TimerBase = 0x1d3a000 Freq = 38400000
[ 0.000] Watchdog_restore registered as a resume callback
[ 0.000] DSP starting..
[ 0.000] copyTask 50: Entered...:
[ 0.004] VirtQueue_startup: bufAddr address of 0xa0000000 received
[ 0.004] registering rpmsg-client-sample service on 50 with HOST
[ 0.007] copyTask 51: Entered...:
[ 0.007] registering rpmsg-client-sample service on 51 with HOST
[ 0.009] OmxSrvMgr: started on port: 60
[ 0.009] registering rpmsg-omx2 service on 60 with HOST
[ 0.009] OmxSrvMgr: Proc#3 sending BOOTINIT_DONE
[ 5.054] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 5.057] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 5.057] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 5.063] createService: new OMX Service at endpoint: 101
[ 5.063] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 5.074] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 5.074] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 5.075] RcmServer_serverThrFxn_P: Exiting thread.
[ 5.075] deleteService: removed RcmServer at endpoint: 101
[ 10.092] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 10.095] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 10.095] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 10.102] createService: new OMX Service at endpoint: 101
[ 10.102] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 10.112] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 10.112] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 10.113] RcmServer_serverThrFxn_P: Exiting thread.
[ 10.115] deleteService: removed RcmServer at endpoint: 101
[ 15.273] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 15.276] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 15.276] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 15.283] createService: new OMX Service at endpoint: 101
[ 15.283] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 15.293] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 15.293] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 15.294] RcmServer_serverThrFxn_P: Exiting thread.
[ 15.296] deleteService: removed RcmServer at endpoint: 101
[ 20.891] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 20.894] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 20.894] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 20.901] createService: new OMX Service at endpoint: 101
[ 20.901] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 20.908] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 20.908] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 20.909] RcmServer_serverThrFxn_P: Exiting thread.
[ 20.911] deleteService: removed RcmServer at endpoint: 101
[ 26.619] IpcPower_postResume: BIOS Tick Timer may lose context across Device OFF (depending on host-side code)
[ 26.622] OmxSrvMgr: received msg type: 0 from addr: 1025
[ 26.622] OmxSrvMgr: CONN_REQ: len: 4, name: OMX
[ 26.629] createService: new OMX Service at endpoint: 101
[ 26.629] OmxSrvMgr: Replying with msg type: 1 to addr: 1025 from: 60
[ 26.662] OmxSrvMgr: received msg type: 4 from addr: 1025
[ 26.662] OmxSrvMgr: OMX_DISCONNECT: len 4, addr: 101
[ 26.663] RcmServer_serverThrFxn_P: Exiting thread.
[ 26.665] deleteService: removed RcmServer at endpoint: 101
参考资料:
1、http://www.omappedia.com/wiki/RPMsg_Tesla
相关文章推荐
- OMAP4之DSP核(Tesla)软件开发学习(二)Linux内核驱动支持OMAP4 DSP核
- OMAP4之DSP核(Tesla)软件开发学习(一)
- OMAP4之DSP核(Tesla)软件开发学习(三)使能DSP核
- ARM开发学习软件和书籍
- DSP TMS320C6000基础学习(3)——CCS v5软件开发环境搭建
- 基于OMAP3530硬件平台的ARM和DSP协同开发方法
- 软件开发人员又要学习了:关注通讯展
- 浅谈如何学习DSP软件开发
- DSP TMS320C6000基础学习(3)——CCS v5软件开发环境搭建
- 软件开发过程学习笔记(四)之详细设计说明书模板 分类: 开发过程 2015-07-08 14:46 12人阅读 评论(0) 收藏
- 603C - DSP软件学习
- 软件开发学习路线
- tornado开发学习之2.输入输出,数据库操作,内置模板,综合示例
- 细究DSP的AD转换(嵌入式实时系统的DSP软件开发技术)
- java 学习:101软件开发工程师(JAVA)初级考试大纲《2》
- 软件开发中的资源控制问题学习
- 软件开发layer-list学习
- 【学习】[连载]软件开发流程知多少 之一 需求定义篇
- 从零开始学习音视频编程技术(二十) 录屏软件开发之录屏生成MP4
- 【工业串口和网络软件通讯平台(SuperIO)教程】五.二次开发图形显示界面