00001 /******************************************************************************/ 00002 /* RETARGET.C: 'Retarget' layer for target-dependent low level functions */ 00003 /******************************************************************************/ 00004 /* This file is part of the uVision/ARM development tools. */ 00005 /* Copyright (c) 2005-2006 Keil Software. All rights reserved. */ 00006 /* This software may only be used under the terms of a valid, current, */ 00007 /* end user licence from KEIL for a compatible version of KEIL software */ 00008 /* development tools. Nothing else gives you the right to use this software. */ 00009 /******************************************************************************/ 00010 00011 #include <stdio.h> 00012 #include <rt_misc.h> 00013 00014 #pragma import(__use_no_semihosting_swi) 00015 00016 00017 extern int sendchar(int ch); /* in serial.c */ 00018 00019 00020 struct __FILE { int handle; /* Add whatever you need here */ }; 00021 FILE __stdout; 00022 00023 00024 int fputc(int ch, FILE *f) { 00025 return (sendchar(ch)); 00026 } 00027 00028 00029 int ferror(FILE *f) { 00030 /* Your implementation of ferror */ 00031 return EOF; 00032 } 00033 00034 00035 void _ttywrch(int ch) { 00036 sendchar(ch); 00037 } 00038 00039 00040 void _sys_exit(int return_code) { 00041 label: goto label; /* endless loop */ 00042 }