I have an application to wich I'd like to add bootloader capability. I'm working with CW v6.1 and MCF51QE128. I took the QE bootloader developed by Pual Zhang for the DEMO QE board, did some modifications and now it's working with my custom hardware.
With HCS12 with uses a PRM File, this was accomplished with the HEXINCLUDE line. But I don't know how to do it with ColdFire MCUs.
Also, I guess I should have two compilations parameters, right? One for the version with bootloader and another for the one without it.
Thanks in advance!!!
HI Seba and Hi chary,
I'm interested about this issue, I have developed my application for mcf51qe128.
Until today i have downloaded the fw with cyclone. Now there is a need to download with the UART.
I have a .pdf "Implement UART Boot-loader On Coldfire V1 Products" written by Paol Zhang, but I haven't the project of him. Where can I find that? Thank you
I am also trying to get the project files that should accompany the PDF. Have you received anything from NXP or anyone else in the forum?
Thanks for any help you can provide.
By the way, what development environment are you using? I am using CodeWarrior for Microcontrollers v10.6. Perhaps we could collaborate.
Search for "Paul Zhang", finds:
There's an "Example.zip" file attached to the above. Might that have some of the code you want?
Where is that PDF file you have stored (on the Internet)? Does NXP have it available?
There's a link to the PDF in the above link; that is now at:
Thanks for the assistance.
Yes, the PDF that you referenced is the one that I am using.
I did notice the Example.zip file, but hadn't downloaded it because I assumed it was someone else's incomplete project and wouldn't get me to where I needed to be. That said, I've since downloaded it, installed CW for MCUs v6.3, fixed the issue the original poster was having, and changed the MCU derivative to mine (JE256).
It looks like I can use this as a starting point but I sure wish I had the original project. I'm still surprised there isn't a de facto standard or sample project (in CW for MCUs v10.x) for serial download! If you know of one, please let me know :smileyhappy:
The coldfire controllers are provided with linker file which is eqvt to PRM file in HCS12 controller.
You can make required modifications in this file to meet your requirement.
I was able to successfully merge the application and bootloader developed by paul zhang to meet my final requirement.
Only thing you need to take care is there should not be any memory overlap between bootloader and application.
Hi Chary, thanks for your reply!
I've already modified the LCF file so there's no memory overlapping between my code and the bootloader. But I don't know how to tell the linker that it should add the .s19 file of the bootloader.
Can you explain me how to do that, or show me how you achieved this?
Thank you very much!
Once you make sure that there is no memory overlapping between bootloader
and application , all you need to do is just merge application and
bootloader S19 files into a single S19 file. you just need to dump this
file to the controller using P&E tool.
The merged file should contain only 1 S0 record and 1 S7 record.
If you have any other queries you can ask me.
Hi again Chray!
I didn't realize I could do that, editing the .s19 file. But I'd like to merge them with the compiler, so I can debug it. Do you know how to do that? (As I said before, in HCS12 there was and instruction that could be used in the PRM, named "HEXINCLUDE" wich allows the linker to append a .s19 file)
Once you dump the the merged file through P&E , we can do the debugging in
assembly window. If one is good at assembly language he can very well debug
using P&E tool.
I haven't used "HEXINCLUDE" in PRM file till date though I have
implemented bootloader functionality in MC9S12XDP512.
I am novice regarding this. Explain me briefly .
PRM is to HCS12 as the LCF is to ColdFire... In the PRM file, there's an instruction to include additional pre-compile code to the one you're compiling now.
It sintax is like:
And it appends the bootlaoder.s19 code to your current project. Then, as you said, we debug the bootloader in ASM code, and you can also debug your current application as you normally do.
The idea is to debug both the app and the bootloader as a whole project. Because it has happened to me that bootloader works, application works but when merged some problems arrise.
Hope it helps a little, please excuse my english.
What you are saying might work , If we are able to merge abs files of both
application and bootloader into a single file.
But here we are merging 2 S19 files , with S19 file we can only debug
through Assembly window to my knowledge.
I will explain you what I have done.
I have merged both S19 file of app and bootloader and dumped the merged
file through P&E tool. I made sure that the system executes application
always on every Reset. when ever user wishes to update the firmware in the
system , he needs to change condition such that on Reset system starts
running bootloader , once system finishes writing S3 records to internal
flash the condition is changed to previous state, which is system executes
application on every Reset there after.
I hope I am clear.
Sorry for the late replay!
I think I understand what you said... You mean that you merged them as if they were text-files, right?
I know that's a way to do it, but it stills don't satisfy my need.
I can't believe there's no way to add bootloader (or any other s19) to the app.
Sorry for the delay in reply , In that case you will able to debug the software only in Assembly language if you are just including S19 files
same you can do by just merging application and bootloader S19 file .
I think you mean to say that you can debug some portion of your software in assembly and some portion is C language.
Am I right ?
do reply to this mail.