#100104 - veniteo - Sat Aug 26, 2006 5:04 am
I'm currently using the GBA cart / passkey method for testing my DS ROMs on the actual hardware. I'm curious how the linkerscript sets up the various areas of memory used by the ARM9 and ARM7.
* The way I understand it, the actual contents of the code get copied from the cart to main memory on startup -- does this include both ARM7 and ARM9 code?
* If I use one of the filesystem libraries currently being developed, the files attached to the ROM do not get copied into memory, correct?
* If I declare global variables in the code (unintialized, initialized, or constant), do they all go directly into memory for both processors?
* When I use malloc() in C or 'new' in C++, what area of memory does the data get allocated in? How does it avoid overwriting any other data already there?
* Is there any way I can control what area of memory a declared variable will be allocated to? I.e., shared WRAM, VRAM, ITCM, DTCM, etc. instead of EWRAM?
Thanks for your help.
* The way I understand it, the actual contents of the code get copied from the cart to main memory on startup -- does this include both ARM7 and ARM9 code?
* If I use one of the filesystem libraries currently being developed, the files attached to the ROM do not get copied into memory, correct?
* If I declare global variables in the code (unintialized, initialized, or constant), do they all go directly into memory for both processors?
* When I use malloc() in C or 'new' in C++, what area of memory does the data get allocated in? How does it avoid overwriting any other data already there?
* Is there any way I can control what area of memory a declared variable will be allocated to? I.e., shared WRAM, VRAM, ITCM, DTCM, etc. instead of EWRAM?
Thanks for your help.