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.

[参考译文] RM57L843:用于 ARM V6编译器的 Halcogen

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/596516/rm57l843-halcogen-for-the-arm-v6-compiler

器件型号:RM57L843
主题中讨论的其他器件:HALCOGEN

如何让 Halcogen 为 ARM V6编译器构建 RM57项目?

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

    HalCoGen 目前仅支持 TI、IAR、GHS 和 GCC 编译器。 对另一个编译器的任何调整都必须手动完成。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于此编译器开始流行、因此最好对其进行更新以使用 ARM V6 (armclang)。 尽管如此,Halcogen 对 GCC 来说并不是特别好。 例如、未经一些更改、它为 RM57生成的代码将无法正常工作!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Rik、

    Green Hills (GHS)归 ARM 所有、尽管我不知道他们使用的编译器版本。 我倾向于相信这将是 ARM 编译器、因为它已成为 ARM 产品的主要 IDE。 我没有 Green Hills 工具集、因此无法立即进行检查。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    卡盘、

    我认为 Green Hills 不属于 ARM。 我找不到这方面的任何参考。 我很确定他们是一家独立的公司。

    Rik

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

    您好 Rik、

    您答对了。 我被误导了。

    下面是我们的 ARM 支持联系人关于在 RC6编译器中使用 Halcogen 的声明/帮助。

    "尽管如此、我们的 ARM 编译器6 (AC6)对 GCC 非常友好。 如果开发人员从 Halcogen 生成的代码的 GCC 端口开始、则使用我们的 AC6编译工具进行编译所需的移植工作极少(如果有)。"

    简而言之、如果您在 Halcogen 中选择 GCC 选项、代码应轻松移植到 AC6。

    我希望这对您有所帮助。

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

    卡盘、

    是的、它非常适合 GCC、我成功地移植了大部分的 HalCoGen 代码、没有遇到任何困难。 我确实对汇编进行了一些更改、以便它使用 armclang 进行编译(尽管我本来可以使用 armasm)。

    我遇到的唯一(但重要)问题是低级 C 初始化代码(变量初始化、零初始化等) HalCoGen 代码是 GCC 链接器使用.ld 文件生成的预期符号、但 armclang 使用散射文件并希望调用__main 来执行初始化。 我更改了 HalCoGen 代码以调用__main 并删除了它生成的变量初始化,但是这对我来说不是正确的。 我们在整个 RAM 中使用大量需要初始化的数据段(当我们使用 MPU 时)。

    我认为调用_main 是正确的做法吗? 可能我没有为 HalCoGen 项目正确配置散点文件。  

    有趣的是、我在任何地方都找不到使用 ARM V6编译器(Keil 或 DS5未提供任何示例)的 ARM Cortex-R 示例。

    Rik