/******************************************************************************/ /* RETARGET.C: 'Retarget' layer for target-dependent low level functions */ /******************************************************************************/ #include #include #include "stm32f10x.h" // Device header #pragma import(__use_no_semihosting_swi) extern int sendchar(int ch); /* in serial.c */ struct __FILE { int handle; /* Add whatever you need here */ }; FILE __stdout; int fputc(int ch, FILE *f) { #if DEBUG_ITM return (ITM_SendChar(ch)); #else return 0; #endif /* DEBUG_ITM */ } int fgetc (FILE *f) { #if DEBUG_ITM while (ITM_CheckChar()==0) { } return ITM_ReceiveChar(); #else return 0; #endif /* DEBUG_ITM */ } int ferror(FILE *f) { /* Your implementation of ferror */ return EOF; } void _ttywrch(int ch) { ITM_SendChar(ch); } void _sys_exit(int return_code) { label: goto label; /* endless loop */ }