Hi
I am trying to save some code sapce I used the STRING (XDATA) direcitve to move my constant string to xdata ,I also set my XCONST segment to 0x8000-0x8ffff. I notice that my code size is smaller but I coul find image that describe the data RAM (including the strings).
Does the LX51 linker produce XDATA image file ?
Here is part of my map file , you can see hat I have to XCONST segments buf I couldnt find the segments in my hex file
any ideas ???
* * * * * * * * * * * X D A T A M E M O R Y * * * * * * * * * * * * * 008000H 008034H 000035H BYTE UNIT XCONST ?XC?MAIN_DEMO 008035H 00805EH 00002AH BYTE UNIT XCONST ?XC?DEBUG 00805FH 008FFFH 000FA1H --- --- **GAP** 009000H 00AF49H 001F4AH BYTE UNIT XDATA ?XD?PRINT 00AF4AH 00AF75H 00002CH BYTE UNIT XDATA _XDATA_GROUP_ 00AF76H 00AF8BH 000016H BYTE UNIT XDATA ?XD?MAIN_DEMO
Note that the Linker does not generate the Hex file at all.
The Hex file is created by BIN2HEX - which converts the Linker's output.
IIRC, you need to ensure that BIN2HEX is using one of the "extended" formats - to cope with the separate Code and Const address ranges...
the hex convertor ohx51, by default does not generate 2 hex files ...
I found thread that describe how to create another hex file from exe .... it does not simple ...I am working on it
will update when I will have the answer
Nobody said it would be simple!
;-)
"I found thread that describe how to create another hex file from exe..."
Please post the link for the benefit of other readers.
This one seems to sum it up: http://www.keil.com/forum/docs/thread6231.asp
Search keywords: XCONST and OHX51
exactly, I manage to create 2 hex file using the following command
OHX51 sample HEXFILE (sample_mem.hex) H386 RANGE(x:0x8000-0x8FFF) OFFSET(0)
now I am testing it on my HW