DM6467T开发板领航——环境文件配置

DM6467T环境文件配置

DM6467T开发板领航——环境文件配置

时间:2013-08-07   点击:1485

 

DM6467T开发板领航——环境文件配置

 

继上一篇DM6467T开发板领航——开发环境安装

按照我们上一篇DM6467T开发领航——开发环境安装 的安装方法,最主要要修改的文件就是/home/dm6467t/dvsdk_3_10_00_19目录下的Rules.make文件和Makefile文件啦

 

下面我们一起来看看Rules.make文件吧

 

在修改之前,请把文件设置为可写

root@ubuntu:/home/dm6467t/dvsdk_3_10_00_19# chmod -777 Rules.make

 

 

这个是平台的定义,不用改

# Define target platform.

PLATFORM=dm6467

 

这个是DVSDK目录的指定,没有问题,不用改

# The installation directory of the DVSDK.

DVSDK_INSTALL_DIR=/home/dm6467t/dvsdk_3_10_00_19

 

# For backwards compatibility

DVEVM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)

 

下面都是些安装的目录,没有问题

# Where DSP/BIOS is installed.

BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/bios_5_41_00_06

 

# Where the DSPBIOS Utils package is installed.

BIOSUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/biosutils_1_02_02

 

# Where the Codec Engine package is installed.

CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec_engine_2_25_05_16

 

# Where the DSP Link package is installed.

LINK_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dsplink_linux_1_64

 

ifeq ($(PLATFORM),dm355)

# Where the DM355 codecs are installed.

    CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm355_codecs_03_10_00_02

endif

 

ifeq ($(PLATFORM),dm365)

# Where the DM365 codecs are installed.

    CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm365_codecs_03_10_00_07

endif

 

# Where the DM365MM module is installed.

DM365MMAP_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dm365mm_01_00_03

 

ifeq ($(PLATFORM),dm6467)

# Where the cs2dm6467 codec server package is installed.

CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/cs2dm6467_1_00_00_10

endif

 

# Where DMAI package is installed.

DMAI_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dmai_2_10_00_12

 

# Where the DVSDK demos are installed

DEMO_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dvsdk_demos_3_10_00_16

 

# Where the DVTB package is installed.

DVTB_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dvtb_4_20_10

 

# Where the EDMA3 LLD package is installed.

EDMA3_LLD_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/edma3_lld_01_11_00_03

 

# Where the Framework Components package is installed.

FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework_components_2_25_02_06

 

# Where the MFC Linux Utils package is installed.

LINUXUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linuxutils_2_25_04_10

CMEM_INSTALL_DIR=$(LINUXUTILS_INSTALL_DIR)

 

# Where the XDAIS package is installed.

XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_25_02_11

 

# Where the RTSC tools package is installed.

XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdctools_3_16_01_27

以上这些目录都没有问题,可以根据文件和自己的目录仔细的对一遍

这里的目录不对,需要修改

# Where the Code Gen is installed.

#CODEGEN_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/cgt6x_6_1_12

CODEGEN_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/C6000CGT7.4.2

 

下面这个是内核目录,我们也需要修改

# The directory that points to your kernel source directory.

#LINUXKERNEL_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/../git

这个是内核目录,我们修改过

LINUXKERNEL_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/../git-kernel

 

# Where temporary Linux headers and libs are installed.

#LINUXLIBS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/../linuxlibs-2009.11-armv5te

LINUXLIBS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linuxlibs-2009.11-armv5te

 

# Where Linux examples are installed.

#LINUXEXAMPLES_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/../examples-r37

LINUXEXAMPLES_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/examples-r37

 

# The prefix to be added before the GNU compiler tools (optionally including # path), i.e. "arm_v5t_le-" or "/opt/bin/arm_v5t_le-".

#CSTOOL_DIR=/opt/arm-2009q1

这个是编译器目录

CSTOOL_DIR=/home/dm6467t/arm-2009q1

CSTOOL_PREFIX=$(CSTOOL_DIR)/bin/arm-none-linux-gnueabi-

 

MVTOOL_DIR=$(CSTOOL_DIR)

MVTOOL_PREFIX=$(CSTOOL_PREFIX)

 

# Where to copy the resulting executables

#EXEC_DIR=$(HOME)/install/$(PLATFORM)

这个是编译好的文件放的目录

EXEC_DIR=/home/dm6467t/install/$(PLATFORM)

 

这样Rules.make文件就修改完成了,其实没有想像中的那么难,不要被Davianci吓坏了。只要你认真的对照文件和自己的目录,目录设置对了基本上都不会有问题。如果有漏掉的,也不用担心,在你编译的时候肯定会报错的,什么找不到文件啦,找不到路径啦,之类的错误基本上是配置文件的问题。

 

下面我们来看看makefile文件

对于很多linux初学者,往往对makefile文件一头雾水,甚至有点怕的感觉。其实没什么好怕的。网上关于makefile的文章大把大把的,你先学习个大概,再使用的过程中,不懂的再查查,基本上都能解决问题。至于怎么读懂makefile,我不打算在这里讲,我们就一起看看怎么修改这个makefilek吧

 

