topchair wrote:
With the help of my debugger (NoICE12), I find that ESTAT register never change.
Eeprom programming is to quick to notice it with debugger. Erase takes ~20ms, program ~0.1ms. It's very likely that it takes more than 20ms from breakpoint is hit to when debugger notices that and reads from ESTAT. Try sampling ESTAT to some variable, then read it with debugger.