Lyrri 0 29 сентября, 2014 Опубликовано 29 сентября, 2014 · Жалоба Здравствуйте. Хочу сделать вывод отладочной информации через SWO используя ITM, поскольку ядро позволяет. The ITM is a an application driven trace source that supports printf style debugging to trace Operating System (OS) and application events, and emits diagnostic system information... link Для этого нужно сконфигурировать регистры модуля ITM. В часть регистров запись возможна только в привилегированном режиме: ITM Trace Privilege Register Use the ITM Trace Privilege Register to enable an operating system to control which stimulus ports are accessible by user code. Note: You can only write to this register in privileged mode. see ITM Trace Privilege Register Как "красивее" попасть в привилегированный режим, если в процессе работы уже используются SVC, PendSV, SysTick прерывания (на камне запущена RTOS)? Возможно ли вообще попасть в этот режим при таких начальных условиях? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fatlortroll 0 30 сентября, 2014 Опубликовано 30 сентября, 2014 (изменено) · Жалоба Вот здесь пишут, что привилегированный режим по умолчанию доступен сразу после сброса контроллера: Thread mode is privileged out of reset, but you can change it to user or unprivileged by... Изменено 30 сентября, 2014 пользователем fatlortroll Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SII 0 30 сентября, 2014 Опубликовано 30 сентября, 2014 · Жалоба Это надо смотреть документацию на используемую ОС. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lyrri 0 30 сентября, 2014 Опубликовано 30 сентября, 2014 · Жалоба SII: Это надо смотреть документацию на используемую ОС. Использую FreeRTOS, но что это поменяет? Эти обработчики уже задействованы в работе RTOS и лезть в них руками не хотелось бы. fatlortroll: Вот здесь пишут, что привилегированный режим по умолчанию доступен сразу после сброса контроллера: Thread mode is privileged out of reset, but you can change it to user or unprivileged by... Спасибо. Это я видел. Но хотел сделать инициализацию в виде функции dbg_init(); внутри которой инициализируются регистры ITM. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться