I created a project for the 56F807 using Processor Expert in CodeWarrior 8.3.
When I attempt to erase most of the flash, I am getting an error for memory range. Looking at IFsh1.h, the memory is limited to 32767.
/* FLASH memory size and location in 16-bit words */
#define PROG_FLASH_START 4
#define PROG_FLASH_END 32767
#define PROG_FLASH_SECTOR_SIZE 256u
Why is this the case? The part has flash from 0x0000 to 0xF000, and then BOOT flash from 0xF800 to 0xFFFF. See DSP56F800 Family User’s Manual, Rev. 8, pg, 3-2, for the memory map details. I realize that they are starting the flash at 4 in the header file so the reset & COP vectors are not overwritten.
BUT, why is the flash cut short?
Is there some specific issue with using the rest of the flash?
Or, is it just yet another issue with the over-priced, unsupported (no improvements), old, unfinished, buggy, crappy tools (great marketing by FS and now NXP!)?
Looking at the data sheet,"DSP56F800 Family User’s Manual, Rev. 8, pg, 3-2", it looks like the flash is made of a 32K architecture and that is uses one whole flash module (die) an then part of another. However, I don't see why this should limit the memory allocation\usage in code.
I change the limit in the IFsh1.h to 0xEFFF and now it erases OK.
I am going to experiment with flashing data tomorrow. However, if someone can verify if there is a particular issue that I should be aware of, maybe something the Processor Expert developers knew, let me know.
See attached files.