[問題] Keil C BANKED LINKER/LOCATER 問題

看板ASM (組合語言)作者 (怪醫黑傑克)時間13年前 (2012/03/09 15:27), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
請問各位先進 目前小弟遇到一個問題如下: 前言: 一般來說,跨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
文章代碼(AID): #1FMR3RAs (ASM)
文章代碼(AID): #1FMR3RAs (ASM)