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

I'm trying to implement code banking in the evaluation software. I've written code but doesn't compile, so I think code banking is the remedy. How do I dictate where the code goes? And what is the difference between variable banking and for the B_Mode user-provided bank switch code?

Parents
  • According to the posted restrictions on the eval software

    http://www.keil.com/demo/limits.asp

    the eval kit does not include the code banking linker.

    To answer the earlier question (assuming the context of the full product), you generally assign modules to particular banks. In uV2, there's a dropdown box in the project list. So, I would typically make groups called "Common", "Bank 1", "Bank 2", etc; set their dropdown box to link to the appropriate bank; and then put the .c files in whichever group I wanted.

    With the command line, the syntax for the linker directives (e.g., SEGMENTS) includes a bank designator, so you can force segments to various banks as well as addresses within those banks.

    We found it useful to write a little tool that parses the map file and shows us the free space remaining in each bank, which is helpful for rebalancing code when a bank gets full. (Feature request for the linker!)

Reply
  • According to the posted restrictions on the eval software

    http://www.keil.com/demo/limits.asp

    the eval kit does not include the code banking linker.

    To answer the earlier question (assuming the context of the full product), you generally assign modules to particular banks. In uV2, there's a dropdown box in the project list. So, I would typically make groups called "Common", "Bank 1", "Bank 2", etc; set their dropdown box to link to the appropriate bank; and then put the .c files in whichever group I wanted.

    With the command line, the syntax for the linker directives (e.g., SEGMENTS) includes a bank designator, so you can force segments to various banks as well as addresses within those banks.

    We found it useful to write a little tool that parses the map file and shows us the free space remaining in each bank, which is helpful for rebalancing code when a bank gets full. (Feature request for the linker!)

Children