有几个问题不明白,望指教
1.在判断spare区相应字节是否是ff之前,是不是必须先要执行块擦除指令BlockErease,然后才能判断spare区的相应字节;可以直接判断该spare区的相应字节是否为ff么?
2.我在程序初始化的时候建立了一个block table,函数名为CreateBlockTable,可以每次在程序重启的时候都执行该函数,刷新这个block table么?
3.stm32是支持硬件计算ECC的,其过程是写入的时候CPU计算出ECC的值,然后放入spare的某个地址,然后读出的时候CPU重新计算ECC,和以前的ECC作比较,如果二者相同,则认为ECC正确,不用纠正;否则,要进行ECC的处理。我现在想知道的是,cpu计算出ECC后,把这个ECC的3个字节放在spare的哪个地址了呢?这个过程应该是cpu自己完成的,没有程序的参与吧。 |