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

freeRTOS and STM32f3

Posted by Levan on April 8, 2013
Hello Everyone. For the third day trying to run freeRTOS on STM32F3 .
Using IAR compiler. Like all good but during compilation writes only one mistake that I see and could not. Please start my project on your computer and tell me where the error?
By the way the error is: portasm.o is not object or archive file
HELP ME, Please :(
https://www.dropbox.com/s/on3dksozqprvqr5/RealDron.rar

RE: freeRTOS and STM32f3

Posted by Richard on April 8, 2013
“Error[Li005]: no definition for "vApplicationTickHook" [referenced from C:\temp\RealDron\RealDron\Debug\Obj\tasks.o]


Presumably you have configUSE_TICK_HOOK set to 1 in FreeRTOSConfig.h, but have not provided the implementation of the tick hook function. Either set configUSE_TICK_HOOK to 0 or provide a function called vApplicationTickHook().


“Error[Li005]: no definition for "SystemInit" [referenced from C:\temp\RealDron\RealDron\Debug\Obj\startup_stm32f30x.o] ”


Presumably your startup file is calling SystemInit(), but you don't have a function called SystemInit() in your application.

“Error[Li005]: no definition for "vApplicationStackOverflowHook" [referenced from C:\temp\RealDron\RealDron\Debug\Obj\tasks.o]


Presumably you have configCHECK_FOR_STACK_OVERFLOW set to a non-zero value and have not provided a definition of vApplicationStackOverflowHook(). Either set configCHECK_FOR_STACK_OVERFLOW to 0 or provide an implementation of vApplicationStackOverflowHook().

“Error[Li005]: no definition for "SystemCoreClock" [referenced from C:\temp\RealDron\RealDron\Debug\Obj\port.o] ”


Etc. etc.


“Error[Li005]: no definition for "vPortFree" [referenced from C:\temp\RealDron\RealDron\Debug\Obj\timers.o]
Error[Li005]: no definition for "pvPortMalloc" [referenced from C:\temp\RealDron\RealDron\Debug\Obj\queue.o]


You much have heap_1.c, heap_2.c, heap_3.c or heap_4.c in your project.

“Error[Li005]: no definition for "vApplicationIdleHook" [referenced from C:\temp\RealDron\RealDron\Debug\Obj\tasks.o]


Etc.
Etc.

http://www.freertos.org/Creating-a-new-FreeRTOS-project.html
http://www.freertos.org/porting-a-freertos-demo-to-different-hardware.html

Regards.

RE: freeRTOS and STM32f3

Posted by Levan on April 9, 2013
Hi, richardbarry! Many thanks for your help! Fixed some bugs. But there were some, I do not understand what to do with them.
I do not know what to do with SystemInit () to insert it and how to use it. Remove it is also impossible.
What to do with SystemCoreClock and vApplicationMallocFailedHook ().
If not hard to help me again. If you can not difficult to improve the project?
I send a new project file.
Thank you so much!
https://www.dropbox.com/s/on3dksozqprvqr5/RealDron.rar

RE: freeRTOS and STM32f3

Posted by Levan on April 9, 2013
Please explain why you need SystemCoreClock() and vApplicationMallocFailedHook ().
And that means this: unable to allocate space for sections / blocks with a total estimated minimum size of 0x14d40 bytes in <[0x20000000-0x20009fff]> (total uncommitted space 0xa000).
Thanx!

RE: freeRTOS and STM32f3

Posted by Levan on April 9, 2013
That's it! OS started!
But it is strange. Tasks are performed in one and the same time, that is, LED3 and LED8 blink in one and the same time. A LED5 generally always lit. What's the problem?
I removed the initialization function Systeminit ()
#define configTOTAL_HEAP_SIZE( ( size_t ) ( 20 * 1024 ) )
#define configUSE_MALLOC_FAILED_HOOK0
#define configUSE_TIMERS0
#define configUSE_IDLE_HOOK1
#define configUSE_TICK_HOOK0


main.c
void vTaskLED1(void *pvParameters) {

for (;;) {
STM_EVAL_LEDOn(LED3);
//GPIO_SetBits(GPIOF, GPIO_Pin_6);
vTaskDelay(500);
STM_EVAL_LEDOff(LED3);
//GPIO_ResetBits(GPIOF, GPIO_Pin_6);
vTaskDelay(500);
}

}

void vTaskLED2(void *pvParameters) {

for (;;) {

STM_EVAL_LEDOn(LED8);
//GPIO_SetBits(GPIOF, GPIO_Pin_6);
vTaskDelay(500);
STM_EVAL_LEDOff(LED8);
//GPIO_ResetBits(GPIOF, GPIO_Pin_6);
vTaskDelay(500);
}

}

void init_project (void)
{
STM_EVAL_LEDInit(LED3);
STM_EVAL_LEDInit(LED8);
STM_EVAL_LEDInit(LED5);
}

void vApplicationIdleHook( void )
{
STM_EVAL_LEDOn(LED5);
}

int main (void)
{
init_project();
xTaskCreate( vTaskLED1, ( signed char * ) "LED1", configMINIMAL_STACK_SIZE, NULL, 2,
( xTaskHandle * ) NULL);
xTaskCreate( vTaskLED2, ( signed char * ) "LED2", configMINIMAL_STACK_SIZE, NULL, 2,
( xTaskHandle * ) NULL);
vTaskStartScheduler();
}


My project https://www.dropbox.com/s/uymwbrk5b1gkfon/RealDron_WORKING%21.rar

RE: freeRTOS and STM32f3

Posted by Richard Damon on April 9, 2013
Why wouldn't LED3 and 8 blink together? There should be plenty enough time in a tick to do both tasks, and they delay the same amounts. Change the delays so they are different and they will go out of sync.

For LED5, I just see a turn on, so why shouldn't it be on all the time. Since it is turning on in idle, and you should have lots of idle time since you don't have any CPU hungry tasks, it will be turned on real frequently.


[ 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