先把makefile改为可写吧

root@ubuntu:/home/dm6467t/dvsdk_3_10_00_19# chmod 777 Makefile

 

看看makefile

重点看看216行~227行

 

include Rules.make

 

COMPONENTS:=$(DMAI_INSTALL_DIR) $(XDAIS_INSTALL_DIR) $(LINUXUTILS_INSTALL_DIR) $(EDMA3_LLD_INSTALL_DIR) $(FC_INSTALL_DIR) $(CE_INSTALL_DIR) $(XDC_INSTALL_DIR) $(BIOS_INSTALL_DIR) $(CODEC_INSTALL_DIR)

 

.PHONY:   all clean everything clobber help cmem cmem_clean dmai dmai_clean dmai_install demos demos_clean dvtb dvtb_clean dmammapk dmammapk_clean dsplink dsplink_arm dsplink_dsp dsplink_samples dsplink_clean codecs codecs_clean linux linux_clean psp_examples psp_examples_clean psp_examples_install info check install

 

#==============================================================================

# Set up platform dependent variables.

#==============================================================================

ifeq ($(PLATFORM),dm6446)

COMPONENTS+=$(BIOSUTILS_INSTALL_DIR) $(LINK_INSTALL_DIR)

CHECKLIST:=$(CODEGEN_INSTALL_DIR)/bin/cl6x

REPOSITORIES:=$(DVTB_INSTALL_DIR)/packages

LINUXKERNEL_CONFIG=davinci_dm644x_defconfig

LINUXSAMPLES_PLATFORM=dm644x

DSPLINK_CONFIG=--platform=DAVINCI --nodsp=1 --dspcfg_0=DM6446GEMSHMEM --dspos_0=DSPBIOS5XX --gppos=MVL5G --comps=ponslrm

DSPLINK_MODULE=$(LINK_INSTALL_DIR)/dsplink/gpp/export/BIN/Linux/DAVINCI/RELEASE/dsplinkk.ko

HAS_SERVER=true

HAS_DSPLINK=true

HAS_IRQK=false

HAS_EDMAK=false

DMAI_PLATFORM=dm6446_al

else

ifeq ($(PLATFORM),dm6467)

COMPONENTS+=$(BIOSUTILS_INSTALL_DIR) $(LINK_INSTALL_DIR)

CHECKLIST:=$(CODEGEN_INSTALL_DIR)/bin/cl6x

REPOSITORIES:=$(DVTB_INSTALL_DIR)/packages

LINUXKERNEL_CONFIG=davinci_dm646x_1ghz_defconfig

LINUXSAMPLES_PLATFORM=dm646x

DSPLINK_CONFIG=--platform=DAVINCIHD --nodsp=1 --dspcfg_0=DM6467GEMSHMEM --dspos_0=DSPBIOS5XX --gppos=DM6467LSP --comps=ponslrm

DSPLINK_MODULE=$(LINK_INSTALL_DIR)/dsplink/gpp/export/BIN/Linux/DAVINCIHD/RELEASE/dsplinkk.ko

HAS_SERVER=true

HAS_DSPLINK=true

HAS_IRQK=false

HAS_EDMAK=false

DMAI_PLATFORM=dm6467_al

else

ifeq ($(PLATFORM),dm355)

REPOSITORIES:=$(DVTB_INSTALL_DIR)/packages

LINUXKERNEL_CONFIG=davinci_dm355_defconfig

LINUXSAMPLES_PLATFORM=dm355

HAS_SERVER=false

HAS_DSPLINK=false

HAS_IRQK=true

HAS_EDMAK=true

DMAMMAP_INSTALL_DIR=$(CODEC_INSTALL_DIR)/dm355mm/module

DMAI_PLATFORM=dm355_al

else

ifeq ($(PLATFORM),dm365)

REPOSITORIES:=$(DVTB_INSTALL_DIR)

LINUXKERNEL_CONFIG=davinci_dm365_defconfig

LINUXSAMPLES_PLATFORM=dm365

HAS_SERVER=false

HAS_DSPLINK=false

HAS_IRQK=true

HAS_EDMAK=true

DMAMMAP_INSTALL_DIR=$(DM365MMAP_INSTALL_DIR)/module

DMAI_PLATFORM=dm365_al

else

         $(error PLATFORM not set correctly: $(PLATFORM))

endif

endif

endif

endif

 

REPOSITORIES+=$(addsuffix /packages, $(filter-out  $(LINK_INSTALL_DIR), $(COMPONENTS)))

 

CHECKLIST+=$(REPOSITORIES) $(MVTOOL_PREFIX)gcc $(LINUXKERNEL_INSTALL_DIR)/Documentation $(DEMO_INSTALL_DIR)/$(PLATFORM)

#==============================================================================

# The default build target.

#==============================================================================

all:    check cmem dmammapk edmak irqk dmai demos

 

#==============================================================================

# Clean up the targets built by 'make all'.

#==============================================================================

