• OMAP4之DSP核(Tesla)软件开发学习(四)ARM核与DSP核通讯示例


    首先,安卓系统完全启动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
  • 相关阅读:
    json数据转化格式
    远程安装软件控制台
    杂、记忆点
    布局(杂,细节处理)
    自己修改代码后push推送到zhile
    js中call和apply的区别 / 函数的call、apply以及bind的作用与区别
    一元运算符a++、++a、a--、--a
    javascript基础语法和算术运算符
    不同空格符号的区别
    2020.12.11面试两家
  • 原文地址:https://www.cnblogs.com/IDoIUnderstand/p/3379900.html
Copyright © 2020-2023  润新知