Debugging 将SEGGER SystemView与STM32一起使用

Debugging 将SEGGER SystemView与STM32一起使用,debugging,stm32,segger-jlink,Debugging,Stm32,Segger Jlink,目前,我正在与FreeRTOS在STM32L476VGT上开发一个项目。 到目前为止,我一直在调试Ozone(SEGGER)和J-Link(Edu和Ultra+) 现在我想使用SystemView(SEGGER)来“调试”或记录系统事件,但它不起作用 首先,我认为有一些重要的配置: 16Mhz HSE-->内部80Mhz系统时钟 FreeRTOS V8.2.3 J-link(连接SCLK、SDIO和SWO) 项目是用cubeMx创建的,所以ST HAl库正在使用中(我知道对很多人来说是臃肿软件,

目前,我正在与FreeRTOS在STM32L476VGT上开发一个项目。 到目前为止,我一直在调试Ozone(SEGGER)和J-Link(Edu和Ultra+)

现在我想使用SystemView(SEGGER)来“调试”或记录系统事件,但它不起作用

首先,我认为有一些重要的配置: 16Mhz HSE-->内部80Mhz系统时钟 FreeRTOS V8.2.3

J-link(连接SCLK、SDIO和SWO)

项目是用cubeMx创建的,所以ST HAl库正在使用中(我知道对很多人来说是臃肿软件,但当我得到这个项目时就是这样)

main.c

#包括“SEGGER_SYSVIEW.h”
////--包括,原型和定义
真空总管(真空){
///--硬件初始化
SEGGER_SYSVIEW_Init(10008000000,0,0);
SEGGER_SYSVIEW_Start();
///-任务创建
osThreadDef(defaultTask,StartDefaultTask,osPriorityNormal,0,128);
defaultTaskHandle=osThreadCreate(osThread(defaultTask),NULL);
/*启动调度程序*/
osKernelStart();
}
为了使用SystemView,我只在项目中添加了基本的代码行

在这行下面,我附上了System Viewer的屏幕截图

编辑1:

我从一开始就创建了一个新项目

STM32L476RG yes R是另一块有3个LED的板 cubemx:STM32L4 lib 1.10.0 FreeRTOS V9.0.0

main.c

int main(无效)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
SEGGER_SYSVIEW_Init(10008000000,0,0);
SEGGER_SYSVIEW_Start();
osThreadDef(defaultTask,StartDefaultTask,osPriorityNormal,0,128);
defaultTaskHandle=osThreadCreate(osThread(defaultTask),NULL);
osThreadDef(ledControlTask,ledcontrol,osPriorityNormal,0,128);
ledControlTaskHandle=osThreadCreate(osThread(ledControlTask),NULL);
osKernelStart();
而(1)
{
}
}
void控件(void const*参数)
{
对于(;;)
{
HAL_GPIO_开关引脚(LED1_GPIO_端口,LED1_引脚);
osDelay(500);
}
}
同样的结果:

如果单击“停止”,我会得到:

如果我在SEGGER SystemView UM0802 pdf手册中解释:

SEGGER\u SYSVIEW\u Init(10008000000,0,0);
SEGGER_SYSVIEW_Start();
用于:

SEGGER_SYSVIEW_Conf();
我得到相同的输出

非常感谢,

吉列尔莫

已解决, RFM(UM08027_SystemView.pdf)!! 我忘了应用freeRTOS补丁文件。 修补程序中的行与文件中的行之间存在一些不匹配

现在它工作得很好