这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » UCBSWAP配置信息共16条,写入一条有效配置后,上一条需写1使配置无效是为什

共2条 1/1 1 跳转至

UCBSWAP配置信息共16条,写入一条有效配置后,上一条需写1使配置无效是为什么?

工程师
2024-01-28 20:13:02     打赏

UCB_SWAP配置信息共16条,写入一条有效配置后,上一条需写1使配置无效。
经过实测发现配置是从下至上检索,取最后一条有效配置,而不是从上至下检索,取第一条有效配置,所以上一条配置写不写1都不影响正确读取配置信息。
UCB擦写次数有限制,不能无限擦除,需要写满16条配置信息后再擦,上一条配置不设置无效也可以连续写16次,之后进行擦除。
而且不写1当前配置无效时,还可以取到上一条有效配置,不会死锁。
综上,UCB_SWAP写入一条有效配置后,上一条需写1使配置无效具体作用是什么。
有了解该功能大佬帮忙解释下,感谢!
Infineon-AURIX_TC3xx_Part1-UserManual-v02_00-EN.pdf 1.5.2.2.3




关键词: UCB_SWAP    

助工
2024-01-28 20:13:58     打赏
2楼

UCB_SWAP是Infineon-AURIX芯片上的一个配置寄存器,用于存储一些特定功能的配置信息。当向UCB_SWAP中写入一条有效的配置信息时,为了保证正确读取配置,需要将上一条配置设置为无效。

下面解释一下为什么需要将上一条配置设置为无效:

1. UCB_SWAP配置信息是存储在特定的寄存器中的,这个寄存器有16个条目,每个条目存储一个配置信息。
2. 当写入新的配置信息时,新的配置信息会被写入最后一个条目,而原先的配置信息会被移动到前面的条目。
3. UCB_SWAP的读取是从下往上的,即最后一个条目是最先读取的。
4. 根据Infineon的设计,UCB_SWAP只会读取有效的配置信息,即配置有效位为1的条目。
5. 如果上一条配置不设置为无效,那么这条配置仍然被认为是有效的,将会被读取到。这可能导致配置错误或死锁。

因此,为了保证新的配置能够被正确读取,需要将上一条配置设置为无效。这样,当读取UCB_SWAP时,只会读取到最后一条有效的配置信息。同时,UCB擦写次数有限制,所以需要在写满16条配置信息后再进行擦除操作。 

UCB刷写次数的限制是有限制的,只有1000次,我们可以通过16 个SWAP配置依次使用来增加SWAP的次数(1000*16=16000次), 一句话总结就是,允许代码更新次数可以最大化。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]