Bootloader for S12 on CW 3.1

Discussion created by sebasira on Dec 28, 2011
Latest reply on Dec 29, 2011 by sebasira



I've finnish my application, now I want to add a bootloader to it, so firmware can be updated via RS-232.... I've read AN4258, AN3275 and AN2546. Then I choose to go on with AN3275 "S-12 All-Accesss Bootloader for the HCS12 Microcontroller Family"


When compiling (with CW 3.1) an error appears: Link error : L1112 The ROUTINESINRAM section has segment type CODE (illegal)


I search the web and the only thing I found about that is this post. It says that the error is due to an earlier version of CW (earlier than CW 4.5).


First, I try modifing the .prm file so ROUTINESINRAM was READ_ONLY instead of READ_WRITE. It compiles, I can navigate through the menu with HyperTerminal, also I sent a .s19 (as text-file). I could see that the file was entirely transferred, but it never shown the message "ProgrammingComplete".

So I guess something is wrong and as the previous post declare, "if you do the change you mentioned (= change the prm section to Read Only), the code will not work "


So then I read the Technical Note 2281, here. But I didn't understand it. I mean, how should I modify the code of the AN3275 in order to be able to use it with CW 3.1? The "Copy to RAM" part is what confused me. Also I don't know why the segment has to be reallocate to address 0x0200. Why 0x0200 and no, let's say, 0x0150?


I hope you can help me, so I can finnish with it!


Thanks in advance! please excuse my English!


Happy New Year!! Feliz Año Nuevo!!:smileyvery-happy: