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 + LPC2294 + Data Abort

Posted by Marcos on June 19, 2008
I've changed the script for memory boundaries of Phytec PCM-023 board, using the workbench edit script tool, and the vTaskStartScheduler() doesn't return, the board led stops flashing... it seems that it's branching to a wrong address...

When I change configTOTAL_HEAP_SIZE to 14196 or to 14204 it stops working, and when I change its value to 14200 works fine!!!

I've noticed that application stops in "Data abort" trap...

RE: FreeRTOS + LPC2294 + Data Abort

Posted by Dave on June 19, 2008
Can you step through the code to see where it aborts. If not, check the abort link register to find the address of the instruction that caused the abort, then set a break point there (I think its the link register value - 8).

RE: FreeRTOS + LPC2294 + Data Abort

Posted by Marcos on June 20, 2008
No, step through the code is hard to do because of the interrupts, so I found out something with your second tip: (Link register - 8) is located in internal flash, but I'm using external flash!!! I've checked the link script and could't find any entry to internal flash... Is there any fixed address in FreeRTOS demo source code? I've used demo aplication to configure my project.

RE: FreeRTOS + LPC2294 + Data Abort

Posted by Dave on June 20, 2008
Is it possible that a RAM corruption is causing a return address or something similar to send you to a bum location. Could be a stack overflow?

RE: FreeRTOS + LPC2294 + Data Abort

Posted by Marcos on June 20, 2008
I don't know if stack amount in link script is enough, but what do you think ? I'm using values from demo aplication, and I'm starting only flash led task. It seems to be a very simple dummy task.

There is a configMINIMAL_STACK_SIZE with value 100, what value should be there?

And in link script table we have this values:

CSTACK: 0x200
SVC_STACK: 0x200
IRQ_STACK: 0x200
HEAP: 0x0

I don't know how to configure parameters in FreeRTOSConfig.h, is there any howto or documentation about this?

[ 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