Re: 關於c18 程式內切bank 的問題
|
||||
---|---|---|---|---|
版主
|
你定義的變數裡是否有陣列,如有有的話先將陣列移到單獨的一個 BANK 去。
0x300與0x400 不同 BANK 的變數問題,要試一下是不是會有此問題。
發表於: 2005/9/5 17:45
|
|||
|
Re: 關於c18 程式內切bank 的問題
|
||||
---|---|---|---|---|
版主
|
這問題應該是存取另外一個 C 程式,將變數宣告程 EXTERN 時會遇到,或你有宣告大的陣列時會遇到。通常藉由 #Progma udata 的指定就可以解決此變數擺放在 BANK 問題。
實際使用 C18 時可以不用考慮 BANK 的切換問題,Linker 會安排一切,使用著不用費心做 BANK 的切換。
發表於: 2005/9/5 16:07
|
|||
|
關於c18 程式內切bank 的問題
|
||||
---|---|---|---|---|
高級會員
|
各位前輩:
如果有一個變數被放到bank3, 又有一個變數被放到bank 4 的話, 是不是在一個function裡面, 不能同時被存取?? 我看 c18 反組譯出來的程式, function 一開始有一個 movlb 0x03, 也就是這個function裡面第一個被用到的變數所在的bank. 如果這個function裡面, 有一個 bank 4 的變數的話, 程式不會再指到bank 4, 就直接在bank 3處理該記憶位置的值... 請問我應該如何解決這個情況?? 謝謝! 祝: 好 Ming....!!
發表於: 2005/9/5 15:06
|
|||
|