I have an application with the AT89C51CC03 using LX51 linker in an banking mode (2 banks of 64K size). I want to extract from a generated file the application code (to be downloaded in the ATMEL controller) and the constant datas (to be programmed in the external flash memory). LX51 linker classes is: XDATA (X:0x0-X:0x7FF), HDATA (X:0x0-X:0x7FF), CODE (C:0x0-C:0xFFFF), ECODE (C:0x0-C:0xFFFF),HCONST (B1:0x0000-B1:0xFFFF) At the end of the link, i have the following information: code size=33934 const size=56744 The generated hex file (in mode H386) doesn't show adresses above 0x10000 while the complete applcation size is 33934+56744=90678=0x16236. Is there a manner to extract from the generated file the code area end the banked area
Try looking at XCONST...
Check if the HEX file is correctly generated when you are using the example: C:\Keil\c51\Examples\FarMemory\1MB Constants on Classic 8051 You should see records with the type '04' such as: :020000040000FA :020000040001F9 More information: http://www.keil.com/support/docs/1584.htm