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




Loading

STM32F101R6 porting problem

Posted by Dmitry Kandiner on September 16, 2009
Hello all.
I've tried to use ARM_CM3 with IAR compiler, but it didn't work. Is there anyone who suceed to use thouse files, and for what controller?
Any help will be appretiated.

RE: STM32F101R6 porting problem

Posted by Richard on September 16, 2009
You are going to have to give way more information if you expect to receive a useful and targeted answer.

Regards.

RE: STM32F101R6 porting problem

Posted by Dmitry Kandiner on September 16, 2009
Hello Richard.<br>
I'm using a proprietary board based on STM32F101R6 (low-density ST's Cortex-M3 &mu;C). The project is built from scratch, using FreeRTOS V5.4.2 and ST STM32F10x Standard Peripheral Library sources. The code is located at internal flash, and basic tests (like, calling the led-toggling "task" without starting the scheduler) worked just fine.<br> However, when I try to define the same toggler function as RTOS task, the system stucks on <samp>vPortStartFirstTask</samp> exit (a call to <samp>svc 0</samp>)<br>Porting files used are the same as in FreeRTOS\Demo\CORTEX\_STM32F103\_IAR.<br> Besr regards Dmitry.

RE: STM32F101R6 porting problem

Posted by MEdwards on September 16, 2009
Sounds like you have not configured the interrupt vector table. Look at the examples in the FreeRTOS download, SVC, PendSV and SysTick vectors must all be populated with the correct FreeRTOS handlers.

RE: STM32F101R6 porting problem

Posted by Dmitry Kandiner on September 17, 2009
Thank you all!

I've managed to start it - the problem really was in configuring the interrupts.

ST's Standard Peripheral Library uses pre-defined names for interrupt handlers, so I had to alias FreeRTOS SVC and PendSV with the names used in library (in portasm.s) and renamed SysTick handler to match ST preferred name.

Also, it seems to be necessary to configure interrupt priorities, and set interrupt vectors table location (somehow it was working without defining those two - when not running RTOS).

Anyway, thank you all for your help.

Best regards, Dmitry.


[ 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