clean:       cmem_clean dmammapk_clean edmak_clean irqk_clean dmai_clean demos_clean

 

#==============================================================================

# Build everything rebuildable.

#==============================================================================

everything: check linux dsplink codecs all ce_examples dvtb

 

#==============================================================================

# Clean up all targets.

#==============================================================================

clobber:    clean dsplink_clean linux_clean codecs_clean ce_examples_clean dvtb_clean

 

#==============================================================================

# A help message target.

#==============================================================================

help:

         @echo

         @echo "Available build targets are:"

         @echo

         @echo "    check           : Make sure Rules.make is set up properly"

         @echo "    info            : List versions of DVSDK components"

         @echo

         @echo "    all             : Build the components below"

         @echo "    clean           : Remove files generated by the 'all' target"

         @echo

         @echo "    cmem            : Build the CMEM kernel module for $(PLATFORM)"

         @echo "    cmem_clean      : Remove generated cmem files."

         @echo

         @echo "    dmai            : Build DMAI for $(PLATFORM)_al"

         @echo "    dmai_clean      : Remove generated DMAI files."

         @echo

         @echo "    demos           : Build the DVSDK demos for $(PLATFORM)"

         @echo "    demos_clean     : Remove generated DVSDK demo files."

         @echo

         @echo "    dvtb            : Build DVTB for $(PLATFORM)"

         @echo "    dvtb_clean      : Remove generated DVTB files"

ifneq ($(DMAMMAP_INSTALL_DIR),)

         @echo

         @echo "    dmammapk        : Build the DMA MMAP kernel module"

         @echo "    dmammapk_clean  : Remove generated DMA MMAP files"

endif

ifeq ($(HAS_EDMAK),true)

         @echo

         @echo "    edmak           : Build the EDMA kernel module"

         @echo "    edmak_clean     : Remove generated EDMA files"

endif

ifeq ($(HAS_IRQK),true)

         @echo

         @echo "    irqk            : Build the IRQ kernel module"

         @echo "    irqk_clean      : Remove generated IRQ files"

endif

         @echo

         @echo "The following targets have to be explicitly built and cleaned:"

         @echo

         @echo "    everything      : Rebuild everything including below targets"

ifeq ($(HAS_DSPLINK),true)

         @echo "                             Note: C6000 code gen tools are required"

endif

         @echo "    clobber         : Remove all generated files"

ifeq ($(HAS_DSPLINK),true)

         @echo "                             Note: C6000 code gen tools are required"

endif

ifeq ($(HAS_DSPLINK),true)

         @echo

         @echo "    dsplink         : Configure and build DSP Link for $(PLATFORM) ARM and DSP"

         @echo "                             Note: C6000 code gen tools are required"

         @echo "    dsplink_arm     : Configure and build DSP Link for $(PLATFORM) ARM"

         @echo "    dsplink_dsp     : Configure and build DSP Link for $(PLATFORM) DSP"

         @echo "                             Note: C6000 code gen tools are required"

         @echo "    dsplink_samples : Build DSP Link ARM and DSP sample applications for $(PLATFORM)"

         @echo "                             Note: C6000 code gen tools are required"

         @echo "    dsplink_clean   : Remove generated DSP Link files"

         @echo "                             Note: C6000 code gen tools are required"

endif

ifeq ($(HAS_SERVER),true)

         @echo

         @echo "    codecs          : Build codec servers for $(PLATFORM)"

         @echo "    codecs_clean    : Remove generated codec server files"

endif

         @echo

         @echo "    linux           : Build Linux kernel uImage for $(PLATFORM)"

         @echo "                             Note: With 'MENUCONFIG=true' opens menuconfig"

         @echo "    linux_clean     : Remove generated Linux kernel files"

         @echo

         @echo "    install         : Install binaries to $(EXEC_DIR)"

         @echo "    dmai_install    : Install DMAI binaries to $(EXEC_DIR)"

         @echo

         @echo "    ce_examples     : Build Codec Engine Examples for $(PLATFORM)"

ifeq ($(HAS_SERVER),true)

         @echo "                             Note: C6000 code gen tools are required"

endif

         @echo "    ce_examples_clean:Remove Codec Engine Examples"

ifeq ($(HAS_SERVER),true)

         @echo "                             Note: C6000 code gen tools are required"

endif

         @echo "    psp_examples    : Build Linux PSP Examples for $(PLATFORM)"

         @echo "    psp_examples_clean  : Clean Linux PSP Examples for $(PLATFORM)"

         @echo "    psp_examples_install: Install Linux PSP Examples to $(EXEC_DIR)"

         @echo

 

#==============================================================================

# Target for listing information about the DVSDK components.

#==============================================================================

info: check

         @LINUXKERNEL_INSTALL_DIR="$(LINUXKERNEL_INSTALL_DIR)" CODEGEN_INSTALL_DIR="$(CODEGEN_INSTALL_DIR)" GCC_PREFIX="$(MVTOOL_PREFIX)" XDC_INSTALL_DIR="$(XDC_INSTALL_DIR)" REPOSITORIES="$(REPOSITORIES)" $(DVSDK_INSTALL_DIR)/bin/info.sh

 

