I need to implement a serial flash programming feature on the HCS12XDP512 to allow in-field software updates with basic PC utilities (ie just hyper terminal). I have read AN2153 (A Serial Bootloader for Reprogramming FLASH Memory), and think that it should work for what I am after; however, I have a few questions that I would like to get clarified, since I have never worked with FLASH directly nor S-Records.
From what I understand, the bootloader is uploaded onto the target MCU; then after that a project that is compiled in CodeWarrior produces a *.s19 file, that should be transmitted to the MCU using a serial connection (ie, through HyperTerminal). What bugs me, though, is that the *.s19 file for my application is only 23kB! I find it hard to believe that all the code I've written has been bogged down into just 23kB of s-records. There also are other files in the /bin directory, such as a *.abs (which is 389kB), *.phy, and *.map. Do these have anything to do with programming the FLASH through a serial connection?
I also think I understand that I have to create a secondary vector table in my actual application, since the bootloader uses the main vector table. Is there also any extra precautions that need to be taken with the XGATE?
Thanks for any input on the subject.