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.8027万:TMS320F2.8027万--看门狗计时器问题

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/621130/tms320f28027-tms320f28027---watchdog-timer-issue

部件号:TMS320F2.8027万

我是Lanuchpad TMS320F2.8027万,负责测试软件

问题1.

1.是否可以使用监视程序计时器的最长时间为850毫秒。 我没有比这更长的时间了。

问题2.

使用看门狗,我必须重置我的程序,我已经为其添加了以下代码到我的程序中  

ServiceDog ();

EALLOW;
SysCtrlRegs.SCSR = 0x0000;
SysCtrlRegs.WDCR = 0x002F;
EDIS;
watchdongvariable=999;

理想情况下,850毫秒后,看门狗应重置芯片。 因此,我假定watchdogvariable中存储的值应该在初始化值(即0和999)之间切换。

但我观察到它被永久地固定在999。我的节目就停止了。

但是,我希望看门狗重置程序在main()中再次启动。

请回答

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,
    我写这封信是为了让您知道,一位C2000小组成员已被指派担任此职位。 我们将尽力解答您的疑问。 但是,由于我们的其中一个站点受到恶劣天气的影响,因此可能会延迟响应。

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

    1)对于10MHz OSCLK,最大WD超时时间实际上为838.9 ms。 唯一可以增加的方法是减少OSCCLK。

    2) WD复位不像对其它内存映射寄存器那样清除RAM位置。

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

    您好,

    [引述] 1. 监视程序计时器可用的最长时间是850毫秒。 我没有比这更长的时间了。 [/引述]

    是的,有最大限制(您给出的数字看起来正确),您不能更改该限制。

    [引述]

    但我观察到它被永久地固定在999。我的节目就停止了。

    但是,我希望看门狗重置程序在main()中再次启动。 [/引述]

    您是否检查了WDCR寄存器中的WDFLAG位以查看是否 发生了WD重置?

    此致,

    Vivek Singh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    最初
    WDCR电阻器具有0xCO
    之后它变为0x87
    当看门狗超时时时,该值再次变为0xCO
    但我的要求是,一旦看门狗超时,它应该重置,意味着它应该从Main()的第一行开始。
    但是我的案例程序停止了。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ashutosh,

    您是否确定看门狗重置了设备? 程序停止时PC在哪里?

    注:连接仿真器后,引导代码执行/行为会发生变化。

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

    当CPU停止执行时,0xD00位置的值是多少?

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

    亲爱的Vivek

    0x0D00的含义是什么?

    我在仿真模式下工作,因此如果重置看门狗,它是否会阻止重新启动模式。

    我的问题是为什么不重置程序,它应该从main()重新启动,同时初始化所有变量。

    P

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

    Ashutosh,

    连接仿真器后,设备将在仿真引导模式中引导,并根据地址位置0xD00处的值对引导模式进行解码。 在发出WD重置之前,应使用正确的值(基于应用程序入口点的位置)更新此位置 ,以便 CPU跳至 应用程序代码。 有关 模式详细信息,请参阅此设备的BootROM用户指南(特别是表7)