64k banked code

hi all,

i was thinking to write a 512K code as 8x64k banks for an external flash memory, using some kind of jump table for functions call that are to differn banks. Could the Keil banked linker works for this configuration and generate a 512k hex/binary ? I'm working with a command prompt makefile, so i would need some help to find the right linker directives to use.

Every suggestion/help is very appreciated.

angelo

Parents
  • 8x64k is not a useful way of thinking of such a system. For banking to work, you need a common area (where all the jump tables to access functions across bank boundaries go), so it'll be more like (n) KiB common + 8x(64-n) KiB banked code.

    And I agree with Mr. Neil: 512 KiB of code on a plain vanilla 8051 is almost guaranteed to be a bad idea. It might be different if you were using one of the souped-up variants (e.g. the DS 80C390), that have hardware support for more than 64K of memory --- but if you were, I assume you'ld have said so.

Reply
  • 8x64k is not a useful way of thinking of such a system. For banking to work, you need a common area (where all the jump tables to access functions across bank boundaries go), so it'll be more like (n) KiB common + 8x(64-n) KiB banked code.

    And I agree with Mr. Neil: 512 KiB of code on a plain vanilla 8051 is almost guaranteed to be a bad idea. It might be different if you were using one of the souped-up variants (e.g. the DS 80C390), that have hardware support for more than 64K of memory --- but if you were, I assume you'ld have said so.

Children
More questions in this forum