freertos+systemview移植

  1. 拷贝\SEGGER\SystemView\Src所有到工程目录
  2. 配置工程:

2.配置修改
(1)在main.c 中添加头文件#include "SEGGER_SYSVIEW.h";

(2)在main函数开始处添加:SEGGER_SYSVIEW_Conf(),初始化SystemView;

(3)在FreeRTOSConfig.h中添加头文件#include "SEGGER_SYSVIEW_FreeRTOS.h";

(4)在 FreeRTOSConfig.h  中添加两个宏定义:

#define INCLUDE_xTaskGetIdleTaskHandle 1

#define INCLUDE_pxTaskGetStackStart    1

    (5)在FreeRTOSConfig.h文件中将FreeRTOS的跟踪功能开启。

#define configUSE_TRACE_FACILITY 1

(6)SystemView工作模式设置

通过SEGGER_SYSVIEW_Confdefaults.h文件中的SEGGER_SYSVIEW_POST_MORTEM_MODE宏,可以设置SystemView工作在Single-Shot或Post-Mortem模式。Disable(0)值设置为连续记录模式(使用J-Link),或Single-Shot记录模式(无J-Link)。要使能Post Mortem模式,需设置SEGGER_SYSVIEW_POST_MORTEM_MODE = 1。未手动使能Post Mortem模式且使用了J-Link的情况下,将默认使用持续记录模式。

在SEGGER_SYSVIEW_Confdefaults.h中设置事件缓存的大小

#define SEGGER_SYSVIEW_RTT_BUFFER_SIZE 1024

这里的缓存空间大小需要根据你所使用的J-Link的调试接口速率,以及所记录的事件数量来决定,当J-Link速率低,或者记录的事件较多时需要设置更大的缓存空间。使用Single-Shot模式时应加大内存以尽可能的记录更长时间。

(3)在任务创建前调用SystemView的初始化函数

在完成芯片的硬件初始化后,FreeRTOS任务创建前调用SEGGER_SYSVIEW_Conf()来初始化SystemView。

3.连接运行

目标板连接好,下载程序,打开SystemView软件,点击Target选项,选择Recorder Configuration:

完成后,点“Start Recording”即可

注意:

  1. 当使用AC6编译的时候,会出现Undefined symbol SEGGER_RTT_ASM_WriteSkipNoLock编译错误,把\Middlewares\Third_Party\systemview\SEGGER\SEGGER_RTT_ASM_ARMv7M.S加入工程
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值