#==============================================================================

# Target for checking that the Rules.make file is set up properly.

#==============================================================================

check:

         @CHECKLIST="$(CHECKLIST)" $(DVSDK_INSTALL_DIR)/bin/check.sh

 

#==============================================================================

# Build the dvsdk demos for the configured platform. Also, an explicit cleanup

# target is defined.

#==============================================================================

demos:

         $(MAKE) -C $(DEMO_INSTALL_DIR) $(PLATFORM) DVSDK_INSTALL_DIR=$(DVSDK_INSTALL_DIR) XDC_INSTALL_DIR=$(XDC_INSTALL_DIR) CE_INSTALL_DIR=$(CE_INSTALL_DIR) FC_INSTALL_DIR=$(FC_INSTALL_DIR) CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) CODEC_INSTALL_DIR=$(CODEC_INSTALL_DIR) XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR) LINK_INSTALL_DIR=$(LINK_INSTALL_DIR) DMAI_INSTALL_DIR=$(DMAI_INSTALL_DIR) MVTOOL_DIR=$(MVTOOL_DIR) CC=$(CSTOOL_PREFIX)gcc AR=$(CSTOOL_PREFIX)ar CROSS_COMPILE=$(MVTOOL_PREFIX) LINUXLIBS_INSTALL_DIR=$(LINUXLIBS_INSTALL_DIR) PLATFORM=$(PLATFORM)

 

demos_clean:

         $(MAKE) -C $(DEMO_INSTALL_DIR) clean DVSDK_INSTALL_DIR=$(DVSDK_INSTALL_DIR) XDC_INSTALL_DIR=$(XDC_INSTALL_DIR) CE_INSTALL_DIR=$(CE_INSTALL_DIR) FC_INSTALL_DIR=$(FC_INSTALL_DIR) CMEM_INSTALL_DIR=$(CMEM_INSTALL_DIR) CODEC_INSTALL_DIR=$(CODEC_INSTALL_DIR) XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR) LINK_INSTALL_DIR=$(LINK_INSTALL_DIR) DMAI_INSTALL_DIR=$(DMAI_INSTALL_DIR) MVTOOL_DIR=$(MVTOOL_DIR) CC=$(CSTOOL_PREFIX)gcc CROSS_COMPILE=$(MVTOOL_PREFIX) LINUXLIBS_INSTALL_DIR=$(LINUXLIBS_INSTALL_DIR) PLATFORM=$(PLATFORM)

 

#==============================================================================

# Build the Digital Video Test Bench for the configured platform. Also, an

# explicit cleanup target is defined.

#==============================================================================

dvtb:

         $(MAKE) -C $(DVTB_INSTALL_DIR) $(PLATFORM) CODECS=TSPA

         @echo

         @echo "dvtb can be found under $(DVTB_INSTALL_DIR)/packages/ti/sdo/dvtb/$(PLATFORM)/bin"

 

dvtb_clean:

         $(MAKE) -C $(DVTB_INSTALL_DIR) clean

 

dvtb_install:

         @cp -f $(DVTB_INSTALL_DIR)/packages/ti/sdo/dvtb/$(PLATFORM)/bin/dvtb-{r,d} $(EXEC_DIR)

 

#==============================================================================

# Build the Linux kernel. Also, an explicit cleanup target is defined.

#==============================================================================

#$(LINUXKERNEL_INSTALL_DIR)/.config:

config:

         $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) CROSS_COMPILE=$(MVTOOL_PREFIX) $(LINUXKERNEL_CONFIG)

 

#linux: $(LINUXKERNEL_INSTALL_DIR)/.config

#ifeq ($(MENUCONFIG),true) 

menuconfig:

         $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) CROSS_COMPILE=$(MVTOOL_PREFIX) menuconfig

#endif

linux:

         $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) CROSS_COMPILE=$(MVTOOL_PREFIX) uImage

         @echo

         @echo "Your kernel image can be found at $(LINUXKERNEL_INSTALL_DIR)/arch/arm/boot/uImage"

 

linux_clean:

         $(MAKE) -C $(LINUXKERNEL_INSTALL_DIR) mrproper

 

#==============================================================================

# Build the CE examples. Also, an explicit cleanup target is defined.

#==============================================================================

ce_examples:

ifeq ($(HAS_SERVER),true)

         $(MAKE) -C $(CE_INSTALL_DIR)/examples/ti/sdo/ce/examples/servers DEVICES=$(subst 6467,6467T,$(subst dm,DM,$(PLATFORM))) CE_EXAMPLES_INSTALL_DIR=$(CE_INSTALL_DIR)/examples/ti/sdo/ce/examples GPPOS=LINUX_GCC CE_INSTALL_DIR=$(CE_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) XDC_INSTALL_DIR=$(XDC_INSTALL_DIR) CGTOOLS_V5T=$(MVTOOL_DIR) DSPLINK_INSTALL_DIR=$(LINK_INSTALL_DIR) CGTOOLS_C64P=$(CODEGEN_INSTALL_DIR) BIOSUTILS_INSTALL_DIR=$(BIOSUTILS_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR)

