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-F28P55X:LAUNCHXL-F28P55X 示例代码在 bool sysctl_setclock 中挂起 (uint32_t config)

Guru**** 2873830 points

Other Parts Discussed in Thread: SYSCONFIG, LAUNCHXL-F28P55X, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1597464/launchxl-f28p55x-launchxl-f28p55x-sample-code-hangs-in-bool-sysctl_setclock-uint32_t-config

器件型号: LAUNCHXL-F28P55X
Thread 中讨论的其他器件: SysConfigC2000WARE

尊敬的先生/马先生:

下午好。

我有一个新的 LaunchPad 非常奇怪的体验。   

初始化后、代码不会运行到 while (1)。  代码在 sysctl_setclock (uint32_t config) 中学习。  我觉得这很奇怪。

我还尝试了 gpio_ex2_toggle 示例、代码不会运行到中  

  //
  //循环。
  //
  for(;;)
  {
    GPIO_togglePin (myGPIOOutput0);
    DEVICE_DELAY_US (1000000);
  }
 
它还会读取 SysCtl_setClock (uint32_t config)。
 
请注意、问题可能出在哪里。  这个问题正在延缓我的工作。
 
我已经检查了 LaunchPad 的设置、每个设置看起来都正常、但代码不起作用。  什么可能是问题。  如何解决该问题?
 
谢谢。
 
