There is a bug in the HAL if a CC1010 and is used with a 3.6864 MHZ XTAL.
Particular the functions halCopy2Flash and halFlashWritePage are affected as they calculate a to fast FLTIM to write into the flash.
From the CC1010 documentation:
15.12.3 Set Flash Timing
The Set Flash Timing instruction is needed to generate internal timing for the Flash module. FLTIM must be set in instruction byte 4 so that:
(f XOSC / 0.8 MHz) ≤ FLTIM ≤ ( f XOSC / 0.4 MHz )
It is recommended to set FLTIM to the smallest number satisfying the equation above, to reduce the time needed for Flash programming. For a 3.6864 MHz
crystal, FLTIM should be set to 5.
The above mentioned functions calculate
FLTIM = (byte)(clkFreq >> 8) / 3;
Which leads, if clkFreq == 3686 or 3687, to FLTIM == 4.
Result of this: It is possible that with a probability of 5 to 10% you will and up with a partly corrupt flash memory. Note: This does not only affect the flash page written to!