首先,安卓系统完全启动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. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

    一.什么是跨域访问 举个栗子:在A网站中,我们希望使用Ajax来获得B网站中的特定内容.如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.你可以理解为两个域名之间不能跨过域名来发送请求或者请 ...

  2. 【转】Deep Learning(深度学习)学习笔记整理系列之(六)

    9.3.Restricted Boltzmann Machine (RBM)限制波尔兹曼机 假设有一个二部图,每一层的节点之间没有链接,一层是可视层,即输入数据层(v),一层是隐藏层(h),如果假设所 ...

  3. 用ildasm/ilasm修改IL代码(操作步骤)

    在开发中遇到这样一个场景,需要修改一个dll文件(.NET程序集)中某些地方的类型名称,但没有源代码,只能修改IL代码. 操作步骤如下: 1. 运行ildasm ildasm是由微软提供的.NET程序 ...

  4. java基础语法 数组

    数组是相同数据类型元素的集合   数组本身是引用数据类型,即对象.但是数组可以存储基本数据类型,也可以存储引用数据类型. 在java中如果想要保存一组基本类型的数据,使用数组:如果想保存一组对象或者其 ...

  5. mono安装

    linux上的DotNET,安装mono 当前,在Linux系统上架设ASP.NET网站.建设WEB应用工程项目已经在国内流行起来,而“Mono+Jexus”架构模式是Linux承载ASP.NET企业 ...

  6. cocos代码研究(16)Widget子类RadioButton学习笔记

    理论基础 RadioButton是一种特定类型的两状态按钮,它与复选框相似.它可以 和RadioButtonGroup一起使用,形成一个"组".继承自AbstractCheckBu ...

  7. cocos代码研究(24)Widget子类PageView学习笔记

    理论基础 PageView类又称Layout的管理器,可以让用户在多个Layout之间左右或者上下切换显示,继承自 Layout . 代码实践 static PageView * create ()创 ...

  8. Java基础教程:注解

    Java基础教程:注解 本篇文章参考的相关资料链接: 维基百科:https://zh.wikipedia.org/wiki/Java%E6%B3%A8%E8%A7%A3 注解基础与高级应用:http: ...

  9. php-fpm开启报错-ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock

    在升级了php7.2.0版本之后,重新启动php-fpm过程中遇到一个报错. An another FPM instance seems to already listen on /tmp/php-c ...

  10. CentOS7.2 切换成iptables规则

    关闭firewall service firewalld stop systemctl disable firewalld.service #禁止firewall开机启动 安装iptables规则: ...