TI双核处理OMAP-L1x DSP/BIOS Link及其例子的编译步骤

DSPLink

DSPLink是双核处理器内部GPP-DSP两侧通信的基础软件。它提供了一个通用的API,这个API从应用层上抽象的物理层GPP和DSP交互的特性。它消除了对客户需要从头开始开发这种关连,并允许他们更多的专注于应用程序的开发。更多信息参考 DSPLink 概述。

下面是重新编译DSPLink的步骤. 请注意,这些步骤在DSPLink附带的文件中有更详细的说明 (查看dsplink 根目录下一个叫做‘doc’的文件夹中找更多的文档),下面的步骤是对于OMAP-L137的简化步骤。

说明:到现在,虽然DSPLink 1.65.00.01可以支持omapl137,但是我们使用的版本,对OMAPL137 DSPLINK 版本是 dsplink-1_61_03-prebuilt,而OMAPL138 DSPLINK 版本是 1.65.00.01。下面的部分 "DSPLINK_DIR" 指的是 DSPLINK的根目录,对以OMAPL137用户 DSPLINK_DIR = dsplink-1_61_03-prebuilt,而omapl138用户DSPLINK_DIR = dsplink_linux_1_65_00_01

Building

除了上述的先决条件, DSPLink 1.6x 的使用还需要GNU make 3.81版本。为了您的方便,在/home/<useracct>/OMAPL137_arm_1_##_##_##/xdctools_3_1#_##_##目录中有一个预先建立的GNU可以使用。下面的指令使用的就是这个版本。如果喜欢,更新的gmake发布版本可以从下面的网页中下载http://ftp.gnu.org/pub/gnu/make/make-3.81.tar....

NOTE: 如果您使用一个旧版本的GNU make,你将发现有下面类似的错误

/home/user/OMAPL13#_arm_1_##_##_##/DSPLINK_DIR/packages/dsplink/make/start.mk:19:

*** This makefile requires one of GNU make version 3.81 3.81beta1 3.90 3.92. Stop.

Step 1: 设置必要的环境变量;可以通过多种方法来设置环境变量,我们推荐下面的方法:

首先到下面的目录中:

host $ cd /home/<useracct>/OMAPL13#_arm_1_##_##_##/DSPLINK_DIR/packages/dsplink/etc/host/scripts/Linux/

然后修改 <dsplinkenv.bash> 和设置DSPLINK 变量为下面的路径:

注: 对那些没有运行 BASH shell的,在这一步使用<dsplinkenv> 修改<dsplinkenv.bash>

对于 OMAPL137 软件

/home/<useracct>/OMAPL137_arm_1_00_00_xx/DSPLINK_DIR/packages/dsplink

对于 OMAPL138 软件

/home/<useracct>/OMAP_L138_arm_1_00_00_xx/DSPLINK_DIR/packages/dsplink

编辑和保存后,使我们的环境变量生效:

host $ source dsplinkenv.bash

Step 2: 配置DSPLink 编译成什么平台使用的文件,这个工作是通过DSPLink来包含perl 描述语言来完成的。要将DSPLink编译成ARM工具和平台使用的文件,切换到DSPLink根目录下,执行下面的命令: (注:perl函数位于 $(DSPLINK)/config/bin/dsplinkcfg.pl中)

对于 OMAPL137 软件

host $ cd /home/<useracct>/OMAPL137_arm_1_00_00_xx/DSPLINK_DIR/packages/dsplink

host $ perl config/bin/dsplinkcfg.pl --platform=OMAPL1XX --nodsp=1 --dspcfg_0=OMAPL1XXGEMSHMEM --dspos_0=DSPBIOS5XX --gppos=MVL5G --comps=ponslrmc --DspTskMode=1

对于 OMAPL138 软件

host $ cd /home/<useracct>/OMAP_L138_arm_1_00_00_xx/DSPLINK_DIR/packages/dsplink

host $ perl config/bin/dsplinkcfg.pl --platform=OMAPL138 --nodsp=1 --dspcfg_0=OMAPL138GEMSHMEM --dspos_0=DSPBIOS5XX --gppos=ARM --comps=ponslrmc --DspTskMode=1

编译配置命令必须执行来配置thevarious参数,如平台,GPP操作系统,编译配置等。

perl dsplinkcfg.pl --platform=OMAPL138 --nodsp=1 --dspcfg_0=OMAPL138GEMSHMEM --dspos_0=DSPBIOS6XX --gppos=ARM --comps=ponslrmc
perl dsplinkcfg.pl --platform=OMAPL138 --nodsp=1 --dspcfg_0=OMAPL138GEMSHMEM --dspos_0=DSPBIOS6XX --gppos=MVL5U --comps=ponslrmc

Note1: 有关上述选项的详细信息可以在DSP/Link User's Guide 的第9.3章节找到,这个用户手册位于/home/<useracct>/OMAPL137_arm_1_##_##_##/dsplink-1_6#_##-prebuilt/packages/dsplink/doc/UserGuide.pdf

Note2: 对于OMAP-L,DSP/Link 库必须 编译成DSP任务模式(最后的参数)。

在运行这个perl脚本之后,用户将在底部得到类似下面的信息,提示用户需要更新哪些额外的makefiles :

对于 OMAPL137 软件

=========================================================

Please edit the following files for toolchains, kernel sources, etc changes.

GPP side distribution file: $DSPLINK/make/Linux/omapl1xx_mvlpro5.0.mk

DSP side distribution file: $DSPLINK/make/DspBios/c64xxp_5.xx_linux.mk

对于 OMAPL138 软件

