I successfully programmed the kit along with the bootloader and found it to be working satisfactorily. I am using the serial port program mode as I do not have Mini Programmer. I even power cycled it multiple times and it was working fine.
If I switch on the power after a day, the kit automatically goes in to bootloader mode and the main program does not work.
I anticipate that the bootloader is working fine however the main program is getting corrupted. Any pointers in this regards will be helpful.
I have created a simple example project for using the exclude checksum. As you mentioned in the forum post it is not possible to reserve 0000 to 7fff for checksum exclude. The checksum exclude function will be placed just below the metadata address.Please refer to the cm0gcc.ld file with the checksum exclude section enabled.Then you can see the placement of checksum exclude section.
In this project I have used the SCB UART bootloader project and the Emulated EEPROM component example project as bootloadable. I have reserved 40 bytes for checksum exclude.The emulated EEPROM array I have declared inside the checksum exclude section. Please note that this project is not 100% tested for all variations. This is just a sample project.