Hello all,
I have been working on getting the ti-dsplink_1.64.bb recipe's kernel
module compiled against the latest DSP/BIOS v6.21.01.16 and just
wanted to share some of the changes/problems that I found during the
process.

1. ti.sdo.io (IPC) is no longer provided by DSP/BIOS > 6.x. IPC is now
bundled with CCS4. For our purposes I made a tarball of the
/ipc_1_00_00_40 directory provided with CCS4 and made a
ti-ipc_1.00.00.40.bb recipe that ti-dsplink recipe depends on.
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/sysbios/6_21_01_16/exports/docs/Bios_6_21_01_16_release_notes.html

2. Modified ti-dsplink_1.64.bb to export XDCPATH as per DSP/BIOS 6.x
release notes at:
http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/sysbios/6_21_01_16/exports/docs/docs/Bios_Getting_Started_Guide.pdf

3. ti-dsplink_1.64.bb recipe has a hard-coded DSP/BIOS version in it
that gets passed into a perl configuration script
(config/bin/dsplinkcfg.pl). I changed the version 5XX to 6XX so that
the generated Makefiles would compile against the new BIOS, which is
fine for us but probably isn't adequate for angstrom.

4. Compiling the dsp library and dsp samples, I needed to pass in
extra environment variables XDCTOOLS_DIR and BASE_IPC because these
were not being detected automatically.

Here is a patch showing what I did, but it needs more work before
inclusion into angstrom:

Index: recipes/ti/ti-dspbios_6.21.01.16.bb
===================================================================
--- recipes/ti/ti-dspbios_6.21.01.16.bb (revision 0)
+++ recipes/ti/ti-dspbios_6.21.01.16.bb (revision 52656)
@@ -0,0 +1,13 @@
+require ti-dspbios.inc
+
+DESCRIPTION = "TI DSP/BIOS v6 Kernel"
+HOMEPAGE = 
"http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios";
+SECTION = "devel"
+LICENSE = "TI"
+
+PV = "6_21_01_16"
+
+SRC_URI = 
"http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/${PV}/exports/bios_setuplinux_${PV}.bin;name=biosbin";
+SRC_URI[biosbin.md5sum] = "411cd0fac224126ed2a81e67fc79c81a"
+SRC_URI[biosbin.sha256sum] =
"63d2704ff294fe0834411d010d19c0a0bfd0249520f5ee5ddc2c115df2be8ddd"
+
Index: recipes/ti/ti-dsplink.inc
===================================================================
--- recipes/ti/ti-dsplink.inc   (revision 52654)
+++ recipes/ti/ti-dsplink.inc   (revision 52655)
@@ -25,7 +25,7 @@
            file://ti-dsplink-examples-loadmodules.sh \
            file://ti-dsplink-examples-unloadmodules.sh "

-DEPENDS = "ti-dspbios ti-xdctools ti-cgt6x"
+DEPENDS = "ti-dspbios ti-xdctools ti-cgt6x ti-ipc"
 DEPENDS += "virtual/kernel perl-native"

 # SOC_FAMILY configuration
@@ -54,6 +54,8 @@
 # Exported Variable needed by build
 DSPLINK = "${S}/dsplink"
 export DSPLINK
+XDCPATH="${BIOS_INSTALL_DIR}/packages;${IPC_INSTALL_DIR}/packages"
+export XDCPATH

 do_configure() {

@@ -68,7 +70,7 @@
     (
     cd ${DSPLINK}
     perl config/bin/dsplinkcfg.pl --platform=${DSPLINKPLATFORM} --nodsp=1 \
-       --dspcfg_0=${DSPLINKDSPCFG} --dspos_0=DSPBIOS5XX \
+       --dspcfg_0=${DSPLINKDSPCFG} --dspos_0=DSPBIOS6XX \
        --gppos=${DSPLINKGPPOS} --comps=ponslrmc
     )
 }
@@ -124,12 +126,16 @@
      cd ${DSPLINK}/dsp/src && make \
       BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
       BASE_SABIOS="${BIOS_INSTALL_DIR}" \
+      XDCTOOLS_DIR="${XDC_INSTALL_DIR}" \
+      BASE_IPC="${IPC_INSTALL_DIR}" \
       clean

     # Clean the dsp samples (debug and release)
     cd ${DSPLINK}/dsp/src/samples && make \
       BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
       BASE_SABIOS="${BIOS_INSTALL_DIR}" \
