最近做蓝牙 nrf52840 ,跑了freertos 操作系统,领导希望看下操作系统实时运行情况,以分析芯片资源使用情况,,
上一个写的 太模糊了,罪过罪过,,,
先一直system view 库进工程
1、下载库文件
地址:https://www.segger.com/downloads/free-utilities#SystemView
(注意需要更新下jlink 驱动)。
2、下载后接下后得到
添加相关文件到工程中:
\TargetSrc\Config 目录下的文件。
\TargetSrc\SEGGER 目录下的文件。
与下位机使用的操作系统相关的文件。 本人使用系统的是 FreeRTOS 10.00,用到的是这几个文件:
\TargetSrc\Sample\Config 目录下的 SEGGER_SYSVIEW_Config_FreeRTOS.c 文件。
\TargetSrc\Sample\OS 目录下的 SEGGER_SYSVIEW_FreeRTOS.c 和
SEGGER_SYSVIEW_FreeRTOS.h 文件
在mdk 中设置相关路径,添加源文件
3、修改相关配置
(1)添加头文件在main.c 中 #include "SEGGER_SYSVIEW.h"
在系统运行之间初始化 SystemView,具体来说就是在系统运行之前增加以下语句:SEGGER_SYSVIEW_Conf();
(2)在 FreeRTOS.h 文件的头部包含 #include "SEGGER_SYSVIEW_FreeRTOS.h"
(3)在 FreeRTOSConfig.h 中添加两个宏定义
#define INCLUDE_xTaskGetIdleTaskHandle 1
#define INCLUDE_pxTaskGetStackStart 1
工程文件基本修改完成,
4、通过jlink 连接目标板 运行 system view , 左侧 三角
如果此时在Target Device 中找不到你的片子, 重装下jlink 驱动试下(坑我了好久),,,
点击 ok 就可以看到 你的任务跑起来了。