PIC zápis do paměti programu

Zdravím, mohl by mi prosím někdo osvětlit jak je to se zápisem do paměti flash? Pokud chci ukládat nějaká data při běhu používám na to EEPROM a všiml jsem si, že lze zapisovat i do flash po přepnutí jednoho bitu. (samozřejmě u PIC co to podporují)

Chápu dobře, že se jedná o paměť kam se ukládá program a lze tedy tímto způsobem program prakticky přepsat nebo využít zbytek prázdné paměti? Zůstanou takto zapsaná data uložena trvale po odpojení napájení? Je zde nějaké omezení kam lze zapisovat?

Děkuji za upřesnění
Karel

Vid datasheet

Používám to taky místo EEPROM, ale zapisuje se 64bit naráz. Aspoň u PIC se kterým si zrovna “hraju”. A nesmíš zapsat někam kde je program. To zjistíš v MPLABu kam můžeš a nesmíš zapisovat.
Taky jsem kdysi zapisoval od 0xFF00 a pak sem se divil proč mi to jeden jen do zapisu a kiks když jsem psal od 0x00000