Babatola Abayomi
 
 
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Abayomi:

    在调试面板的 threads 选项卡中、它会指明问题的确切位置。 请进行研究。

    SysConfig ClockTree 工具中的时钟源是什么? LaunchPad 支持 INTOSC1/2 和 XTAL 时钟源。

    此致、

    Aishwarya

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

    您好、

    感谢您的快速响应。

    我从 C200ware 版本 6 运行 gpio_ex2_toggle 示例

    调试窗口的快照如下所示:

    我编写的软件也有这个问题。  然而,我只有一个 Lunchpad 表现良好,不会陷入这一点.  其他人有这种可能性或 jsut 突然停止工作

    当我点击 comtinue 的程序仍然在那里学习

    谢谢

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

    Abayomi,

    您是否在其他示例中看到此问题? 我无法在我这边重现这个问题 如果他们也看到类似的情况、让我与团队核实一下。

    此致、

    Aishwarya

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

    Abayomi,

    一旦您能够准确定位器件挂起/故障的位置、请告诉我。  

    正在 使用哪个 REV LaunchPad? 如果使用 REV0、则需要在附加符号中添加 REVD_REV0、否则 DEVICE_CAL 函数将失败。  有关更多信息、请参阅 sysctl.h

    此致、

    Aishwarya

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

    您好、

    感谢您的答复。   

    我已检查了 LaunchPad。 LaunchPad 是 MCU133A 版本、编号为 CL55240800021。  这是 REV0 类型吗?

    我包含了  REVD_REV0 、但 LaunchPad 在运行时仍然存在相同的问题、并且会在不停止的情况下挂起。

    如果没有 REVD_REV0、代码将不会运行到 For (;) 循环、当我单击停止按钮时、将停止在我之前发布的快照中指示的位置。

    它在  SysCtl_setClock 中一次停止 (uint32_t config)。  

    我假设 C2000 示例   很好地配置了 SysConfig ClockTree?   XTAL 频率(以 MHz 为单位)配置为 10MHz。

    请注意、问题可能出在哪里。

    谢谢

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

    Abayomi,

    MCU133A 是指使用 Rev 0 器件构建的 CC、因此您 在程序中肯定需要 REVD_REV0。 如果我理解正确、添加预定义符号后、您可以运行到 for(;;)、但仍在暂停 sysctl_setclock (uint32_t config)。  

    我要再看看这个,然后回到你的身边。

    此致、

    Aishwarya

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

    您好、

    感谢您的答复。  我已经尝试了建议、但 LaunchPad 在启动时仍然卡住、不会运行到一段时间 (1)。  建议的结果如下

    1.当我包含  REVD_REV0 时、由于没有用于 device_cal 错误的符号、代码未链接。  这意味着这不是解决方案。

    2. 我通过 SysConfig 在代码中添加了 GPIO35 和 gpio37 上的内部上拉电阻器、但问题仍然存在。

    我还能做什么?  问题是拖 回我的项目。

    谢谢。

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

    Abayomi,

    1. 当我包含  REVD_REV0 时、代码未链接、因为没有用于 device_cal 错误的符号。  这意味着这不是解决方案。

    对于 MCU133A 版本、必须使用此预定义符号。 请  重新编译工程 、而不仅仅是构建项目 LAUNCHXL-F28P55X:调用 device_call 函数时 CPU 崩溃

    2.  我通过 SysConfig 在代码中包含了 GPIO35 和 gpio37 上的内部上拉电阻、但问题仍然存在。

    这不是必需的。

    此致、

    Aishwarya

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

    您好、

    祝您 新年快乐。

    我已经尝试了选项,但问题仍然存在。

    我包括内部推送问题仍然存在。  我移除了内部上拉电阻器并添加了外部上拉电阻器。  但问题仍然存在。

    可以做什么。   

    我可以退回套件吗?

    谢谢

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

    Abayomi,

    新年快乐! 选择 INTOSC2 时钟源后、代码是否按预期工作?

    确认后、能否向我发送您正在使用的示例项目、以便我可以重试一次?  

    此致、

    Aishwarya

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

    谢谢。

    我会试着去找你。

    谢谢

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

    您好、

    很抱歉晚才回复。  我正忙于执行其他任务。

    我尝试了这个建议、但结果是负面的。  代码只是初始化、而不进入 while (1) 循环。

    我真的很担心、因为我有 6 个 此型号的 LaunchPad、只有一个可以正常工作。  这对我来说是完全奇怪的。

    用于测试 LaunchPad 的 TI 示例代码如下:

    e2e.ti.com/.../gpio_5F00_ex2_5F00_toggle.rar

    我还有其他哪些选项。

    谢谢

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

    尊敬的 Abayomi:

    接下来、我将邀请 F28P55x LaunchPad 专家进一步研究这一点。

    此致、

    Aishwarya

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

    尊敬的 Abayomi:

    您能否确认 LaunchPad 上的器件版本能正常工作、以及哪些版本不能正常工作? 您可以通过读取 MCU 器件型号进行验证。 如果它以 X 或 TMX 开头、则为 Rev0 版本、如果以 TMS 开头、则为 REVA 版本。

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

    您好、Stevan、

    感谢您的答复。   

    微控制器上的标识如下。

    不完善的微控制器  

    1. XF28P559.
      SJ9P2Q
      3L - 42A1x6w
     G4.


    2. XF28P550 (x2)
       SJ9PZ
      3L - 41AY65W
      G4.

    3. F28P550
      SJ9PZ
      3L A - 53CC2SW
      G4.

    4.数字是不可读的

    唯一良好 LP 的详细信息如下:

    1. F28P550
      SJ9PZ
      3L A - 48C185W
     G4.

    我期待着得到你的好评。

    谢谢

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

    Abayomi,

    以“X"开头“开头的所有 MCU、如 X F28P550 为修订版 0 REV0 。 因此、在预定义符号中、您需要添加 REV_ID = 1 或 REVD_REV0、这两者都起作用。  

    如果您使用 F28P550、则正确 修订版 A 修补程序版本。 默认情况下应设置该参数、但如果该参数无法正常工作、用户可以预定义 REV_ID = 2 或 REVD_REVA 为安全寄存器。 编译项目后、请在 CCS 中使用“步过“功能、并确保代码在 main() 中的 Device_init () 函数上单步执行。 如果它没有跳转到下一行、则问题仍然与 REVID 定义有关。  

    请让我知道它对您有效。  

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

    您好、

    感谢您的答复。

    我尝试了修复、但结果是混合的。

    i. 两个 LP 响应了  REV_ID = 2。  当我将切换示例 GPIO 引脚设置为 20 时、切换 GPIO 示例闪烁了 LED。  但是、当我尝试在没有调试模式的情况下运行示例时、LED 不会闪烁。  这是不正常的

    二、 其他人没有答复。

    我需要澄清。   您是指 REVI_REVA  = 2?

    谢谢、我等待你的答复。

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

    您好:

    您只需在电路板上添加基于器件的 REVD_REVA (REVID =2) 或 REVD_REV0 (REVID = 1) 即可。 默认设置 REVI_REVA。  

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

    您好、

    谢谢。

    REVI=1 和  REVI=2 不允许构建代码。 快照如下:

    REVI_REVA 构建、但代码不运行。  它只是挂起。

    REVD_REV0 此代码未构建。  快照如下:

    我还能做什么。   

    我是否要购买新的 LaunchPad。

    谢谢

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

    您好:

    您是否有任何 F28P55x 控制卡需要通过任何机会进行验证? 您正在使用哪个 CCS 版本、并且正在从 RAM 或闪存中运行?  同时、我将寻找 LAUNCHXL-F28P55X、看看是否可以重现此问题。 感谢您的耐心。

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

    您好:

    我找到了一款具有 XF28P559SJ 器件的 LAUNCHXL-F28P55X。 我没有在预定义符号中添加任何内容、它也没有卡在 RAM 或闪存中。

    请尝试在闪存中运行您的代码、看看是否有任何更改。 请在不添加预定义的情况下尝试。

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

    我已经尝试了所有我可以包括上述建议,但它不起作用

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

    您好、

    您使用的是哪个 C2000Ware 版本?

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

    尊敬的 Abayomi:

    进一步审查后、该问题可能是 CLK 源硬件和软件配置之间不匹配的原因所在。 您能告诉我 LaunchPad 是否设置为使用 XTAL 或 INTOSC 吗?  默认情况下、Launchpad 使用板载晶体振荡器 Y2。 如果 R32 和 R33 组装了 0 Ω 电阻器、则会选择 XTAL。 如果组装了 R36/37、则选择 INTOSC。 请参阅用户指南 2.1.3.7 X1/X2 布线: https://www.ti.com/lit/ug/sprujc0a/sprujc0a.pdf

    此外、您是否使用 ClockTree 工具设置时钟源或 device.h? 无论在软件中选择什么、都必须匹配硬件和 REVI_ID 编号、才能避免出现问题。  

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

    未组装 R36/R37。

    R32 和 R33 组装了 0 欧姆电阻器。

    这里使用了 sys config 的时钟树工具。

    我又看了一遍问题、但问题仍然是一样的。

    我尝试了 3 个时钟源 (Intosc1、Intosc2 和 xtal_or_x1)、但结果是相同的。

    我 在 C200ware6_00_00、C2000Ware_6_001 和 C2000Ware_26_00_00 以及 SysConfig 1.27 上尝试了 IF、但代码仍然没有运行

    我接下来要做什么?

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

    您好、Aboyami、

    感谢您的分享。 您使用的是晶体默认配置。 您是否介意共享 syscfg 文件、以便我可以在我这边进行检查?

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

    您好、

     下面是所使用的 TI 工程 SysConfig 文件示例

    e2e.ti.com/.../4263.gpio_5F00_ex2_5F00_toggle.rar

    这实际上是 TI 的一个示例。

    整个工程示例如下:

    e2e.ti.com/.../4263.gpio_5F00_ex2_5F00_toggle.rar

    如果这个问题在本周得到解决、我将不胜感激。

    谢谢

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

    您好:

    我看了一下您的文件。 这两个示例都只是显示 syscfg 配置。 ClockTree 最初似乎设置了 X1、而不是 XTAL。 您能共享整个项目、以便我可以在我这边运行吗?

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

    您好、Stevan、

    很抱歉休息。  我刚接起任务。

    我看着她的眼睛,和她交流着

    时钟悬挂的问题再也没有了。  我不知道为什么、它可以使用软件工具版本。  但还有一个问题。  CPU timer0 无法正常工作

    我为系统时基配置了 CPU timer0。  但是、附加到计时器的中断只被调用一次、如果没有这样的中断、代码流就会分散注意力。

    调试模式下启动器件时受到静电放电。  计时器 ISR 仅触发一次、然后不再触发。  但如果我重新启动会话、计时器工作正常、整个系统都处于活动状态。  因此、当我以独立模式启动 LP 时、什么都不起作用。

    这种行为很奇怪。  如何解决此问题。

    我使用的软件版本如下:

    SysConfig - 1.27
    c2000ware - 6.0.1.00
    TI v22.6.2.LTS

    谢谢

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

    您好、

    主题是专家不在办公室。 请期待星期二的答复
    谢谢

    Srikanth

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

    你好、Abayomi、

    在深入讨论之前、我有几个问题:

    • 当您说“时钟挂起问题不再存在“时、它是在更新工具后自行解决的、还是您做出了具体的更改?
    • 单步执行时、您的代码是否传递了 Device_init() 函数?
    • 当计时器 ISR 首次未触发时、您的程序是否挂起、是否继续在没有计时器节拍的情况下运行主循环、或者复位?

    对于 CPU_TIMER0 、请确保清除 PIE 组确认标志以允许后续中断。 如果缺少该调用、计时器会继续运行、但在第一次触发后永久阻止中断。

    __ interrupt void cpuTimer0ISR (void)

    //您的计时器处理代码在此处...

    //严重:确认 PIE 组允许下一个中断
    INTERRUPT_CLEARACKGROUP (INTERRUPT_ACK_GROUP1);
    }

    您是否也在 SYSCFG 或代码文件中配置了计时器和中断?

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

    您好、

    感谢您的答复。

    i. 我认为时钟挂起的问题与 C2000 资源有关、这与编译器、C2000ware 或 SysConfig 不匹配。

    二.是代码执行 Device_init ()

    III. INTERRUPT_CLEARACKGROUP 在 Timer0ISR 中执行。

    我在午餐盘上运行代码、问题仍然存在。

    Timer0ISR 不会在独立模式下运行。  它仅在我 停止调试并重新启动后以调试模式运行。

    谢谢

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

    你好、Abayomi、

    请尝试使用 C2000Ware 5.05.00.00 版本并检查错误是否保留。