注:必须是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. shell export 命令

    export 命令作用是 把变量导出 也可以用export来定义环境变量 导入 定义的变量 这样的话类似于python面向对象的self.变量 一样 在脚本到处调用这个变量

  2. Elasticsearch环境安装配置

    安装Elasticsearch的步骤如下 - 第1步 - 查看安装在计算机上的java的最低版本,它要求java 7或以上或最新的版本.可以通过执行以下操作进行检查 - 在Windows操作系统(OS ...

  3. mysql性能测试--sysbench实践

    mysql性能测试--sysbench实践 Sysbench   业界较为出名的性能测试工具 可以测试磁盘,CPU,数据库 支持多种数据库:oracle,DB2,MYSQL 需要自己下载编译安装 建议 ...

  4. Python数据结构:列表、字典、元组、集合

    列表:shoplist = ['apple', 'mango', 'carrot', 'banana']字典:di = {'a':123,'b':'something'}集合:jihe = {'app ...

  5. c++11 类默认函数的控制:"=default" 和 "=delete"函数 void fun() = default; void fun()=delete;

    转自:lsgxeva #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <string> #includ ...

  6. la5135 无向图 点-双连通 运用

    大白书 P314 #include <iostream> #include <algorithm> #include <string.h> #include < ...

  7. MapReduce: number of mappers/reducers

    14 down vote It's the other way round. Number of mappers is decided based on the number of splits. I ...

  8. window 下相关命令

    1. 启动window服务(各种应用启动设置的地方)命令方式: 1). window 按钮(输入CMD的地方)处输入:services.msc ,然后执行.   // 输入命令正确,上面的待选框中会出 ...

  9. redis入门学习记录(一)

    1.linux在线下载Redis ,官网地址:https://redis.io/download目前,最新的Redist版本为redis-5.0.0,使用wget下载 进入/usr/local/src ...

  10. 20145219《网络对抗》PC平台逆向破解

    20145219<网络对抗>PC平台逆向破解 shellcode注入 1.shellcode shellcode是一段代码,溢出后,执行这段代码能开启系统shell. 2.构造方法 (1) ...