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
In reality, it would take huge amounts of work. What can be done, and what should be done, are two completely different things.
The new program will not know where to place parameters to called functions.
And the program in the OTP flash also expects that the CRTL have been initialized since code in the OTP will call other functions in the OTP and some of these functions may require access to the version of the CRTL stored in the OTP.
But you have _still_ (yes, I understand you don't feel like telling us) not told us why the xxx you have created hardware with this patch capability instead of replacing the processor.
If this had been an original plan, then that original program should have been written with specifically designed stub interfaces for extending the functionality. It doesn't sound like it was, so somehow it sounds like someone have not decided a very bad design choice without first understanding what the decision actually means.
.. "the '51 PC" BIOS in ROM and stored program in RAM.
Many have, over the years, had threads about this (mainly at 8051.oom) I have yet to see a thread ending "it now works great"
Anyhow, even if someone should succeed how many stored program (non-control) apps would there be that fit in 32k or whatever is left after the BIOS?
In the olden pre-ISP days there might have been a reason for an amateur to have such a setup, but with ISP I fail to see the purpose.
Erik