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:AM335x 项目编译问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/670420/rtos-am335x-project-compilation-issue

工具/软件:TI-RTOS

您好!

我已成功测试 GPIO_LedBlink_skAM335x_armTestProject。 现在、我想在 c:\ti\BIOS_6_52_00_12\packages/GNU\targets\arm\rtsv7a\startup.c 中添加一些修改

我已进行修改,并尝试重新编译 PDK (通过使用  )

我错过了"gmake clean "和示例生成的唯一区别。 我还在 CCS 中重新编译了我的项目。

问题:在重新编译后、二进制文件中没有任何更改、并且只有"*。a"文件在 PDK 中发生更改、因此可能无法编译 startup.c。

问题可能出在哪呢?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Attila、

    是的、请先尝试$gmake clean、如果有问题、请报告。

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

    但我不想执行耗时的冗长编译过程。

    我假设我必须编译 GNU.targets.arm.rtsv7a.aa8fg。 其日期为2017年7月27日、因此不会在 PDK 编译过程中编译。

    该示例是一个 TI 示例。

    从 linker.cmd:

       "C:\ti\BIOS_6_52_00_12\packages/GNU\Targets\arm\rtsv7a\lib\GNU.targets.arm.rtsv7a.aa8fg"

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

    首先、我假设您知道如何重建 SYS/BIOS (在 SYS/BIOS 用户指南中进行了说明)。 为了最大限度地缩短构建时间、您可以编辑产品根目录中的 BIOS.mak 文件并删除您不感兴趣的 XDCARGS 目标。 这将大大减少重建时间。

    Todd
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    问题 GNG.targets.arm.rtsv7a.aa8fg 在构建过程中保持不变,我想修改 startup.c。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Attila、
    执行'gmake -f BIOS.mak '后是否可以发布完整输出? 通常、gmake 不会错过源文件已更改以及库需要重建的情况、但我希望看到输出以检查是否有异常。

    重建过程可能需要15-20分钟、输出很长、因此只需压缩输出并将其连接到您的帖子。

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

    我的问题与此类似(由于 startup.c 而成为建筑物的一部分)

    e2e.ti.com/.../280764

    我在'c:\ti\BIOS_6_52_00_12\packages/GNU\Targets\arm\rtsv7A\'中尝试了'XDC Clean;XDC'、但我收到了以下消息

    C:\ti\BIOS_6_52_00_12\packages/GNU\Targets\arm\rtsv7a>XDC
    making package.mak (由于 package.bld)...
    
    `:"c:/ti/xdctools_3_50_03_33_core/packages/xdc/bld/BuildEnvironment.xs、第243行:xdc.services.global.XDCException: xdc.bld.rootdir_not _set:尚未为目标 ti.target.arm.elf.arm9设置'rootdir';在 C:/ti/edma3_lld_2_12_05_30B/packages/config.bld xdctools_3_50_03_33_core\gmake.exe 中定义'rootdir'、xdctools_3_50_03_33_core\gmake.exe:***没有规则使目标`需要的 rootdir.mak 文件包。 停下。 

    如何解决这个问题...

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

    Attila、
    尝试从 SYS/BIOS 安装的顶部进行构建、正如在附录 Rebuilding SYS/BIOS 中的 SYS/BIOS User Guide 中描述的那样。 它需要更长的时间、但会自动处理所有依赖项、包括导致错误的编译器路径。

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

    我正在尝试使用 SYS/BIOS 用户指南(附录 Rebuilding SYS/BIOS)来重建 SYS/BIOS。 我在调用'gmake -f BIOS.mak '时收到以下消息(我在'gmake -f BIOS.mak cleal'之前调用过)。 我已附加修改的 BIOS.mak (从 BIOS.doc 重命名它、论坛引擎不允许上传 mak 文件)e2e.ti.com/.../bios.doc

    JS:"c:/ti/copy_bios_6_52_00_12/packages/ti/targets/arm/elf/IArm.xs、第79行:错误:在 c:/ti/ccsv7/tools/compiler/gcc-arm-none-eabi-6-2017-q1-update.中找不到编译器 请检查编译器路径。
    gmake[1]:***删除文件`package.mak
    ' making package.mak (由于 package.bld)...
    JS:"c:/ti/copy_bios_6_52_00_12/packages/ti/targets/arm/elf/IArm.xs、第79行:错误:在 c:/ti/ccsv7/tools/compiler/gcc-arm-none-eabi-6-2017-q1-update.中找不到编译器 请检查编译器路径。
    gmake[1]:`
    `删除文件` package.mak 的 gmake[1]:***没有规则使 package.mak 成为 .interfaces'所需的目标文件。 停下。
    xdctools_3_50_03_33_core\gmake.exe:***[packages/ti/sysbios、.interfaces]错误2
    gmake:***[全部]错误2 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    那么、您是否检查了该路径? 是否有 GCC 编译器?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、编译器就在这里。
    我已经检查了 C:/ti/copy_bios_6_52_00_12/packages/ti/targets/arm/elf/IArm.xs 文件、但它似乎不接受 ARM-none-eabi 编译器(默认为 CCSv7)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我刚刚检查了您的 BIOS.mak。 您提供的是 GCC 编译器、其中应提供 TI 编译器的路径。 您要使用以下哪一项?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想使用 gcc 编译器(arm-none-eabi)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    然后、您需要根据器件和平台将编译器路径分配给其中一个 GNU.targets。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我想我已经分配了

    (来自 my BIOS.mak)
    GNU.targets.arm.A8F ?= c:/ti/ccsv7/tools/compiler/gcc-arm-none-eabi-6-2017-q1-update
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到、我只注意到分配给 TI 目标。 您必须将分配给 TI 目标、这就是错误的来源。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这意味着我只能构建 GNU 目标? 这些是 SYS/BIOS 的一小部分。 此外、PDK 编译(也编译 SYS/BIOS)使用 GNU 编译器。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以为任意数量的目标重新编译 SYS/BIOS、但对于 TI 目标、您必须使用 TI 编译器、对于 GNU 目标 GNU 编译器。