作者MaxHaru (懂得放手..才是王道)
看板ASM
標題[問題] KeilC Code Banking Function Assignment
時間Sat Mar 1 20:35:26 2014
Keil C中, 若Project的Code大於64K,
則需使用Code Banking來切割,
function可以利用如下的方式來達成定義function位置的assign
?PR?FuncName?FileName(0x4000)
請問, 該怎麼將不同Bank的function指定在各別Bank的同一個位置呢?
例如: 現在利用位址置範圍0x4000~0x7FFF來處理Code Banking
我有兩個function, func1(), func2()各自放在不同的Bank中,
如果想將func1()與func2()放在不同bank的同樣的位置(EX:0x4010)
請問這樣有辦法做到嗎?
我試著利用下面的方法去做
?PR?func1?file1(0x4000)
?PR?func2?file2(0x4000)
但是卻會在Link的時候出現如下的Warning
*** WARNING L19: COMMON CODE SEGMENTS LOCATED TO BANKED AREA
*** WARNING L5:
CODE SPACE MEMORY OVERLAP FROM: 4000H TO: 4096H
*** WARNING
L5: CODE SPACE MEMORY OVERLAP FROM: 4000H TO: 4096H
請問是我哪裡用錯了嗎?
懇請賜教
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.121.19.97
2F:→ MaxHaru:十分感謝 03/02 21:01