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.
Hi,im used project with 512k extern RAM,for 512bytes on-chip ram, can anyone show me any advice about this?
Read the 1st three pages of: http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_ARCH_1.pdf These two are also Essential Reading: http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_HARDWARE_1.pdf http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_PROG_GUIDE_1.pdf It's well worth saving all 3 on your hard drive, and adding them to your uVision 'Books' list; and/or put shortcuts on your Start Menu and/or Desktop.
Thanks for your reply. And my problum in large extern RAM exceed 64k limit. how to work it? regard, John
You may have to reconsider your choice of CPU, then. 8bit CPUs with 16bit address space aren't exactly the perfect match for handling 512KB of RAM. Some of the massively extended 8051 family members, like the Dallas 80C390 in contiguous mode, may still float your boat.
there is the Philips Mx and 669 as well Erik
Or you can use external bank-switching logic to control the upper bits of your address space.
Or you can use external bank-switching logic to control the upper bits of your address space<>/i> If you can live with the delay. Erik
hello,now im using 8bits mcu and external bank-switching logic is interested,so how to setup in keil v7 IDE? TIA John
Bank switching logic is not really something you set up in the IDE, but on the actual hardware. It's additional circuitry you must have on your PCB, situated between the micro and the RAM chips. Once you're sure you have managed that part, you can look into the manual to see how to tell Keil tools about XDATA banking. See the paragraph about XBANKING.A51, in particular.
I really have actual hardware in PCB, with 3 bits I/O pins switching 512k extern ram,AND with dual-DPTR,where and which shouldbe set in XBANK.A51,only this file can be sure work? Thanks, John
You'll now have to implement the functions the manual requires XBANKING.A51 to supply. Essentially, those will all be short assembler functions. At the minimum, that'll mean you have to adapt the default implementation provided by Keil, telling it which register serves as "DPX", the most significant byte of 3-byte addresses. Also see the VARBANKING directive (or its equivalent options in uVision2), and the example of this pointed at in the manual.