NintendoDS(NDS)非公式開発 Part3
■ このスレッドは過去ログ倉庫に格納されています
0142名前は開発中のものです。
2008/05/21(水) 11:39:45ID:dwc8/njxメインRAMで使える領域は、正確には4Mじゃなくて
後ろの方をシステムが使用してるから(4M - 4k)だよね
/devkitPRO/devkitARM/arm-eabi/lib/ds_arm9.ld を見ると
# MEMORY {
# rom : ORIGIN = 0x08000000, LENGTH = 32M
# ewram : ORIGIN = 0x02000000, LENGTH = 4M - 4k
# dtcm : ORIGIN = 0x0b000000, LENGTH = 16K
# itcm : ORIGIN = 0x01000000, LENGTH = 32K
# }
# __ewram_end = ORIGIN(ewram) + LENGTH(ewram);
# __eheap_end = ORIGIN(ewram) + LENGTH(ewram);
実際に、こう書いてあるし。
だから、2000000h 〜 3FFF800がmalloc()で確保される空間なんだろうが
/libnds/include/ipc.h をみると
# static inline
# TransferRegion volatile * getIPC() {
# return (TransferRegion volatile *)(0x027FF000);
# }
ヒープの後ろ4096kを、なんか無断でつかっちょる
前々から、これってmalloc()で27FF000h〜が確保されたら
ぐちゃぐちゃになるんじゃないかってヒヤヒヤしてるんだけど
どうなのこれ? 大丈夫なの?
■ このスレッドは過去ログ倉庫に格納されています