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.

[参考译文] 编译器/TMS320F2.8335万:初始化代码序列是否会影响CPU?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/575265/compiler-tms320f28335-can-the-initialization-code-sequence-affect-the-cpu

部件号:TMS320F2.8335万

工具/软件:TI C/C++编译器

你(们)好

我正在 使用2.8335万开发ECU。

最近,出现了一种现象,ECU在输入代码后就死了,所以我破坏了四个ECU…

在搜索原因时 ,我发现新添加的CAN通信邮箱初始化代码的顺序相互交织。

邮箱初始化代码(ID,方向等...)在初始化功能的底部单独声明,而不是先前设置的顺序。

所以我修改了在底部声明的初始化代码,以匹配其他现有邮箱的声明顺序,因此ECU死板现象消失了。

初始化代码序列是否会导致ECU内部出现严重问题?

所附图片是新添加的邮箱的初始化代码和解决问题之前的现有初始化代码。

当我把彼此分离的东西结合起来,这个问题就解决了。

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

    我想将此源代码构建到程序集,然后检查该程序集是否存在可能的问题。  请 预处理 包含这些行的文件,然后将其附加到下一篇文章。  显示编译器版本。  并按照编译器看到的方式准确显示所有生成选项。

    谢谢,此致,

    -George

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

    由于声明了另一个头文件,因此修改了某些变量。

    此代码的问题部分是mailbox 0,1

    Filer版本是CCS 6.1 & TI v 6.4 Tm2

    谢谢你

    e2e.ti.com/.../DSP2833x_5F00_ECan.c

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

    很遗憾,我无法生成您发送的文件。  它包括我没有的头文件。  这些头文件可能还包括其他头文件。  预处理可避免该问题。  请 预处理 文件并附加该文件。  

    请不要忘记按照编译器看到的方式显示所有生成选项。

    谢谢,此致,

    -George

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

    抱歉。 我为版本6.1 附加了CCS项目.........0

    问题区域在  'D 2833x_eCAN.c'源代码中被标记为“/*初始化应用程序特定参数- ProblemArea */”

    事实上,我并不真正理解您提到的构建选项,因此我附上了许多图片。

       e2e.ti.com/.../CAN_5F00_TEST.zip

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

    感谢您发送测试案例。  我以为编译器可能在更改某些赋值语句对这些邮箱字段的顺序。  仔细检查表明情况并非如此。  我非常怀疑编译器与您的问题有任何关系。

    KyungMook Lim93 说:
    搜索原因时 ,我发现新添加的CAN通信邮箱初始化代码的顺序相互交织。[/QUOT]

    我想您的意思是代码,正如最初所写的那样,以一种有问题的方式来安排转让。  我缺乏专业知识来帮助您解决这一问题。  我会引起一些C2000软件专家的注意。

    谢谢,此致,

    -George  

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

    对于CAN,只能使用32位访问来读取和写入寄存器。
    请参阅 http://www.ti.com/lit/sprueu1中的1.3 .2.1 部分

    此致
    Chris