CMSIS-RTOS2 文档翻译 之 参考(RTX5 特定的 API 之 事件功能(线程函数))

线程函数

线程函数生成的事件。更多...

函数

void  EvrRtxThreadError (osThreadId_t thread_id, int32_t status)
  线程错误事件(错误)更多...
 
void  EvrRtxThreadNew (osThreadFunc_t func, void *argument, const osThreadAttr_t *attr)
  线程创建和初始化事件(API)更多...
 
void  EvrRtxThreadCreated (osThreadId_t thread_id, uint32_t thread_addr)
  成功创建线程的事件(Op)更多...
 
void  EvrRtxThreadGetName (osThreadId_t thread_id, const char *name)
  线程名称检索事件(API)更多...
 
void  EvrRtxThreadGetId (osThreadId_t thread_id)
  当前正在运行的线程 ID 检索事件 (API) 更多...
 
void  EvrRtxThreadGetState (osThreadId_t thread_id, osThreadState_t state)
  线程状态检索事件(API)更多...
 
void  EvrRtxThreadGetStackSize (osThreadId_t thread_id, uint32_t stack_size)
  线程堆栈大小检索事件(API)更多...
 
void  EvrRtxThreadGetStackSpace (osThreadId_t thread_id, uint32_t stack_space)
  可用堆栈空间检索事件 (API) 更多...
 
void  EvrRtxThreadSetPriority (osThreadId_t thread_id, osPriority_t priority)
  线程优先级设置事件(API)更多...
 
void  EvrRtxThreadGetPriority (osThreadId_t thread_id, osPriority_t priority)
  线程优先检索事件(API)更多...
 
void  EvrRtxThreadYield (void)
  线程收益事件(API)更多...
 
void  EvrRtxThreadSuspend (osThreadId_t thread_id)
  线程挂起事件(API)更多...
 
void  EvrRtxThreadSuspended (osThreadId_t thread_id)
  成功线程挂起的事件(Op)更多...
 
void  EvrRtxThreadResume (osThreadId_t thread_id)
  线程恢复事件(API)更多...
void  EvrRtxThreadResumed (osThreadId_t thread_id)
  成功的线程恢复事件(Op)更多...
 
void  EvrRtxThreadDetach (osThreadId_t thread_id)
  线程分离事件(API)更多...
 
void  EvrRtxThreadDetached (osThreadId_t thread_id)
  成功的线程分离事件(Op)更多...
 
void  EvrRtxThreadJoin (osThreadId_t thread_id)
  线程连接事件(API)更多...
 
void  EvrRtxThreadJoinPending (osThreadId_t thread_id)
  挂起线程连接事件(Op)更多...
 
void  EvrRtxThreadJoined (osThreadId_t thread_id)
  成功的线程连接事件(Op)更多...
 
void  EvrRtxThreadBlocked (osThreadId_t thread_id, uint32_t timeout)
  线程执行块事件(Op)更多...
 
void  EvrRtxThreadUnblocked (osThreadId_t thread_id, uint32_t ret_val)
  线程执行解除阻塞事件(Op)更多...
 
void  EvrRtxThreadPreempted (osThreadId_t thread_id)
  运行线程优先事件(Op)更多...
 
void  EvrRtxThreadSwitched (osThreadId_t thread_id)
  运行线程切换事件(Op)更多...
void  EvrRtxThreadExit (void)
  线程退出事件(API)更多...
 
void  EvrRtxThreadTerminate (osThreadId_t thread_id)
  线程终止事件(API)更多...
 
void  EvrRtxThreadDestroyed (osThreadId_t thread_id)
  成功的线程终止事件(Op)更多...
 
void  EvrRtxThreadGetCount (uint32_t count)
  活动线程数检索事件(API)更多...
 
void  EvrRtxThreadEnumerate (osThreadId_t *thread_array, uint32_t array_items, uint32_t count)
  活动线程枚举事件(API)更多...
 
void  EvrRtxThreadFlagsWaitTimeout (void)
  线程标志等待超时事件(Op)更多...
 
void  EvrRtxThreadDelay (uint32_t ticks)
  等待超时事件(API)更多...
 
void  EvrRtxThreadDelayUntil (uint32_t ticks)
  等待指定时间事件(API)更多...
 
void  EvrRtxThreadDelayCompleted (void)
  已完成等待的事件(Op)更多...
 

描述

函数文档

