• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: 關於c18 程式內切bank 的問題
#4
版主
版主


查看用戶資訊
你定義的變數裡是否有陣列,如有有的話先將陣列移到單獨的一個 BANK 去。

0x300與0x400 不同 BANK 的變數問題,要試一下是不是會有此問題。

發表於: 2005/9/5 17:45
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於c18 程式內切bank 的問題
#3
高級會員
高級會員


查看用戶資訊
版主您好:

如果變數真的不在同一個bank裡面的話, 有什麼方法能解決呢 ??
還是一定要放在同一個bank??

實在對 #pragma udata 有點不懂..
如果程式在定義變數時, 超出一個bank的範圍, c編譯器會告訴我們超出範圍.
如果改 .lkr 檔, 將一個section變大的話, "超出範圍"的錯誤訊息會消失.
可是這樣一來, 就會有變數在不同bank的情形發生.

我定義一個 udata 在 0x300
然後裡面的變數從 0x300 一直放到 0x400
如果我在 function 裡, 先用到 0x400 位罝的變數, 然後在同一個 function 又用到 0x300 的變數, 程式會處理的不是 0x300 變數, 而是 0x400..


C語言真的很好用, 可是有問題發生, 好難處理....


發表於: 2005/9/5 17:21
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 關於c18 程式內切bank 的問題
#2
版主
版主


查看用戶資訊
這問題應該是存取另外一個 C 程式,將變數宣告程 EXTERN 時會遇到,或你有宣告大的陣列時會遇到。通常藉由 #Progma udata 的指定就可以解決此變數擺放在 BANK 問題。

實際使用 C18 時可以不用考慮 BANK 的切換問題,Linker 會安排一切,使用著不用費心做 BANK 的切換。

發表於: 2005/9/5 16:07
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


關於c18 程式內切bank 的問題
#1
高級會員
高級會員


查看用戶資訊
各位前輩:
如果有一個變數被放到bank3, 又有一個變數被放到bank 4 的話, 是不是在一個function裡面, 不能同時被存取??

我看 c18 反組譯出來的程式, function 一開始有一個 movlb 0x03, 也就是這個function裡面第一個被用到的變數所在的bank.
如果這個function裡面, 有一個 bank 4 的變數的話, 程式不會再指到bank 4, 就直接在bank 3處理該記憶位置的值...

請問我應該如何解決這個情況??

謝謝!
祝: 好

Ming....!!

發表於: 2005/9/5 15:06
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------