/* FreeRTOS.org V4.5.0 - Copyright (C) 2003-2007 Richard Barry. This file is part of the FreeRTOS.org distribution. FreeRTOS.org is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. FreeRTOS.org is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA A special exception to the GPL can be applied should you wish to distribute a combined work that includes FreeRTOS.org, without being obliged to provide the source code for any proprietary components. See the licensing section of http://www.FreeRTOS.org for full details of how and when the exception can be applied. *************************************************************************** See http://www.FreeRTOS.org for documentation, latest information, license and contact details. Please ensure to read the configuration and relevant port sections of the online documentation. Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along with commercial development and support options. *************************************************************************** */ #include #include /* Scheduler include files. */ #include "FreeRTOS.h" #include "task.h" /* Demo program include files. */ #include "fileio.h" void vDisplayMessage( const portCHAR * const pcMessageToPrint ) { taskENTER_CRITICAL(); printf( "%s", pcMessageToPrint ); fflush( stdout ); taskEXIT_CRITICAL(); } /*-----------------------------------------------------------*/ void vWriteMessageToDisk( const portCHAR * const pcMessage ) { const portCHAR * const pcFileName = "a:\\RTOSlog.txt"; const portCHAR * const pcSeparator = "\r\n-----------------------\r\n"; FILE *pf; taskENTER_CRITICAL(); { pf = fopen( pcFileName, "a" ); if( pf != NULL ) { fwrite( pcMessage, strlen( pcMessage ), ( unsigned portSHORT ) 1, pf ); fwrite( pcSeparator, strlen( pcSeparator ), ( unsigned portSHORT ) 1, pf ); fclose( pf ); } } taskEXIT_CRITICAL(); } /*-----------------------------------------------------------*/ void vWriteBufferToDisk( const portCHAR * const pcBuffer, unsigned portLONG ulBufferLength ) { const portCHAR * const pcFileName = "a:\\trace.bin"; FILE *pf; taskENTER_CRITICAL(); { pf = fopen( pcFileName, "wb" ); if( pf ) { fwrite( pcBuffer, ( size_t ) ulBufferLength, ( unsigned portSHORT ) 1, pf ); fclose( pf ); } } taskEXIT_CRITICAL(); }