This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

在ccs6下编译例程uart,报错为Invalid SOC

Other Parts Discussed in Thread: SYSBIOS, 66AK2H12, 66AK2E05, AM5728, AM3359, AM4379, CCSTUDIO

我的ccs版本为6.2.0.00050,我的sdk版本号为ti-processor-sdk-rtos-c667x-evm-03.02.00.05-Windows-x86,我按照rebuild the pdk说明重新生成例程后,然后导入工程,编译时报错,提示

E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set SOC=C6678

E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set PROCESSOR=dsp

E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM437x (goto SOC_AM3_AM4 )

E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM335x (goto SOC_AM3_AM4 )

E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM572x (goto SOC_AM57XX )

E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM571x (goto SOC_AM57XX )

E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>else (

E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>echo ERROR: Invalid SOC
ERROR: Invalid SOC

E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>goto ENDSCRIPT
' '
'else' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

请问这是什么错误,该如何修改

  • 这是ccs编译时console里显示的完整报错信息?
    是按照下面的步骤在MyExampleProjects生成工程文件,再在ccs里import,然后Build Active Project?
    processors.wiki.ti.com/.../Rebuilding_The_PDK
  • 完整的如下:

    **** Build of configuration Debug for project UART_BasicExample_C6678_c66xExampleProject ****

    "D:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
    'Building file: D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/uart_test.cfg'
    'Invoking: XDCtools'
    "D:/ti/xdctools_3_32_01_22_core/xs" --xdcpath="D:/ti/edma3_lld_2_12_02_26/packages;D:/ti/ipc_3_44_00_00/packages;D:/ti/bios_6_46_01_38/packages;D:/ti/pdk_c667x_2_0_4/packages;D:/ti/ndk_2_25_00_09/packages;D:/ti/uia_2_00_06_52/packages;D:/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.platforms.evm6678 -r debug -c "D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1" "D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/uart_test.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring uart_test.xe66 from package/cfg/uart_test_pe66.cfg ...
    generating custom ti.sysbios library makefile ...
    Linking with library ti.drv.uart:./lib/c6678/c66/release/ti.drv.uart.profiling.ae66
    Linking with library ti.utils.profiling:./lib/c66/release/ti.utils.profiling.ae66
    Linking with library ti.board:./lib/evmC6678/c66/release/ti.board.ae66
    Linking with library ti.csl:./lib/c6678/c66/release/ti.csl.ae66
    Linking with library ti.osal:./lib/tirtos/c6678/c66/release/ti.osal.ae66
    Starting build of library sources ...
    making D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/src/sysbios/sysbios.ae66 ...
    gmake[1]: Entering directory `D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/src/sysbios'
    gmake[1]: Nothing to be done for `all'.
    gmake[1]: Leaving directory `D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/src/sysbios'
    Build of libraries done.
    cle66 package/cfg/uart_test_pe66.c ...
    'Finished building: D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/uart_test.cfg'
    ' '
    'Building file: D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/example/sample/src/main_uart_example.c'
    'Invoking: C6000 Compiler'
    "D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/bin/cl6x" -mv6600 --include_path="D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart" --include_path="D:/ti/pdk_c667x_2_0_4/packages" --include_path="D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/include" -g --define=UART_V0 --define=SOC_C6678 --define=EVM_C6678 --define=USE_BIOS --diag_suppress=1111 --diag_suppress=827 --diag_suppress=824 --diag_suppress=837 --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77 --diag_suppress=232 --diag_wrap=off --diag_warning=225 --diag_warning=994 --diag_warning=262 --display_error_number --preproc_with_compile --preproc_dependency="main_uart_example.d" --cmd_file="configPkg/compiler.opt" "D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/example/sample/src/main_uart_example.c"
    'Finished building: D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/example/sample/src/main_uart_example.c'
    ' '
    'Building target: UART_BasicExample_C6678_c66xExampleProject.out'
    'Invoking: C6000 Linker'
    "D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/bin/cl6x" -mv6600 -g --define=UART_V0 --define=SOC_C6678 --define=EVM_C6678 --define=USE_BIOS --diag_suppress=1111 --diag_suppress=827 --diag_suppress=824 --diag_suppress=837 --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77 --diag_suppress=232 --diag_wrap=off --diag_warning=225 --diag_warning=994 --diag_warning=262 --display_error_number -z -m"UART_BasicExample_C6678_c66xExampleProject.map" -i"D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/lib" -i"D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="UART_BasicExample_C6678_c66xExampleProject_linkInfo.xml" --rom_model -o "UART_BasicExample_C6678_c66xExampleProject.out" "./main_uart_example.obj" -l"configPkg/linker.cmd" -llibc.a
    <Linking>
    'Finished building target: UART_BasicExample_C6678_c66xExampleProject.out'
    ' '
    D:/ti/pdk_c667x_2_0_4/packages/pdkAppImageCreate.bat D:/ti/pdk_c667x_2_0_4/packages D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1 E:/dsp_proj1/UART_BasicExample_C6678_c66xExampleProject/Debug UART_BasicExample_C6678_c66xExampleProject C6678 dsp

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set PDK_PATH=D:/ti/pdk_c667x_2_0_4/packages

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set CG_TOOL_PATH=D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set APP_PATH=E:/dsp_proj1/UART_BasicExample_C6678_c66xExampleProject/Debug

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set APP_NAME=UART_BasicExample_C6678_c66xExampleProject

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set SOC=C6678

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set PROCESSOR=dsp

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM437x (goto SOC_AM3_AM4 )

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM335x (goto SOC_AM3_AM4 )

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM572x (goto SOC_AM57XX )

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM571x (goto SOC_AM57XX )

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>else (

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>echo ERROR: Invalid SOC
    ERROR: Invalid SOC

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>goto ENDSCRIPT
    ' '
    'else' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。

    **** Build Finished ****
  • 这是完整的
    **** Build of configuration Debug for project UART_BasicExample_C6678_c66xExampleProject ****

    "D:\\ti\\ccsv6\\utils\\bin\\gmake" -k all
    'Building file: D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/uart_test.cfg'
    'Invoking: XDCtools'
    "D:/ti/xdctools_3_32_01_22_core/xs" --xdcpath="D:/ti/edma3_lld_2_12_02_26/packages;D:/ti/ipc_3_44_00_00/packages;D:/ti/bios_6_46_01_38/packages;D:/ti/pdk_c667x_2_0_4/packages;D:/ti/ndk_2_25_00_09/packages;D:/ti/uia_2_00_06_52/packages;D:/ti/ccsv6/ccs_base;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C66 -p ti.platforms.evm6678 -r debug -c "D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1" "D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/uart_test.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring uart_test.xe66 from package/cfg/uart_test_pe66.cfg ...
    generating custom ti.sysbios library makefile ...
    Linking with library ti.drv.uart:./lib/c6678/c66/release/ti.drv.uart.profiling.ae66
    Linking with library ti.utils.profiling:./lib/c66/release/ti.utils.profiling.ae66
    Linking with library ti.board:./lib/evmC6678/c66/release/ti.board.ae66
    Linking with library ti.csl:./lib/c6678/c66/release/ti.csl.ae66
    Linking with library ti.osal:./lib/tirtos/c6678/c66/release/ti.osal.ae66
    Starting build of library sources ...
    making D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/src/sysbios/sysbios.ae66 ...
    gmake[1]: Entering directory `D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/src/sysbios'
    gmake[1]: Nothing to be done for `all'.
    gmake[1]: Leaving directory `D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/src/sysbios'
    Build of libraries done.
    cle66 package/cfg/uart_test_pe66.c ...
    'Finished building: D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/test/c6678/c66/bios/uart_test.cfg'
    ' '
    'Building file: D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/example/sample/src/main_uart_example.c'
    'Invoking: C6000 Compiler'
    "D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/bin/cl6x" -mv6600 --include_path="D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart" --include_path="D:/ti/pdk_c667x_2_0_4/packages" --include_path="D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/include" -g --define=UART_V0 --define=SOC_C6678 --define=EVM_C6678 --define=USE_BIOS --diag_suppress=1111 --diag_suppress=827 --diag_suppress=824 --diag_suppress=837 --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77 --diag_suppress=232 --diag_wrap=off --diag_warning=225 --diag_warning=994 --diag_warning=262 --display_error_number --preproc_with_compile --preproc_dependency="main_uart_example.d" --cmd_file="configPkg/compiler.opt" "D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/example/sample/src/main_uart_example.c"
    'Finished building: D:/ti/pdk_c667x_2_0_4/packages/ti/drv/uart/example/sample/src/main_uart_example.c'
    ' '
    'Building target: UART_BasicExample_C6678_c66xExampleProject.out'
    'Invoking: C6000 Linker'
    "D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/bin/cl6x" -mv6600 -g --define=UART_V0 --define=SOC_C6678 --define=EVM_C6678 --define=USE_BIOS --diag_suppress=1111 --diag_suppress=827 --diag_suppress=824 --diag_suppress=837 --diag_suppress=1037 --diag_suppress=195 --diag_suppress=77 --diag_suppress=232 --diag_wrap=off --diag_warning=225 --diag_warning=994 --diag_warning=262 --display_error_number -z -m"UART_BasicExample_C6678_c66xExampleProject.map" -i"D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/lib" -i"D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1/include" --reread_libs --warn_sections --display_error_number --diag_wrap=off --xml_link_info="UART_BasicExample_C6678_c66xExampleProject_linkInfo.xml" --rom_model -o "UART_BasicExample_C6678_c66xExampleProject.out" "./main_uart_example.obj" -l"configPkg/linker.cmd" -llibc.a
    <Linking>
    'Finished building target: UART_BasicExample_C6678_c66xExampleProject.out'
    ' '
    D:/ti/pdk_c667x_2_0_4/packages/pdkAppImageCreate.bat D:/ti/pdk_c667x_2_0_4/packages D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1 E:/dsp_proj1/UART_BasicExample_C6678_c66xExampleProject/Debug UART_BasicExample_C6678_c66xExampleProject C6678 dsp

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set PDK_PATH=D:/ti/pdk_c667x_2_0_4/packages

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set CG_TOOL_PATH=D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set APP_PATH=E:/dsp_proj1/UART_BasicExample_C6678_c66xExampleProject/Debug

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set APP_NAME=UART_BasicExample_C6678_c66xExampleProject

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set SOC=C6678

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>set PROCESSOR=dsp

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM437x (goto SOC_AM3_AM4 )

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM335x (goto SOC_AM3_AM4 )

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM572x (goto SOC_AM57XX )

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>if C6678 == AM571x (goto SOC_AM57XX )

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>else (

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>echo ERROR: Invalid SOC
    ERROR: Invalid SOC

    E:\dsp_proj1\UART_BasicExample_C6678_c66xExampleProject\Debug>goto ENDSCRIPT
    ' '
    'else' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。

    **** Build Finished ****
  • 我的操作如下,先是在dos底下执行d:\ti\processor_sdk_rtos_c667x_3_02_00_05>gmake命令,然后修改pdksetupenv.bat,
    @REM ******************************************************************************
    @REM * FILE PURPOSE: Environment Setup for building PDK
    @REM ******************************************************************************
    @REM * FILE NAME: pdksetupenv.bat
    @REM *
    @REM * DESCRIPTION:
    @REM * Configures and sets up the Build Environment for PDK.
    @REM *
    @REM * The batch file expects an optional argument:PDK_INSTALL_PATH: Location
    @REM * of the PDK package. If the argument is not specified the batch file
    @REM * assumes that the PDK is installed in the same location where the batch
    @REM * file is located and is being executed.
    @REM *
    @REM * USAGE:
    @REM * pdksetupenv.bat "C:\ti\pdk_<device>_<version>\packages"
    @REM * --- OR ---
    @REM * pdksetupenv.bat
    @REM *
    @REM * Copyright (C) 2012-2016, Texas Instruments, Inc.
    @REM *****************************************************************************
    @echo off
    @REM *******************************************************************************
    @REM ********************** GET PARAMETERS PASSED THROUGH ARGUMENT ***************
    @REM *******************************************************************************
    @REM Parameter Validation: Check if the argument was passed to the batch file and
    @REM if so we use that else we default to the working directory where the batch
    @REM file was invoked from

    set tempVar=%1
    if defined tempVar (
    set PDK_INSTALL_PATH=D:\ti\pdk_c667x_2_0_4
    ) else (
    set PDK_INSTALL_PATH=D:\ti\pdk_c667x_2_0_4
    )

    set PDK_INSTALL_PATH=%PDK_INSTALL_PATH:\=/%

    @rem PDK_INSTALL_PATH workaround for compilation of board library.
    @rem A drive letter in PDK_INSTALL_PATH will cause make of board library to fail because
    @rem make mis-interprets drive letters as rules. Thus remove the drive letter which
    @rem means the 'make' or 'xdc' shall run from same drive letter as PDK when building PDK
    @rem or SDK components.
    set PDK_INSTALL_PATH=%PDK_INSTALL_PATH:~2%

    if not defined SDK_INSTALL_PATH (
    set SDK_INSTALL_PATH=D:\ti
    )

    if not defined TOOLS_INSTALL_PATH (
    set TOOLS_INSTALL_PATH=D:\ti
    )

    @REM *******************************************************************************
    @REM ********************** CHECK REQUIRED ENVIRONMENT DEFINES BEGIN ***************
    @REM *******************************************************************************

    @REM Version of CG-Tools
    set CGT_VERSION=8.1.1

    @REM Cross compiler prefix
    set GCC_CROSS_TOOL_PREFIX=arm-none-eabi-

    @REM Version of GCC for ARM A15
    set GCC_VERSION_ARM_A15=%GCC_CROSS_TOOL_PREFIX%4_9-2015q3

    @REM Version of GCC for ARM A8
    set GCC_VERSION_ARM_A8=%GCC_CROSS_TOOL_PREFIX%4_9-2015q3

    @REM Version of GCC for ARM A9
    set GCC_VERSION_ARM_A9=%GCC_CROSS_TOOL_PREFIX%4_9-2015q3

    @REM Version of CG-ARM-Tools for M4
    set CGT_M4_VERSION=15.12.1.LTS

    @REM Version of FPULIB for ARM
    set GCC_VERSION_FPULIB=4.9.3

    @REM Version of XDC
    set XDC_VERSION=3_32_01_22_core

    @REM Version of BIOS
    set BIOS_VERSION=6_46_01_38

    @REM Version of IPC
    set IPC_VERSION=3_44_00_00

    @REM EDMA3 Version
    set EDMA_VERSION=2_12_02_26

    @REM Version of the NDK
    set NDK_VERSION=2_25_00_09

    @REM Version of the IMGLIB
    set IMGLIB_VERSION=c66x_3_1_1_0

    @REM Version of the UIA
    set UIA_VERSION=2_00_06_52

    if not defined C6X_GEN_INSTALL_PATH (
    set C6X_GEN_INSTALL_PATH=%TOOLS_INSTALL_PATH%/ccsv6/tools/compiler/ti-cgt-c6000_%CGT_VERSION%
    )
    set C6X_GEN_INSTALL_PATH=%C6X_GEN_INSTALL_PATH:\=/%

    if not defined TOOLCHAIN_PATH_A15 (
    set TOOLCHAIN_PATH_A15=%TOOLS_INSTALL_PATH%/ccsv6/tools/compiler/gcc-%GCC_VERSION_ARM_A15%
    )
    set TOOLCHAIN_PATH_A15=%TOOLCHAIN_PATH_A15:\=/%

    if not defined TOOLCHAIN_PATH_A8 (
    set TOOLCHAIN_PATH_A8=%TOOLS_INSTALL_PATH%/ccsv6/tools/compiler/gcc-%GCC_VERSION_ARM_A8%
    )
    set TOOLCHAIN_PATH_A8=%TOOLCHAIN_PATH_A8:\=/%

    if not defined TOOLCHAIN_PATH_A9 (
    set TOOLCHAIN_PATH_A9=%TOOLS_INSTALL_PATH%/ccsv6/tools/compiler/gcc-%GCC_VERSION_ARM_A9%
    )
    set TOOLCHAIN_PATH_A9=%TOOLCHAIN_PATH_A9:\=/%

    if not defined TOOLCHAIN_PATH_M4 (
    set TOOLCHAIN_PATH_M4=%TOOLS_INSTALL_PATH%/ccsv6/tools/compiler/ti-cgt-arm_%CGT_M4_VERSION%
    )
    set TOOLCHAIN_PATH_M4=%TOOLCHAIN_PATH_M4:\=/%

    if not defined FPULIB_PATH (
    set FPULIB_PATH=%TOOLCHAIN_PATH_A9%/lib/gcc/arm-none-eabi/%GCC_VERSION_FPULIB%/fpu
    )
    set FPULIB_PATH=%FPULIB_PATH:\=/%

    if not defined CROSS_TOOL_PRFX (
    set CROSS_TOOL_PRFX=%GCC_CROSS_TOOL_PREFIX%
    )
    set CROSS_TOOL_PRFX=%CROSS_TOOL_PRFX:\=/%

    if not defined XDC_INSTALL_PATH (
    set XDC_INSTALL_PATH=%SDK_INSTALL_PATH%/xdctools_%XDC_VERSION%
    )
    set XDC_INSTALL_PATH=%XDC_INSTALL_PATH:\=/%

    if not defined BIOS_INSTALL_PATH (
    set BIOS_INSTALL_PATH=%SDK_INSTALL_PATH%/bios_%BIOS_VERSION%
    )
    set BIOS_INSTALL_PATH=%BIOS_INSTALL_PATH:\=/%

    if not defined IPC_INSTALL_PATH (
    set IPC_INSTALL_PATH=%SDK_INSTALL_PATH%/ipc_%IPC_VERSION%
    )
    set IPC_INSTALL_PATH=%IPC_INSTALL_PATH:\=/%

    if not defined EDMA3LLD_BIOS6_INSTALLDIR (
    set EDMA3LLD_BIOS6_INSTALLDIR=%SDK_INSTALL_PATH%/edma3_lld_%EDMA_VERSION%
    )
    set EDMA3LLD_BIOS6_INSTALLDIR=%EDMA3LLD_BIOS6_INSTALLDIR:\=/%

    if not defined NDK_INSTALL_PATH (
    set NDK_INSTALL_PATH=%SDK_INSTALL_PATH%/ndk_%NDK_VERSION%
    )
    set NDK_INSTALL_PATH=%NDK_INSTALL_PATH:\=/%

    if not defined IMGLIB_INSTALL_PATH (
    set IMGLIB_INSTALL_PATH=%SDK_INSTALL_PATH%/imglib_%IMGLIB_VERSION%
    )
    set IMGLIB_INSTALL_PATH=%IMGLIB_INSTALL_PATH:\=/%

    if not defined UIA_INSTALL_PATH (
    set UIA_INSTALL_PATH=%SDK_INSTALL_PATH%/uia_%UIA_VERSION%
    )
    set UIA_INSTALL_PATH=%UIA_INSTALL_PATH:\=/%

    if not defined CG_XML_BIN_INSTALL_PATH (
    @echo Optional parameter not configured : CG_XML_BIN_INSTALL_PATH
    @echo REQUIRED for xdc release build
    @echo Example: set CG_XML_BIN_INSTALL_PATH=C:/ti/cg_xml/bin
    )

    if not defined DOXYGEN_INSTALL_PATH (
    @echo Optional parameter not configured : DOXYGEN_INSTALL_PATH
    @echo REQUIRED for xdc release build
    @echo Example: set DOXYGEN_INSTALL_PATH=C:/ti/Doxygen/doxygen/1.5.1-p1/bin
    )

    @REM *******************************************************************************
    @REM ********************** CHECK REQUIRED ENVIRONMENT DEFINES END ***************
    @REM *******************************************************************************

    @REM *******************************************************************************
    @REM *************************** OPTIONAL ENVIRONMENT DEFINES **********************
    @REM *************************** NOT REQUIRED FOR BUILDING THE PDK *****************
    @REM *******************************************************************************
    @REM STATIC_ANALYZE_PATH: Environment Variable for tool to do STATIC Analysis
    @REM of the code
    @REM
    @REM DOXYGEN_INSTALL_PATH: DOXYGEN Version 1.7.3 [Only needed for generating Doxygen]
    @REM
    @REM HTML_HELP_WORKSHOP_INSTALL_PATH: HTML Help compiler.[Only needed for generating Doxygen]
    @REM
    @REM PDSP_CGEN_INSTALL_PATH: PDSP CGEN TOOLS [Only needed for PA firmware]
    @REM *******************************************************************************
    @REM *******************************************************************************
    @REM *******************************************************************************

    @REM PDK PARTNO
    if not defined PARTNO set PARTNO=C667x
    if not defined SOC_FAMILY set SOC_FAMILY=C667x

    @REM Platforms supported by the PDK
    if not defined LIMIT_SOCS set LIMIT_SOCS=C6678
    if not defined LIMIT_BOARDS set LIMIT_BOARDS=evmC6678

    set CGTOOLS=%C6X_GEN_INSTALL_PATH%

    @REM *******************************************************************************
    @REM ** Convert paths to short name and to UNIX STYLE PATH for XDC build **
    @REM *******************************************************************************
    set PATH=%PATH%;%XDC_INSTALL_PATH%\packages\xdc\services\io\release

    @REM *******************************************************************************
    @REM This file requires path2dos.exe utility available from XDC tools. If path2dos.exe
    @REM is not available in the build environment then short names for paths SHOULD be
    @REM provided to environment variables e.g. C:\PROGRA~1\TEXASI~1\PDK_TC~4\packages.
    @REM In Windows environment, "dir /x" and "dir /-n" displays the short names generated
    @REM for non-8dot3 file and directory names.
    @REM *******************************************************************************

    @REM for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%PDK_INSTALL_PATH%"') do set PDK_INSTALL_PATH=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%C6X_GEN_INSTALL_PATH%"') do set C6X_GEN_INSTALL_PATH=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%TOOLCHAIN_PATH_A15%"') do set TOOLCHAIN_PATH_A15=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%TOOLCHAIN_PATH_A8%"') do set TOOLCHAIN_PATH_A8=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%TOOLCHAIN_PATH_A9%"') do set TOOLCHAIN_PATH_A9=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%TOOLCHAIN_PATH_M4%"') do set TOOLCHAIN_PATH_M4=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%FPULIB_PATH%"') do set FPULIB_PATH=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%XDC_INSTALL_PATH%"') do set XDC_INSTALL_PATH=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%BIOS_INSTALL_PATH%"') do set BIOS_INSTALL_PATH=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%IPC_INSTALL_PATH%"') do set IPC_INSTALL_PATH=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%EDMA3LLD_BIOS6_INSTALLDIR%"') do set EDMA3LLD_BIOS6_INSTALLDIR=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%NDK_INSTALL_PATH%"') do set NDK_INSTALL_PATH=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%IMGLIB_INSTALL_PATH%"') do set IMGLIB_INSTALL_PATH=%%a
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%UIA_INSTALL_PATH%"') do set UIA_INSTALL_PATH=%%a
    if defined CG_XML_BIN_INSTALL_PATH (
    for /f "tokens=1* delims=" %%a in ('cmd /q/c path2dos "%CG_XML_BIN_INSTALL_PATH%"') do set CG_XML_BIN_INSTALL_PATH=%%a
    )

    set XDCCGROOT=%C6X_GEN_INSTALL_PATH%

    echo **************************************************************************
    echo Environment Configuration:
    echo LIMIT_SOCS : %LIMIT_SOCS%
    echo LIMIT_BOARDS : %LIMIT_BOARDS%
    echo PDK_INSTALL_PATH : %PDK_INSTALL_PATH%
    echo C6X_GEN_INSTALL_PATH : %C6X_GEN_INSTALL_PATH%
    echo TOOLCHAIN_PATH_A15 : %TOOLCHAIN_PATH_A15%
    echo TOOLCHAIN_PATH_A8 : %TOOLCHAIN_PATH_A8%
    echo TOOLCHAIN_PATH_A9 : %TOOLCHAIN_PATH_A9%
    echo TOOLCHAIN_PATH_M4 : %TOOLCHAIN_PATH_M4%
    echo FPULIB_PATH : %FPULIB_PATH%
    echo CROSS_TOOL_PRFX : %CROSS_TOOL_PRFX%
    echo XDC_INSTALL_PATH : %XDC_INSTALL_PATH%
    echo BIOS_INSTALL_PATH : %BIOS_INSTALL_PATH%
    echo IPC_INSTALL_PATH : %IPC_INSTALL_PATH%
    echo EDMA3LLD_BIOS6_INSTALLDIR : %EDMA3LLD_BIOS6_INSTALLDIR%
    echo NDK_INSTALL_PATH : %NDK_INSTALL_PATH%
    echo IMGLIB_INSTALL_PATH : %IMGLIB_INSTALL_PATH%
    echo UIA_INSTALL_PATH : %UIA_INSTALL_PATH%
    if defined CG_XML_BIN_INSTALL_PATH (
    echo CG_XML_BIN_INSTALL_PATH : %CG_XML_BIN_INSTALL_PATH%
    )

    @echo off
    @REM *******************************************************************************
    @REM *************************** XDC PATH Configuration ****************************
    @REM *******************************************************************************

    @REM Ensure that all the components inside PDK are a part of the XDC Path; such
    @REM that one component can use another.
    set XDCPATH=../../..;%XDC_INSTALL_PATH%/packages;%PDK_INSTALL_PATH%/.
    set XDCPATH=%XDCPATH%;%EDMA3LLD_BIOS6_INSTALLDIR%/packages;%BIOS_INSTALL_PATH%/packages;%IPC_INSTALL_PATH%/packages;%NDK_INSTALL_PATH%/packages;%UIA_INSTALL_PATH%/packages

    @REM *******************************************************************************
    @REM ************************** Build Tools Configuration **************************
    @REM *******************************************************************************

    @REM Windows Path
    set PATH=C:/Windows/System32

    @REM Compiler Tools:
    set PATH=%PATH%;%C6X_GEN_INSTALL_PATH%/bin

    @REM XDC Tools location:
    set PATH=%PATH%;%XDC_INSTALL_PATH%;%XDC_INSTALL_PATH%\bin;%XDC_INSTALL_PATH%\packages\xdc\services\io\release

    @REM CG-XML Package:
    if defined CG_XML_BIN_INSTALL_PATH set PATH=%PATH%;%CG_XML_BIN_INSTALL_PATH%

    @REM Third Party Tools: Doxygen
    if defined DOXYGEN_INSTALL_PATH set PATH=%PATH%;%DOXYGEN_INSTALL_PATH%

    @REM Third Party Tools: HTML Help compiler.
    if defined HTML_HELP_WORKSHOP_INSTALL_PATH set PATH=%PATH%;%HTML_HELP_WORKSHOP_INSTALL_PATH%;

    @REM Third Party Tools: Coverity
    if defined STATIC_ANALYZE_PATH set PATH=%PATH%;%STATIC_ANALYZE_PATH%\bin

    @REM Set the Title Window appropiately.
    Title PDK Build Environment

    if not defined PDK_PATH (
    @REM SDK level makefile did not invoke PDK level makefile

    @echo **************************************************************************
    @echo Changing to short name to support directory names containing spaces
    @echo current directory: %PDK_INSTALL_PATH%

    cd %PDK_INSTALL_PATH%
    @echo PDK BUILD ENVIRONMENT CONFIGURED
    @echo **************************************************************************
    )
    修改完后,双击运行,然后修改pdkprojectcreate.bat
    @REM ******************************************************************************
    @REM * FILE PURPOSE: PDK Unit Test and Example Project Creator
    @REM ******************************************************************************
    @REM * FILE NAME: pdkProjectCreate.bat
    @REM *
    @REM * DESCRIPTION:
    @REM * The script file is used to create the test and example projects of all
    @REM * components under PDK. These projects are available in the specified
    @REM * workspace.
    @REM *
    @REM * Syntax:
    @REM * pdkProjectCreate.bat [soc] [board] [endian] [module] [processor] [pdkDir]
    @REM *
    @REM * Description: (first option is default)
    @REM * soc - AM335x / AM437x / AM571x / AM572x / K2E / K2G / K2K / K2H / K2L /
    @REM * C6678 / C6657
    @REM * board - all (use "all" for K2X and C66X SOCs)
    @REM * -or-
    @REM * Refer to pdk_<soc>_<version>\packages\ti\board\lib
    @REM * for valid board inputs for the soc
    @REM * endian - little / big
    @REM * module - all
    @REM * -or-
    @REM * aif2 / bcp / cppi / csl / dfe / emac / fatfs / fm / fftc /
    @REM * gpio / hyplnk / i2c / icss_emac / iqn2 / mcasp / mcbsp / mmap / mmcsd /
    @REM * nimu / nimu_icss / nwal / pa / pcie / pktlib / pruss / qm / rm / sa /
    @REM * serdes-diag / spi / srio / tcp3d / tfw / transportqmss /
    @REM * transportsrio / tsip / uart / usb / wdtimer / vps
    @REM * processor - arm / dsp / m4
    @REM * pdkDir - THIS FILE LOCATION / "C:\ti\pdk_<soc>_<version>\packages"
    @REM *
    @REM * Example:
    @REM * a) pdkProjectCreate.bat
    @REM * - Creates all module projects for the AM335x soc for arm little endian
    @REM * b) pdkProjectCreate.bat AM437x
    @REM * - Creates all module projects for the AM437x soc for arm little endian
    @REM * c) pdkProjectCreate.bat AM437x idkAM437x
    @REM * - Creates all module projects for idkAM437x device for arm little endian
    @REM * d) pdkProjectCreate.bat AM571x evmAM571x little
    @REM * - Creates all module projects for evmAM571x device for arm little endian
    @REM * e) pdkProjectCreate.bat AM571x evmAM571x little i2c dsp
    @REM * - Creates i2c module projects for evmAM571x device for dsp little endian
    @REM * f) pdkProjectCreate.bat K2H all little i2c arm
    @REM * - Creates i2c module projects for K2H device for arm little endian
    @REM * g) pdkProjectCreate.bat C6678 all little hyplnk dsp
    @REM * - Creates hyplnk module projects for C6678 device for dsp little endian
    @REM *
    @REM * Copyright (C) 2012-2016, Texas Instruments, Inc.
    @REM *****************************************************************************
    @echo OFF

    REM Lists of valid input parameters - MUST be updated as new input parameters are added
    REM *****************************************************************************
    set soc_list=AM335x AM437x AM571x AM572x K2E K2K K2H K2L K2G C6678 C6657
    set endian_list=little big
    set module_list=all aif2 bcp cppi csl dfe emac fatfs fm fftc gpio gpmc hyplnk i2c icss_emac iqn2 mcasp mcbsp mmap mmcsd nimu nimu_icss nwal pa pcie pktlib pruss qm rm sa serdes_diag spi srio tcp3d tfw transportqmss transportsrio tsip uart usb wdtimer vps
    set proc_list=arm dsp m4

    REM Parameter Validation: Check if the argument was passed to the batch file.
    REM *****************************************************************************
    REM Argument [soc] is used to set SOC variable.
    set tempVar1=C6678
    if not defined tempVar1 goto nosoc
    set SOC=%tempVar1%
    goto socdone
    :nosoc
    set SOC=C6678
    :socdone

    REM Argument [board] is used to set BOARD variable.
    REM This is the board type of the soc for which project are to be created.
    set tempVar2=all
    if not defined tempVar2 goto noboard
    set BOARD=%tempVar2%
    goto boarddone
    :noboard
    set BOARD=all
    :boarddone

    REM Argument [endian] is used to set ENDIAN variable.
    REM This is Endianess of the projects being created.
    REM Valid Values are 'little' and 'big'. Defaults to 'little'.
    set tempVar3=little
    if not defined tempVar3 goto littleendian
    set ENDIAN=%tempVar3%
    goto endiandone
    :littleendian
    set ENDIAN=little
    :endiandone

    REM Argument [module] is used to set MODULE variable.
    REM This is specific module for which projects are created.
    REM Valid Values are LLD name. Defaults to all LLD's.
    set tempVar4=all
    if not defined tempVar4 goto nomodule
    set MODULE=%tempVar4%
    goto moduledone
    :nomodule
    set MODULE=all
    :moduledone

    REM Argument [processor] is used to set PROCESSOR variable.
    REM This is specific processor type for which projects are created.
    REM Valid Values are arm, dsp, or m4 . Defaults to arm.
    set tempVar5=dsp
    if not defined tempVar5 goto noprocessor
    set PROCESSOR=%tempVar5%
    goto processordone
    :noprocessor
    set PROCESSOR=dsp
    :processordone

    REM Argument [pdkDir] is used to set PDK_SHORT_NAME. This is PDK directory
    REM where project description files are located. If there is no value passed,
    REM it defaults to the file location directory. Then convert the variable to
    REM short name to avoid issues using batch file commands.
    set tempVar6=D:\ti\pdk_c667x_2_0_4\packages
    if not defined tempVar6 goto noparameter
    set PDK_SHORT_NAME=%tempVar6%
    goto done
    :noparameter
    set PDK_SHORT_NAME=D:\ti\pdk_c667x_2_0_4\packages
    :done

    REM *****************************************************************************

    echo =========================================================================
    echo Configuration:
    echo. SOC : %SOC%
    echo BOARD : %BOARD%
    echo. ENDIAN : %ENDIAN%
    echo. MODULE : %MODULE%
    echo. PROCESSOR : %PROCESSOR%
    echo. PDK_SHORT_NAME : %PDK_SHORT_NAME%
    echo =========================================================================
    echo Checking Configuration...

    for %%a in (%soc_list%) do (
    if %SOC% == %%a (
    goto end_soc_check
    )
    )
    echo ERROR: SOC (%SOC%) is invalid
    goto CONFIG_ERR
    :end_soc_check

    if %BOARD% == all (
    goto end_board_check
    )
    setlocal enabledelayedexpansion
    set board_type=!BOARD:%SOC%=!
    if not %board_type% == %BOARD% (
    goto end_board_check
    )
    echo ERROR: Board (%BOARD%) is invalid for the specified SOC (%SOC%)
    goto CONFIG_ERR
    :end_board_check

    for %%a in (%endian_list%) do (
    if %ENDIAN% == %%a (
    goto end_endian_check
    )
    )
    echo ERROR: Endian (%ENDIAN%) is invalid
    goto CONFIG_ERR
    :end_endian_check

    for %%a in (%module_list%) do (
    if %MODULE% == %%a (
    goto end_module_check
    )
    )
    echo ERROR: Module (%MODULE%) is invalid
    goto CONFIG_ERR
    :end_module_check

    for %%a in (%proc_list%) do (
    if %PROCESSOR% == %%a (
    goto end_proc_check
    )
    )
    echo ERROR: Processor (%PROCESSOR%) is invalid
    goto CONFIG_ERR
    :end_proc_check

    if %SOC% == AM335x (
    if %PROCESSOR% == dsp (
    echo ERROR: The AM335x soc does not contain a DSP processor
    goto CONFIG_ERR
    ) else if %PROCESSOR% == m4 (
    echo ERROR: The AM335x soc does not contain a M4 processor
    goto CONFIG_ERR
    )

    if %ENDIAN% == big (
    echo ERROR: The AM335x soc's arm does not support big endian
    goto CONFIG_ERR
    )
    ) else if %SOC% == AM437x (
    if %PROCESSOR% == dsp (
    echo ERROR: The AM437x soc does not contain a DSP processor
    goto CONFIG_ERR
    ) else if %PROCESSOR% == m4 (
    echo ERROR: The AM437x soc does not contain a M4 processor
    goto CONFIG_ERR
    )

    if %ENDIAN% == big (
    echo ERROR: The AM437x soc's arm does not support big endian
    goto CONFIG_ERR
    )
    ) else if %SOC% == AM571x (
    if %ENDIAN% == big (
    echo ERROR: The AM571x soc's processor's do not support big endian
    goto CONFIG_ERR
    )
    ) else if %SOC% == AM572x (
    if %ENDIAN% == big (
    echo ERROR: The AM572x soc's processor's do not support big endian
    goto CONFIG_ERR
    )
    ) else if %SOC% == K2K (
    if %PROCESSOR% == m4 (
    echo ERROR: The K2K soc does not contain a M4 processor
    goto CONFIG_ERR
    )

    if %PROCESSOR% == arm (
    if %ENDIAN% == big (
    echo ERROR: The K2K soc's arm does not support big endian
    goto CONFIG_ERR
    )
    )
    ) else if %SOC% == K2H (
    if %PROCESSOR% == m4 (
    echo ERROR: The K2H soc does not contain a M4 processor
    goto CONFIG_ERR
    )

    if %PROCESSOR% == arm (
    if %ENDIAN% == big (
    echo ERROR: The K2H soc's arm does not support big endian
    goto CONFIG_ERR
    )
    )
    ) else if %SOC% == K2E (
    if %PROCESSOR% == m4 (
    echo ERROR: The K2E soc does not contain a M4 processor
    goto CONFIG_ERR
    )

    if %PROCESSOR% == arm (
    if %ENDIAN% == big (
    echo ERROR: The K2E soc's arm does not support big endian
    goto CONFIG_ERR
    )
    )
    ) else if %SOC% == K2L (
    if %PROCESSOR% == m4 (
    echo ERROR: The K2L soc does not contain a M4 processor
    goto CONFIG_ERR
    )

    if %PROCESSOR% == arm (
    if %ENDIAN% == big (
    echo ERROR: The K2L soc's arm does not support big endian
    goto CONFIG_ERR
    )
    )
    ) else if %SOC% == K2G (
    if %PROCESSOR% == m4 (
    echo ERROR: The K2G soc does not contain a M4 processor
    goto CONFIG_ERR
    )

    if %PROCESSOR% == arm (
    if %ENDIAN% == big (
    echo ERROR: The K2G soc's arm does not support big endian
    goto CONFIG_ERR
    )
    )
    ) else if %SOC% == C6678 (
    if %PROCESSOR% == m4 (
    echo ERROR: The C6678 soc does not contain a M4 processor
    goto CONFIG_ERR
    )

    if %PROCESSOR% == arm (
    echo ERROR: The C6678 soc does not contain an arm processor
    goto CONFIG_ERR
    )
    ) else if %SOC% == C6657 (
    if %PROCESSOR% == m4 (
    echo ERROR: The C6657 soc does not contain a M4 processor
    goto CONFIG_ERR
    )

    if %PROCESSOR% == arm (
    echo ERROR: The C6657 soc does not contain an arm processor
    goto CONFIG_ERR
    )
    ) else (
    echo ERROR: Invalid soc
    goto CONFIG_ERR
    )

    goto CONFIG_COMPLETE

    :CONFIG_ERR
    echo Exiting...
    echo =========================================================================
    goto ENDSCRIPT

    :CONFIG_COMPLETE
    echo Complete
    echo =========================================================================

    REM *****************************************************************************
    REM * Version Information of the various tools etc required to build the test
    REM * projects. Customers are free to modify these to meet their requirements.
    REM *****************************************************************************

    REM This is to control the CCS version specific project create command
    REM Set to 'no' when using CCSv5 and CCSv6 or set to 'yes' when using CCSv4
    set IS_CCS_VERSION_4=no

    REM Set to 'no' when using QT, EVM, VDB, or other hardware. Set to 'yes' only when using the simulator.
    set IS_SIMULATOR_SUPPORT_NEEDED=no

    REM Install Location for CCS
    set CCS_INSTALL_PATH="D:\ti\ccsv6"

    REM Workspace where the PDK projects will be created.
    set MY_WORKSPACE=%PDK_SHORT_NAME%\MyExampleProjects

    REM macros.ini location
    set MACROS_FILE=%PDK_SHORT_NAME%\macros.ini

    REM This is the format of the executable being created
    REM Valid Values are 'ELF' and 'COFF'
    set OUTPUT_FORMAT=ELF

    REM Version of CG-Tools
    set CGT_VERSION=8.1.1

    REM Version of CG-ARM-Tools for M4
    set CGT_M4_VERSION=15.12.1.LTS

    REM Version of XDC
    set XDC_VERSION=3.32.01.22

    REM Version of BIOS
    set BIOS_VERSION=6.46.01.38

    REM Version of CG-Tools for ARM
    set CGT_VERSION_ARM=GNU_4.9.3:Linaro

    REM Version of the IPC
    set IPC_VERSION=3.44.00.00

    REM EDMA3 Version
    set EDMA_VERSION=2.12.02.26

    REM Version of the PDK
    set PDK_VERSION=2.0.4

    REM Version of the NDK
    set NDK_VERSION=2.25.00.09

    REM Version of UIA
    set UIA_VERSION=2.00.06.52

    REM PDK Part Number & Platform name
    if %SOC% == K2K (
    set PDK_PARTNO=TCI6638
    set PDK_ECLIPSE_ID=com.ti.pdk.k2hk
    set RTSC_PLATFORM_NAME=ti.platforms.evmTCI6638K2K
    if %PROCESSOR% == arm (
    set RTSC_TARGET=gnu.targets.arm.A15F
    set CCS_DEVICE="Cortex A.TCI6638K2K"
    )
    ) else if %SOC% == K2H (
    set PDK_PARTNO=TCI6636
    set PDK_ECLIPSE_ID=com.ti.pdk.k2hk
    set RTSC_PLATFORM_NAME=ti.platforms.evmTCI6636K2H
    if %PROCESSOR% == arm (
    set RTSC_TARGET=gnu.targets.arm.A15F
    set CCS_DEVICE="Cortex A.66AK2H12"
    )
    ) else if %SOC% == K2L (
    set PDK_PARTNO=TCI6630
    set PDK_ECLIPSE_ID=com.ti.pdk.k2l
    set RTSC_PLATFORM_NAME=ti.platforms.evmTCI6630K2L
    if %PROCESSOR% == arm (
    set RTSC_TARGET=gnu.targets.arm.A15F
    set CCS_DEVICE="Cortex A.TCI6630K2L"
    )
    ) else if %SOC% == K2E (
    set PDK_PARTNO=66AK2E05
    set PDK_ECLIPSE_ID=com.ti.pdk.k2e
    set RTSC_PLATFORM_NAME=ti.platforms.evmC66AK2E
    if %PROCESSOR% == arm (
    set RTSC_TARGET=gnu.targets.arm.A15F
    set CCS_DEVICE="Cortex A.66AK2E05"
    )
    ) else if %SOC% == K2G (
    set PDK_PARTNO=66AK2G02
    set PDK_ECLIPSE_ID=com.ti.pdk.k2g
    set RTSC_PLATFORM_NAME=ti.platforms.evmTCI66AK2G02
    if %PROCESSOR% == arm (
    set RTSC_TARGET=gnu.targets.arm.A15F
    set CCS_DEVICE="Cortex A.66AK2G02"
    )
    ) else if %SOC% == AM571x (
    set PDK_PARTNO=AM571X
    set PDK_ECLIPSE_ID=com.ti.pdk.am57xx
    set RTSC_PLATFORM_NAME=ti.platforms.idkAM571X
    if %PROCESSOR% == arm (
    set RTSC_TARGET=gnu.targets.arm.A15F
    set CCS_DEVICE="Cortex A.AM5728_RevA"
    ) else if %PROCESSOR% == m4 (
    set RTSC_TARGET=ti.targets.arm.elf.M4
    set CCS_DEVICE="Cortex M.AM5728_RevA"
    )
    ) else if %SOC% == AM572x (
    set PDK_PARTNO=AM572X
    set PDK_ECLIPSE_ID=com.ti.pdk.am57xx
    if %BOARD% == idkAM572x (
    set RTSC_PLATFORM_NAME=ti.platforms.idkAM572X
    ) else (
    set RTSC_PLATFORM_NAME=ti.platforms.evmAM572X
    )
    if %PROCESSOR% == arm (
    set RTSC_TARGET=gnu.targets.arm.A15F
    set CCS_DEVICE="Cortex A.AM5728_RevA"
    ) else if %PROCESSOR% == m4 (
    set RTSC_TARGET=ti.targets.arm.elf.M4
    set CCS_DEVICE="Cortex M.AM5728_RevA"
    )
    ) else if %SOC% == AM335x (
    set PDK_PARTNO=AM335
    set PDK_ECLIPSE_ID=com.ti.pdk.am335x
    set RTSC_PLATFORM_NAME=ti.platforms.evmAM3359
    set RTSC_TARGET=gnu.targets.arm.A8F
    set CCS_DEVICE="Cortex A.AM3359.ICE_AM3359"
    ) else if %SOC% == AM437x (
    set PDK_PARTNO=AM437
    set PDK_ECLIPSE_ID=com.ti.pdk.am437x
    set RTSC_PLATFORM_NAME=ti.platforms.evmAM437X
    set RTSC_TARGET=gnu.targets.arm.A9F
    set CCS_DEVICE="Cortex A.AM4379.IDK_AM437X"
    ) else if %SOC% == C6678 (
    set PDK_PARTNO=C6678L
    set PDK_ECLIPSE_ID=com.ti.pdk.c667x
    set RTSC_PLATFORM_NAME=ti.platforms.evm6678
    ) else if %SOC% == C6657 (
    set PDK_PARTNO=C6657
    set PDK_ECLIPSE_ID=com.ti.pdk.c665x
    set RTSC_PLATFORM_NAME=ti.platforms.evm6657
    ) else (
    REM Need to exit the batch script cleanly
    set PDK_PARTNO=TCI6634
    set PDK_ECLIPSE_ID=ti.pdk
    set RTSC_PLATFORM_NAME=ti.platforms.simKepler
    )

    REM RTSC Target
    REM - Please ensure that you select this taking into account the
    REM OUTPUT_FORMAT and the RTSC_PLATFORM_NAME
    if %PROCESSOR% == dsp (
    if %ENDIAN% == big (
    set RTSC_TARGET=ti.targets.elf.C66_big_endian
    set CCS_DEVICE="com.ti.ccstudio.deviceModel.C6000.GenericC64xPlusDevice"
    ) else (
    set RTSC_TARGET=ti.targets.elf.C66
    set CCS_DEVICE="com.ti.ccstudio.deviceModel.C6000.GenericC64xPlusDevice"
    )
    )

    echo PDK_PARTNO : %PDK_PARTNO%
    echo PDK_ECLIPSE_ID : %PDK_ECLIPSE_ID%
    echo RTSC_PLATFORM_NAME : %RTSC_PLATFORM_NAME%
    echo. RTSC_TARGET : %RTSC_TARGET%
    echo. CCS_DEVICE : %CCS_DEVICE%
    REM *****************************************************************************
    REM *****************************************************************************
    REM Please do NOT change anything below this
    REM *****************************************************************************
    REM *****************************************************************************

    REM Set auto create command by default for use with CCSv5 and CCSv6
    set AUTO_CREATE_COMMAND=eclipse\eclipsec -noSplash

    REM If is CCS version 4 then set auto create command for use with CCSv4
    if .%IS_CCS_VERSION_4% == .yes set AUTO_CREATE_COMMAND=eclipse\jre\bin\java -jar %CCS_INSTALL_PATH%\eclipse\startup.jar

    REM Set project for Silicon or QT by default
    set SIMULATOR_SUPPORT_DEFINE=

    REM If simulator support is needed then set the define
    if .%IS_SIMULATOR_SUPPORT_NEEDED% == .yes set SIMULATOR_SUPPORT_DEFINE=-ccs.setCompilerOptions "--define SIMULATOR_SUPPORT"

    REM Goto the PDK Installation Path.

    pushd %PDK_SHORT_NAME%

    echo *****************************************************************************
    echo Detecting all projects in PDK and importing them in the workspace %MY_WORKSPACE%

    REM Set BOARD to equal the SOC if BOARD is set to "all". All projects for the
    REM SOC will be picked up
    if %BOARD% == all set BOARD=%SOC%
    REM Set MODULE to null string so it picks up all projects of PROCESSOR
    if %MODULE% == all set MODULE=""

    if %PROCESSOR% == dsp (
    REM Search for all the dsp test Project Files in the PDK.
    for /F %%I IN ('dir /b /s *%MODULE%*%BOARD%*c66*roject.txt') do (
    set project_detected = 1

    echo Detected Test Project: %%~nI

    REM Goto each directory where the test project file is located and create the projects.
    pushd %%~dI%%~pI

    REM Execute the command to create the project using the parameters specified above.
    %CCS_INSTALL_PATH%\%AUTO_CREATE_COMMAND% -data %MY_WORKSPACE% -application com.ti.ccstudio.apps.projectCreate -ccs.name %%~nI -ccs.outputFormat %OUTPUT_FORMAT% -ccs.device %CCS_DEVICE% -ccs.endianness %ENDIAN% -ccs.kind executable -ccs.cgtVersion %CGT_VERSION% -rtsc.xdcVersion %XDC_VERSION% -rtsc.enableDspBios -rtsc.biosVersion %BIOS_VERSION% -rtsc.buildProfile "debug" -rtsc.products "com.ti.sdo.edma3:%EDMA_VERSION%;com.ti.rtsc.IPC:%IPC_VERSION%;com.ti.rtsc.SYSBIOS:%BIOS_VERSION%;%PDK_ECLIPSE_ID%:%PDK_VERSION%;com.ti.rtsc.NDK:%NDK_VERSION%;com.ti.uia:%UIA_VERSION%" -rtsc.platform "%RTSC_PLATFORM_NAME%" -rtsc.target %RTSC_TARGET% -ccs.rts libc.a -ccs.args %%~nI%%~xI %SIMULATOR_SUPPORT_DEFINE% -ccs.overwrite full -ccs.setPostBuildStep "${TI_PDK_INSTALL_DIR}/packages/pdkAppImageCreate.bat ${TI_PDK_INSTALL_DIR}/packages ${CG_TOOL_ROOT} ${PROJECT_LOC}/${ConfigName} ${ProjName} %SOC% %PROCESSOR%"

    echo Copying macros.ini
    copy %MACROS_FILE% %MY_WORKSPACE%\%%~nI\macros.ini

    popd
    )
    )

    if %PROCESSOR% == arm (
    REM Search for all the arm test Project Files in the PDK.
    for /F %%I IN ('dir /b /s *%MODULE%*%BOARD%*arm*roject.txt') do (
    set project_detected = 1

    echo Detected Test Project: %%~nI

    REM Goto each directory where the test project file is located and create the projects.
    pushd %%~dI%%~pI

    REM Execute the command to create the project using the parameters specified above.
    %CCS_INSTALL_PATH%\%AUTO_CREATE_COMMAND% -data %MY_WORKSPACE% -application com.ti.ccstudio.apps.projectCreate -ccs.cmd "" -ccs.name %%~nI -ccs.outputFormat %OUTPUT_FORMAT% -ccs.setLinkerOptions "-L${BIOS_CG_ROOT}/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu" -ccs.device %CCS_DEVICE% -ccs.endianness %ENDIAN% -ccs.kind executable -ccs.cgtVersion "%CGT_VERSION_ARM%" -rtsc.xdcVersion %XDC_VERSION% -rtsc.enableDspBios -rtsc.biosVersion %BIOS_VERSION% -rtsc.buildProfile "debug" -rtsc.products "com.ti.sdo.edma3:%EDMA_VERSION%;com.ti.rtsc.SYSBIOS:%BIOS_VERSION%;%PDK_ECLIPSE_ID%:%PDK_VERSION%;com.ti.rtsc.NDK:%NDK_VERSION%" -rtsc.platform "%RTSC_PLATFORM_NAME%" -rtsc.target %RTSC_TARGET% -ccs.rts libc.a libgcc.a libuart.a libm.a libnosys.a -ccs.args %%~nI%%~xI %SIMULATOR_SUPPORT_DEFINE% -ccs.overwrite full -ccs.setPostBuildStep "${TI_PDK_INSTALL_DIR}/packages/pdkAppImageCreate.bat ${TI_PDK_INSTALL_DIR}/packages ${CG_TOOL_ROOT} ${PROJECT_LOC}/${ConfigName} ${ProjName} %SOC% %PROCESSOR%"

    echo Copying macro.ini
    copy %MACROS_FILE% %MY_WORKSPACE%\%%~nI\macros.ini

    popd
    )
    )

    if %PROCESSOR% == m4 (
    REM Search for all the m4 test Project Files in the PDK.
    for /F %%I IN ('dir /b /s *%MODULE%*%BOARD%*m4*roject.txt') do (
    set project_detected = 1

    echo Detected Test Project: %%~nI

    REM Goto each directory where the test project file is located and create the projects.
    pushd %%~dI%%~pI

    REM Execute the command to create the project using the parameters specified above.
    %CCS_INSTALL_PATH%\%AUTO_CREATE_COMMAND% -data %MY_WORKSPACE% -application com.ti.ccstudio.apps.projectCreate -ccs.cmd "" -ccs.name %%~nI -ccs.outputFormat %OUTPUT_FORMAT% -ccs.device %CCS_DEVICE% -ccs.endianness %ENDIAN% -ccs.kind executable -ccs.cgtVersion "%CGT_M4_VERSION%" -rtsc.xdcVersion %XDC_VERSION% -rtsc.enableDspBios -rtsc.biosVersion %BIOS_VERSION% -rtsc.buildProfile "debug" -rtsc.products "com.ti.sdo.edma3:%EDMA_VERSION%;com.ti.rtsc.SYSBIOS:%BIOS_VERSION%;%PDK_ECLIPSE_ID%:%PDK_VERSION%" -rtsc.platform "%RTSC_PLATFORM_NAME%" -rtsc.target %RTSC_TARGET% -ccs.rts libc.a libgcc.a libuart.a libm.a libnosys.a -ccs.args %%~nI%%~xI %SIMULATOR_SUPPORT_DEFINE% -ccs.overwrite full -ccs.setPostBuildStep "${TI_PDK_INSTALL_DIR}/packages/pdkAppImageCreate.bat ${TI_PDK_INSTALL_DIR}/packages ${CG_TOOL_ROOT} ${PROJECT_LOC}/${ConfigName} ${ProjName} %SOC% %PROCESSOR%"

    echo Copying macro.ini
    copy %MACROS_FILE% %MY_WORKSPACE%\%%~nI\macros.ini

    popd
    )
    )
    popd

    if not defined project_detected (
    echo No projects detected
    )

    echo Project generation complete
    echo *****************************************************************************

    :ENDSCRIPT
    修改完后,我双击运行,生成例程,然后impose例程,build时,报那样的错误!
  • 会不会是pdksetupenv.bat里的这地方修改的不对?
    if not defined PARTNO set PARTNO=C667x
    if not defined SOC_FAMILY set SOC_FAMILY=C667x

    @REM Platforms supported by the PDK
    if not defined LIMIT_SOCS set LIMIT_SOCS=C6678
    if not defined LIMIT_BOARDS set LIMIT_BOARDS=evmC6678
  • <Linking>

    'Finished building target: UART_BasicExample_C6678_c66xExampleProject.out'

    ' '

    这里表示.out文件已经生成,工程编译通过,

    D:/ti/pdk_c667x_2_0_4/packages/pdkAppImageCreate.bat D:/ti/pdk_c667x_2_0_4/packages D:/ti/ccsv6/tools/compiler/ti-cgt-c6000_8.1.1 E:/dsp_proj1/UART_BasicExample_C6678_c66xExampleProject/Debug UART_BasicExample_C6678_c66xExampleProject C6678 dsp

    这里执行pdkAppImageCreate.bat批处理文件是把.out文件转换成.bin文件,看一下您的工程属性中Post-build steps是否是下面的命令,我这边可以。

    ${TI_PDK_INSTALL_DIR}/packages/pdkAppImageCreate.bat ${TI_PDK_INSTALL_DIR}/packages ${CG_TOOL_ROOT} ${PROJECT_LOC}/${ConfigName} ${ProjName} C6678 dsp

  • 我修改了pdkAppImageCreate.bat后就没报错了,谢谢!问题解决了!