I ported the AN2295 bootloder to my chip (MK10DN512).
The bootloder linker configured
define symbol __ICFEDIT_region_ROM_start__ = 0x00000410;
define symbol __ICFEDIT_region_ROM_end__ = 0x00000AFF;
define symbol __ICFEDIT_region_RAM_start__ = 0x1fffff00;
define symbol __ICFEDIT_region_RAM_end__ = 0x1fffffff;
define symbol __ICFEDIT_region_RAM1_start__ = 0x20000000;
define symbol __ICFEDIT_region_RAM1_end__ = 0x200001ff;
define symbol IntVectTable_start__ = 0x00000000;
define symbol IntVectTable_end__ = 0x0000003f;
define symbol FlashConfig_start__ = 0x00000400;
define symbol FlashConfig_end__ = 0x0000040f;
So in main project I do
define symbol __ICFEDIT_region_ROM_start__ = 0x00000B00;
define symbol __ICFEDIT_region_ROM_end__ = 0x00080000; //512K
And build to get s19 file.
I open Universal Bootlosder utility and press Connect.
I get the following message
Bootloader protocol version: 0x08 (Kinetis, read command supported)
CRC protocol NOT supported)
Bootloader version string: K10
System device ID: 0x10A [Kinetis K10] rev. 13
Kinetis Package: 144-pin
Number of memory blocks: 1
Memory block #1: 0x00004000-0x0007FFFF
Erase block size: 2048 bytes
Write block size: 128 bytes
Original vector table: 0x00000000-0x000003FF
New vector table: 0x00004000-0x000043FF
S19 Image Control.
Parsed S-record lines: 3577 Bytes total: 57192
Source address range: 0x0000-0xDF67
The S19 image also contains redirected vectors. The automatic redirection is skipped now.
WARNING! S19 image will not fit into available memory (at address 0x00000000)!
How should I configure the main project?
Hi Andrey
An application needs to be located where the boot loader expects to find it - therefore you need to see where that is in the boot loader configuration.
0xb00 would not be a valid address since it is in the first sector of the Flash (where the boot loader is) and so would not be possible.
Your application will also have a reset vector which will need to be located correctly - looking at the warning that you have I expect that you still have this at 0x0000000 which would be invalid since the boot loader is there (hence the overlap).
Regards
Mark
Serial Loader: http://www.utasker.com/docs/uTasker/uTaskerSerialLoader.pdf
Better, faster, cheaper Kinetis developments for professional at: http://www.uTasker.com