[問題] 8051 malloc外部記憶體的問題

看板ASM (組合語言)作者 (馬赫迪)時間15年前 (2009/04/04 03:05), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
有一個問題想了一整個晚上="=.... 我知道C語言中有malloc,它是在OS層面的函式,因為OS有記憶體規劃的程式才能使用, 如果今天寫的是8051的韌體, Keil C應該會在Compile的時候就進行記憶體的分配, 那假如我今天有一行程式 pointer = (char xdata *)malloc(len); 代表說我在外部記憶體規劃了一個空間來使用, 問題來了, keil C有辦法知道我在外部配置了多少的記憶體嗎? 還是能在編譯之前做相關的設定? 另一個問題類似,如果我的8051電路中有一外部RAM(例如62256), 位置是0x0000~0x7FFF, 而0x8000~之後還有其他的Peripheral(如82C55或LCM), 那Keil C在規劃的時候會,規劃到0x8000~後面的位置嗎? 在這裡先謝謝各位版友詳閱我的問題~ -- "妳把一切寫入了扉頁,而我卻解讀不出任何的幸福。" Sliver,is my belief。 http://mahdi0828.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.122.145.217

04/04 12:30, , 1F
不行,所以如果真的over時,會發生執行錯誤
04/04 12:30, 1F

04/04 12:31, , 2F
當我沒說,我好像弄錯你意思了
04/04 12:31, 2F

04/04 14:21, , 3F
印象中好像要先設定, 弄不好程式編會過, 但是執行會掛
04/04 14:21, 3F

04/04 23:42, , 4F
請詳讀Keil C 的說明書,裡面有寫
04/04 23:42, 4F

04/05 00:11, , 5F
在Options>Target 內能設定...我看到了謝謝..= =
04/05 00:11, 5F
文章代碼(AID): #19rbtZaR (ASM)
文章代碼(AID): #19rbtZaR (ASM)