首先,安卓系统完全启动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之DSP核(Tesla)软件开发学习(四)ARM核与DSP核通讯示例的更多相关文章

  1. OMAP4之DSP核(Tesla)软件开发学习(三)使能DSP核

    目标: 1.编译或直接获取DSP映像tesla-dsp.bin. 2.boot并使能DSP核(这个可以看启动打印或者进入/d/remoteproc/omap-rproc.0/参看dsp调试信息).   ...

  2. OMAP4之DSP核(Tesla)软件开发学习(一)

    目的:       目前手上正在OMAP4上做东西,由于涉及到大量运算,交给arm A9双核发现运算速度很慢,不能满足需求.故考虑将大量运算任务(比如FIR.FFT.卷积.图像处理.向量运算等)交给O ...

  3. Java开发学习(四十一)----MyBatisPlus标准数据层(增删查改分页)开发

    一.标准CRUD使用 对于标准的CRUD功能都有哪些以及MyBatisPlus都提供了哪些方法可以使用呢? 我们先来看张图: 1.1 环境准备 这里用的环境就是Java开发学习(四十)----MyBa ...

  4. OMAP4之DSP核(Tesla)软件开发学习(二)Linux内核驱动支持OMAP4 DSP核

    注:必须是Linux/arm 3.0以上内核才支持RPMSG,在此使用的是.config - Linux/arm 3.0.31 Kernel Configuration.(soure code fro ...

  5. 转载:使用Xilinx IP核进行PCIE开发学习笔记(一)简介篇

    https://zhuanlan.zhihu.com/p/32786076 最近接触到一个项目,需要使用PCIE协议,项目要求完成一个pcie板卡,最终可以通过电脑进行通信,完成电脑发送的指令.这当中 ...

  6. 软件开发学习笔记 <二>软件开发模型、Up、Rup、敏捷Up

    软件开发过程(process) 是一个将用户需求转化为软件系统所需要的活动的集合. 软件生命周期(SDLC,Software Devlopment Life Cycle) 软件从孕育.诞生.成长.成熟 ...

  7. 软件开发学习笔记 <一> UML

    UML http://www.uml-diagrams.org http://www.umlchina.com/index.htm 统一建模语言(UML)始于1997年的一个OMG(对象管理组织)标准 ...

  8. 程序员带你十天快速入门Python,玩转电脑软件开发(四)

    本系列文章立志于从一个已经习得一门编程语言的基础之上,全面介绍Python的相关开发过程和相关经验总结.本篇文章主要是基于上一篇的程序员带你十天快速入门Python,玩转电脑软件开发(三)的基础之上, ...

  9. delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例

    1.TClientDataSet控件 通过TClientDataSet控件可以建立瘦客户端的应用程序,且数据执行效率较高,但它不能和数据库自动连接,程序中必须制定它如何获取数据.一般情况下,TClie ...

随机推荐

  1. 三个小时学会wordpress模板制作

    最近接了一个项目需要用wordpress建站,版面相对简单,ytkah就琢磨着自己来设计wordpress模板,首页栏目页文章页(很多网站无外乎就这些页面),其中栏目页和首页又很像,都是调用文章列表. ...

  2. linux系统进入单用户模式

    进入单用户模式可进行root账户和其他普通账户的密码的修改 1)Ubuntu 开机到grub时(在开机时长按shift键),用上下键移到第二行的恢复模式(recovery mode),按e(注意不是回 ...

  3. Check out our list of adidas NMD Singapore retailers

    The adidas NMD Singapore is confirmed to produce on The month of january 14th at select adidas Origi ...

  4. CCPC 2017-2018, Finals Solution

    A - Dogs and Cages 水. #include <bits/stdc++.h> using namespace std; int t; double n; int main( ...

  5. SQL学习笔记三(补充-3)之MySQL完整性约束

    阅读目录 一 介绍 二 not null与default 三 unique 四 primary key 五 auto_increment 六 foreign key 七 作业 一 介绍 约束条件与数据 ...

  6. 20145303 刘俊谦《网络对抗》shellcode注入&Return-to-libc攻击深入

    20145303 刘俊谦<网络对抗>shellcode注入&Return-to-libc攻击深入 Shellcode注入 shellcode实际是一段代码,但却作为数据发送给受攻击 ...

  7. 20155201 2016-2017-2《Java程序设计》课程总结

    20155201 2016-2017-2<Java程序设计>课程总结 目录 一.每周作业链接汇总 二.实验报告链接汇总 三.代码托管链接 四.课堂项目实践 五.课程收获与不足 六.问卷调查 ...

  8. HDU6447 网络赛 YJJ's Salesman(DP + 线段树)题解

    思路:若用dp[i][j]表示走到(i,j)的最大值,那么dp[i][j] = max(dp[i - 1][j],dp[i][j - 1],dp[i - 1][j - 1] + v),显然O(n^2) ...

  9. Java知识弥补-Android开发

    目录 数据结构 1. Map-HashMap 2. StringBuilder 3. List-ArrayList 4. Vector 5. Stack 6. Set 由于这学期开了android课程 ...

  10. class []的用法

    span[class='test']    =>匹配所有带有class类名test的span标签 span[class *='test']  =>匹配所有包含了test字符串的class类 ...