Hi,
I am using SDCC compiler to run my C code on CC2430 (which contains 8051 controller). Problem is that SDCC generates .hex file! But I need a .elf file as output, because I want to use an elf_Loader to dynamically relocate the code! I have read a lot about SDCC compiler and there is no way that I can generate .elf from it!
So is there any way to convert .hex to .elf??? If not, then how can I interpret and read the .hex file after it has been loaded on the target board?
Thanks in advance, -- Mudassir
"I am using SDCC compiler..."
Don't you think it's a bit cheeky to be using Keil's forum, then?!
"...to run my C code"
No, a compiler does not run code - it merely translates it from source to object.
"dynamically relocate the code!"
Doesn't sound like a great idea for 8051 code - why do you want to do it?
"So is there any way to convert .hex to .elf???"
You'd probably have to convert the hex to binary, and then from binary to elf...
Hex code (or a pure bin file) does not contain any relocation entries, so it can not be used as a source format for dynamic relocation. Even if you try to convert to another format, the resulting file will still not contain any relocation entries.
If the compiler can't produce a file format with relocation entries, you may be able to write a program that scans the assembly list files to extract relocation information.
However, as Andy notes, the C51 chip isn't the usual general-purpose processor. This sounds like a project that will end in sorrow...
Please come back with a description of what end result you hope for.