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

Banking issue

Hello friends
I'm working on a SOC, which has 8051 core & a generic DSP embedded on to it. I already have application code ready with me. Now our vendor has shipped new version of SOC, which supports banking. My major problem is banking. How may i break my existing application in to diffrent banks. For this SOC common area is fixed & it is 32K. Total memory is 48K. So i'm left with 16K which i have to utilise for switching banks. My application will reside on a NAND Flash. In the old SOC i was using L51_Bank.a51.

What is variable banking? Can i use it here?
I refered keil website, i didn't get any solution. Does anybody give me some suggestion?
Thank you in advance.

Parents
  • I'd agree; tell the tools you have eight banks, and simply do not use the ones that correspond to the physical memory occupied by the common 32KB. So, assuming the common area is the first two 16KB blocks which correspond to banks 0 and 1, you'd link your code into banks 2..7, but banks 0 and 1 would never be used.

    It's easy to leave banks unused in uV3. You specify the bank for entire file groups with a dropdown box. So, you simply don't choose those banks that don't exist.

    More generally, you might want to use the RESERVE directive to make sure the linker does not link anything in the unused banks, as well as perhaps the upper 16KB of each bank.

Reply
  • I'd agree; tell the tools you have eight banks, and simply do not use the ones that correspond to the physical memory occupied by the common 32KB. So, assuming the common area is the first two 16KB blocks which correspond to banks 0 and 1, you'd link your code into banks 2..7, but banks 0 and 1 would never be used.

    It's easy to leave banks unused in uV3. You specify the bank for entire file groups with a dropdown box. So, you simply don't choose those banks that don't exist.

    More generally, you might want to use the RESERVE directive to make sure the linker does not link anything in the unused banks, as well as perhaps the upper 16KB of each bank.

Children