void EvrRtxThreadError ( osThreadId_t  thread_id,
    int32_t  status 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取,或在 ID 未知时为 NULL 。
[in] status 延长执行状态。

线程标志和线程管理例程由于错误而完成执行时,会生成事件 ThreadError 。

status 参数指示执行状态,可以是 osStatus_t 代码之一或下表中汇总的扩展执行状态代码之一。

扩展状态码 描述
osRtxErrorKernelNotReady 内核调度程序未处于就绪状态。
osRtxErrorKernelNotRunning 内核调度程序未执行 - 没有正在运行的线程。
osRtxErrorInvalidControlBlock 指定了具有无效对齐或大小的对象控制块。
osRtxErrorInvalidDataMemory 指定了具有无效对齐或大小的对象数据存储器。
osRtxErrorInvalidThreadStack 线程堆栈内存的无效对齐或大小被指定。
osRtxErrorInvalidPriority 指定了无效的线程优先级。
osRtxErrorThreadNotJoinable 指定的线程不可连接。
osRtxErrorMutexNotOwned 指定的互斥锁不属于当前正在运行的线程。
osRtxErrorMutexNotLocked 指定的互斥锁未锁定。
osRtxErrorMutexLockLimit 达到递归互斥锁的最大数目。
osRtxErrorSemaphoreCountLimit 达到了信号量计数限制。
osRtxErrorTZ_InitContext_S 安全上下文内存系统初始化失败
osRtxErrorTZ_AllocContext_S 安全上下文内存分配失败。
osRtxErrorTZ_FreeContext_S 安全上下文内存释放失败。
osRtxErrorTZ_LoadContext_S 安全上下文加载失败。
osRtxErrorTZ_SaveContext_S 安全上下文保存失败。

事件记录器中的值显示:

  • thread_id : 线程 ID。
  • status : 执行状态代码。
void EvrRtxThreadNew ( osThreadFunc_t  func,
    void *  argument,
    const osThreadAttr_t attr 
  )    
参数
[in] func 线程函数。
[in] argument 作为启动参数传递给线程函数的指针。
[in] attr 线程属性。

事件 ThreadNew 在调用函数 osThreadNew 时生成。

事件记录器中的值显示:

  • func : 线程函数的内存地址。
  • argument : 线程函数启动参数的内存地址。
  • attr : 线程属性的内存地址或未指定时的 0。

在 API 调用中提供线程属性的情况下,它们也在事件记录器中详细说明。

void EvrRtxThreadCreated ( osThreadId_t  thread_id,
    uint32_t  thread_addr 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。
[in] thread_addr 线程入口地址。

事件 ThreadCreated 在函数 osThreadNew 成功创建线程对象时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadGetName ( osThreadId_t  thread_id,
    const char *  name 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。
[in] name 指向线程对象名称的指针。

当函数 osThreadGetName 被调用并且其执行结果已知时,会生成事件 ThreadGetName。

事件记录器中的值显示:

  • thread_id : 线程 ID。
  • name : 检索到名称字符串的内存地址(如果发生故障,则为 0)。
void EvrRtxThreadGetId ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadGetId 在调用函数 osThreadGetId 并且其执行结果已知时生成。

事件记录器中的值显示:

  • thread_id : 检索到的线程(在发生故障的情况下为 0)。
void EvrRtxThreadGetState ( osThreadId_t  thread_id,
    osThreadState_t  state 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。
[in] state 指定线程的当前线程状态。

当调用函数 osThreadGetState 并且其执行结果已知时,会生成事件 ThreadGetState。

事件记录器中的值显示:

  • thread_id : 线程 ID。
  • state : 检索当前线程状态。
void EvrRtxThreadGetStackSize ( osThreadId_t  thread_id,
    uint32_t  stack_size 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。
[in] stack_size 堆栈大小以字节为单位

事件 ThreadGetStackSize 是在函数 osThreadGetStackSize 被调用并且其执行结果已知时生成的。

事件记录器中的值显示:

  • thread_id : 线程 ID。
  • stack_size : 以字节为单位检索剩余堆栈空间(如果发生故障,则为 0)。
void EvrRtxThreadGetStackSpace ( osThreadId_t  thread_id,
    uint32_t  stack_space 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。
[in] stack_space 剩余堆栈空间以字节为单位

事件 ThreadGetStackSpace 是在函数 osThreadGetStackSpace 被调用并且其执行结果已知时生成的。

事件记录器中的值显示:

  • thread_id : 线程 ID。
  • stack_space : 以字节为单位检索剩余堆栈空间(如果发生故障,则为 0)。
void EvrRtxThreadSetPriority ( osThreadId_t  thread_id,
    osPriority_t  priority 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。
[in] priority 线程函数的新优先值。

事件 ThreadSetPriority 在调用函数 osThreadSetPriority 时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
  • priority : 线程函数的新优先值。
void EvrRtxThreadGetPriority ( osThreadId_t  thread_id,
    osPriority_t  priority 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。
[in] priority 指定线程的当前优先级值。

事件 ThreadGetPriority 在调用函数 osThreadGetPriority 并且其执行结果已知时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
  • priority : 指定线程的当前优先级值。
void EvrRtxThreadYield ( void    )  

事件 ThreadYield 在调用函数 osThreadYield 时生成。

void EvrRtxThreadSuspend ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

当调用 osThreadSuspend 函数时会生成事件 ThreadSuspend。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadSuspended ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadSuspended 在函数 osThreadSuspend 成功挂起指定的线程时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadResume ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadResume 在调用函数 osThreadResume 时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadResumed ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

当函数 osThreadResume 成功恢复指定的线程时,将生成事件 ThreadResumed。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadDetach ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadDetach 是在函数 osThreadDetach 被调用时生成的。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadDetached ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadDetached 在函数 osThreadDetach 成功分离指定的线程时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadJoin ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadJoin 是在函数 osThreadJoin 被调用时生成的。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadJoinPending ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

当函数 osThreadJoin 挂起当前正在运行的线程直到指定的线程终止时,会生成事件 ThreadJoinPending。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadJoined ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadJoined 在函数 osThreadJoin 成功加入指定的线程时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadBlocked ( osThreadId_t  thread_id,
    uint32_t  timeout 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。
[in] timeout 超时值或 0 在没有超时的情况下。

事件 ThreadBlocked 在当前正在运行的线程执行被阻止时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
  • timeout : 超时值。
void EvrRtxThreadUnblocked ( osThreadId_t  thread_id,
    uint32_t  ret_val 
  )    
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。
[in] ret_val 扩展线程的执行状态。

当阻塞的线程执行被解除时,会生成事件 ThreadUnblocked。

事件记录器中的值显示:

  • thread_id : 线程 ID。
  • ret_val : 扩展线程的执行状态。
void EvrRtxThreadPreempted ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadPreempted 在当前正在运行的线程执行被抢占时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadSwitched ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadSwitched 在当前正在运行的线程执行切换时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadExit ( void    )  

ThreadExit 事件是在函数 osThreadExit 被调用时生成的。

void EvrRtxThreadTerminate ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadTerminate 在调用 osThreadTerminate 函数时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadDestroyed ( osThreadId_t  thread_id )  
参数
[in] thread_id 线程 ID 由 osThreadNew 或 osThreadGetId 获取。

事件 ThreadDestroyed 在函数 osThreadExit 或 osThreadTerminate 成功终止线程时生成。

事件记录器中的值显示:

  • thread_id : 线程 ID。
void EvrRtxThreadGetCount ( uint32_t  count )  
参数
[in] count 活动线程数。

事件 ThreadGetCount 在函数 osThreadGetCount 被调用并且其执行结果已知时生成。

事件记录器中的值显示:

  • count : 检索活动线程的数量(如果发生故障,则为 0)。
void EvrRtxThreadEnumerate ( osThreadId_t thread_array,
    uint32_t  array_items,
    uint32_t  count 
  )    
参数
[in] thread_array 指向数组以检索线程 ID 的指针。
[in] array_items 数组中用于检索线程 ID 的最大项目数。
[in] count 枚举线程数。

事件 ThreadEnumerate 是在函数 osThreadEnumerate 被调用并且其执行结果已知时生成的。

事件记录器中的值显示:

  • thread_array : 用于检索线程 ID 的数组的内存地址。
  • array_items : thread_array 中的最大项目数。
  • count : 枚举线程数(在发生故障的情况下为 0)。
void EvrRtxThreadFlagsWaitTimeout ( void    )  

事件 ThreadFlagsWaitTimeout 在等待由于过期的等待超时而导致信号线程标志等待中断时生成。

void EvrRtxThreadDelay ( uint32_t  ticks )  
参数
[in] ticks 时间滴答值。

当调用 osDelay 函数时会生成事件 ThreadDelay。

事件记录器中的值显示:

  • ticks : 时间滴答值。
void EvrRtxThreadDelayUntil ( uint32_t  ticks )  
参数
[in] ticks 绝对时间节拍。

事件 ThreadDelayUntil 在调用函数 osDelayUntil 时生成。

事件记录器中的值显示:

  • ticks : 绝对延迟时间以节拍为单位。
void EvrRtxThreadDelayCompleted ( void    )  

当线程延迟到期时,会生成事件 ThreadDelayCompleted。


猜你喜欢

转载自blog.csdn.net/u012325601/article/details/80230176
今日推荐