HC32L11x写FLASH需要关全局中断么?
如题,范例里没看到有关全局中断的操作,特别是向 FLASH_BYPASS 寄存器依次写入 0x5A5A、0xA5A5,对这个寄存器的2次操作之间如果有中断发生会不会有问题. 要关全局中断 csy1123 发表于 2024-4-11 10:41要关全局中断
感谢,在使用手册 FLASH控制器的7.7节 寄存器写保护看到说明了,这里也贴上来吧
7.7寄存器写保护
本模块的重要控制器屏蔽普通的写操作,必须用写序列方式才能修改。
需要通过写序列方式才能更改的寄存器如下所示:
FLASH_TNVS、FLASH_TPGS、FLASH_TPROG、FLASH_TSERASE、FLASH_TMERASE、
FLASH_TPRCV、FLASH_TSRCV、FLASH_TMRCV、FLASH_CR、FLASH_SLOCK。
不需要通过写序列方式即可更改的寄存器如下所示:
FLASH_ICLR、FLASH_BYPASS。
通过写序列方式修改寄存器值的具体操作步骤如下所示:
Step1:向 FLASH_BYPASS 寄存器写入 0x5A5A。
Step2:向 FLASH_BYPASS 寄存器写入 0xA5A5。
Step3:对待修改的寄存器写入目标值。
Step4:验证待修改的寄存器的当前值是否与目标值相同,如不相同则跳转到 Step1。
Step5:执行其它操作。
注意:
–写0x5a5a和写0xa5a5这两步操作之间不可插入任何写操作,不可以被中断打断,
否则该Bypass序列会失效,需要重新写入0x5a5a-0xa5a5序列。
页:
[1]