Cortex M3处于特权模式

问题描述 投票:0回答:1

我想通过SWO(使用ITM)输出调试信息。 Core Cortex M3可以做到这一点。

ITM是一个应用程序驱动的跟踪源,支持printf样式调试以跟踪操作系统(OS)和应用程序事件,并发出诊断系统信息... link

为此,我必须配置ITM寄存器。其中一部分我只能在特权模式下编写。

ITM跟踪权限注册使用ITM跟踪权限注册使操作系统能够控制用户代码可以访问哪些激励端口。注意:您只能以特权模式写入此寄存器。 see ITM Trace Privilege Register

如果IRQs SVC,PendSV,SysTick已经使用过,那么切换特权模式的最佳方法是什么? (我使用FreeRTOS)这是真的吗?

arm cortex-m3
1个回答
0
投票

您可以在启动FreeRTOS之前配置ITM(考虑FreeRTOS任务在非特权模式下运行)。 或者您添加对新SVC的支持。 FreeRTOS SVC使用svc 0,你可以添加对新svc的支持,让我们称之为svc 1,你的SVC_Handler()会将svc 0重定向到FreeRTOS或svc 1到你的ITM配置代码。

© www.soinside.com 2019 - 2024. All rights reserved.