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.

[参考译文] Linux/AM3354:使用不同的交叉编译器构建 SDK

Guru**** 2542530 points
Other Parts Discussed in Thread: AM3354

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/604772/linux-am3354-building-sdk-with-a-different-cross-compiler

器件型号:AM3354

工具/软件:Linux

大家好:

      我刚刚在64位 Ubuntu 环境中成功构建了 TI 处理器 SDK 03.02.00.05用于 AM3354。

     由于公司原因...我现在需要在32位 debian 环境中使用不同的交叉编译器再次构建处理器 SDK。

    原始编译器是 linaro 5.3编译器。 (x64)

    现在、我必须从 Mentor Graphics 更改为 arm-none-linux-gnueabi-gcc-4.9.1 (x86)。

    所以。

    更改路径变量并尝试构建 SDK 时。 我遇到错误。

   下面是我的步骤:

(按常规安装所需的所有软件包。并且也更改了 dpkg-reconfigure 选项。)

cd tisdk/ build/
。 配置/设置
导出路径=/home/mgc/embedded/codebench/bin:$path
导出 MGLS_license_file=/home/mgc/license.lic
MACHINE=AM335x-EVM bitbake Arago-core-tisdk-image -c cleanall

   然后我得到:

错误:路径中没有有效的工具链
错误:无法解析 toolchain_path[:=]
回溯(最近一次调用最后一次):
 文件"toolchain_path[:=]"、第1行、位于
 文件"/media/hdd/yandong/arago/tisdk/sources/bitbake/lib/bb/__init__.py、第104行、致命:
        mainlogger.critical (''.join (args)、extra = kwargs)
   >   提升 BBHandledException ()
    
扩展错误:扩展变量 toolchain_path[:=]失败、表达式为${@m Ω bool (d.getVar ('toolchain_SYSPATH'、d、1))和(os.path.exists (d.getVar ('toolchain_SYSPATH'、d、 1)))和 os.path.dirname (d.getVar ('toolchain_SYSPATH'、d、1)或 bb.fatal ('路径中没有有效的工具链')或''}触发异常 BBHandledException:

错误:解析配置文件时出错
回溯(最近一次调用最后一次):
 CookerDataBuilder.parseBaseConfiguration()中的文件"/media/hdd/yandong/arago/tisdk/sources/bitbake/lib/bb/cookerdata.py 第258行:
            尝试:
   >           self.parseConfigurationFiles (self.prefiles、self.postfiles)
            除语法错误:
 文件"/media/hdd/yandong/arago/tisdk/sources/bitbake/lib/bb/cookerdata.py、第318行、位于 CookerDataBuilder.parseConfigurationFiles (prefiles=[]、postfiles=[]):
            #处理任何继承和继承基类的内容
   >       bbclasses =["base"+(data.getVar ('inherit'、True)或"").split()
            对于 bbclasses 中的 bbclass:
AttributeError:'NoneType'对象没有属性'getVar'

   我的问题是:

  如何修复我看到的此错误?

 是否可以更改交叉编译器本身? 如果我理解正确... SGX 图形加速器驱动程序模块的某些部分已经使用5.3编译器进行了预构建? 在这种情况下、这是否意味着如果我想使用 SGX 图形功能、我只能更改编译器?

感谢大家。 您总是非常乐于助人。

延东。

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

    延东

    我们会进行检查以确保您使用的是 Linaro 工具链、因为我们的所有测试和验证都是针对该工具链进行的。 在过去几年中、最近的 Linaro 工具链仅为64位。

    在构建 SDK 过程中、我们会执行许多特定于工具链的操作、包括将必要的交叉编译库构建到 Linux-Devkit 中并启用目标编译器。 这些操作可能会中断、并且很难在 Mentor 工具链上工作。

    如果您只需使用 Mentor 工具链重新构建应用程序、这将是推荐的路径。

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

    你(们)好、Ronb

      感谢您的回复和提供的信息。

      你能回答一个简短的问题吗?是的还是不是的?

      如果我只想使用 Mentor 编译器来编译:

      具有 SGX 图形支持的 rootfs。  此外 、我不需要目标编译器。

      基于 SDK 03.02.00.05

      
      我不需要构建 uboot。 或整个 SDK。我实际上需要的是具有 SGX 图形支持的最小 rootfs。

      我还尝试使用 Mentor 编译器从 SDK 构建4.4.32内核、似乎可以。

     这是可以做到的吗?

      如果是,我将继续向前推进。

     如果不是(尤其是因为在带有 linaro 工具链的 SGX 相关软件部件中有预构建的内容)。 我将停止尝试此操作。

    非常感谢

    延东

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

    尊敬的 RonB:

       您能帮助回答我之前的问题吗? 非常感谢您的帮助!!

    延东