+      XDCTOOLS_DIR="${XDC_INSTALL_DIR}" \
+      BASE_IPC="${IPC_INSTALL_DIR}" \
       clean

 }
@@ -188,12 +194,16 @@
      cd ${DSPLINK}/dsp/src && make \
       BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
       BASE_SABIOS="${BIOS_INSTALL_DIR}" \
+      XDCTOOLS_DIR="${XDC_INSTALL_DIR}" \
+      BASE_IPC="${IPC_INSTALL_DIR}" \
       all

     # Build the dsp samples (debug and release)
     cd ${DSPLINK}/dsp/src/samples && make \
       BASE_CGTOOLS="${CODEGEN_INSTALL_DIR}" \
       BASE_SABIOS="${BIOS_INSTALL_DIR}" \
+      XDCTOOLS_DIR="${XDC_INSTALL_DIR}" \
+      BASE_IPC="${IPC_INSTALL_DIR}" \
       all
 }

Index: recipes/ti/ti-ipc.inc
===================================================================
--- recipes/ti/ti-ipc.inc       (revision 0)
+++ recipes/ti/ti-ipc.inc       (revision 52655)
@@ -0,0 +1,18 @@
+DESCRIPTION = "TI SYS/BIOS Inter-process communication"
+HOMEPAGE = "http://focus.ti.com/docs/toolsw/folders/print/ccstudio.html";
+SECTION = "devel"
+
+require ti-paths.inc
+require ti-staging.inc
+
+PR = "r1"
+
+S = "${WORKDIR}/ipc_${PV}"
+
+SRC_URI = 
"http://only-available-as-part-of-ccs/ipc_${PV}.tar.gz;name=ipctarball";
+
+do_install() {
+    install -d ${D}${IPC_INSTALL_DIR_RECIPE}
+    cp -pPrf ${S}/* ${D}${IPC_INSTALL_DIR_RECIPE}
+}
+
Index: recipes/ti/ti-multimedia-common.inc
===================================================================
--- recipes/ti/ti-multimedia-common.inc (revision 52654)
+++ recipes/ti/ti-multimedia-common.inc (revision 52655)
@@ -17,6 +17,7 @@
 export DMAI_INSTALL_DIR_RECIPE       = "${installdir}/ti-dmai-tree"
 export CODEC_INSTALL_DIR_RECIPE      = "${installdir}/ti-codecs-tree"
 export DSPLIB_INSTALL_DIR_RECIPE     = "${installdir}/ti-dsplib-tree"
+export IPC_INSTALL_DIR_RECIPE        = "${installdir}/ti-ipc-tree"

 # This is where the tools will end up in staging provided
PACKAGE_ARCH = ${MACHINE_ARCH} is set
 export CODEGEN_INSTALL_DIR    =
"${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CODEGEN_INSTALL_DIR_RECIPE}"
@@ -35,6 +36,7 @@
 export DMAI_INSTALL_DIR       =
"${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${DMAI_INSTALL_DIR_RECIPE}"
 export CODEC_INSTALL_DIR      =
"${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${CODEC_INSTALL_DIR_RECIPE}"
 export DSPLIB_INSTALL_DIR     =
"${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${DSPLIB_INSTALL_DIR_RECIPE}"
+export IPC_INSTALL_DIR        =
"${STAGING_DIR}/${MULTIMACH_TARGET_SYS}${IPC_INSTALL_DIR_RECIPE}"

 DSPSUFFIX_omapl137 = "x674"
 DSPSUFFIX_omapl138 = "x674"
Index: recipes/ti/ti-ipc_1.00.00.40.bb
===================================================================
--- recipes/ti/ti-ipc_1.00.00.40.bb     (revision 0)
+++ recipes/ti/ti-ipc_1.00.00.40.bb     (revision 52655)
@@ -0,0 +1,7 @@
+require ti-ipc.inc
+
+PV = "1_00_00_40"
+
+SRC_URI[ipctarball.md5sum] = "ef6a405633c030a97c0709e017b394c7"
+SRC_URI[ipctarball.sha256sum] =
"95ce61f89e223b4d148644140ac55de1372ba39edd70c260d089689ab57770e9"
+

Cheers,
Michael Stanger

_______________________________________________
Angstrom-distro-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel

Reply via email to