Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem



Posted by Filippo Spalla on September 15, 2009
I'm trying to port FreeRTOS on STM3210E-EVAL using STM32F10x_LIB_V3.0.1, GCC e RIDE 7.

It is the usual LED blinking task but I've got a crash within the vPortSVCHandler(). Instead run the Task I'm in HardFault_Handler().

Am I missing something??

I created the demo starting from CORTEX_STM32F103_IAR and I'm using port.c and portmacro.h as specified in FreeRTOS\Source\portable\GCC\ARM_CM3.
Then I have modified stm32f10x_it.c adding:

extern void xPortPendSVHandler( void ) __attribute__ (( naked ));
extern void xPortSysTickHandler( void );
extern void vPortSVCHandler( void ) __attribute__ (( naked ));

void SVC_Handler(void)

void PendSV_Handler(void)

void SysTick_Handler(void)

in order to connect the Interrupt handlers with the specific freeRTOS port handlers.

Thanks in adavance


Posted by MEdwards on September 15, 2009
Cortex ports do not need the naked attribute to be used so I suspect that is your problem. It would also be more efficient to either change the names of the handlers in port.c to match the names expected in the vector table (the functions are normally declared weak, so if you define a function with the same name it will get used) or populate the vector table with the names as they appear in the port.c file.

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

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

FreeRTOS v10.2.0 is available for immediate download. MIT licensed, and including RISC-V and ARMv8-M (Cortex-M33) demos.

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Cadence Tensilica Cortes

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers





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

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

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner