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


SAM7 and GDB

Posted by Nobody/Anonymous on November 7, 2006
I'm using the great FreeRTOS on an at91sam7s(arm7tdmi) in conjunction with a
spi color lcd (nokia's) and a mmc card, and I get random DataAbort which I
need to debug.

I'm using gcc and openocd+gdb and I'd like gdb to know about the USER stack
when the program is beeing stopped debugged in ABORT mode.

More generally, it would be interesting to switch from stack to stack using
the gdb "thread" command.

RE: SAM7 and GDB

Posted by Richard on November 7, 2006
I am not proficient enough in GDB to answer your questions directly, but looking at the user stack is quite straight forward in raw memory format.

Inspect the variable pxCurrentTCB. This will tell you where the last stored top of stack was and where the bottom of the stack is. You can then simply inspect this memory in the memory window. You can see the high water mark of the stack as the stack is filled with 0xa5 prior to the task commencing.

Most data aborts originate from stack overflow. Try increasing the stack allocated to your tasks.


RE: SAM7 and GDB

Posted by david on November 8, 2006

Yes in the meantime I investigated more, and it happenned to be really a stack size problem.

Do you think it's worth adding optional (for debugging) automatic check code for the stack use in
vApplicationTickHook() or in a better place ?

I'll investigate the use of gdb, so to try and make it aware of "threads" using pxCurrentTCB.

Thanks a lot,

Best regards,


[ 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