We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello, I'm experiencing problems when loading the absolute object file into my emulator. I have the following setup: 128K Flash connected to A0-A15 and P1.5 on the 8051. I have set the compiler up to give me 2 code banks from 0x0000 - 0xFFFF. According to the 8051 Utilities Manual and previous replies on this forum the compiler should then automatically place copies of the common area code into both banks. When I load the absolute object file created by the compiler into my emulator, the common area is only placed into bank 0 along with the bank 0 code. In bank 1 the memory space where the common area should have been is empty, but the bank 1 code is there? Any help would be apreciated, Anders. BTW if I create a BIN file (from the .h00 and .h01 files) and burn the BIN file to the FLASH it works fine... Previous thread: http://www.keil.com/forum/docs/thread2772.asp
The absolute object module only has 1 copy of the common area (from what I recall). So, maybe that's why you get only 1 copy of the common area when you load the ABS file. You may have to use an emulator command to copy the common area to each bank. (I'm not certain about that.) Another idea is that the emulator loader may be confused by specifying 64K banks. Have you tried specifying 32K or 48K bank (0x8000-0xFFFF or 0x4000-0xFFFF) to see if that makes a difference? The only reason to use a bank area of 0x0000-0xFFFF is if you don't want to worry about the common area size--which is not a bad reason. Jon