原文地址:STM32 重定义printf导致无法跳到main函数问题
作者:kiwi
int fputc(int ch,FILE *f)
{
USART_SendData(USART1,(u8)ch);
while(USART_GetFlagStatus(RS232,USART_FLAG_TC)==RESET)
{
}
return ch;
}
因printf()之类的函数,使用了半主机模式。使用微库的话,不会使用半主机模式,所以就没有问题。
添加下面代码,就可以使用标准库了:
#pragma import(__use_no_semihosting)
_sys_exit(int x)
{
x = x;
}
struct __FILE
{
int handle;
};
FILE __stdout;
添加下面代码,就可以使用标准库了:
#pragma
_sys_exit(int
{
x
}
struct
{
int
};
FILE
以上问题可在
在"RealView? 编译工具库和浮点支持指南"书中找到。