According to the reference manual, the main flash memory (cortex-M4) can be programmed 16 bits at a time. Is the generated Intel hex file from Keil compiler already in even number of bytes?
Well, if Keil (an ARM company) hasn't got this right, their tools would be useless - wouldn't they?!
Just a note here - the cortex core is irrelevant to this because it isn't the processor core that owns the flash memory.