# segment.rules file assigns source code modules to specific banks # segment.rules is constructed from any segment.rules found in the search path # the search path is defined in Makefile.cc2430 # segment.rules get processed by a perl snippet listed in the Makefile.cc2430 # the processed output is put into the obj_* directory # comments starting with "#" are supported # perl regular expression matching can be used on the file name specification # # general rules -- # some code must be placed in all banks (or SDCC/aslink will complain at link time) # code called from function pointers must be in HOME/CSEG/BANK0 # interrupt code must also be in HOME/CSEG/BANK0 # code not marked with __banked can only be called from code in the same bank # HOME intr.c # All interrupt code must live in HOME/BANK0 HOME bus.c # flash_read cannot be banked. HOME clock.c # cannot bank clock.c code because header file is part of core. HOME uart.c BANK3 uart_init.c BANK2 dma.c CSEG cc2430/dev/bus.c CSEG autostart.c BANK2 cc2430/dev/cc2430_rf.c BANK1 cc2430/ BANK1 .