endif

        $(MAKE) -C $(CE_INSTALL_DIR)/examples/ti/sdo/ce/examples/apps DEVICES=$(subst 6467,6467T,$(subst dm,DM,$(PLATFORM))) CE_EXAMPLES_INSTALL_DIR=$(CE_INSTALL_DIR)/examples/ti/sdo/ce/examples GPPOS=LINUX_GCC CE_INSTALL_DIR=$(CE_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) XDC_INSTALL_DIR=$(XDC_INSTALL_DIR) CGTOOLS_V5T=$(MVTOOL_DIR) DSPLINK_INSTALL_DIR=$(LINK_INSTALL_DIR) CGTOOLS_C64P=$(CODEGEN_INSTALL_DIR) BIOSUTILS_INSTALL_DIR=$(BIOSUTILS_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR)

         @echo

         @echo "CE examples can be found under $(CE_INSTALL_DIR)/examples/ti/sdo/ce/examples"

 

ce_examples_clean:

ifeq ($(HAS_SERVER),true)

         $(MAKE) -C $(CE_INSTALL_DIR)/examples/ti/sdo/ce/examples/servers DEVICES=$(subst 6467,6467T,$(subst dm,DM,$(PLATFORM))) CE_EXAMPLES_INSTALL_DIR=$(CE_INSTALL_DIR)/examples/ti/sdo/ce/examples GPPOS=LINUX_GCC CE_INSTALL_DIR=$(CE_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) XDC_INSTALL_DIR=$(XDC_INSTALL_DIR) CGTOOLS_V5T=$(MVTOOL_DIR) DSPLINK_INSTALL_DIR=$(LINK_INSTALL_DIR) CGTOOLS_C64P=$(CODEGEN_INSTALL_DIR) BIOSUTILS_INSTALL_DIR=$(BIOSUTILS_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) clean

endif

        $(MAKE) -C $(CE_INSTALL_DIR)/examples/ti/sdo/ce/examples/apps DEVICES=$(subst 6467,6467T,$(subst dm,DM,$(PLATFORM))) CE_EXAMPLES_INSTALL_DIR=$(CE_INSTALL_DIR)/examples/ti/sdo/ce/examples CROSS_COMPILE=$(MVTOOL_PREFIX) GPPOS=LINUX_GCC CE_INSTALL_DIR=$(CE_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) XDC_INSTALL_DIR=$(XDC_INSTALL_DIR)  CGTOOLS_V5T=$(MVTOOL_DIR) DSPLINK_INSTALL_DIR=$(LINK_INSTALL_DIR) CGTOOLS_C64P=$(CODEGEN_INSTALL_DIR) BIOSUTILS_INSTALL_DIR=$(BIOSUTILS_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) clean

 

#==============================================================================

# Build the CMEM kernel module for the configured platform, and make sure the

# kernel_binaries directory is kept in sync. Also, an explicit cleanup target

# is defined.

#==============================================================================

cmem:

         $(MAKE) -C $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/cmem/src/interface ../../lib/cmem.a470MV RULES_MAKE=$(DVSDK_INSTALL_DIR)/Rules.make

         $(MAKE) -C $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/cmem/src/module RULES_MAKE=$(DVSDK_INSTALL_DIR)/Rules.make

         @mkdir -p $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)

         @cp $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.ko $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)/

         @echo

         @echo "cmemk.ko kernel module can be found under $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)"

 

cmem_clean:

         $(MAKE) -C $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/cmem/src/module clean RULES_MAKE=$(DVSDK_INSTALL_DIR)/Rules.make

         $(MAKE) -C $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/cmem/src/interface clean RULES_MAKE=$(DVSDK_INSTALL_DIR)/Rules.make

 

#==============================================================================

# Build the *production* codec servers for the configured platform. Also, an

# explicit cleanup target is defined.

# Please note the following.

#     1. Before executing make codecs, execute make codecs_clean

#     2. Build DSPLINK for arm and dsp before building the codecs

#     3. Buld the Linux kernel before building the dsplink

#==============================================================================

codecs:

ifeq ($(HAS_SERVER),true)

         $(MAKE) -C $(CODEC_INSTALL_DIR) DVSDK_INSTALL_DIR=$(DVSDK_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) XDC_INSTALL_DIR=$(XDC_INSTALL_DIR) CE_INSTALL_DIR=$(CE_INSTALL_DIR) FC_INSTALL_DIR=$(FC_INSTALL_DIR) CMEM_INSTALL_DIR=$(LINUXUTILS_INSTALL_DIR) CODEC_INSTALL_DIR=$(CODEC_INSTALL_DIR) BIOSUTILS_INSTALL_DIR=$(BIOSUTILS_INSTALL_DIR) XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR) EDMA3_LLD_INSTALL_DIR=$(EDMA3_LLD_INSTALL_DIR) CODEGEN_INSTALL_DIR=$(CODEGEN_INSTALL_DIR) LINK_INSTALL_DIR=$(LINK_INSTALL_DIR) XDCARGS=\"prod\"

