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.

[参考译文] TMS320F28379D:启动代码与放大器;DO-178

Guru**** 2551110 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1332683/tms320f28379d-startup-code-do-178

器件型号:TMS320F28379D
主题中讨论的其他器件:C2000WARE

您好!

我目前正在研究启动代码的工作方式、从认证的角度来看、我心里有一个问题。

很少有人说过在"main"函数之前会发生什么、只对编写的代码进行聚焦、但启动代码又如何呢? 您是编写自己的代码来替换 c_int00、以便进行测试、还是使用默认库?

这个库被忽略了吗、或者应该被检查吗?

我对 DO-178不太了解,我也在努力学习更多内容,但这么多人似乎在使用默认的库,所以可能需要(或不需要)大量的逆向工程?

您的观点/经验是什么?

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

    您好!

    很少有人说过在"main"函数之前会发生什么、只对编写的代码进行聚焦、但启动代码又如何呢? 您是编写自己的代码来替换 c_int00、以便进行测试、还是使用默认库?

    这个库被忽略了吗、或者应该被检查吗?

    [/报价]

    对不起、我不确定我是否理解您在这里问的问题。 您是否参考了器件的启动代码? 这里引用的是什么库?

    我对 DO-178不太了解,我也在努力学习更多内容,但这么多人似乎在使用默认的库,所以可能需要(或不需要)大量的逆向工程?

    您的观点/经验是什么?

    [/报价]

    据我所知、没有任何专家了解这一特定认证。

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

    您好!
    是的、 按照  C2000数据表中所描述的启动。 我指的是通常在带有 CCS 的新项目中默认使用的 lib (在本例中为 rts2800_fpu32_eabi.lib)

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

    您好!

    启动代码不可配置、它位于 ROM 中。 我不熟悉如何在启动序列和实际被执行的主命令之间"插入"可执行代码。

    该 库与启动代码无关、这只是一个用于基本配置的库。 C2000外设配置/设置所依赖的主库是 C2000Ware 中的 driverlib。 您所指的库更像是一个数学库、如果您不想使用它、那么您可以依赖编译器的内在函数。 该库确实利用了 FPU、这是大多数 C28器件上的硬件加速器、因此、虽然我不知道它是否遵循您的目标特定认证、但可能会很有用。

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

    我认为我们谈论的不是同一件事。

    我将讨论"C28xx"的初始引导例程、因此使用了名为"C Runtime"的代码。

    我的第一篇文章中给出的"c_int00"函数、例如、该函数初始化堆栈、BSS 和数据段。

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

    我通过在 F28004x 上加载项目进行了研究;当器件启动时、它 立即跳转到引导 代码并执行它。

    _c_int00是启动代码的一部分:

    我想您可以尝试创建自己的库来修改启动代码、并且您可以参考这些文件来了解具体操作方法。 我 不会推荐它、 但它肯定是可能的。 至于你如何去做这件事,我不确定。 我也不确定其他专家是否会详细介绍启动专有内核。

    如果您想验证这些认证是否符合您的目标认证、可以在此处公开找到它们:

    C2000Ware_5_01_00_00\device_support\ \common\source

    ccs1260\ccs\tools\compiler\ti-CGT-C2000_22.6.1.LTS src

    这些正是我通过 调试器件并在 CPU 复位后逐步执行最初步骤所发现的。