作者clarkman (涼雨)
看板C_and_CPP
標題[問題] 8051 XBPSTACKTOP 設定
時間Mon Jun 6 13:29:39 2016
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
8051 C
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
無
問題(Question):
不好意思,因為接觸8051不久,遇到function pointer的overlay問題,
已經設定overlay,讓Tree建立好
由於function的參數較多且大,所以必須搭配reentrant使用stack將參數傳入。
由與採用large的模式,因此在startup.a51將XBPSTACK設為1,
並且要設定XBPSTACKTOP,目前有設定一個位置,也可正常使用,但怕有錯。
XBPSTACKTOP網路找不太到資料,keil的官網也只提到從top位置設定,
假如我想要配置0x2300~0x23ff給他當stack,請問我是填0x23ff到這個地方嗎?
另外我要怎麼避免這塊位置被使用到?
沒有位置輸入XBPSTACKTOP的長度,官網也有提到應該要自己注意長度不能爆掉,
但是如何避免執行時使用到此塊RAM?
需要到Options的Target的Xdata memory將ram的位置避開嗎?
譬如start設0,size只設到0x2300,故意保留0x2300~0x23FF嗎?
麻煩大家了,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 219.87.157.211
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1465190982.A.16D.html
推 noodleT: 可以去 ASM 板問看看,比較有機會 06/09 23:04
→ clarkman: 好的,謝謝! 06/10 14:49