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/CCStudio-Sitara:支持"long long"

Guru**** 2552610 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/652925/rtos-ccstudio-sitara-support-for-long-long

器件型号:CCSTUDIO-Sitara

工具/软件:TI-RTOS

你好!


我们将从 CCS 6.2迁移到附带 CCS 7.4的版本、包括最新的 XDC/SYSBIOS 组件。
为了获得新的编译设置、我需要使用 newlib-nano、因此避免出现中涉及的链接器错误
SysBIOS 中的 ResentSupport_getReent()函数。

我已经阅读了大多数有关迁移的文章、但我一直很难理解。 主要问题是我们需要"超长整型" 和"浮点型"支持。
通过在链接器 MiSC 标志中指定"-u _printf_float"、我可以使用浮点。

我还尝试使用 newlib 进行链接/编译、而不是 newlib-nano、但无法使其正常工作。

是否有人可以给我一些建议、告诉我如何继续。

[编辑]

链接器错误:

C:\gitnew\GSE2\application\src\SysBIOS\SysBIOS.aa15fg (GNU_ReentSupport.o):在函数中`ti_SysBIOS_rts_GNU_ReentSupport_getReent (int0_t)':

C:/ti/bios_6_52_00_12/packages/ti/sysbios/rts/gnu/ReentSupport.c:173:未`对"_SF_FASH_STDIN"的引用

C:/ti/bios_6_52_00_12/packages/ti/sysbios/rts/gnu/ReentSupport.c:173:未`对"_SF_FASH_STDOUT"的引用

C:/ti/bios_6_52_00_12/packages/ti/sysbios/rts/gnu/ReentSupport.c:173:未`对"_SF_FASH_STDERR"的引用

C:/ti/bios_6_52_00_12/packages/ti/sysbios/rts/gnu/ReentSupport.c:173:未`对"_SF_FASH_STDIN"的引用

C:/ti/bios_6_52_00_12/packages/ti/sysbios/rts/gnu/ReentSupport.c:173:未`对"_SF_FASH_STDOUT"的引用

C:/ti/bios_6_52_00_12/packages/ti/sysbios/rts/gnu/ReentSupport.c:173:未`对"_SF_FASH_STDERR"的引用

BR:PER - Anders

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

    您是否见过此主题: e2e.ti.com/.../450479

    此外、本页还提供了一些可能有所帮助的材料: processors.wiki.ti.com/.../BIOS_with_GCC_(CortexA)

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

    你(们)好!  

    感谢您的快速回复。 是的、我已经读取了它们、但我仍然无法确定如何将 CCS Studio 配置为使用"newlib"而不是"newlib-nano "。

    您是否具有我可以下载并重新编译具有 Longlong 支持的 newlib-nano 的位置? 我看到有一个定义。

    我必须做一些工作来使 float 和 long 都能与 printf 函数一起使用、使用/添加了支持该函数的另一个 printf

    并将名称替换为我自己的名称。

    但仍然是我的问题。 如何设置/配置 CCS Studio、以便我可以同时使用"newlib"和"nosy"。  

    BR 和新年快乐!

    PS:如果您需要我的设置、我可以提供它。

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

    您好 、per-Anders Strand、

    已修改 SYS/BIOS 重入支持(ti.sysbios.rts.gnu.ResentSupport)以使用 newlib-nano、并且不能使用 newlib。 newlib 和 newlib-nano 的可重入结构大小不同。 此外、一些可重入性结构初始化宏也不同。

    我认为重建启用了"long long"的 newlib-nano 是一个不错的选择。 您可以从 ARM Linaro 下载源代码。 源包包含用于重建整个工具链的脚本。 为了加快开发速度、您可以注释掉除 newlib-nano 版本之外的所有内容。 您还可以添加/删除配置选项以自定义编译。

    可在此处找到最新 GCC 裸机工具的下载链接:

    https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads

    转至该页面和正确的工具版本后、您需要下载标记为"Source Inviser"的软件包。

    最棒的

    Ashish

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

    你好!

    感谢您的意见。 我会"尝试"在通信日重新编译 newlib-nano。 祝我好运。 :-)

    巴西(BR):

    每安德斯

    PS:您是否考虑提供具有64位支持的 newlib-nano、或者可能提供两个不同的 libs? 我认为对于"Am57xx"处理器、内存不是问题、同时也使用了64位值。

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

    祝您好运! :)以前多次从源代码构建 newlib 和 newlib-nano,我可以说,由于生成脚本随源代码一起提供,因此该过程非常简单。 唯一的缺点是编译需要一段时间才能完成。

    >> 您是否考虑为 newlib-nano 提供64位支持、或者可能提供两个不同的库? 我认为对于"Am57xx"处理器、内存不是问题、同时也使用了64位值。

    我们的目标是使所有配置选项与用于构建 GCC 工具附带的 newlib 库的选项保持一致。 我们仅重建库以启用动态可重入性支持。

    最棒的

    Ashish