Страницы

четверг, 17 апреля 2014 г.

Debug (printf) Viewer

Используя технологию ITM (Instrumentation Trace Macrocell) можно организовать вывод функции printf используя небольшой код, вводимый в
программу пользователя. Для этого в начало файла с функцией main необходимо добавить строку:

#define ITM_Port8(n) (*((volatile unsigned char *)(0xE0000000+4*n))) 

после этого становится возможным вывод переменных с помощью функции printf переменных: 

ITM_Port8(0) = value + 0x30; /* displays value in ASCII */ 
while (ITM_Port8(0) == 0); 
ITM_Port8(0) = 0x0D; 
while (ITM_Port8(0) == 0); 
ITM_Port8(0) = 0x0A;

В настройках отладчика на вкладке Debug-Trace необходимо установить "птичку" для порта ITM0, снять "птичку" с пунктов On Data R/W Sample, EXCTRC и PC Sample. (для снятия излишней нагрузки на SWO port).
После этого в отладчике выбрав на вкладке View/Serial Windows Debug (printf) Viewer после запуска программы в отладчике мы увидим в окне результат работы функции printf.

Комментариев нет:

Отправить комментарий

ваше мнение...