FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [October 2008 Threads] Excessive Memory Usage with PIC32 portPosted by Grant Brown on October 23, 2008 Hi,
Port : PIC32
I have stripped all of the custom tasks etc out of the PIC32 demo and removed the source files etc for the above tasks.
This has resulted in a program with only 3 custom tasks (I wrote them and 1 is copied below for reference) which simply flash LED's. All there tasks are contained in the main file (main.c)
But when I compile the program and then check the memory usage I end up with the following memory usage as reported by the MPLabs Memory Usage Gauge,
Program Memory : 18600 Bytes (out of 536560) Data Memory : 31404 Bytes (out of 32768)
This really seems excessive given that whats left is basically an empty project with the RTOS just ticking over.
Am I missing something or is it normal for 95% of the data memory to be used up like this.
The project files are,
Source files,
..\..\Source\list.c ..\..\Source\portable\MemMang\heap_2.c ..\..\Source\portable\MPLAB\PIC32MX\port.c ..\..\Source\portable\MPLAB\PIC32MX\port_asm.c ..\..\Source\queue.c ..\..\Source\tasks.c
Header Files
..\..\Source\include\croutine.h ..\..\Source\include\FreeRTOS.h ..\..\Source\include\list.h ..\..\Source\include\portable.h ..\..\Source\include\projdefs.h ..\..\Source\include\queue.h ..\..\Source\include\semphr.h ..\..\Source\include\task.h ..\..\Source\portable\MPLAB\PIC32MX\portmacro.h C:\Program Files\Microchip\FreeRTOS\Demo\PIC32MX_MPLAB\FreeRTOSConfig.h
Here is a typical custom task
static void Grants_Task( void *pvParameters ) { portTickType xLastExecutionTime; xLastExecutionTime = xTaskGetTickCount(); for( ;; ) { vTaskDelayUntil( &xLastExecutionTime, 1000 ); PORTToggleBits(IOPORT_D, BIT_0); } }
Kind Regards Grant Brown
RE: Excessive Memory Usage with PIC32 portPosted by Dave on October 23, 2008 This really should be an FAQ. All you are seeing is the heap RAM which will mostly be free RAM and can be set using the configTOTAL_HEAP_SIZE setting in FreeRTOSConfig.h. http://www.freertos.org/a00111.html
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|