[問題] 8051 XBPSTACKTOP 設定

看板C_and_CPP (C/C++)作者 (涼雨)時間9年前 (2016/06/06 13:29), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
開發平台(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

06/09 23:04, , 1F
可以去 ASM 板問看看,比較有機會
06/09 23:04, 1F

06/10 14:49, , 2F
好的,謝謝!
06/10 14:49, 2F
文章代碼(AID): #1NLGf65j (C_and_CPP)
文章代碼(AID): #1NLGf65j (C_and_CPP)