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.

[参考译文] TMS320F280049C:清除方法

Guru**** 2576215 points
Other Parts Discussed in Thread: TMS320F280049C, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1230961/tms320f280049c-sanitization-method

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

团队好-我被告知  TMS320F280049C 的清除方法是"已编程的位不能重复使用。 如果需要清除、一个段/字中的所有位都可以编程为全部0x0000、但该段无法重复使用"。 如果我们要将所有位编程为0x0000、我们该怎么做?

谢谢

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

    您好 Alex:

    您是在谈论如何清除存储器、还是这是一些功能安全要求? 如果您只是尝试将0写入到特定 RAM 单元的所有存储器地址、 可使用 driverlib 函数"MemCfg_initSections (uint32_t ramSections)"、该函数可以初始化作为参数传入的存储器单元。

    此致、

    Omer Amir

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

    Omer:

    您是否确认 我们需要执行的步骤和示例写入来将0写入内存中的那个空间?

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

    您好、Collin:

    请确认我的问题的答案;对于功能安全、有一些明确的要求、需要另一位专家来回答。

    此致、

    Omer Amir

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

    这并不是专门针对工业"功能安全"应用、而是一个类似的应用  、我们需要确保存储器处于已知和定义的状态。 为确保将来不会被写入/更改、向未使用的空间写入0似乎是最佳选择。  

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

    感谢您的答复。

    为了回答您的问题、 可以 调用 driverlib 函数 MemCfg_initSections 并按原样运行。 运行之后、应轮询相应的 RAMINITDONE 寄存器以确保在继续执行程序的其余部分之前已完成初始化(有关 DxINITDONE、LSxINITDONE、GSxINITDONE 和 MSGxINITDONE 寄存器的更多详细信息、请参阅"系统控制和中断"一章中的 MEM_CFG_REGS 寄存器一节)。 除非您尝试自行重写该函数(在这种情况下、您可以在 C2000Ware 中引用 memcfg.c 文件)、否则没有其他额外步骤。

    在运行时初始化存储器时、唯一需要采取的实际步骤是这些、但如果您需要显式示例、请告知我。

    此致、

    Omer Amir