【电子资讯】SPMCSR寄存器执操作
执行页写操作
执行页写操作首先需要设置2指针与RAMPZ的地址信息,然后将“X0000 1.0 1”写入SPMCSR,最后在其后的4个时钟周期内执行SPM。Rl和R0中的数据被忽略。页地址必须写入Z寄存器的PCPAGE,Z指针的其他位被忽略。
>擦除RWW区的页:在页擦除过程中可以读取NRWW区
>擦除NRWW区的页:在页写过程中CPU停止
使用SPM中断
如果SPM中断使能,则SPMCSR寄存器的SPMEN清零将产生中断,这意味着软件可以利用中断来代替对SPMCSR寄存器的查询。使用SPM中断时,要将中断向量移到.BLS,以避免RWW区读禁止时中断程序访问它。
在更新BLS时需要考虑的问题
通过不编程Boot锁定位11的方式来更新Boot Loader区时需要给予格外关注。对BootLoader本身进行的误操作会破坏整个Boot Loader,造成软件无法更新。如果程序不需要改变Boot Loader,建议对Boot锁定位11编程,以防不小心改变了Boot Loader。
在自编程时防止读取RWW区
在自编程过程中(页擦除或页写),对RWW区的访问被阻塞,用户软件要避免此情况发生。RWW区忙将使SPMCSR寄存器的RWWSB置位。编程结束后,在寻址RWW区之前用户软件必须对RWWSRE写“l”来清零RWWSB。
更多推荐