Go Down

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

RayLivingston

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.

Regards,
Ray L.

Collin80

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.

RayLivingston

Great! Thanks!

Regards,
Ray L.

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy