Go Down

Topic: Using ALL Due RAM... (Read 662 times) previous topic - next topic


If I understand correctly....  I believe, by default, one only has access to the first 64K of RAM.  Is that correct?  What do I have to do to use the remaining 32K?  I don't need any memory management whatsoever - I want to use the additional RAM purely as trace buffers for capturing trace data from mutiple state machines and PIDs, so all I need is a single large block of RAM I can use as I want.

Ray L.


No, you can use 96kb by default.

These lines are in the linker script:
   rom (rx)    : ORIGIN = 0x00080000, LENGTH = 0x00040000 /* Flash, 256K */
   sram0 (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000 /* sram0, 64K */
   sram1 (rwx) : ORIGIN = 0x20080000, LENGTH = 0x00008000 /* sram1, 32K */
   ram (rwx)   : ORIGIN = 0x20070000, LENGTH = 0x00018000 /* sram, 96K */

Notice that "ram" has a length of 96k. Then, if you look further in the linker script you find that everything uses "ram" and not "sram0" or "sram1".

Technically there is 4k more that exists, I believe for the flash controller. But, it isn't contiguous with the 96k and so not quite as easy to access and largely is ignored.


Great! Thanks!

Ray L.

Go Up