1. Include header files
#include "stdio.h"
2. Redefine the serial port
int fputc( int ch, FILE * f) { while ((USART1->SR & 0X40 ) == 0 ); // Send in a loop until the sending is complete USART1->DR = (uint8_t) ch; return ch; }
3. If only the first two steps are completed, the emulator can be used to run, but the program cannot run by itself. Also add the following code
#pragma import(__use_no_semihosting) void _sys_exit(int x) { x = x; } struct __FILE { int handle; /* Whatever you require here. If the only file you are using is */ /* standard output using printf() for debugging, no file handling */ /* is required. */ }; FILE __stdout; /* FILE is typedef’ d in stdio.h. */
This setting can avoid using the LIB library