rules file for assigning code files to specific banks.
This commit is contained in:
parent
2f853dc930
commit
acc1fe923c
2 changed files with 34 additions and 0 deletions
23
cpu/cc2430/segment.rules
Normal file
23
cpu/cc2430/segment.rules
Normal file
|
@ -0,0 +1,23 @@
|
|||
# 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 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 .
|
11
cpu/cc2430/segment.rules.pl
Normal file
11
cpu/cc2430/segment.rules.pl
Normal file
|
@ -0,0 +1,11 @@
|
|||
$match_me = pop @ARGV;
|
||||
#print "searching for $match_me\n";
|
||||
while (<>) {
|
||||
s/#.*$//; # filter out comments
|
||||
s/^\s*//; # filter out leading white space
|
||||
@F=split /\s+/; # split on white space
|
||||
if (($_ =~ m/\S\s+\S/) && ($match_me =~ m/$F[1]/)) {
|
||||
print $F[0]."\n";
|
||||
exit; #return only first match
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue