Printf in keil для платы stm32f4-eval2

Есть ли где-нибудь код на c ++ или c, который поможет мне использовать printf в keil uvision 5 для платы stm32f4-eval2? Я знаю, что вы должны перенастроить уартс и усартс, но я не смог сделать это без ошибок, даже с помощью сайтов, которые я нашел в Интернете.

Я хотел бы иметь возможность использовать средство просмотра отладки printf.

Я попробовал следующую ссылку, но она не работала: http://www.keil.com/support/man/docs/ulinkpro/ulinkpro_trace_itm_viewer.htm

0

Решение

Вы не очень конкретны, хотите ли вы печатать через 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» в Параметры для Target-> Target

1

Другие решения


По вопросам рекламы [email protected]