ti codec engine 3编译。

来源:互联网 发布:洗头发 知乎 编辑:程序博客网 时间:2024/06/05 18:20

准备在beagleboard xm上移植x264,了解到omap3平台的codec engine支持elf,直接试着编译了下,使用默认配置(coff loader)一切ok,但改成elf就无法正常编译codec server.

跟据出错提示"ti.syslink.ipc.rtos.anull"找不到,应是syslink的rtos端没有正常编译,跟踪make发现syslink/packages/makefile文件中omap3的编译命令传参并没检测是否elf.加上检测后终于编译完成。完整的步骤记录:

1、下载安装相关软件包:codesourcery g++,ti c6x编译器,arago psp,codec engine(带cetools版),syslink,sysbios.

1、arago 内核的编译

#CROSS_COMPILE=/media/work/sdk/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- ARCH=arm make mrproper
CROSS_COMPILE=/media/work/sdk/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- ARCH=arm make omap3_beagle_defconfig
CROSS_COMPILE=/media/work/sdk/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- ARCH=arm make menuconfig
CROSS_COMPILE=/media/work/sdk/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi- ARCH=arm make uImage

2、修改codec engine,syslink目录下的product.mak,配置好各组件的目录及相关参数。

3、修改syslink/packages/makefile:

ifeq ("$(DEVICE)","OMAP3530")
    SYSLINK_DEVICE=$(DEVICE)
    ifeq ("$(LOADER)","ELF")
        EXECUTABLE_SUFFIX=xe64P
           XDCARGS = \
               DEVICE=$(DEVICE) \
            CGT_C64P_ELF_DIR=$(CGT_C64P_INSTALL_DIR) \
               DEVICE_VARIANT=$(DEVICE)
    else
        EXECUTABLE_SUFFIX=x64P
           XDCARGS = \
               DEVICE=$(DEVICE) \
            CGT_C64P_DIR=$(CGT_C64P_INSTALL_DIR) \
               DEVICE_VARIANT=$(DEVICE)
    endif

4、在syslink,codec engine目录下分别进行make clean;make


测试codec生成向导的脚本:

#!/bin/bash
XDC_INSTALL_DIR=/media/work/sdk/codec_engine_3_21_00_19/xdctools_3_22_02_27
CGT_C64P_INSTALL_DIR=/media/work/sdk/codec_engine_3_21_00_19/TI_CGT_C6000_7.3.0
XDCPATH="/media/work/sdk/codec_engine_3_21_00_19/packages;/media/work/sdk/codec_engine_3_21_00_19/cetools/packages;/media/work/sdk/codec_engine_3_21_00_19/bios_6_32_03_43/packages;/media/work/sdk/codec_engine_3_21_00_19/syslink_2_00_02_80/packages;${XDC_INSTALL_DIR}/packages" ${XDC_INSTALL_DIR}/xs ti.sdo.ce.wizards.gencodecpkg --cgtools=${CGT_C64P_INSTALL_DIR}

server生成向导的脚本:

#!/bin/bash
XDC_INSTALL_DIR=/media/work/sdk/codec_engine_3_21_00_19/xdctools_3_22_02_27
XDCPATH="/media/work/sdk/codec_engine_3_21_00_19/packages;/media/work/sdk/codec_engine_3_21_00_19/cetools/packages;/media/work/sdk/codec_engine_3_21_00_19/bios_6_32_03_43/packages;/media/work/sdk/codec_engine_3_21_00_19/syslink_2_00_02_80/packages;${XDC_INSTALL_DIR}/packages;/media/develop/git/x264dsp" ${XDC_INSTALL_DIR}/xs ti.sdo.ce.wizards.genserver

分别到codec,server下make最终生成dsp端可执行文件bin/x264server.xe64P。

不喜欢生成zip的包?修改config.bld的参数可以生成tar.gz的:

Pkg.attrs.archiver = 'tar';
Pkg.attrs.compress = true

下一步就是写个arm端的测试程序了^_^

原创粉丝点击