Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Real time embedded FreeRTOS mailing list 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT Training


FreeRTOS+Trace Error

Posted by sindhukrishna on November 8, 2014

I use Hercules Launchpad TMS570LS0432 kit and FreeRTOS v8.1.2, and I use Halcogen for code generation. I tried inserting code for Trace Options available with Tracealyzer from Percepio(FreeRTOS+Trace). After adding the necessary header and source file provided by percepio into the project, code build results in error

error #10099-D: program will not fit into available memory. run placement with alignment fails for section ".kernelHEAP" size 0x2800 . Available memory ranges: RAM size: 0x6300 unused: 0x1a50 max hole: 0x1a50

The software uses on chip RAM for recording the Trace. Kindly suggest a solution to get rid of this error

FreeRTOS+Trace Error

Posted by rtel on November 8, 2014

So you have to save some RAM from somewhere.

Are you using heap1, heap2, heap3, heap4 or heap5.c in the project? (http://www.freertos.org/a00111.html). If you are using heap3.c then configTOTALHEAPSIZE won't make any difference. If you are using any of the others then you can tune configTOTALHEAPSIZE so it does not use any more RAM than necessary. Call xPortGetFreeHeapSize() after all the tasks, queues, semaphores, etc. have been allocated to see how much space is left, and reduce configTOTALHEAPSIZE accordingly. Also if you are using anything other than heap_3.c you can set the size of the heap used by the C library to 0 as it is not used by FreeRTOS at all (unless of course it is being used by any of the HalCoGen generated code).

You can also look in the trace configuration file to reduce the size of the buffer used to hold the trace recorder data - there is a #define that sets the buffer size - the header file is well documented so you will find it easy enough (near the top of the config file).


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]

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.

Latest News:

FreeRTOS V9.0.0 is now available for download.

Free TCP/IP and file system demos for the RTOS

Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists