Hi all, I am trying to craft a (somewhat) complicated OVERLAY directive for the BL51.exe linker. Basically, the situation is this: I have one function that I am trying to add to the call tree, because it may get called in the future through function pointers, and I have another two functions that I am trying to designate as new root segments.
I can successfully do one or the other of these using one of the following:
OVERLAY(_caller_func ! _called_func) OVERLAY(* ! (_new_root_1, _new_root_2))
However, possibly through my own inability to count parentheses, I cannot combine these two directives so that both are executed. I get L201 (invalid command line syntax) fatal errors when using any variation of the following the I can think of:
OVERLAY((_caller_func ! _called_func),(* ! (_new_root_1, _new_root_2)) )
Any suggestions? -S
Fair enough.
"have to come up with a way to 'trick' it into resolving one of the issues using the code itself"
sicking it in the initaliser of a table might do the trick...
"sicking it in the initaliser of a table might do the trick..."
That's what I'm thinking. Will lose a couple extra bytes of flash (not a big deal), and a couple cycles on boot (also not a big deal), will just have to make sure I document it well =P
should be "sticking", of course!