Цитата(esaulenka @ May 15 2012, 21:47)

Ура! У меня наконец дошли руки попробовать SWV.
printf работает просто замечательно (быстро и не жрёт ком-порт)!
Только такой вопрос: вывод этого ITM Viewer в файл можно сохранить? Даже выделить, блин, нельзя...
Очень хочется цифирь, что оттуда лезет, поанализировать...
Использую Keil3 (как-то так сложилось), но по такому случаю могу перейти и на Keil4.
А вот у меня не получается...
stm32f4-discovery.
Я объявляю:
#define ITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n)))
#define ITM_Port16(n) (*((volatile unsigned short*)(0xE0000000+4*n)))
#define ITM_Port32(n) (*((volatile unsigned long *)(0xE0000000+4*n)))
#define DEMCR (*((volatile unsigned long *)(0xE000EDFC)))
#define TRCENA 0x01000000
struct __FILE { int handle; /* Add whatever needed */ };
FILE __stdout;
FILE __stdin;
int fputc(int ch, FILE *f) {
if (DEMCR & TRCENA) {
while (ITM_Port32(0) == 0);
ITM_Port8(0) = ch;
}
return(ch);
}
далее, если в коде ставлю printf(), то у кейла 4.53 крышу сносит напрочь! он перестает видеть breakpoints, у него становится совершенно не отслеживаемая последовательность выполнения действий.
Что может это быть?