Hi,
I have a working old code in rom 32k, I added ram code at the upper 32k and I set the hw to start form the new ram at 32k.
I want to address old function from the new ram code without modify the old project.
once I compile the project code the hex output is not the old rom hex with the new ram code.
rather it recompiled the old code to optize it and I have a new hex that is not like the old rom hex with the new additions.
The thinng is that I need to address the old code function (fixed hex in rom).
what can I do?
regards, dan
The old code is basically hex/asm/C .. once you know how to call the function in asm its solved. the problem that its a huge asm project with many internal variables to handle on every call.
There must be an essayer way to solve it.
Looking for a way to avoid this compiler resetting the obj, or to find a way to keep the function variables in the old order
Thanks, dan
"once you know how to call the function in asm its solved."
Repeating the same claim many times doesn't make it true. You are still driving head-first into a meteor storm without any shields. You would already have managed a lot of architecture work on a new design if you hadn't decided to waste time with a lost cause.
Look until you die, but it's the job of the compiler/linker to do what it is intended to do. It is most definitely not designed to scoop out usable code fragments from a completely different application - an application that is mixed assembler/C and that may not be changed but does require lots of global bits and bytes to be in known states to work as expected.
"There must be an easier way" is a dreamers hope to untie the Gordian knot. Yes - the easier way is to ignore our OTP contents, and cut the Gordian knot instead of trying to untie it.
once you know how to call the function in asm its solved.
No, it won't be. And if you really had that "deep knowledge" of C51 you so deftly claimed, you wouldn't need us to tell yo uthat.
There is: It's a bad plan, so don't do it!.
Once you stop banging your head against the wall, it will cease to hurt that much. You might even step far enough back to notice that there's a perfectly working, open door just 5 steps to the right of where you've been trying to pass through a rock-solid wall.
thanks for the brain storming, I will take your advise under consideration.
all the best, dan
if "the old code" as it does not "as is" call anything outside the ROM it is impossible to do what you want without modifying "the old code"
so SPECIFIC questions requiring SPECIFIC answers
a) does "the old code" call anything outside the ROM if no, then b) can you modify "the old code"
Erik