FreeRTOS Support Archive
The FreeRTOS support forum is used to obtain active support directly from Real
Time Engineers Ltd. In return for using our top quality software and services for
free, we request you play fair and do your bit to help others too! Sign up
to receive notifications of new support topics then help where you can.
This is a read only archive of threads posted to the FreeRTOS support forum.
The archive is updated every week, so will not always contain the very latest posts.
Use these archive pages to search previous posts. Use the Live FreeRTOS Forum
link to reply to a post, or start a new support thread.
[FreeRTOS Home] [Live FreeRTOS Forum] [FAQ] [Archive Top] [January 2007 Threads] printf problem while multitaskingPosted by Scott Nortman on January 4, 2007 I am now trying to use stdio facilities in my application.
I am using the serial.c demo file which implements a basic interrupt driven API. I've implemented a semaphore to control access to the serial functions across multiple tasks.
This works:
static void task1( void *pv ) {
for(;;) { vTaskDelay( 100 );
if( xSemaphoreTake( xSerialSemaphore, 10 ) { printf("task1\r\n"); xSemaphoreGive( xSerialSemaphore ); } }
static void task2( void *pv ) { for(;;) { vTaskDelay( 200);
if( xSemaphoreTake( xSerialSemaphore, 10 ) { printf("task2\r\n"); xSemaphoreGive( xSerialSemaphore ); } }
But this does NOT:
static void task1( void *pv ) {
for(;;) { vTaskDelay( 100 );
if( xSemaphoreTake( xSerialSemaphore, 10 ) { printf("%c\r\n", 0x31); //changed here xSemaphoreGive( xSerialSemaphore ); } }
static void task2( void *pv ) { for(;;) { vTaskDelay( 200);
if( xSemaphoreTake( xSerialSemaphore, 10 ) { printf("task2\r\n"); xSemaphoreGive( xSerialSemaphore ); } }
Any suggestions / thoughts?
--Scott
RE: printf problem while multitaskingPosted by Nobody/Anonymous on January 4, 2007 printf can take a looooot of stack, especially if using gcc. Can you confirm that this is not just overflowing the stack.
I have also seen implementation where printf was not reentrant. I think this was mplab C18 compiler.
Dave.
RE: printf problem while multitaskingPosted by Scott Nortman on January 4, 2007 Thanks, that appeared to fix the issue... I just increased the stack size.
--Scott
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.
|