Hi,
I am using the uVision2 v2.06
C51 - 6.02 A51 - 6.02 BL51 - 4.02 LIB51 - 4.12 OH51 - 2.5 S8051.DLL - 2.02 DP51.DLL - 2.02
Targeting an 8051.
When I follow the instructions here: http://www.keil.com/support/docs/130.htm
The segment is located at the correct position in memory, but when I initialise the data as in the example, it also increases my program memory size. I'm moving the data to this segment specifically to avoid the loss of code space! Should this work or is this a feature that appears in a later version of the tools?
Thanks, Brett
The segment is located at the correct position in memory, but when I initialise the data as in the example, it also increases my program memory size. I'm moving the data to this segment specifically to avoid the loss of code space! Should this work or is this a feature that appears in a later version of the tools? .. where would the code get the values to initialize your variables from if not (the only permanent storage) code memory?
Erik
Actually, I just checked the latest version with an eval and its still behaving the same way.
Erik, I understand what you are saying, but some processors use a loader to initialise this data. ie. when the EEPROM loads the program code, it should also load the xdata in memory too. I guess \it's just not possible with this processor (TAS1020).
use a loader to initialise this data. ie. when the EEPROM loads the program code, it should also load the xdata in memory too. I guess \it's just not possible with this processor (TAS1020). it is, just do it manually from whatever EEprom you have. write a quickie to load the values into the EEPROM