Hello , dear friends: Could someone tell me if my memory map has some gaps, does it all right?
* * * * * * * D A T A M E M O R Y * * * * * * * REG 0000H 0008H ABSOLUTE "REG BANK 0" DATA 0008H 0011H UNIT ?DT?IIC212 DATA 0019H 0007H UNIT ?DT?FAN DATA 0020H 0003H UNIT ?DT?MAIN DATA 0023H 0001H UNIT ?DT?DELAY BIT 0024H.0 0000H.5 UNIT _BIT_GROUP_ BIT 0024H.5 0000H.2 UNIT ?BI?I2C BIT 0024H.7 0000H.1 UNIT ?BI?TIMER DATA 0025H 003BH UNIT _DATA_GROUP_ DATA 0060H 0010H UNIT ?DT?I2C DATA 0070H 0005H UNIT ?DT?TIMER DATA 0075H 0004H ABSOLUTE DATA 0079H 0001H UNIT ?DT?EEPROM 007AH 0006H *** GAP *** IDATA 0080H 0010H ABSOLUTE IDATA 0090H 0001H UNIT ?ID?MAIN 0091H 0002H *** GAP *** IDATA 0093H 0001H ABSOLUTE IDATA 0094H 0001H ABSOLUTE IDATA 0095H 0001H ABSOLUTE IDATA 0096H 0001H ABSOLUTE IDATA 0097H 0001H ABSOLUTE
"Could someone tell me if my memory map has some gaps" Yes - they are clearly marked, "GAP"!!! This simply means that you have some memory available but - as far as the Linker can tell - unused. This is not a problem. The problem comes when there are no gaps left but you still want to fit more data in!
But why is IDATA absolute at 080h, it should start at the end of DATA. Erik
Dear Eric, thanks for your suggestion for me. You mean , I should specify the idata address at 0x7F ? If I don't put it after the data, what's the effect will it be? Thank you. RGDS Morris
Dear Eric, thanks for your suggestion for me. You mean , I should specify the idata address at 0x7F ? If I don't put it after the data, what's the effect will it be? With Keil defaults, IDATA will start at the end of DATA. Since all 256 bytes are accessible as IDATA, this is the best way to do it for max mem space Erik