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.

[参考译文] MSP430FR2476:msp430fr2476代码合成器 Studio Silicon Errata CPU40

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1077763/msp430fr2476-msp430fr2476-code-composer-studio-silicon-errata-cpu40

部件号:MSP430FR2476
“线程:测试”中讨论的其它部件

你(们)好  

为了获得芯片勘误表 CPU40

函数:执行跳转/条件跳转指令后,PC 损坏
将 PC 用作目标寄存器或数据部分的指令

”例如,一个条件跳转指令,后跟数据部分(0140h)。

TI 示例;   

@0x8012环路 DC.W R6.
@0x8014 DEC.W R7
@0x8016 JNZ 环路
@0x8018 Value1 DW 0140小时

我想知道以下步骤是否正确


循环:
      Bit.w #bit0&test;Bit test
      jnz 循环
      无      ;在这里不是吗?  "

再次编程:

            …

漏洞1:
     cmp.w #0AH,#0Bh
     JLO 漏洞1.
     无        ;*这是不是吗?
     青年问题圈2.
     无         ;*这是不是吗?
     JNE 漏洞3.
     NOP;*在这里不是吗?
     JC 漏洞4.
     NOP;*在这里不是吗?
     JMP 漏洞 a
     NOP;*在这种情况下需要相同的 nop 内嵌?

      Mova #loopbb,PC   ;* 此指令与跳转指令类似  

      NOP;*在这种情况下需要在这里吗?  

   

漏洞2:
       。 代码

漏洞3:
     。 代码

或  

漏洞1:

     无
     cmp.w #0AH,#0Bh
     JLO 漏洞1.
     青年问题圈2.
     JNE 漏洞3.
     JC 漏洞4.
     JMP 漏洞 a
      Mova  #loopbb,PC   ;* 此指令与跳转指令类似  

漏洞2:

      无

      。 代码

漏洞3:

     无

    代码

漏洞4:

    无

    代码  

漏洞:

    无  

   代码  

漏洞:

   无

 代码  

关于编译器,Code composer studio,如果已设置勘误表 CPU40,则应报告错误
这种情况有时 并不总是发生,所以我认为如果我将 nop 加入所有计划会更好  
使用此最新版本时,程序运行不正常,并重置,
此外,该程序在一个位置停止,但没有启用任何锁环。
对我的所有计划进行 nop 是一个问题,因为没有足够的空间。
需要设置其他项以启用 CPU40和 CPU 勘误表的控制?

此致  

路易吉  

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

    嗨,路易吉,

    很抱歉耽误你的时间。  根据我对勘误表的理解,您需要在内存跳转后立即使用 NOP,您不需要对分支跳转至的位置进行操作。  就像前两个示例,而不是最后一个示例。   

    您是在组装中编写代码,还是只在 C 中编写代码并使用 MSP430编译器?  如果您正在编写代码并使用编译器,则只要按照您的指示设置了“勘误表”标记,它就会在需要时自动插入“需要 NOP”。   

    谢谢,

    JD

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

    CPU40指定错误发生在0x40或0x50的值上,而这些值不是在您的示例中发生的。 0XXX 组说明包括:Mova,CMPA,Adda,Suba,RRCM, RRAM,RLAM,RRUM。 其中一个将程序计数器作为目标。 程序计数器上的操作不常见。

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

    嗨,JD

    感谢你的回复  

    我已经在汇编器中写了所有内容,所以你是说在汇编器中,编译器在遇到 CPU40错误时不给出 allarm? 是的,因为我曾经从编译器中遇到过此错误,但只有1次。  

    谢谢你  

    路易吉