This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Code Banking Configuration

Hi,

Please anyone can help me on Code Bank setting configute?.

I'm using at89c52 and 4 32kB EPROM I have using keil example Bank_EX1 as my exercise. I plan to have 4 EPROM as my CODE.

The define in L51_BANK.A51:
B_NBANKS = 4
B_MODE = 0
B_RTX = 0
B_VAR_BANKING = 1

In the Option for Target -> Target setting:

Off-chip Code memory:-
Eprom: start=0x0000, size=0x4000
Off-chip Xdata memory:-
Ram: start=0xD800, size-0x2700

tick Code Banking:
Banks: 4
Bank Area: start=0x8000, End=0xFFFF

The above setting is it correct?
The acture problem is i can't display the func0 and func1 message. It alway disply the C_root and func2 message only. :(

Do you know why?

Thank you.

  • Banking is a bodge to to get the processor to work beyond its design limitations.

    Unless you have an existing project that relies upon it, wouldn't it be better to just start with a processor that doesn't have such limitations and, therefore, doesn't need such bodges?

    ie, rather than waste effort on unnecessary workarounds, put that energy directly into building your application!

    But, if you did have an existing project, wouldn't it already be correctly set up...?

    See: "

    See also: www.8052.com/.../read.phtml

  • Hi,

    Thank for your advice. At this moment i haven't do any existing project yet but I just do for hobby, interested to know how the Banking Switching is work.

    May i know why you suggested "better to just start with a processor that doesn't have such limitations and, therefore, doesn't need such bodges?"?
    Is it any disadvantage? other then wasted many I/O, port's and wiring. Is it affected the speed performents?

    Actually, i have using AT89C52 few years already and do alot of small application but this uC internal ROM 8Kb and RAM 256b sometime the size is limited for me. Now i would like to do a selecteble external memory size, easy for me to do testing. At this moment do not plan to change MCU because it is difficult for me to get a special IC in locol. :(

    Currently my board have using 2 32Kb SRAM to running the CODE/DATA. I'm using serial to download the Hex data to SRAM, and set the /EA to GND to run the program. If I would like to add another 1 64Kb SRAM or more..What can i do? May i know what i have to do on KEIL compiler STARTUP.A51 and Options for Target?

    Please advice..

    Thank you very much and thank for your reply.