[問題] KeilC Code Banking Function Assignment

看板ASM (組合語言)作者 (懂得放手..才是王道)時間11年前 (2014/03/01 20:35), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
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

03/02 16:47, , 1F
參考此網頁 http://ppt.cc/uoxf
03/02 16:47, 1F

03/02 21:01, , 2F
十分感謝
03/02 21:01, 2F
文章代碼(AID): #1J4TGGFx (ASM)
文章代碼(AID): #1J4TGGFx (ASM)