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

注:必须是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,待续。。。
 
原文地址:https://www.cnblogs.com/IDoIUnderstand/p/3299292.html