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.

[参考译文] TMS320F280039:通过 WDG 复位清除 RAM 变量

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

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1493112/tms320f280039-ram-variable-is-cleared-by-wdg-reset

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

工具/软件:

您好、专家、

我想利用 WDG (看门狗)复位的功能、而不是清除 RAM 变量、以便在用户应用程序和用户引导程序之间共享变量。 此函数在0025模型中正常工作、但在将其应用到0039模型时遇到了问题。 详细的问题描述如下:

  1. 在0025工程中、一个 uint16类型变量被放置在 RAMM0位置0x128。 在复位之前、该变量被设置为1、在看门狗复位之后、该 RAM 变量保持为1。

  2. 在0039/0039C 模型中执行相同的操作时、看门狗复位后、此位置的变量意外清除为0。

  3. 然后、我们将该变量重定位到 RAMM0的末尾、在 RAMM1、RAMLS0、RAMGS0等的开头 看门狗复位后、该值保持为1、不会被清除。

  4. 此现象是否与为引导保留的 RAM 的大小有关? 在0039模型中、ROM 引导是否使用超出0x2-0x127范围的 RAM 区域? 在0039模型中、ROM 引导使用的特定 RAM 范围是多少?

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

    您好、

    Unknown 说:
    这种现象是否与为引导保留的 RAM 的大小有关? 在0039模型中、ROM 引导是否使用超出0x2-0x127范围的 RAM 区域? 在0039模型中、ROM 引导使用的特定 RAM 范围是多少?

    是的、它可能与 BootROM 使用的 RAM 相关。 让我与我们的 ROM 团队核实、然后返回给您。

    此致、

    Vivek Singh

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

    有新消息吗?

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

    很抱歉晚才回复。 仍在等待 SW 团队的响应。 我又给了他们一个通知。  

    Vivek Singh

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

    您好 Bo、

    对此进行了深入研究。 在此期间、您能否回答一些问题:

    -您是否在用户 OTP 区域(从0x78000开始)有任何自定义? 如果是、请分享这些数据。
    -你能用一个简单的程序测试它,该程序写入到该位置,并导致 WD 重置,以排除任何应用程序侧写入到该位置?
    -您能告诉我们这是否与多个 F280039器件一致吗?
    -您能尝试在该地址放置一个断点用于写入操作和共享 PC 值吗?
    -当您提到这适用于 F280025时,您是在 F280039C 上使用相同的二进制文件还是重新编译了源代码?

    -Kedar

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

    1-用户 OTP 中无自定义;

    2 -是的、可以 通过 WD 复位来清除它、没有应用程序代码会写入该位置;

    3-是的、 我和我的同事在不同的 280039设备上进行了测试;

    4-I 在_c_int00开始对其进行测试、会将其清除。  如果有时间、我会尝试您提到的测试(如有必要)。

    5-完全不同的项目、所有库文件都来自280025。

    注意:从 C2000Ware_5_04_00_00中为您提供了一些信息、我不知道它是否与这个现象有关。

    1 - 0025、文件- C2000Ware_5_04_00_00\libraries\boot_rom\f28002x\rev0\rom_sources\F28002x_ROM\lnk\F28002x_cpu01_boot_rom_lnk.cmd

       使用的 RAM 不  超过0x128  

        //
        // RAM Memories
        //
        CPU1_BROM_STATUS        : origin = 0x002,    length = 0x000002
        CPU1_BROM_BOOTMODE      : origin = 0x004,    length = 0x000002
        CPU1_PBIST_STATUS       : origin = 0x006,    length = 0x000002
        BSS       			    : origin = 0x008,    length = 0x000020
        STACK      			    : origin = 0x028,    length = 0x0000E0
        FLASHAPI_EBSS		    : origin = 0x108,    length = 0x000020

    2 - 0039、file - C:\ti\C2000Ware_5_04_00_00\libraries\boot_rom\f28003x\rev0\rom_sources\F28003x_rom\lnk\F28003x_cpu01_boot_rom_lnk.cmd

       使用的 RAM 与0025不同、超过0x128范围

        //
        // RAM Memories
        //
        CPU1_BROM_STATUS        : origin = 0x002,    length = 0x000002
        CPU1_BROM_BOOTMODE      : origin = 0x004,    length = 0x000002
        CPU1_PBIST_STATUS       : origin = 0x006,    length = 0x000002
        BSS       			    : origin = 0x008,    length = 0x000098
        STACK      			    : origin = 0x0A0,    length = 0x0000E0

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

    请问是否有消息?