=========================================================

Please edit the following files for toolchains, kernel sources, etc changes.

GPP side distribution file: $DSPLINK/make/Linux/omapl138_arm.mk

GPP side distribution file: $DSPLINK/gpp/src/Rules.mk

DSP side distribution file: $DSPLINK/make/DspBios/c64xxp_5.xx_linux.mk

Step 3: 设置编译所需要的工具的路径,修改 GPP 侧 Linux makefile (下面是默认的路径) 和正确的 BASE_BUILDOS 路径及BASE_TOOLCHAIN 变量。

对于 OMAPL137 软件

/home/<useracct>/OMAPL137_arm_1_00_00_xx/DSPLINK_DIR/packages/dsplink/make/Linux/omapl1xx_mvlpro5.0.mk

BASE_BUILDOS := /home/<useracct>/workdir/lsp/ti-davinci/linux-2.6.18_pro500

BASE_TOOLCHAIN := /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le

对于 OMAPL138 软件

/home/<useracct>/OMAPL138_arm_1_00_00_xx/DSPLINK_DIR/packages/dsplink/make/Linux/omapl138_arm.mk

BASE_BUILDOS := /home/<useracct>/OMAP_L138_arm_1_00_00_xx/DaVinci-PSP-SDK-03.20.00.xx/src/kernel/linux-03.20.00.xx

BASE_TOOLCHAIN := /home/user/CodeSourcery/Sourcery_G++_Lite

修改<c64xxp_5.xx_linux.mk> (默认路径如下) ,更正 BASE_INSTALL, BASE_SABIOS, XDCTOOLS_DIR 和BASE_CGTOOLS 变量的设置

/home/<useracct>/OMAPL13#_arm_1_##_##_##/DSPLINK_DIR/packages/dsplink/make/DspBios/c64xxp_5.xx_linux.mk

对于 OMAPL137 软件

BASE_INSTALL := /home/<useracct>/OMAPL137_arm_1_00_00_10

BASE_SABIOS := $(BASE_INSTALL)/bios_5_33_05

XDCTOOLS_DIR := $(BASE_INSTALL)/xdctools_3_10_05_61

BASE_CGTOOLS := $(BASE_INSTALL)/cg6x_6_1_9

对于 OMAPL138 软件

BASE_INSTALL := /home/<useracct>/OMAPL138_arm_1_00_00_08

BASE_SABIOS := $(BASE_INSTALL)/bios_5_41_02_14

XDCTOOLS_DIR := $(BASE_INSTALL)/xdctools_3_16_01_27/

BASE_CGTOOLS := $(BASE_INSTALL)/cg6x_6_1_9

仅对OMAP-L138 ,你仍然需要修改 Linux Rules.mk (默认路径如下) ,设置正确的路径给 KERNEL_DIR 和TOOL_PATH

/home/<useracct>/OMAP_L138_arm_1_00_00_xx/DSPLINK_DIR/packages/dsplink/gpp/src/Rules.mk

KERNEL_DIR := /home/<useracct>OMAP_L138_arm_1_00_00_xx/DaVinci-PSP-SDK-03.20.00.xx/src/kernel/linux-03.20.00.xx

TOOL_PATH := /home/<useracct>/CodeSourcery/Sourcery_G++_Lite/bin

Note: 如果您打算使用Codec Engine (你可能会做),在转到下一个步骤之前,请确认是否按照这一页的步骤允许了XDC-based integration 。如果没有允许,你将得到如下的错误

Step 4: 编译 GPP-side DSPLink 模块和例子应用程序:

切换到gpp目录下,编译 DSPLink

host $ cd /home/<useracct>/OMAPL13#_arm_1_##_##_##/DSPLINK_DIR/packages/dsplink/gpp/src

host $ /home/<useracct>/OMAPL13#_arm_1_##_##_##/xdctools_3_1#_##_##/gmake

Note: 如果你得到一个错误的话,您可能需要运行此命令。

host $export DSPLINK = /home/user/OMAPL13#_arm_1_##_##_##/DSPLINK_DIR/packages/dsplink

切换到例子的子目录下,编译这个例子应用程序:

host $ cd samples

host $ /home/<useracct>/OMAPL13#_arm_1_##_##_##/xdctools_3_1#_##_##/gmake -s

Step 5: 编译 DSP-side DSPLink 模块和例子应用程序:

切换到dsp源程序的文件夹,编译DSPLink 模块

host $ cd /home/<useracct>/OMAPL13#_arm_1_##_##_##/DSPLINK_DIR/packages/dsplink/dsp/src

host $ /home/<useracct>/OMAPL13#_arm_1_##_##_##/xdctools_3_1#_##_##/gmake

切换到例子应用程序子目录,编译这个例子程序:

host $ cd samples

host $ /home/<useracct>/OMAPL13#_arm_1_##_##_##/xdctools_3_1#_##_##/gmake -s

GPP- 和 DSP-side 应用程序位于下面的路径中:

/home/<useracct>/OMAPL13#_arm_1_##_##_##/DSPLINK_DIR/packages/dsplink/gpp/export/BIN/Linux/OMAPL1XX/RELEASE

/home/<useracct>/OMAPL13#_arm_1_##_##_##/DSPLINK_DIR/packages/dsplink/dsp/export/BIN/DspBios/OMAPL1XX/OMAPL1XXGEM_0/RELEASE

有关如何安装和运行这例子的详细信息参考《InstallGuide_Linux_OMAPL1xx.pdf for OMAPL137》和《InstallGuide_Linux_OMAPL138.pdf for OMAPL138》的1.5.4 章节

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值