Hello I'm trying to use my microcontroler- system with the Keil-Software. The sytem have got the following prefereces: - SAB 80c535 - 32k RAM - 32k ROM -Memory-architekture: (external memory)
CODE XDATA -------- --------- FFFFh | | | | | RAM | | RAM | | 32kb | | 32kb | | | | | -------- --------- 8000h | | | | 7FFFh | ROM | | | | 32kb | --------- | | | LCD | 0001h | | | | -------- --------- 0000h
The 8051 is a Harvard arch. chip. You get 64K of code space and 64K of xdata space. Both spaces run from 0x0000 to 0xFFFF (they overlap in address but not physically). This gives you 128KB of code + xdata. Whether you use RAM for some of your code or ROM for some of your xdata does not make it von Neumann. - Mark P.S. Don't forget, you also have DATA which runs from 0x00 - 0x7F and IDATA that overlaps in address and physically from 0x00 - 0x7F. IDATA does not overlap DATA from 0x80 - 0xFF if it exists as on the 8052 core machines.
Nice memory layout illustration! I've made a modification
CODE XDATA ---------------------- FFFFh | | | RAM | Access using PSEN or RD to read | 32kb | Access using WR to write | | ---------------------- 8000h | | | | 7FFFh | ROM | | | | 32kb | --------- | | | LCD | 0001h | | | | -------- --------- 0000h
INT_ADR_OFF EQU 8000H ; INTERRUPT VECTOR OFFSET IF MONITOR ; IS INSTALLED AT ADDRESS 0000H DEF_PC_VAL EQU 8000H ; DEFAULT PC VALUE AFTER START UP
INSTALL ?? FF 00
$=0x8000