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.

关于“Software Read Back of Written Configuration”

Other Parts Discussed in Thread: HALCOGEN

在安全手册看到对各模块“Software Read Back of Written Configuration”和“Periodic Read Back of Configuration Registers” 这两项诊断。在halcogen生成的寄存器配置回读函数,应该是针对后者吧? 对于前者的诊断看到解释说要用到MPU,应该怎样做呢?  这两个诊断项有有什么区别吗?

  • Software Read Back of Written Configuration针对的是在更改寄存器的配置时,当完成写入后,再将寄存器的实际值读回来,与想要写入的值比较一下,看看是不是配置正确了。这时要求MPU将存储器映射寄存器的空间配置为 strongly ordered和 non-bufferable memory 空间,以防止产生误操作,关于MPU的具体设置,需要参考HALCoGen中的配置和技术手册中的说明。

    而Periodic Read Back of Configuration Registers针对的是配置完成后,要周期性的去检测是不是寄存器的配置值被误操作所修改,这种修改不是出于本意的,可能是由于某些软件设计缺陷导致的,也可能是由于干扰导致的,因此要极力去避免。

    谢谢!

  • hi,Jason

         非常感激您的回答!配置 “ non-bufferable memory”为了防止配置写入“buffer“而不是模块寄存器吧。这个”strongly ordered“是什么意思呢?  zai HALCOGEN看到有MPU的配置,在芯片资料上没有找到MPU相关相关说明。   非常感激!

  • 存储器映射寄存器的机制中,寄存器是映射到存储器的空间的,因此要求这段空间是non-bufferable memory,即每次配置后都要实时的写入,而不是先在buffer中去缓存,而后再写入对应的寄存器中去。

    strongly ordered的含义可以去Google上搜索一下,这里就不把网上的解释粘贴上来了。简单来说,其实也是将配置数据实时的写入到寄存器中,而后再进行下一步的动作,防止缓存等情况的出现。

    谢谢!