章节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. 
} 

你可能感兴趣的:(segger)