title: Why can't write internal flash of same address twice
body: <p>I'm trying to write to internal flash of STM32F1xxC (2KB per page), I can write to flash after a page erase, which converts every byte of that page to 0xFF.</p>
  
  <p>It's very strange that I can not write the <strong>same address of flash twice</strong>, it is only possible when the previous value of that address is "<strong>0xFFFF</strong>".</p>
  
  <p>What's the reason of this limitation?
  And also I was wondering why I can't write to odd addresses? (e.g. 0x803F0A1)</p>
  
  <p>I don't think my question is platform (or vendor) specific, so I'm not adding any code.</p>
  
  <p>I appreciate any help.</p>