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

Cygnal constants in upper 64k w/o bankswitching

The Cygnal f12x has 128k of flash and using code banking defeats the purpose of using Cygnal. The overhead of banking slows the program down as much as using the Cygnal speed it up.
Thus:

Is there a way in Keil to make all movc a,@a+dptr generated by the compiler/written in assembler access the upper 64k WITHOUT using bankswitching. The Cygnal chip has simple means of data bank select.

in advance thanks,

Erik

Parents
  • The overhead of banking slows the program down as much as using the Cygnal speed it up.

    Code banking only slows down calls to functions when a bank switch must occur. And, you, as the developer, are 100% in control of where those functions reside.

    Also, only the CALL and RETURN instructions (for functions where a bank switch is required) are slowed and that's only by a very few instructions.

    The following knowledgebase article describes a little of how the code banking mechanism works. The examples demonstrate what happens for various types of bank switches.

    http://www.keil.com/support/docs/1059.htm


    The following article discusses how to create code banking programs in general. Pay special attention to the Program Organization section. It shows you how to design programs to reduce the number of bank switches that happen.

    http://www.keil.com/support/docs/158.htm


    The following knowledgebase article explains just what to do to use Code Banking with the Cygnal devices.

    http://www.keil.com/support/docs/2441.htm

    Jon

Reply
  • The overhead of banking slows the program down as much as using the Cygnal speed it up.

    Code banking only slows down calls to functions when a bank switch must occur. And, you, as the developer, are 100% in control of where those functions reside.

    Also, only the CALL and RETURN instructions (for functions where a bank switch is required) are slowed and that's only by a very few instructions.

    The following knowledgebase article describes a little of how the code banking mechanism works. The examples demonstrate what happens for various types of bank switches.

    http://www.keil.com/support/docs/1059.htm


    The following article discusses how to create code banking programs in general. Pay special attention to the Program Organization section. It shows you how to design programs to reduce the number of bank switches that happen.

    http://www.keil.com/support/docs/158.htm


    The following knowledgebase article explains just what to do to use Code Banking with the Cygnal devices.

    http://www.keil.com/support/docs/2441.htm

    Jon

Children