Printf in keil for stm32f4-eval2 board

时间:2014-07-07 07:36:21

标签: c++ printf stm32 keil

在任何地方都有c ++或c代码可以帮助我在keil uvision 5中使用printf作为stm32f4-eval2板吗?我知道你必须重新开始使用uart和usart,但是即使在我在网上找到的网站的帮助下我也无法做到这一点。

我希望能够使用debug printf viewer。

我尝试了以下链接但不起作用:http://www.keil.com/support/man/docs/ulinkpro/ulinkpro_trace_itm_viewer.htm

1 个答案:

答案 0 :(得分:1)

如果您想通过UART进行打印或者想通过ITM调试通道进行打印,则不是非常具体。对于ITM来说,它非常简单。创建包含以下内容的文件,并确保在调试连接上启用了SWO跟踪:

#include <stdio.h> 

/* Replace next line: Include the device system header file here */
#error "device include file missing"
/* e.g.: #include "STM32F4xx.h" */

#pragma import(__use_no_semihosting_swi)

volatile int ITM_RxBuffer = ITM_RXBUFFER_EMPTY;  /*  CMSIS Debug Input        */

int fputc(int c, FILE *f) {
  return (ITM_SendChar(c));
}

int fgetc(FILE *f) {
  while (ITM_CheckChar() != 1) __NOP();
  return (ITM_ReceiveChar());
}

确保勾选目标选项中的“使用MicroLib”选项 - >目标