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.

[参考译文] LAUNCHXL-F28379D:添加 CAN 外设时无法进入独立模式

Guru**** 2463330 points
Other Parts Discussed in Thread: SYSCONFIG, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1394036/launchxl-f28379d-standalone-mode-impossible-when-adding-a-can-peripheral

器件型号:LAUNCHXL-F28379D
主题中讨论的其他器件:SysConfigC2000WARE

工具与软件:

您好!

我今天真的需要帮助(这并不意味着我的其他线程不重要;))

我开发了一个使用2个 CAN 外设的应用。 我从 TI 示例"LED 闪烁"开始、

我确认了可以在 仿真模式或独立模式下运行 C2000。

一切都很好,但有一天我检查了独立模式,它不再工作。 因此、在该线程中、我抑制了专用于我的应用程序的代码、使其恢复到 LED 闪烁状态。

请看一下我联合的2个项目:

第一个(2024_07_30_StandAloneOKWithoutCAN.zip)很好:

对于仿真模式、我注释宏 #define _standalone、例如将 RAM 配置设置为活动状态、在 CCS 上启动调试模式并运行2个项目

2个 LED 在闪烁

对于独立模式、我会取消注释_standalone define、并将闪存配置设置为活动状态、将多核项目加载到 C2000中、然后关闭 TRST 开关。

在 LAUNCHXL 上复位后、2个 LED 会闪烁

修改这个多核项目:结果在 2024_07_30_StandAloneNOKWithCAN.zip 存档文件中给出:

我只需在 CPU2上添加一个 CAN 外设。

请注意、为 CAN 模块选择了 CPU2

加载代码后、我无法看到任何 LED 闪烁。

但仿真模式仍然正常。

任何人都可以打开这2个档案并告诉我这个独立模式有什么问题吗?

非常感谢。

Vince

 

e2e.ti.com/.../2024_5F00_07_5F00_30_5F00_StandAloneOKWithoutCAN.zip

e2e.ti.com/.../2024_5F00_07_5F00_30_5F00_StandAloneNOKWithCAN.zip

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

    您好!

    我真诚地对有些拖延作出答复表示歉意。 为了澄清我的理解、该程序在 CCS 和独立模式下的调试模式下工作 fin。 但是、在独立模式下进行测试时、添加 CAN 通信会导致问题?

    在连接了调试器的情况下、添加的 CAN 仍然能够成功使 LED 闪烁吗? 将 CAN 添加到程序时是否存在任何 RAM 依赖关系、这会导致在尝试切换到独立闪存时出现问题?

    此致、

    Allison

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

    您好 Allison。

    我很高兴与您交谈。 这个问题非常严重、但我可以使用调试模式工作一周。

    请允许我回答您的问题:

    该程序在 CCS 和独立模式下的调试模式下均可在 fin 运行。 但是、在独立模式下测试时、添加 CAN 通信会导致问题?[/QUOT]

    有。 在调试模式下、程序会在具有闪存或 RAM 配置的调试模式下工作。 如果我使用 SysConfig 添加 CAN wperipheral、则闪存独立配置不起作用。

    添加的是否仍然可以在连接调试器的情况下成功地让 LED 闪烁?

    向程序添加 CAN 时是否存在任何 RAM 依赖性、这会导致在尝试切换到独立闪存时出现问题?

    您可以打开程序吗? 我看不到任何会导致 RAM 依赖性的东西

    我的独立项目可以与 CAN 顺利合作(由于机密问题、我无法向您提供)。 有一天,我修改了这个项目,添加 PWM 等等...和独立不再工作。 所以,我试图抑制什么我添加.. 我向您提供的示例。

    如果您可以在这个简单的示例(项目属性、链接器命令文件、...我不知道、我觉得我检查了所有内容)中说出什么问题、我一定会将您的解决方案导出到我的真实项目中。

    请你帮我。" 你是我唯一的希望

    Vince

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

    顺便说一下、"NOK"存档仅包含多个项目。 请考虑这个:e2e.ti.com/.../4135.2024_5F00_07_5F00_30_5F00_StandAloneNOKWithCAN.zip

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

    您好、Vincent:

    您始终可以通过单步执行和利用断点来连接 CCS 并调试代码。 或加载到闪存并使用加载符号功能来帮助单步执行而不会干扰 CCS。 我将上述项目加载到 CCS 并逐步执行代码。 它没有切换 LED (如您所说)、因此当我暂停程序以查看两个 CPU 的位置时、CPU1看起来像是在等待 CPU2准备就绪:

    CPU2卡在 while ()循环中、用于 CAN RAM 初始化:

    这可能是您在添加 CAN 时无法运行该项目的原因。

    请 尝试这些类似主题中的一些建议、如果这些建议有助于解决问题、请告诉我。  

    此致、

    Allison

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

    您好 Allison。

    我解决了我的问题,谢谢你的帮助。 但我有一个问题:

    或加载至闪存并使用加载符号函数帮助单步执行而不干扰 CCS

    我不知道加载符号函数。 您能告诉我更多吗?

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

    您好、Vincent:

    很高兴问题得到解决!  

     如果您已经将程序加载到器件中、则加载符号是一种有用的调试方法。  此选项 使用生成的工程".out"文件中提供的符号进行调试、而不是通过 CCS 将".out"程序加载到内核上。  

    1. 在 程序加载到器件并且可能独立运行后、您可以在这里使用"load symbols"函数来连接器件并执行单步操作、而无需 CCS 加载程序
    2. 将 CCS 打开到工作区
    3. 点击"View">"目标配置":
    4. 您可以将该器件的工程导入 CCS 并使用该工程连接到器件、或在此窗口中将原始目标配置从 C2000Ware 复制到"用户定义的"目标配置。 无论通过哪种方式、均可查找器件目标配置(下面的 F28377D 示例)并启动:
    5. 当它打开调试窗口时、选择器件 CPU 并连接到目标:
    6. 导航至工具栏并单击按钮至"LOAD symbols"(加载符号)
    7. 加载工程生成的".out"文件。  
    8. 该文件应打开以显示您所在的位置、并且您可以单步执行/调试

    可能还有其他线程也提供了有关如何执行此操作的说明。

    此致、

    Allison

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

    谢谢 Allison,我会尽快尝试。 它似乎是一个真正强大的工具。 我想我不能解决我的问题,没有它(所以,和你)

    尽快打电话给你

    Vince