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 have an 8051 custom processor, this have a memory mapped like this: 16 banks of eeprom external memory of 32kB each one. The page 0 is mapped: 0x0000-0x7FFF. The other ones: 0x8000-0xFFFF. The page number is selected via a PAGE_REG. Also I have a block of extended ram which is mapped from 0x1000-0x1FFF. And I have two RAMs more: internal ram (indirect and direct address), and external ram, of 256B amount (from 0x00 to 0xFF). Memory access from C, I do this: For eeprom:
//... select mem_page ... unsigned char pdata *ptr; ptr = address; *ptr = dat;
For extended ram:
unsigned char xdata *ptr; ptr = address // 0x1000 <= address <= 0x1FFF *ptr= dat;
For internal ram:
unsigned char idata *ptr; ptr = address; *ptr = dat;
The extended ram, and internal ram works, but the eeprom access doesn't. Someone can guide me? Thanks a lot.
g.