[問題] Keil C BANKED LINKER/LOCATER 問題
請問各位先進
目前小弟遇到一個問題如下:
前言:
一般來說,跨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
ASM 近期熱門文章
PTT數位生活區 即時熱門文章