I need to update the firmware of F28M35 through the CAN periphral as the new release edition is published for our products. So I wish that the device can boot from flash in most usual case, but it can receive the new boot image data from CAN periphral and instead of the old data in the flash when new edition comes out. Addition, users can't change the boot mode pin configuration.
According to the reference document, I think I can add my codes to bootloader and make a choice before mbrom_start_app(entry_point_address).
I still have some problem in the boot process. As spruh22 mentioned, after reset the NVIC should be placed in zero address. Then it should execute the resetISR(), and jumps the _c_int00 in the "startup_ccs.c" file. I watched the map file, the address of _c_int00 is 0x0020XXXX, which is not fixed. I am confused that does the _c_int00 be the bootloader program? And if it is not, is the bootloader program stored in the 0x000001DC in the M-Boot ROM and when it was executed since the resetISR() had jumped to _c_int00 after reset? If it is, why it changed the address and when it is copied to this address?
Thanks a lot!