I am currently using MC56f82748 and implementing a bootloader and bootloadable application. I attached an example s-record output from Codewarrior 10 for the application code. Three s-records were produced after compiling. From what I already read:
.p.s - s-record for program memory
.x.s - s-record for data memory
.s - combination of program and data
I tried using the .s file only for bootloading but the program was unable to run when performing a power reset.
After checking the file, I noticed that the data memory part of the s-record has only zeros for the data so I tried using the .p.s file to bootload and was able to successfully run the program even after reset.
Looking at the s-records, I can see that the program memory started from 0x0000000 while the data memory started at 0x0200000000. According to AN4860 page 4 the program and data map of the MC56f82748 is as follows
It seems that the .x.s file is pertaining to addresses that isn't existing in its data memory map model and it is causing the program flash to be overwritten. Can someone explain to me why the .x.s record were like that? Or am I just missing something in the generation of the s-record.