AT91SAM7SE512 heap in SDRAM and variable allo
Posted by gulash
on August 18, 2010
I have a following problem: I'm devoloping device based on Atmel AT91SAM7SE512 CPU. It has SDRAM connected with 16-bit wide data bus. I want to put heap in this SDRAM. I've used heap_2.c but I experienced memory leaks when using vPortFree() - it looked like this function returnred more memory that was previously allocated. Then I started using heap_3.c andehence - malloc. I use Rowley CrossWorks in current version. First I had to manually initialize heap because initializastion in provided startup file happened before SDRAM controller initialization. It seemd to be working but recently I've experienced some weird effects. When I call subroutine from a task it looks like variables in that subroutine ale allocated under one address and used by the fallowing code with different address. The difference is few words but leads to serious memory leaks. In other words variable is allocated under eg. 0x20010000 and later referenced as 0x2000FFFC. Can someone give me any suggestion wehere to look for a soulution ?
RE: AT91SAM7SE512 heap in SDRAM and variable allo
Posted by Dave
on August 18, 2010
I would look at your hardware configuration. Especially where the memory controller is initialized to get around your first problem. Very doubtful this is a FreeRTOS problem.
Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd..
See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.