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

Flash Memory Banking on Winbond W77LE532

Hi Folks,

Does anyone in this forum has experience with
memory banking using KEIL C compiler?
In the past we have used Winbond W78E516 which only has 64K of flash. We are now moving toward a W77LE532 which has 128K flash because we ran out of code space in the 64K device.

Could somebody kindly point me to the right
locations/sites etc .. where I can obtain
information how to handle memory banking.
What do I have to do differently HW/SW to get
benefit out of 128K device?


Thanks in advance


Regards,



JIMMY SAYAVONG

  • It's all in the Manuals - you need to read both the Compiler Manual and the Linker Manual.

    You should also search the knowledgebase & application notes.

    I don't know how the Winbond architecture works, but you could look at having the compiler place constants into XDATA instead of CODE, and have the part of your flash holding the constants mapped into XDATA.
    (this assumes, of course, that you have spare XDATA space)

    Search for XCONST.

  • Look in the example folder in your C51 folder. There is a Bank_ex1 project.
    You will need to modify a copy of L51_BANK.A51 set up the banking in the project. Make sure you emulator handles the banking. you will have to assign each C aor asm file to a bank or the common area. Your set up will depend on the memory map of the chip /board

  • Hi Neil and Andy,

    I tried to copy the BANK_EX1 project
    from C51 directory and changed the device
    to winbond 77LE532 and each time I tried to
    compile I got an error message:

    L51.BANK.A51 eror A90: Call to undefined
    Macro 'CNT'.

    Trying to change C51 option I would get a different error:

    A51 FATAL error
    File c_root.src
    ERROR File does not exist
    A51 terminated


    Any idea?


    Thanks,

    JIMMY

  • "L51.BANK.A51 eror A90: Call to undefined
    Macro 'CNT'."


    Surely the obvious way to solve any "undefined..." error is to provide the appropriate definition?