Well, first step is done.
I downloaded CW10.4 (10.2 would have been a better choice?!). The bootloader did not run out of the box. With some changes the bootloader works with CW10.4: PIT1_kinetis (Timer initialization) and I had to take USB Lib V4.11 instead of the enclosed USB lib. The USB lib from the example code didn't run with CW10.4.
Next step was porting to Keil. I can build the code using Keil. Porting was not such a big deal at least to reach the stage of building: startup files, some compiler specific code (inline assembler) and so on.
Now I still have a problem. The bootloader starts the application or reads the file from stick, erases flash but crashes during flash programming. The bootloader resets the uC. I don't see any exceptions with the tracer.
In flash_FTFL.c Flash_ByteProgram() function I can see that the RDCOLERR bit is set in FTFL_STAT. If I step through with the debugger the bit is not set. What could be the reason that this flag is set using Keil compiler. The flag is not set with code built with CW10.4.
I removed all USB and PIT-timer code to avoid IRQs.The behaviour is the same. In additon it crashes during the erase of the flash. => timing problem?
As far as I understand the bootloader, the code is not executed from RAM, right? At least in CW I see the PC pointing to flash adresses. I guess it has something to do with my project settings.
In the meantime I found AN 4552 (Porting your code to uVision). I think I followed those instructions more or less. I did not take vector.c from the CW code but took startup_MK60N512VMD100.s from the USB lib Keil example. My code and vector table is located in flash.
attached you will find the map-file.
The project settings (TWR-K60D100M):


Thank you for your help,
andy