IMHO it's not good idea, erase full segment A. There is probably stored more device-depended constants, not only DCO calibration. (Look at page 644 in slau144.pdf - "SegmentA structure"). Better idea is simply write those 3 missing constants (for 8, 12 and 16MHz) into the empty space (empty space contains 0xFFFF, is writable...).
And more important info: You thinking about data integrity in segment A? Write the correct info into 0x10F6 (TAG_DCO_30 and length of DCO table)? Recalculate (and write) new checksum for segment A?
For those, who want correctly change DCO constants:
- Save full contents from segment A into RAM.
- Change (in RAM) what You want, compute new checksum, etc...
- And then write full block into erased segment A.
I suggest You: look at page 649 and 650 in slau144.pdf.
btw: the last version is slau144f.pdf