endif

 

codecs_clean:

ifeq ($(HAS_SERVER),true)

         $(MAKE) -C $(CODEC_INSTALL_DIR) DVSDK_INSTALL_DIR=$(DVSDK_INSTALL_DIR) BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR) XDC_INSTALL_DIR=$(XDC_INSTALL_DIR) CE_INSTALL_DIR=$(CE_INSTALL_DIR) FC_INSTALL_DIR=$(FC_INSTALL_DIR) CMEM_INSTALL_DIR=$(LINUXUTILS_INSTALL_DIR) CODEC_INSTALL_DIR=$(CODEC_INSTALL_DIR) BIOSUTILS_INSTALL_DIR=$(BIOSUTILS_INSTALL_DIR) XDAIS_INSTALL_DIR=$(XDAIS_INSTALL_DIR) LINK_INSTALL_DIR=$(LINK_INSTALL_DIR) XDCARGS=\"prod\" clean

endif

 

#==============================================================================

# Build the dmammapk kernel module (if the configured for the platform). Also,

# an explicit cleanup target is defined.

#==============================================================================

dmammapk:

ifneq ($(DMAMMAP_INSTALL_DIR),)

         $(MAKE) -C $(DMAMMAP_INSTALL_DIR) KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR)

         @mkdir -p $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)

         @cp $(DMAMMAP_INSTALL_DIR)/*.ko $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)/

         @echo

         @echo "dmammapk kernel module can be found under $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)"

endif

 

dmammapk_clean:

ifneq ($(DMAMMAP_INSTALL_DIR),)

         $(MAKE) -C $(DMAMMAP_INSTALL_DIR) KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR) clean

endif

 

#==============================================================================

# Build the edma kernel module (if the configured platform is dm365). Also,

# an explicit cleanup target is defined.

#==============================================================================

edmak:

ifeq ($(HAS_EDMAK),true)

         $(MAKE) -C $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/edma/src/module KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR)

         @mkdir -p $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)

         @cp $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/edma/src/module/edmak.ko $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)/

         @echo

         @echo "edmak.ko kernel module can be found under $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)"

endif

 

edmak_clean:

ifeq ($(HAS_EDMAK),true)

         $(MAKE) -C $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/edma/src/module KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR) clean

endif

 

#==============================================================================

# Build the irq kernel module (if the configured platform is dm365). Also,

# an explicit cleanup target is defined.

#==============================================================================

irqk:

ifeq ($(HAS_IRQK),true)

         $(MAKE) -C $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/irq/src/module KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR)

         @mkdir -p $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)

         @cp $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/irq/src/module/irqk.ko $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)/

         @echo

         @echo "irqk.ko kernel module can be found under $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)"

endif

 

irqk_clean:

ifeq ($(HAS_IRQK),true)

         $(MAKE) -C $(LINUXUTILS_INSTALL_DIR)/packages/ti/sdo/linuxutils/irq/src/module KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR) clean

endif

 

#==============================================================================

# Build the Davinci Multimedia Application Interface for the configured

# platform. Also, an explicit cleanup target is defined.

#==============================================================================

dmai:

         @$(MAKE) -C $(DMAI_INSTALL_DIR) PLATFORM=${DMAI_PLATFORM} \

                            CE_INSTALL_DIR_${DMAI_PLATFORM}=$(CE_INSTALL_DIR) \

                                     CODEC_INSTALL_DIR_${DMAI_PLATFORM}=$(CODEC_INSTALL_DIR) \

                                     LINK_INSTALL_DIR_${DMAI_PLATFORM}=$(LINK_INSTALL_DIR) \

                                     CMEM_INSTALL_DIR_${DMAI_PLATFORM}=$(CMEM_INSTALL_DIR) \

                                     FC_INSTALL_DIR_${DMAI_PLATFORM}=$(FC_INSTALL_DIR) \

                                     LPM_INSTALL_DIR_${DMAI_PLATFORM}=$(LPM_INSTALL_DIR) \

                                     XDAIS_INSTALL_DIR_${DMAI_PLATFORM}=$(XDAIS_INSTALL_DIR) \

                                     BIOS_INSTALL_DIR_${DMAI_PLATFORM}=$(BIOS_INSTALL_DIR) \

                                     LINUXLIBS_INSTALL_DIR_${DMAI_PLATFORM}=$(LINUXLIBS_INSTALL_DIR)\

                                     LINUXKERNEL_INSTALL_DIR_${DMAI_PLATFORM}=$(LINUXKERNEL_INSTALL_DIR) \

                                      CROSS_COMPILE_${DMAI_PLATFORM}=$(CSTOOL_PREFIX) \

                                     XDC_INSTALL_DIR_${DMAI_PLATFORM}=$(XDC_INSTALL_DIR) \

                                     EXEC_DIR_${DMAI_PLATFORM}=$(EXEC_DIR) all

 

         @echo

         @echo "DMAI applications can be found under $(DMAI_INSTALL_DIR)/packages/ti/sdo/dmai/apps"

         @echo "To install them to $(EXEC_DIR)"

         @echo "Execute 'make dmai_install'"

 

dmai_clean:

         $(MAKE) -C $(DMAI_INSTALL_DIR) PLATFORM=${DMAI_PLATFORM} \

                   XDC_INSTALL_DIR_${DMAI_PLATFORM}=$(XDC_INSTALL_DIR) clean

 

dmai_install:

         $(MAKE) -C $(DMAI_INSTALL_DIR) PLATFORM=${DMAI_PLATFORM} EXEC_DIR=$(EXEC_DIR) install

 

#==============================================================================

# Build DSP Link for the configured platform. Also, an explicit cleanup target

# is defined.

#==============================================================================

ifeq ($(HAS_DSPLINK),true)

dsplink:     dsplink_arm dsplink_dsp dsplink_samples

 

dsplink_dsp_genpackage:

         $(XDC_INSTALL_DIR)/xdc -C $(LINK_INSTALL_DIR)/dsplink/dsp clean

         $(XDC_INSTALL_DIR)/xdc -C $(LINK_INSTALL_DIR)/dsplink/dsp .interfaces

 

dsplink_gpp_genpackage:

         $(XDC_INSTALL_DIR)/xdc -C $(LINK_INSTALL_DIR)/dsplink/gpp clean

         $(XDC_INSTALL_DIR)/xdc -C $(LINK_INSTALL_DIR)/dsplink/gpp .interfaces

        

dsplink_cfg:

         DSPLINK=$(LINK_INSTALL_DIR)/dsplink perl $(LINK_INSTALL_DIR)/dsplink/config/bin/dsplinkcfg.pl $(DSPLINK_CONFIG)

 

dsplink_arm:    dsplink_cfg dsplink_gpp_genpackage

         DSPLINK=$(LINK_INSTALL_DIR)/dsplink $(XDC_INSTALL_DIR)/gmake -C $(LINK_INSTALL_DIR)/dsplink/gpp/src BASE_TOOLCHAIN=$(MVTOOL_DIR) BASE_BUILDOS=$(LINUXKERNEL_INSTALL_DIR) KERNEL_DIR=${LINUXKERNEL_INSTALL_DIR} TOOL_PATH=$(CSTOOL_DIR)/bin

         @mkdir -p $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)

         @cp $(DSPLINK_MODULE) $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)/

         @echo

         @echo "dsplinkk.ko kernel module can be found under $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)"

 

dsplink_dsp:     dsplink_cfg dsplink_dsp_genpackage

         DSPLINK=$(LINK_INSTALL_DIR)/dsplink $(XDC_INSTALL_DIR)/gmake -C $(LINK_INSTALL_DIR)/dsplink/dsp/src BASE_SABIOS=$(BIOS_INSTALL_DIR) XDCTOOLS_DIR=$(XDC_INSTALL_DIR) BASE_CGTOOLS=$(CODEGEN_INSTALL_DIR)

 

dsplink_samples:

         DSPLINK=$(LINK_INSTALL_DIR)/dsplink $(XDC_INSTALL_DIR)/gmake -C $(LINK_INSTALL_DIR)/dsplink/gpp/src/samples BASE_TOOLCHAIN=$(MVTOOL_DIR) BASE_BUILDOS=$(LINUXKERNEL_INSTALL_DIR)

         DSPLINK=$(LINK_INSTALL_DIR)/dsplink $(XDC_INSTALL_DIR)/gmake -C $(LINK_INSTALL_DIR)/dsplink/dsp/src/samples BASE_SABIOS=$(BIOS_INSTALL_DIR) XDCTOOLS_DIR=$(XDC_INSTALL_DIR) BASE_CGTOOLS=$(CODEGEN_INSTALL_DIR)

else

dsplink:

endif

 

ifeq ($(HAS_DSPLINK),true)

dsplink_clean:

         DSPLINK=$(LINK_INSTALL_DIR)/dsplink $(XDC_INSTALL_DIR)/gmake -C $(LINK_INSTALL_DIR)/dsplink/gpp/src BASE_TOOLCHAIN=$(MVTOOL_DIR) BASE_BUILDOS=$(LINUXKERNEL_INSTALL_DIR) clean

         DSPLINK=$(LINK_INSTALL_DIR)/dsplink $(XDC_INSTALL_DIR)/gmake -C $(LINK_INSTALL_DIR)/dsplink/dsp/src BASE_SABIOS=$(BIOS_INSTALL_DIR) XDCTOOLS_DIR=$(XDC_INSTALL_DIR) BASE_CGTOOLS=$(CODEGEN_INSTALL_DIR) clean

         DSPLINK=$(LINK_INSTALL_DIR)/dsplink $(XDC_INSTALL_DIR)/gmake -C $(LINK_INSTALL_DIR)/dsplink/gpp/src/samples BASE_TOOLCHAIN=$(MVTOOL_DIR) BASE_BUILDOS=$(LINUXKERNEL_INSTALL_DIR) clean

         DSPLINK=$(LINK_INSTALL_DIR)/dsplink $(XDC_INSTALL_DIR)/gmake -C $(LINK_INSTALL_DIR)/dsplink/dsp/src/samples BASE_SABIOS=$(BIOS_INSTALL_DIR) XDCTOOLS_DIR=$(XDC_INSTALL_DIR) BASE_CGTOOLS=$(CODEGEN_INSTALL_DIR) clean

else

dsplink_clean:

endif

 

#==============================================================================

# Install the built binaries to the target file system.

#==============================================================================

install:

         @echo

         @echo Creating $(EXEC_DIR)

         @mkdir -p $(EXEC_DIR)

 

         @echo Copying kernel modules to target file system: $(EXEC_DIR)/

         @install -m 666 $(DVSDK_INSTALL_DIR)/kernel_binaries/$(PLATFORM)/* $(EXEC_DIR)/

 

         @echo Installing DVSDK demos..

         $(MAKE) -C $(DEMO_INSTALL_DIR)/$(PLATFORM) install EXEC_DIR=$(EXEC_DIR)

 

         @echo Copying examples..

         @cp -rpf examples/web $(EXEC_DIR)/

         @cp -p examples/dvevmdemo $(EXEC_DIR)/

 

ifeq ($(PLATFORM),dm6446)

         @echo Copying codec servers..

         @install -m 666 $(CODEC_INSTALL_DIR)/packages/ti/sdo/servers/encode/encodeCombo.x64P $(EXEC_DIR)/

         -@install -m 666 $(CODEC_INSTALL_DIR)/packages/ti/sdo/servers/encode/encodeCombo_e.x64P $(EXEC_DIR)/

         @install -m 666 $(CODEC_INSTALL_DIR)/packages/ti/sdo/servers/decode/decodeCombo.x64P $(EXEC_DIR)/

         -@install -m 666 $(CODEC_INSTALL_DIR)/packages/ti/sdo/servers/decode/decodeCombo_e.x64P $(EXEC_DIR)/

         @install -m 666 $(CODEC_INSTALL_DIR)/packages/ti/sdo/servers/loopback/loopbackCombo.x64P $(EXEC_DIR)/

         -@install -m 666 $(CODEC_INSTALL_DIR)/packages/ti/sdo/servers/loopback/loopbackCombo_e.x64P $(EXEC_DIR)/

         @echo Copying dsplinkk.ko

         @install -m 666 $(LINK_INSTALL_DIR)/dsplink/gpp/export/BIN/Linux/DAVINCI/RELEASE/dsplinkk.ko $(EXEC_DIR)/

endif

 

ifeq ($(PLATFORM),dm6467)

         @echo Copying codec servers..

         @install -m 666 $(CODEC_INSTALL_DIR)/packages/ti/sdo/server/cs/bin/cs.x64P $(EXEC_DIR)/

         @echo Copying mapdmaqhd..

         @install -m 777 $(DVSDK_INSTALL_DIR)/mapdmaq-hd/mapdmaq-hd $(EXEC_DIR)/

endif

 

ifeq ($(PLATFORM),dm355)

         @echo Copying mapdmaq..

         @install -m 777 $(DVSDK_INSTALL_DIR)/mapdmaq/mapdmaq $(EXEC_DIR)/

endif

 

#==============================================================================

# Build the Linux examples

#==============================================================================

psp_examples:

         $(MAKE) -C $(LINUXEXAMPLES_INSTALL_DIR) PLATFORM=$(PLATFORM) KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR) CROSS_COMPILE=$(MVTOOL_PREFIX) DEST=$(LINUXEXAMPLES_INSTALL_DIR) all install

         @echo

         @echo "PSP examples can be found under $(LINUXEXAMPLES_INSTALL_DIR)/$(PLATFORM)"

 

psp_examples_clean:

         $(MAKE) -C $(LINUXEXAMPLES_INSTALL_DIR) PLATFORM=$(PLATFORM) KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR) CROSS_COMPILE=$(MVTOOL_PREFIX) clean

 

psp_examples_install:

         $(MAKE) -C $(LINUXEXAMPLES_INSTALL_DIR) PLATFORM=$(PLATFORM) KERNEL_DIR=$(LINUXKERNEL_INSTALL_DIR) CROSS_COMPILE=$(MVTOOL_PREFIX) FINAL_DEST=$(EXEC_DIR) install

 

 

 

这两个文件修改完成了,我们的开发环境就可以说安装完成了。在接下来的工作中,我们需要编译自己的Uboot,Kennel,熟悉DVSDK,编写应用程序等开发工作,在以后的章节中进一步讲到。

休息一下,现在是广告时间,哈哈

深圳市俊竹科技有限公司提供Davinci 系列产品的方案和开发板,在这里展示一下我们的DM6467T开发板吧,分核心板和底板,你也可以只做自己的底板,买的我们的核心板,或者直接让我们来定制。

联系方式:18665982968(黄工)QQ:1511819371