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,待续。。。
 

你可能感兴趣的:(linux)