According to this, programming erases the flexnvm contents (even though there's no flexnvm on this device) and reading programs data. Protection swaps the lower half of flash with the higher flash.
There's no overview. There's no description of the configuration structure. There's no discussion of the sequence in which these functions are to be used. It's not much worse than most of the drivers, but this driver's setup is a lot more complex.
This is really the only driver from the whole SDK that I particularly care about, aside from the USB stack. The others are either simple enough to be skipped or don't fit my requirements and I already have my own preferred code. I'll make this work, but it'd be really nice to know, for example, how much RAM it's going to use for its execute-from-RAM option, where it gets that RAM, and how it interacts with the rest of the system - is it disabling interrupts, for example? There's apparently no way to tell without reading through the code myself.