I need to write a small function running in XRAM that uses the C runtime library routines that are present in existing ROM code. I know the absolute locations of the library routines from the ROM link map. What is the syntax to force the BL51 linker to use these locations but not link in the code? For example, the internal multiply routine is at 0x17D8 in the ROM, common bank. I need to use this statement in a function:
... a = b * 5; ...
Could you just have a little assembler file that defines a Public label called "?C?IMUL" at the appropriate address? After all, as far as the linker is concerned, all symbols are just symbolic names for addresses - so all it needs is some (code) address to associate with the name "?C?IMUL"
This worked great! Thanks to all for the fast response.