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.

[参考译文] RTOS/F28M36P63C2:重建驱动程序包时失败。

Guru**** 2595805 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579753/rtos-f28m36p63c2-make-failure-rebuilding-drivers-package

器件型号:F28M36P63C2

工具/软件:TI-RTOS

我正在使用 TI-RTOS 2.16.01.14、并尝试将 Mware driverlib 从版本2.02a 更新到 Mware 2.09或2.10。 按照用户手册背面的说明、我调整了 tirtos.mak 以指向新版本、并使用 xdctools 清理所有内容、但无法构建驱动程序。

所有文件均已完成:2017年3月8日09:13:01 PST。
gmake[1]:离开目录`c:/ti/tirtos_c2000_2_16_01_14/products/tidrivers_c2000_2_16_01_13
正在构建 tirtos 软件包...
全部:2017年3月8日星期三09:13:02 PST ...
=========== 接口[./packages/examples ===
正在制作 package.mak (由于 package.bld)...
为软件包示例生成接口(因为 package/package.xdc.inc 比 package.XDC 旧)...
转换 TrexExamples
=========== 接口[./packages/examples/examplesgen ===
正在制作 package.mak (由于 package.bld)...
为软件包 examples.examplesgen 生成接口(因为 package/package.xdc.inc 比 package.XDC 旧)...
翻译主页
=========== 接口[./packages/ti/drivers ===
正在制作 package.mak (由于 package.bld)...
JS:"../package.bld"、第38行:错误:utils.loadCapsule:无法在路径'C:\ti\tirtos_c2000_2_16_01_14\packages/ti\drivers/;c:/ti/tirtos_c2000_2_16_01_14/packages /ti/tirtos_c2000_2_16_01_14/products/ndk_2_25_00_09/packages;c:/ti/tirtos_c2000_2_16_01_14/products/tidrivers_c2000_2_16_01_13/packages /ti/tirtos_c2000_2_16_01_14/products/uia_2_00_05_50/packages;c:/ti/tirtos_c2000_2_16_01_14/products/bios_6_45_02_31/packages;c:c:/ti/xdctools_3_32_01_22_core/packages;c:。
gmake[1]:***删除文件`package.mak
gmake[1]:`没有规则使目标`package.mak '成为.interfaces'所需的目标。 停下。
xdctools_3_32_01_22_core\gmake.exe:***[packages/ti/drivers、.interfaces]错误2.
gmake:***[PRODUCT]错误2.

