/** * \file * * SDCC bank switching macro define file * * \author * * Anthony "Asterisk" Ambuehl * * SDCC (small device cross compiler) has built-in support for bank switching using predefined macros __banked. * To avoid compilation issues on other compilers include this file which will replace __banked with the empty string on unsupported compilers. * * In addition, the file can add the codeseg pragma to place code into specific banks, if specific macro is set. * However the same result can be achieved by using the segment.rules file. * */ #ifndef __BANKED_H #ifdef SDCC #ifndef HAVE_SDCC_BANKING #define __banked #else #ifdef BANKED_IN_HOME #pragma codeseg HOME #endif #ifdef BANKED_IN_BANK1 #pragma codeseg BANK1 #endif #ifdef BANKED_IN_BANK2 #pragma codeseg BANK2 #endif #ifdef BANKED_IN_BANK3 #pragma codeseg BANK3 #endif #endif #else #define __banked #endif #endif /*__BANKED_H*/