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.
Problem: Unable to execute the program with banking. The operating system i am using is windows 95, my target hardware has the following settings a)common area - 1400 to 7fff (VNM) b)banked area - 8000 to fdff (vnm) c)no of banks - 15 (all are vnm) d)monitor program located at 0000-13ff in the common area (reading using psen signal) In the program I have used the following settings in the mon_bank.a51 $NOCOND DEBUGPUBLICS ?B_NBANKS EQU 16 ?B_MODE EQU 0 ?B_BANKSTART EQU 08000H ?B_BANKEND EQU 0FdFFH ?B_COMMON EQU 0FFH ?B_XRAM EQU 0FFH ?B_MON_DATA_BANK EQU 11 IF ?B_MODE = 0; ?B_PORT EQU P1 ?B_FIRSTBIT EQU 0 ENDIF; And rest of the settings are default. Whenever I am loading the program to target board (we are using keil monitor 51 in debug settings)using uv2 and watch port p1, it always shows bank11 (?B_MON_DATA_BANK setting) (if i change the above setting to bank07 P1 shows always bank7) When I execute the program in the stepinto mode, the program shows as if the program is swithcing the banks, but when I watch the port p1, P1 shows always bank 11 The above program works properly in debug simulator mode and I am able to see the port P1 changing as per the banks selected I have created the mon51.hex file using the following command: install 0 14 0 BANK i.e., 256 bytes for monitor program is from 1400 to 14ff, our program starts from 3800h (i.e., code start is from 3800h which is set in l51_locate and xdata is set 1500H) I am setting the l51_bank.a51 with the following settings $NOMOD51 $NOCOND ;************************ Configuration Section ******************************* ?B_NBANKS EQU 16 ?B_MODE EQU 0 ?B_RTX EQU 0 ?B_VAR_BANKING EQU 0 IF ?B_VAR_BANKING <> 0 ?B_COMMON_XRAM EQU 0 ?B_INTR_ACCESS EQU 0 ENDIF IF ?B_MODE = 0 P1 DATA 90H ?B_PORT EQU P1 ?B_FIRSTBIT EQU 3 ENDIF And rest of the settings are default. When I run this program using simulator and when I watch ports under the menu Peripherals it shows 4 ports of 8 bit width and when I run the same program using Monitor51 mode and when I watch ports under the menu Peripherals it shows 8 ports of 8 bit width. Aswath