本文博客链接: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.
}