Page 1 of 1

SAM3U2C Malloc returning problemtatic address range

Posted: Fri Oct 16, 2015 8:34 pm
by adamrakoff
Hi everyone,

I am working on development using a SAM3U2C in Keil and have run into a very strange problem. I need to store approx. a 13kb file in RAM.

I use malloc to dynamically allocate this amount of memory (the size is approximate but variable):

downloadImage = (U8 *) malloc(downloadSize);

This works with no problem but when i actually attempt to write to a small (but consistent) range of addresses within this memory, the chip stops functioning. After some debugging I found that the memory allocated is from: 0x20000190 - 0x2000346c.

The area that crashes the system when written to starts at address: 0x2000034c.

Incidentally, if i try to initialize the entire range to 0 using calloc, the system crashes. This leads me to believe that writing anything to this problematic range will crash the system. I can't find documentation on any addresses that might be problematic but as I'm using malloc I can't control which address range I am receiving.

I would appreciate any help on this issue and will give any additional information requested.