章节11 API参考 - Segger SystemView使用手册(译文)

本文博客链接:http://blog.csdn.net/bjr2016,作者:bjr2016,未经允许不得转载。

章节11 API参考


本节描述了SEGGER SystemView的公共API。

11.1 SEGGER SystemView API函数

可以使用以下函数将SEGGER SystemView添加到应用程序中,或者将SEGGER SystemView集成到操作系统和中间件模块中。
由应用程序调用的控制函数。

函数描述
SEGGER_SYSVIEW_Init()初始化SYSVIEW模块
SEGGER_SYSVIEW_Start()开始录制SystemView事件
SEGGER_SYSVIEW_Stop()停止录制SystemView事件
SEGGER_SYSVIEW_EnableEvents()使能产生标准SystemView事件功能
SEGGER_SYSVIEW_DisableEvents()禁止产生标准SystemView事件功能

应用程序系统调用的配置函数。通常包括在系统回调函数中。

函数描述
SEGGER_SYSVIEW_SetRAMBase()设置RAM基地址,这是为了节省带宽而从IDs中减去的地址
SEGGER_SYSVIEW_SendTaskList()向主机发送所有任务描述
SEGGER_SYSVIEW_SendTaskInfo()发送一个任务信息包,包含任务ID、任务优先级和任务名称
SEGGER_SYSVIEW_SendSysDesc()向主机发送系统描述字符串
SEGGER_SYSVIEW_NameResource()发送用于在SystemView中显示的资源名称

中间层模块注册和配置函数

函数描述
SEGGER_SYSVIEW_RegisterModule()注册一个中间层模块,以记录它的事件
SEGGER_SYSVIEW_RecordModuleDescription()向主机发送已注册模块的详细信息

操作系统相关的事件记录函数

函数描述
SEGGER_SYSVIEW_OnIdle()记录一次空闲事件
SEGGER_SYSVIEW_OnTaskCreate()记录任务创建事件
SEGGER_SYSVIEW_OnTaskStartExec()记录任务开始执行事件
SEGGER_SYSVIEW_OnTaskStartReady()记录任务准备好开始事件
SEGGER_SYSVIEW_OnTaskStopExec()记录任务停止执行事件
SEGGER_SYSVIEW_OnTaskStopReady()记录任务准备好停止事件
SEGGER_SYSVIEW_OnTaskTerminate()记录任务终止事件

由操作系统或者模块调用的生成事件记录函数

函数描述
SEGGER_SYSVIEW_RecordEndCallU32()格式化并发送带有返回值的API调用结束事件
SEGGER_SYSVIEW_RecordEndCall()格式化并发送无返回值的API调用结束事件
SEGGER_SYSVIEW_RecordEnterISR()格式化并发送进入中断服务函数事件
SEGGER_SYSVIEW_RecordEnterTimer()格式化并发送进入定时器函数事件
SEGGER_SYSVIEW_RecordExitISRToScheduler()格式化并发送退出中断函数进入调度器事件
SEGGER_SYSVIEW_RecordExitISR()格式化并发送中断服务函数退出事件
SEGGER_SYSVIEW_RecordExitTimer()格式化并发送定时器退出事件
SEGGER_SYSVIEW_RecordString()格式化并发送包含一串字符的SystemView包
SEGGER_SYSVIEW_RecordSystime()格式化并发送包含单个U64或者U32类型的参数的SystemView 系统时间
SEGGER_SYSVIEW_RecordVoid()格式化并发送不包含有效数据的SystemView包
SEGGER_SYSVIEW_RecordU32()格式化并发送包含单个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_RecordU32X10()格式化并发送包含10个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_RecordU32X2()格式化并发送包含2个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_RecordU32X3()格式化并发送包含3个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_RecordU32X4()格式化并发送包含4个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_RecordU32X5()格式化并发送包含5个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_RecordU32X6()格式化并发送包含6个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_RecordU32X7()格式化并发送包含7个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_RecordU32X8()格式化并发送包含8个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_RecordU32X9()格式化并发送包含9个U32类型的有效参数的SystemView包
SEGGER_SYSVIEW_SendPacket()发送一个事件数据包
SEGGER_SYSVIEW_EncodeU32()以可变长度格式编码一个U32类型数据
SEGGER_SYSVIEW_EncodeData()以可变长度格式编码一个字节类型缓存
SEGGER_SYSVIEW_EncodeString()以可变长度格式编码一个字符串
SEGGER_SYSVIEW_EncodeId()以缩小的可变长度格式编码一个32位 Id
SEGGER_SYSVIEW_ShrinkId()获取缩小的Id值用于将来处理,例如在SEGGER_SYSVIEW_NameResource()函数中.

在用户应用程序中调用的事件记录函数

函数描述
SEGGER_SYSVIEW_OnUserStart()发送用户事件开始,例如一个子函数开始
SEGGER_SYSVIEW_OnUserStop()发送用户事件结束事件,例如从子函数返回
SEGGER_SYSVIEW_PrintfHostEx()打印一个字符串,该字符串由SystemViewer以附加信息格式化。
SEGGER_SYSVIEW_PrintfTargetEx()打印一个字符串,该字符串由目标板在发送给主机前以附加信息格式化
SEGGER_SYSVIEW_PrintfHost()打印一个由SystemView格式化的字符串
SEGGER_SYSVIEW_PrintfTarget()打印一个由目标系统在发送给主机前格式化的字符串
SEGGER_SYSVIEW_Print()向主机打印一个字符串.
SEGGER_SYSVIEW_WarnfHost()打印一个警告字符串,该字符串由SystemView在主机上格式化
SEGGER_SYSVIEW_WarnfTarget()打印一个警告字符串,该字符串由目标系统在发给主机前格式化
SEGGER_SYSVIEW_Warn()打印一个警告字符串发送给主机
SEGGER_SYSVIEW_ErrorfHost()打印一个错误字符串,该字符串由SystemView在主机上格式化
SEGGER_SYSVIEW_ErrorfTarget()打印一个错误字符串,该字符串由目标系统在发给主机前格式化
SEGGER_SYSVIEW_Error()打印一个错误字符串发送给主机

应用程序提供的函数

函数描述
SEGGER_SYSVIEW_Conf()对于特定操作系统,初始化和配置SystemView
SEGGER_SYSVIEW_X_GetTimestamp()用于SystemView获取时间戳的回调函数

11.1.1 SEGGER_SYSVIEW_Conf()

描述
可以与操作系统集成一起使用,以便更容易地初始化SystemView和OS SystemView接口。
该函数通常在使用的操作系统配置文件SEGGER_SYSVIEW_Config_[OS].c中提供。
原型

void SEGGER_SYSVIEW_Conf(void);

实施举例

void SEGGER_SYSVIEW_Conf (void) { 
 // 
 // Initialize SystemView 
 // 
 SEGGER_SYSVIEW_Init (SYSVIEW_TIMESTAMP_FREQ,   // Frequency of the timestamp. 
                     SYSVIEW_CPU_FREQ,         // Frequency of the system. 
                     &SYSVIEW_X_OS_TraceAPI,  
 // OS-specific SEGGER_SYSVIEW_OS_API 
                     _cbSendSystemDesc        
 // Callback for application-specific description 
                    ); 
 SEGGER_SYSVIEW_SetRAMBase (SYSVIEW_RAM_BASE); 
 // Explicitly set the RAM base address. 
 OS_SetTraceAPI (&embOS_TraceAPI_SYSVIEW);     
 // Configure embOS to use SystemView via the Trace-API. 
} 
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值