Description of Problem:
The current code in RedBoot for manipulating FLASH addresses falls
over in the case where the end of FLASH wraps the available address
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Imagine where FLASH base is 0xFF800000 and the size is 0x800000.
Changing how RedBoot keeps track of the end of FLASH by letting it
be the "last" byte instead of the first byte after (and all of the
repercussions of this) would fix the problem.
All uses of FLASH addresses in RedBoot are now either (void *) or
CYG_ADDRESS which should avoid any addressing problems in the future.
Also, the 'end' address is kept internally as the last usable address
which avoids the wrap around problem.