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.

[参考译文] TMS570LS3137:TMS570ls3137处理器勘误表修订版 C

Guru**** 2560390 points
Other Parts Discussed in Thread: TMS570LS3137

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/982335/tms570ls3137-tms570ls3137-processor-errata-rev-c

器件型号:TMS570LS3137

我们正在对 TMS570ls3137修订版- C 勘误表文档进行分析、我们只有很少的疑问、您能否提供您的输入、

Cortex-R4#27
处于待机模式时、调试复位不会复位 DBGDSCR。

调试复位输入 PRESETDBGn 将按照 ARMv7R 架构中的规定复位处理器的调试寄存器。 调试复位通常用于在调试器连接到目标处理器时将调试寄存器设置为已知状态。 当处理器处于待机模式且时钟已选通关闭时、PRESETDBGn 无法复位调试状态和控制寄存器(DBGDSCR)。


Cortex-R4#33
当调试模式使能被清零时、处理器会死锁。

Cortex-R4处理器支持两种不同的调试模式:HALT 模式和 Monitor 模式。 这两种模式都可以禁用。 调试状态和中的[15:14]位
控制寄存器(DBGDSCR)控制启用哪种模式(如果有)。 此外、只有在有创调试使能引脚 DBGEN 被置为有效时、才会发生调试事件。 死锁
调试模式发生变化时不应发生。 问题在调试模式为时、如果有活动的断点或观察点
通过 DBGDSCR 或 DBGEN 禁用、此问题可能会导致处理器死锁(在出现断点的情况下)或数据丢失(在出现监视点的情况下)。

上述移动问题与调试模式有关、CCS10.1.1工具中是否实施了权变措施?

器件#B071

应使用任何支持的 ARM/Thumb2汇编指令正确写入外设寄存器或外设 RAM。

对于上述问题、权变措施被指定为"不使用与 DMA 事务并发的存储乳化剂(STMxx、VSTM、VPUSH)指令对外设寄存器或外设 RAM 执行猝发写入"。

如果 C 项目是用 C 语言编写的、汇编器会将中的 C 代码转换为汇编代码。 该权变措施是否在汇编器生成的代码中进行了寻址?   

Cortex-R4#67:
可能错过了多个加载或存储上的观察点。

为了实现此故障、需要满足以下所有条件、

1:加载或存储多条指令在寄存器列表中至少有5个寄存器的情况下执行。
访问的地址范围对应于严格排序存储器或器件存储器。
3.为与列表中的前两个或后两个寄存器不对应的访问生成一个观察点匹配。

根据权变措施"TI 建议使用提供的地址范围屏蔽功能在整个区域设置观察点"

如何为屏蔽的区域设置断点?

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

    您好!

    请以蓝色查找我的评论

    Cortex-R4#27

    处于待机模式时、调试复位不会复位 DBGDSCR。

    调试复位输入 PRESETDBGn 将按照 ARMv7R 架构中的规定复位处理器的调试寄存器。 调试复位通常用于在调试器连接到目标处理器时将调试寄存器设置为已知状态。 当处理器处于待机模式且时钟已选通关闭时、PRESETDBGn 无法复位调试状态和控制寄存器(DBGDSCR)。


    Cortex-R4#33
    当调试模式使能被清零时、处理器会死锁。

    Cortex-R4处理器支持两种不同的调试模式:HALT 模式和 Monitor 模式。 这两种模式都可以禁用。 调试状态和中的[15:14]位
    控制寄存器(DBGDSCR)控制启用哪种模式(如果有)。 此外、只有在有创调试使能引脚 DBGEN 被置为有效时、才会发生调试事件。 死锁
    调试模式发生变化时不应发生。 问题在调试模式为时、如果有活动的断点或观察点
    通过 DBGDSCR 或 DBGEN 禁用、此问题可能会导致处理器死锁(在出现断点的情况下)或数据丢失(在出现监视点的情况下)。

    上述移动问题与调试模式有关、CCS10.1.1工具中是否实施了权变措施?

    >>我将必须与调试器团队进行检查、以确认这些权变措施是否在 CCS 中实现。

    器件#B071

    应使用任何支持的 ARM/Thumb2汇编指令正确写入外设寄存器或外设 RAM。

    对于上述问题、权变措施被指定为"不使用与 DMA 事务并发的存储乳化剂(STMxx、VSTM、VPUSH)指令对外设寄存器或外设 RAM 执行猝发写入"。

    如果 C 项目是用 C 语言编写的、汇编器会将中的 C 代码转换为汇编代码。 该权变措施是否在汇编器生成的代码中进行了寻址?   

    >>正确。 编译器仍然可以为某些类型的代码(数组复制、结构复制等)生成突发写入指令。 TI ARM 编译器有一个禁用生成这些突发写入操作的开关。 有关更多详细信息、请参阅此主题: https://e2e.ti.com/support/tools/ccs/f/81/t/523235

    Cortex-R4#67:
    可能错过了多个加载或存储上的观察点。

    为了实现此故障、需要满足以下所有条件、

    1:加载或存储多条指令在寄存器列表中至少有5个寄存器的情况下执行。
    访问的地址范围对应于严格排序存储器或器件存储器。
    3.为与列表中的前两个或后两个寄存器不对应的访问生成一个观察点匹配。

    根据权变措施"TI 建议使用提供的地址范围屏蔽功能在整个区域设置观察点"

    如何为屏蔽的区域设置断点?

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

    非常感谢 Sunil。

    我已经浏览过参考论坛、我知道" -no_STM"选项将阻止汇编器生成多存储指令。 但是、它可能会对性能产生重大影响。 因此、我们希望在  函数级别或文件级别设置"-no_STM"选项。 如何实施此选项、如果有 Nay 工作指示、请与我们分享。  

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

    "--no_STM"选项仅在文件级别工作。 您可以将执行内存复制或阵列管理的所有代码放入使用此选项的特定文件中。

    性能影响显然取决于应用程序中所需的此类访问次数。

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

    您能告诉我们如何在 文件级别应用"-no_STM"选项吗?

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

    在 CCS 内、右键点击 C 源文件并选择"Show Build Settings"、甚至是"Properties"。

    然后、您可以单击"CCS Build"选项下的"ARM Compiler"属性。 单击"Edit Flags"按钮、然后为该特定文件键入"-no_STM"选项标志。

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

    谢谢 Sunil、

    当我在文件级别应用 ARM 编译器选项时、我将从工具中获得以下注释、您能告诉我原因吗? 我已附上快照供您参考。 另外、您是否有机会与工具团队讨论与 CCS10有关的前两个问题。

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

    请忽略来自 CCS 的消息。 "--no_STM"标志仍将应用于此源文件的编译。

    我将要求 CCS 团队就另外两个问题发表意见。