我可能错了、但我对上面以红色突出显示的路径感到怀疑。  我认为、它在构建过程中的某个位置挑选一个环境变量、并使用'\'而不是'/'的路径、其中所有其他内容都是'/'、我无法跟踪它的来源以进行确认。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您应该在 tirtos.mak 中使用正斜杠。 尝试将所有反斜杠'\'替换为正斜杠'/'。

    Alan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的 tirtos.mak 文件中没有任何"\"(见下文)。 这就是为什么我怀疑在构建过程中、它会拉入一个环境变量并挑选初始"C:\ti_tirtos..."。 我无法弄清它从哪里获取它。

    编号
    #=========== tirtos.mak ===
    编号

    编号
    #设置各种 cgtools 的位置
    编号
    #这些变量可以在此处或命令行上设置。 路径一定不能
    #有空格。 如果使用的是 Windows PC、则可以使用以下方法来确定
    # A 目录的 DOS 路径(不带空格的路径):
    编号
    第1个。 打开命令提示符。
    第2步。 导航(CD)到目录。
    第2步。 输入以下命令:
    编号 >表示%i in (".") 回波%~Si
    编号
    #上述步骤应提供与以下内容类似的路径:
    编号 原始路径:C:\Program Files (x86)\IAR Systems\Embedded Workbench 7.2
    编号 DOS 路径: C:\PROGRA~2\IARSYS~1\EMBEDD~1.2
    编号
    #最后一步是将路径中的所有反斜杠"\"替换为正向
    #斜线"/"。
    编号 正确路径:C:/PROGRA~2/IARSYS~1/EMBEDD~1.2
    编号
    DEFAULT_INSTALL_DIR ?= c:/ti
    CCS_Compilers_DIR ?=$(default_install_DIR)/ccsv7/tools/compiler

    编号
    #使 TI-RTOS 能够为 CCS 编译。
    #将 CCS_Build 设置为 true 并修改工具链的路径
    编号
    ccs_build ?= true
    TI_INSTALL_DIR ?=$(CCS_Compilers_DIR)
    TI.targets.C28_float ?=$(TI_INSTALL_DIR)/ti-CGT-C2000_16.12.0.STS
    TI.targets.C28_large ?=$(TI_INSTALL_DIR)/ti-CGT-C2000_16.12.0.STS
    TI.targets.arm.elf.M3 ?=$(TI_INSTALL_DIR)/ti-CGT-ARM_16.12.0.STS

    编号
    # TI-RTOS 和 XDCTools 设置
    编号
    XDCTOOLS_INSTALL_DIR ?=$(default_install_DIR)/xdctools_3_32_01_22_core
    导出 XDCTOOLS_JAVA_HOME ?=$(DEFAULT_INSTALL_DIR)/ccsv7/eclipse/JRE

    TIRTOS_INSTALL_VER ?= tirtos_c2000_2_16_01_14
    TIRTOS_INSTALL_DIR ?=$(default_install_DIR)/$(TIRTOS_install_VER)
    TIDRIVERS_INSTALL_DIR ?=$(TIRTOS_INSTALL_DIR)/products/tidrivers_c2000_2_16_01_13
    BIOS_install_DIR ?=$(TIRTOS_INSTALL_DIR)/products/bios_6_45_02_31
    NDK_INSTALL_DIR ?=$(TIRTOS_INSTALL_DIR)/products/ndk_2_25_00_09
    UIA_INSTALL_DIR ?=$(TIRTOS_INSTALL_DIR)/products/uia_2_00_05_50
    Mware_install_DIR ?=$(TIRTOS_INSTALL_DIR)/products/MWare_v210

    TIRTOS_packages_DIR ?=$(TIRTOS_INSTALL_DIR)/软件包
    TIDRIVERS_packages/DIR ?=$(TIDRIVERS_INSTALL_DIR)/ packages
    BIOS_packages/DIR ?=$(BIOS_INSTALL_DIR)/软件包
    NDK_PAKCAGES_DIR ?=$(NDK_INSTALL_DIR)/软件包
    UIA_packages/DIR ?=$(UIA_INSTALL_DIR)/软件包

    #将此变量设置为1会导致仅构建 NDK 基本堆栈库
    BUILDMINSTACK_CONFIG:= BUILDMINSTACK=1

    编号
    #将 XDCARGS 设置为上面的一些变量。 XDCARGS 通过
    XDC 构建引擎#... 它将加载 tirtos.bld...、它将会加载
    #提取这些变量并使用它们来确定要构建的变量和构建的变量
    要使用的工具链#。
    编号
    #请注意、并非所有这些变量都需要设置为有效的值。
    #不幸的是、由于这些变量是无条件分配的、因此您的构建行
    #将比必要的时间更长、噪声更大(例如、它将包含 CC_V5T
    #分配、即使您只是为 C64P 构建)。
    编号
    #下面是一些背景信息:
    编号 rtsc.eclipse.org/.../Command_-_xdc
    编号
    XDCARGs=\
    配置文件=调试\
    XDCTOOLS=$(XDCTOOLS_INSTALL_DIR)\
    TIRTOS =$(TIRTOS_INSTALL_DIR)\
    TIDRIVERS=$(TIDRIVERS_INSTALL_DIR)\
    BIOS=$(BIOS_INSTALL_DIR)\
    NDK=$(NDK_INSTALL_DIR)\
    UIA=$(UIA_INSTALL_DIR)\
    Mware=$(Mware_install_DIR)

    ifeq ("$(CCS_Build)"、"true")
    XDCARGS +=\
    TI.targets.C28_float=$(ti.targets.C28_float)\
    TI.targets.C28_large =$(ti.targets.C28_large)\
    TI.targets.arm.elf.m3=$(ti.targets.arm.elf.M3)
    字节序
    导出 XDCARGS

    编号
    #将 XDCPATH 设置为包含必要的存储库。
    编号
    XDCPATH =$(TIRTOS_packages/DIR);$(TIDRIVERS_packages_DIR);$(BIOS_packages_DIR);$(NDK_PAKCAGES_DIR);$(UIA_packages_DIR);
    导出 XDCPATH

    编号
    #设置 XDCOPTIONS。 使用-v 进行详细编译。
    编号
    #XDCOPTIONS=v
    导出 XDCOPTIONS

    编号
    #设置 XDC 可执行命令
    #请注意、XDCBUILDCFG 指向使用的 tirtos.bld 文件
    # XDCARGS 指定的参数
    编号
    XDC =$(XDCTOOLS_INSTALL_DIR)/XDC XDCARGs="$(XDCCARGS)" XDCBUILDCFG=./tirtos.bld
    XS =$(XDCTOOLS_INSTALL_DIR)/xs

    ######################################
    ##不必修改此行##下面的任何内容
    ######################################

    帮助:
    @用于在 TI-RTOS 内构建组件的 echo Makefile 文件
    @回波目标 说明
    @回声-------------------------------------------------------
    @回声全部 构建 SYS/BIOS、NDK、UIA 和 TI-RTOS 驱动程序
    @回波驱动器 在/packages 中构建 TI-RTOS 驱动程序和其他组件
    @回显 BIOS 构建 SYS/BIOS
    @回波 NDK 构建 NDK
    @回波 UIA 构建 UIA
    @回波干净 清除 SYS/BIOS、NDK、UIA 和 TI-RTOS 驱动程序
    μ@回波清洁驱动器 清除/packages 中的 TI-RTOS 驱动程序和其他组件
    @ echo clean-BIOS 清除 SYS/BIOS
    @μ s 回波清洁 NDK 清除 NDK
    @回波清洁 UIA 清除 UIA
    @回波示例生成 生成 TI-RTOS 示例和 makefile
    @回波帮助 显示此说明

    所有:BIOS NDK UIA 驱动程序产品

    清理:clean-NDK clean-UIA clean-drivers clean-BIOS clean-product

    产品:
    @ echo building tirtos 软件包...
    @$(XDC)-PR ./packages

    清洁产品:
    @回声清洁 tirtos 封装...
    @$(XDC) Clean -PR ./packages

    驱动程序:
    @ echo building tirtos drivers...
    @$(XDCTOOLS_INSTALL_DIR)/gmake -f $(TIDRIVERS_INSTALL_DIR)/drivers.mak \
    XDC_INSTALL_DIR=$(XDCTOOLS_INSTALL_DIR)\
    BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR)\
    NDK_INSTALL_DIR=$(NDK_INSTALL_DIR)\
    $(XDCARGS)-C $(TIDRIVERS_INSTALL_DIR)

    清理驱动器:
    @回波清洁 tirtos 驱动器...
    @$(XDCTOOLS_INSTALL_DIR)/gmake -f $(TIDRIVERS_INSTALL_DIR)/drivers.mak \
    XDC_INSTALL_DIR=$(XDCTOOLS_INSTALL_DIR)\
    BIOS_INSTALL_DIR=$(BIOS_INSTALL_DIR)\
    NDK_INSTALL_DIR=$(NDK_INSTALL_DIR)\
    $(XDCARGS)-C $(TIDRIVERS_INSTALL_DIR) CLEAN
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Alan、

    您是否对重建可能失败的原因有任何其他想法?

    一个问题是 TI 内部是否在 Linux 或 Windows 上维护核心 TI-RTOS 软件包?  (如果我将我们的核心平台切换到 Linux、那么我是否更有可能重建工具套件、以便能够跟上最新版本的发展?)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们在 Linux 下构建所有产品。
    在切换到其他 Mware 之前、您是否能够重建 TI-RTOS?
    我只是尝试在我的 PC 上本地尝试解决该问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我为 C2000下载并安装了 TI-RTOS 2.16.01.14。
    我编辑了 tirtos.mak 文件中的行、如下所示、以指向我的编译器工具:

    CCS_Compilers_DIR ?=$(default_install_DIR)/ccs620ga/ccsv6/tools/compiler
    TI.targets.C28_float ?=$(TI_INSTALL_DIR)/C2000_15.12.3.LTS
    TI.targets.C28_large ?=$(TI_INSTALL_DIR)/C2000_15.12.3.LTS
    TI.targets.arm.elf.M3 ?=$(TI_INSTALL_DIR)/ti-CGT-ARM_5.2.5

    然后、我打开一个 DOS 窗口并将 CD 转至 C:\ti\tirtos_c2000_2_16_01_14、然后键入:

    C:\ti\xdctools_3_32_00_06_core\gmake -f tirtos.mak all

    构建过程大约需要20分钟、但进展顺利。 我没有尝试安装和使用其他版本的 Mware。

    如果您无法使用上述步骤重建未掺杂的 TI-RTOS 产品(允许使用不同的编译器工具路径)、则我怀疑您可能遇到不兼容的 shell 问题。 在 Windows 下安装第三方 UNIX 工具之前、这种情况已经出现很多。 gmake 调用的 shell 必须以某种方式运行、否则会出现问题。

    Alan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我首先尝试重建未更改的 ti-RTOS、但没记得看到错误、但更加关注正在重建的 driverlib、以便可以链接到它。  我认为您的第二个帖子可能已解决问题。  计算机上安装了 Cygwin。  我将删除它、然后重新完全下载所有内容并尝试重建。 (我正在使用 ccs7中的编译器、但从您的帖子中、我假设如果不使用、我将安装您的版本、这将对我有效)。

    希望这将能够重新 尝试重建新版本的 Mware_2.10。  相关文档有点少、但我需要定义 USE_RTOS、然后从 driverlib/ccs/目录中添加文件 c2000_rtos.c 和 c2000_rtos.h 文件。  我缺少什么吗?

    谢谢、

    -Gary

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mware 似乎随附了预构建的库、因此我认为您无需重新构建它们。 只需调整项目的包含路径以指向新的 Mware 目录、并确保链接到新库。 如果任何 driverlib API 发生了更改、导致 ti.drivers 源出现编译错误、则必须相应地更改驱动程序源并重新编译 tirtos。

    Alan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于原始海报中没有活动、我将关闭此项。

    Todd