注:必须是Linux/arm 3.0以上内核才支持RPMSG,在此使用的是.config - Linux/arm 3.0.31 Kernel Configuration。(soure code from blaze_tablet 4AJ.2.1 http://omappedia.org/wiki/4AJ.2.1_OMAP4_Jelly_Bean_Release_Notes)

 
 1、配置Linux内核驱动使得支持RPMSG(see also:http://omappedia.org/wiki/RPMsg_Kernel_Sources

Kernel Built-In

In menuconfig:

export ARCH=arm
make menuconfig

Make sure that the following options are set. Look in Build Customization section for customizing your build.

System Type  --->
TI OMAP Common Features --->
<*> OMAP Virtio-based remote processor messaging support
[*] OMAP RPMSG Recovery
-*- Mailbox framework support
(256) Mailbox kfifo default buffer size (bytes)
-*- IOMMU support for OMAP devices
[ ] Export OMAP IOMMU internals in DebugFS
(0x0) Physical carveout memory pool size (Byte)
Device Drivers --->
<*> Multimedia support --->
<*> TI TILER support --->
Device Drivers --->
<*> Generic Hardware Spinlock framework
<*> OMAP Hardware Spinlock device
[*] Autosuspend support for remoteproc
[*] OMAP remoteproc support
<*> Remote Processor Resources
[*] OMAP remoteproc watchdog timer
<*> Virtio-based remote processor messaging bus
<*> rpmsg OMX driver
<*> rpmsg resource manager
<M> An rpmsg client sample
<M> An rpmsg server sample
2、配置Linux内核驱动使得支持RPMSG Tesla(see also:http://omappedia.org/wiki/RPMsg_Tesla

In order to enable Tesla support, select the OMAP remoteproc support for DSP option in the Device Drivers section in menuconfig

export ARCH=arm
make menuconfig
Device Drivers  --->
[*] Autosuspend support for remoteproc
[*] OMAP remoteproc support
[*] OMAP remoteproc support for IPU
[*] OMAP remoteproc support for DSP
 
3、编译内核,重启blaze_tablet板,串口出现如下打印则说明内核已经支持DSP。
[    0.250335] omap_rproc_get_pool: dsp - static memory is unavailable: 0x0, 0x0
[    0.251373] omap_rproc_get_pool: ipu - carveout memory is unavailable: 0x0, 0x0
 
[    0.275665] omap-rproc omap-rproc.0: dsp is available
[    0.276275] omap-rproc omap-rproc.1: ipu is available
 
[    1.450378] omap-iommu omap-iommu.0: ducati registered
[    1.450378] omap-iommu omap-iommu.1: tesla registered
 
[    1.632354] omap-rproc omap-rproc.1: powering up ipu
[    1.632843] virtio_rpmsg_bus virtio0: rpmsg backend virtproc probed successfully
[    1.632843] virtio_rpmsg_bus virtio1: rpmsg backend virtproc probed successfully
[    1.632843] omap-rproc omap-rproc.0: powering up dsp
[    1.634368] virtio_rpmsg_bus virtio2: rpmsg backend virtproc probed successfully
 
[    8.551696] omap-rproc omap-rproc.0: rproc_loader_cont: failed to load tesla-dsp.bin
 
下一步则增加tesla-dsp.bin映像并使之加载启动OK,待续。。。
 

OMAP4之DSP核(Tesla)软件开发学习(二)Linux内核驱动支持OMAP4 DSP核的更多相关文章

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

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

  2. Java开发学习(二十二)----Spring事务属性、事务传播行为

    一.事务配置 上面这些属性都可以在@Transactional注解的参数上进行设置. readOnly:true只读事务,false读写事务,增删改要设为false,查询设为true. timeout ...

  3. Java开发学习(二十四)----SpringMVC设置请求映射路径

    一.环境准备 创建一个Web的Maven项目 参考Java开发学习(二十三)----SpringMVC入门案例.工作流程解析及设置bean加载控制中环境准备 pom.xml添加Spring依赖 < ...

  4. Java开发学习(二十五)----使用PostMan完成不同类型参数传递

    一.请求参数 请求路径设置好后,只要确保页面发送请求地址和后台Controller类中配置的路径一致,就可以接收到前端的请求,接收到请求后,如何接收页面传递的参数? 关于请求参数的传递与接收是和请求方 ...

  5. Java开发学习(二十六)----SpringMVC返回响应结果

    SpringMVC接收到请求和数据后,进行了一些处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将结果告知给用户. 比如:根据用户ID查 ...

  6. Java开发学习(二十七)----SpringMVC之Rest风格解析及快速开发

    一.REST简介 REST(Representational State Transfer),表现形式状态转换,它是一种软件架构风格 当我们想表示一个网络资源的时候,可以使用两种方式: 传统风格资源描 ...

  7. Java开发学习(二十八)----拦截器(Interceptor)详细解析

    一.拦截器概念 讲解拦截器的概念之前,我们先看一张图: (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后,会去判断请求的是静态资源还是动态资源 (3)如 ...

  8. Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...

  9. Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...

随机推荐

  1. [华为]查找两个字符串a,b中的最长公共子

    链接:https://www.nowcoder.com/questionTerminal/181a1a71c7574266ad07f9739f791506来源:牛客网 查找两个字符串a,b中的最长公共 ...

  2. 菜单条 Menu Bar Action

    //.h /***Action**/ QAction * act_openImage; QAction * act_openVideo; QAction * act_openAudio; /***Me ...

  3. VS2010/MFC编程入门之十五(对话框:一般属性页对话框的创建及显示)

    属性页对话框包括向导对话框和一般属性页对话框两类,上一节鸡啄米讲了如何创建并显示向导对话框,本节将继续介绍一般属性页对话框的创建和显示. 实际上,一般属性页对话框的创建和显示过程和向导对话框是很类似的 ...

  4. ZOJ Monthly, June 2018 Solution

    A - Peer Review Water. #include <bits/stdc++.h> using namespace std; int t, n; int main() { sc ...

  5. hdu 5187 快速幂 + 快速乘 值得学习

    就是以那个ai为分水岭,左边和右边都分别是单调增或单调减如图         就这四种情况,其中头两种总共就是两个序列,也就是从头到尾递增和从头到尾递减.         后两种方式就是把序列中德数分 ...

  6. 计算机bit是什么意思

    bit是计算机中数据的最小单位,即二进制位,数字0和1 一个字节是八位(8个0和1 或 1 组成的一串二进制) 一个字是16位,等于2个字节 用八位二进制表示的字符叫单字节字符, 用16位二进制数表示 ...

  7. Java 对比Vector、ArrayList、LinkedList

    ①引言 在日常生活中能高效的管理和操作数据是非常重要的.Java提供了强大的集合框架,大大提高了开发者的生产力,今天就了解一下有关集合框架方面的问题. Vector.ArrayList.LinkedL ...

  8. #ZLYD团队第二周项目总结

    ZLYD团队第二周项目总结 项目进展 确定项目内容.目标.实现计划 首先确定游戏界面的游戏区域中墙的位置,绘制其图形,并通过其中的方法,返回墙壁的位置等属性. 根据豆子的位置,绘制其图形. 初始化吃豆 ...

  9. impress.js初体验——前端装X利器

    impress.js 是国外一位开发者受 Prezi 启发,采用 CSS3 与 JavaScript 语言完成的一个可供开发者使用的表现层框架(演示工具).其功能包括画布的无限旋转与缩放,任意角度放置 ...

  10. POJ 1860 Currency Exchange(最短路&spfa正权回路)题解

    题意:n种钱,m种汇率转换,若ab汇率p,手续费q,则b=(a-q)*p,你有第s种钱v数量,问你能不能通过转化让你的s种钱变多? 思路:因为过程中可能有负权值,用spfa.求是否有正权回路,dis[ ...