作者DrBlackJack (怪医黑杰克)
看板ASM
标题[问题] Keil C BANKED LINKER/LOCATER 问题
时间Fri Mar 9 15:27:21 2012
请问各位先进
目前小弟遇到一个问题如下:
前言:
一般来说,跨bank所呼叫的function,Keil C Compiler会帮忙做bank switch的动
作,即会在common bank有其function的直接定址位址(大概是这样@@)。
问题:
假设我在Bank 1宣告一个FunA及一个Table存其FunA的Address如下:
void FunA(void)
{
;
}
code void(*FunTestTable[])(void)
{
FunA,
};
仅是如此宣告,FunTestTable[] 也还没被任何地方呼叫过
但Compiler会直接对於这个Table所放的function都做bank switch的动作
这样之後Table里面放的function越多,common bank所占的这些空间也越多
有什麽方式可以让Compiler不做这些动作吗?
谢谢各位。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.250.12.82