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

Problem with acess over 64K memory si1020-F960

I have a big problem now, When I try to acess adress upper 64k, my pointer to XDATA lost bits, The pointer only can to acess the addreses under 0xFFFF, and my flash memory is 128k.
I make a video in the debugger mode, and you can see the problem...

www.youtube.com/watch

Please help me!

Parents
  • "[...] the XDATA pointer only can acess 2bytes information ( 64k ) and the flash is 128k ."

    And that is the specific reason why banking is needed. To use other means to select which subset of the memory that will be visible within the 64kB that the processor itself have processor instructions to reach.

    So banking would normally make use of one or more GPIO pins as extra address lines, and the program code then need to set these GPIO pins in the correct state as part of "huge" memory accesses.

Reply
  • "[...] the XDATA pointer only can acess 2bytes information ( 64k ) and the flash is 128k ."

    And that is the specific reason why banking is needed. To use other means to select which subset of the memory that will be visible within the 64kB that the processor itself have processor instructions to reach.

    So banking would normally make use of one or more GPIO pins as extra address lines, and the program code then need to set these GPIO pins in the correct state as part of "huge" memory accesses.

Children
  • The problem is the baking switch dont work...
    I the Data Sheet, have 4 banks, 00, 01,10,11, I check the address, switch the bank, but dont have any change, the flash memory didn't write in correct address, I'm start a new video, and you can see this, I change the addres (offset ) switch the bank, and the write byte go to the bank 0, all the time bank 0. I have 1 conclusion, the swicth dont work... I can write a byte in bank 1 w/o the switch.... So confused problem.