Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
8ca8bf91
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8ca8bf91
编写于
2月 18, 2022
作者:
L
LiteOS2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(kernel,posix,cmsis): posix、cmsis和kernel相关接口文档更新
posix、cmsis和kernel相关接口文档更新 Signed-off-by:
N
LiteOS2021
<
dinglu@huawei.com
>
上级
5c3a8819
变更
6
展开全部
隐藏空白更改
内联
并排
Showing
6 changed file
with
365 addition
and
332 deletion
+365
-332
zh-cn/device-dev/faqs/faqs-kernel.md
zh-cn/device-dev/faqs/faqs-kernel.md
+1
-1
zh-cn/device-dev/kernel/kernel-basic-mini-time.md
zh-cn/device-dev/kernel/kernel-basic-mini-time.md
+8
-5
zh-cn/device-dev/kernel/kernel-mini-appx-lib-cmsis.md
zh-cn/device-dev/kernel/kernel-mini-appx-lib-cmsis.md
+81
-81
zh-cn/device-dev/kernel/kernel-mini-appx-lib-posix.md
zh-cn/device-dev/kernel/kernel-mini-appx-lib-posix.md
+222
-205
zh-cn/device-dev/kernel/kernel-mini-basic-interrupt.md
zh-cn/device-dev/kernel/kernel-mini-basic-interrupt.md
+26
-15
zh-cn/device-dev/kernel/kernel-mini-basic-task.md
zh-cn/device-dev/kernel/kernel-mini-basic-task.md
+27
-25
未找到文件。
zh-cn/device-dev/faqs/faqs-kernel.md
浏览文件 @
8ca8bf91
...
...
@@ -52,7 +52,7 @@ Hi3516开源板使用FAT文件系统,不允许该操作。
### LiteOS内核已支持哪几款芯片架构<a name="section1131661465417"></a>
LiteOS-M已支持risc-v、Cortex-m3
\\
m4
\\
m7
\\
m33、arm9
,待支持
c-sky、xtensa;LiteOS-A已支持armv7-a,待支持armv8-a,请关注开源社区更新。
LiteOS-M已支持risc-v、Cortex-m3
\\
m4
\\
m7
\\
m33、arm9
、
c-sky、xtensa;LiteOS-A已支持armv7-a,待支持armv8-a,请关注开源社区更新。
## 三方组件<a name="section971818231178"></a>
...
...
zh-cn/device-dev/kernel/kernel-basic-mini-time.md
浏览文件 @
8ca8bf91
...
...
@@ -29,12 +29,15 @@ OpenHarmony LiteOS-M内核的时间管理提供下面几种功能,接口详细
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 时间转换 | LOS_MS2Tick | 毫秒转换成Tick |
| LOS_Tick2MS | Tick转化为毫秒 |
| OsCpuTick2MS | Cycle数目转化为毫秒,使用2个UINT32类型的数值分别表示结果数值的高、低32位。 |
| OsCpuTick2US | Cycle数目转化为微秒,使用2个UINT32类型的数值分别表示结果数值的高、低32位。 |
|
|
LOS_Tick2MS | Tick转化为毫秒 |
|
|
OsCpuTick2MS | Cycle数目转化为毫秒,使用2个UINT32类型的数值分别表示结果数值的高、低32位。 |
|
|
OsCpuTick2US | Cycle数目转化为微秒,使用2个UINT32类型的数值分别表示结果数值的高、低32位。 |
| 时间统计 | LOS_SysClockGet | 获取系统时钟 |
| LOS_TickCountGet | 获取自系统启动以来的Tick数 |
| LOS_CyclePerTickGet | 获取每个Tick多少Cycle数 |
| | LOS_TickCountGet | 获取自系统启动以来的Tick数 |
| | LOS_CyclePerTickGet | 获取每个Tick多少Cycle数 |
| | LOS_CurrNanosec |获取自系统启动以来的纳秒数|
| 延时管理 | LOS_UDelay |以us为单位的忙等,但可以被优先级更高的任务抢占|
| | LOS_MDelay |以ms为单位的忙等,但可以被优先级更高的任务抢占|
## 开发流程
...
...
zh-cn/device-dev/kernel/kernel-mini-appx-lib-cmsis.md
浏览文件 @
8ca8bf91
...
...
@@ -20,88 +20,88 @@ CMSIS-RTOS v2提供下面几种功能,接口详细信息可以查看API参考
**表1**
CMSIS-RTOS v2接口
| 功能分类 | 接口名 | 描述 |
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 内核信息与控制 | osKernelGetInfo | 获取RTOS内核信息。 |
|
osKernelGetState | 获取当前的RTOS内核状态。 |
|
osKernelGetSysTimerCount | 获取RTOS内核系统计时器计数。 |
|
osKernelGetSysTimerFreq | 获取RTOS内核系统计时器频率。 |
|
osKernelInitialize | 初始化RTOS内核。 |
|
osKernelLock | 锁定RTOS内核调度程序。 |
|
osKernelUnlock | 解锁RTOS内核调度程序。 |
|
osKernelRestoreLock | 恢复RTOS内核调度程序锁定状态。 |
|
osKernelResume | 恢复RTOS内核调度程序。(暂未实现) |
|
osKernelStart | 启动RTOS内核调度程序。 |
|
osKernelSuspend | 挂起RTOS内核调度程序。(暂未实现) |
|
osKernelGetTickCount | 获取RTOS内核滴答计数。 |
|
osKernelGetTickFreq | 获取RTOS内核滴答频率。 |
| 线程管理 | osThreadDetach | 分离线程(线程终止时可以回收线程存储)。
(暂未实现) |
|
osThreadEnumerate | 枚举活动线程。(暂未实现) |
|
osThreadExit | 终止当前正在运行的线程的执行。 |
|
osThreadGetCount | 获取活动线程的数量。 |
|
osThreadGetId | 返回当前正在运行的线程的线程ID。 |
|
osThreadGetName | 获取线程的名称。 |
|
osThreadGetPriority | 获取线程的当前优先级。 |
|
osThreadGetStackSize | 获取线程的堆栈大小。 |
|
osThreadGetStackSpace | 根据执行期间的堆栈水印记录获取线程的可用堆栈空间。 |
|
osThreadGetState | 获取线程的当前线程状态。 |
|
osThreadJoin | 等待指定线程终止。(暂未实现) |
|
osThreadNew | 创建一个线程并将其添加到活动线程中。 |
|
osThreadResume | 恢复线程的执行。 |
|
osThreadSetPriority | 更改线程的优先级。 |
|
osThreadSuspend | 暂停执行线程。 |
|
osThreadTerminate | 终止线程的执行。 |
|
osThreadYield | 将控制权传递给处于就绪状态的下一个线程。 |
| 线程标志 | osThreadFlagsSet | 设置线程的指定线程标志。
(暂未实现) |
|
osThreadFlagsClear | 清除当前正在运行的线程的指定线程标志。(暂未实现) |
|
osThreadFlagsGet | 获取当前正在运行的线程的当前线程标志。(暂未实现) |
|
osThreadFlagsWait | 等待当前正在运行的线程的一个或多个线程标志发出信号。(暂未实现) |
| 事件标志 | osEventFlagsGetName | 获取事件标志对象的名称。(暂未实现) |
|
osEventFlagsNew | 创建并初始化事件标志对象。 |
|
osEventFlagsDelete | 删除事件标志对象。 |
|
osEventFlagsSet | 设置指定的事件标志。 |
|
osEventFlagsClear | 清除指定的事件标志。 |
|
osEventFlagsGet | 获取当前事件标志。 |
|
osEventFlagsWait | 等待一个或多个事件标志被发出信号。 |
| 通用等待函数 | osDelay | 等待超时(时间延迟)。 |
|
osDelayUntil | 等到指定时间。 |
| 计时器管理 | osTimerDelete | 删除计时器。 |
|
osTimerGetName | 获取计时器的名称。(暂未实现) |
|
osTimerIsRunning | 检查计时器是否正在运行。 |
|
osTimerNew | 创建和初始化计时器。 |
|
osTimerStart | 启动或重新启动计时器。 |
|
osTimerStop | 停止计时器。 |
| 互斥管理 | osMutexAcquire | 获取互斥或超时(如果已锁定)。 |
|
osMutexDelete | 删除互斥对象。 |
|
osMutexGetName | 获取互斥对象的名称。(暂未实现) |
|
osMutexGetOwner | 获取拥有互斥对象的线程。 |
|
osMutexNew | 创建并初始化Mutex对象。 |
|
osMutexRelease | 释放由osMutexAcquire获取的Mutex。 |
| 信号量 | osSemaphoreAcquire | 获取信号量令牌或超时(如果没有可用的令牌)。 |
|
osSemaphoreDelete | 删除一个信号量对象。 |
|
osSemaphoreGetCount | 获取当前信号量令牌计数。 |
|
osSemaphoreGetName | 获取信号量对象的名称。(暂未实现) |
|
osSemaphoreNew | 创建并初始化一个信号量对象。 |
|
osSemaphoreRelease | 释放信号量令牌,直到初始最大计数。 |
| 内存池 | osMemoryPoolAlloc | 从内存池分配一个内存块。 |
|
osMemoryPoolDelete | 删除内存池对象。 |
|
osMemoryPoolFree | 将分配的内存块返回到内存池。 |
|
osMemoryPoolGetBlockSize | 获取内存池中的内存块大小。 |
|
osMemoryPoolGetCapacity | 获取内存池中最大的内存块数。 |
|
osMemoryPoolGetCount | 获取内存池中使用的内存块数。 |
|
osMemoryPoolGetName | 获取内存池对象的名称。 |
|
osMemoryPoolGetSpace | 获取内存池中可用的内存块数。 |
|
osMemoryPoolNew | 创建并初始化一个内存池对象。 |
| 消息队列 | osMessageQueueDelete | 删除消息队列对象。 |
|
osMessageQueueGet | 从队列获取消息,或者如果队列为空,则从超时获取消息。 |
|
osMessageQueueGetCapacity | 获取消息队列中的最大消息数。 |
|
osMessageQueueGetCount | 获取消息队列中排队的消息数。 |
|
osMessageQueueGetMsgSize | 获取内存池中的最大消息大小。 |
|
osMessageQueueGetName | 获取消息队列对象的名称。(暂未实现) |
|
osMessageQueueGetSpace | 获取消息队列中消息的可用插槽数。 |
|
osMessageQueueNew | 创建和初始化消息队列对象。 |
|
osMessageQueuePut | 如果队列已满,则将消息放入队列或超时。 |
|
osMessageQueueReset | 将消息队列重置为初始空状态。(暂未实现) |
| 内核信息与控制 | osKernelGetInfo | 获取RTOS内核信息。 |
|
| osKernelGetState | 获取当前的RTOS内核状态。 |
|
| osKernelGetSysTimerCount | 获取RTOS内核系统计时器计数。 |
|
| osKernelGetSysTimerFreq | 获取RTOS内核系统计时器频率。 |
|
| osKernelInitialize | 初始化RTOS内核。 |
|
| osKernelLock | 锁定RTOS内核调度程序。 |
|
| osKernelUnlock | 解锁RTOS内核调度程序。 |
|
| osKernelRestoreLock | 恢复RTOS内核调度程序锁定状态。 |
|
| osKernelResume | 恢复RTOS内核调度程序。(暂未实现) |
|
| osKernelStart | 启动RTOS内核调度程序。 |
|
| osKernelSuspend | 挂起RTOS内核调度程序。(暂未实现) |
|
| osKernelGetTickCount | 获取RTOS内核滴答计数。 |
|
| osKernelGetTickFreq | 获取RTOS内核滴答频率。 |
| 线程管理 | osThreadDetach | 分离线程(线程终止时可以回收线程存储)。
|
|
| osThreadEnumerate | 枚举活动线程。(暂未实现) |
|
| osThreadExit | 终止当前正在运行的线程的执行。 |
|
| osThreadGetCount | 获取活动线程的数量。 |
|
| osThreadGetId | 返回当前正在运行的线程的线程ID。 |
|
| osThreadGetName | 获取线程的名称。 |
|
| osThreadGetPriority | 获取线程的当前优先级。 |
|
| osThreadGetStackSize | 获取线程的堆栈大小。 |
|
| osThreadGetStackSpace | 根据执行期间的堆栈水印记录获取线程的可用堆栈空间。 |
|
| osThreadGetState | 获取线程的当前线程状态。 |
|
| osThreadJoin | 等待指定线程终止。 |
|
| osThreadNew | 创建一个线程并将其添加到活动线程中。 |
|
| osThreadResume | 恢复线程的执行。 |
|
| osThreadSetPriority | 更改线程的优先级。 |
|
| osThreadSuspend | 暂停执行线程。 |
|
| osThreadTerminate | 终止线程的执行。 |
|
| osThreadYield | 将控制权传递给处于就绪状态的下一个线程。 |
| 线程标志 | osThreadFlagsSet | 设置线程的指定线程标志。
|
|
| osThreadFlagsClear | 清除当前正在运行的线程的指定线程标志。 |
|
| osThreadFlagsGet | 获取当前正在运行的线程的当前线程标志。 |
|
| osThreadFlagsWait | 等待当前正在运行的线程的一个或多个线程标志发出信号。 |
| 事件标志 | osEventFlagsGetName | 获取事件标志对象的名称。(暂未实现) |
|
| osEventFlagsNew | 创建并初始化事件标志对象。 |
|
| osEventFlagsDelete | 删除事件标志对象。 |
|
| osEventFlagsSet | 设置指定的事件标志。 |
|
| osEventFlagsClear | 清除指定的事件标志。 |
|
| osEventFlagsGet | 获取当前事件标志。 |
|
| osEventFlagsWait | 等待一个或多个事件标志被发出信号。 |
| 通用等待函数 | osDelay | 等待超时(时间延迟)。 |
|
| osDelayUntil | 等到指定时间。 |
| 计时器管理 | osTimerDelete | 删除计时器。 |
|
| osTimerGetName | 获取计时器的名称。(暂未实现) |
|
| osTimerIsRunning | 检查计时器是否正在运行。 |
|
| osTimerNew | 创建和初始化计时器。 |
|
| osTimerStart | 启动或重新启动计时器。 |
|
| osTimerStop | 停止计时器。 |
| 互斥管理 | osMutexAcquire | 获取互斥或超时(如果已锁定)。 |
|
| osMutexDelete | 删除互斥对象。 |
|
| osMutexGetName | 获取互斥对象的名称。(暂未实现) |
|
| osMutexGetOwner | 获取拥有互斥对象的线程。 |
|
| osMutexNew | 创建并初始化Mutex对象。 |
|
| osMutexRelease | 释放由osMutexAcquire获取的Mutex。 |
| 信号量 | osSemaphoreAcquire | 获取信号量令牌或超时(如果没有可用的令牌)。 |
|
| osSemaphoreDelete | 删除一个信号量对象。 |
|
| osSemaphoreGetCount | 获取当前信号量令牌计数。 |
|
| osSemaphoreGetName | 获取信号量对象的名称。(暂未实现) |
|
| osSemaphoreNew | 创建并初始化一个信号量对象。 |
|
| osSemaphoreRelease | 释放信号量令牌,直到初始最大计数。 |
| 内存池 | osMemoryPoolAlloc | 从内存池分配一个内存块。 |
|
| osMemoryPoolDelete | 删除内存池对象。 |
|
| osMemoryPoolFree | 将分配的内存块返回到内存池。 |
|
| osMemoryPoolGetBlockSize | 获取内存池中的内存块大小。 |
|
| osMemoryPoolGetCapacity | 获取内存池中最大的内存块数。 |
|
| osMemoryPoolGetCount | 获取内存池中使用的内存块数。 |
|
| osMemoryPoolGetName | 获取内存池对象的名称。 |
|
| osMemoryPoolGetSpace | 获取内存池中可用的内存块数。 |
|
| osMemoryPoolNew | 创建并初始化一个内存池对象。 |
| 消息队列 | osMessageQueueDelete | 删除消息队列对象。 |
|
| osMessageQueueGet | 从队列获取消息,或者如果队列为空,则从超时获取消息。 |
|
| osMessageQueueGetCapacity | 获取消息队列中的最大消息数。 |
|
| osMessageQueueGetCount | 获取消息队列中排队的消息数。 |
|
| osMessageQueueGetMsgSize | 获取内存池中的最大消息大小。 |
|
| osMessageQueueGetName | 获取消息队列对象的名称。(暂未实现) |
|
| osMessageQueueGetSpace | 获取消息队列中消息的可用插槽数。 |
|
| osMessageQueueNew | 创建和初始化消息队列对象。 |
|
| osMessageQueuePut | 如果队列已满,则将消息放入队列或超时。 |
|
| osMessageQueueReset | 将消息队列重置为初始空状态。(暂未实现) |
### 开发流程
...
...
zh-cn/device-dev/kernel/kernel-mini-appx-lib-posix.md
浏览文件 @
8ca8bf91
此差异已折叠。
点击以展开。
zh-cn/device-dev/kernel/kernel-mini-basic-interrupt.md
浏览文件 @
8ca8bf91
...
...
@@ -42,22 +42,25 @@ OpenHarmony LiteOS-M内核的中断模块提供下面几种功能,接口详细
**表1**
中断模块接口
| 功能分类 | 接口名 | 描述 |
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 创建、删除中断 | HalHwiCreate | 中断创建,注册中断号、中断触发模式、中断优先级、中断处理程序。中断被触发时,会调用该中断处理程序。 |
| HalHwiDelete | 根据指定的中断号,删除中断。 |
| 打开、关闭中断 | LOS_IntUnLock | 开中断,使能当前处理器所有中断响应。 |
| LOS_IntLock | 关中断,关闭当前处理器所有中断响应。 |
| LOS_IntRestore | 恢复到使用LOS_IntLock、LOS_IntUnLock操作之前的中断状态。 |
| 创建、删除中断 | LOS_HwiCreate | 中断创建,注册中断号、中断触发模式、中断优先级、中断处理程序。中断被触发时,会调用该中断处理程序。 |
| | LOS_HwiDelete | 根据指定的中断号,删除中断。 |
| 打开、关闭中断 | LOS_IntUnLock | 开中断,使能当前处理器所有中断响应。 |
| | LOS_IntLock | 关中断,关闭当前处理器所有中断响应。 |
| | LOS_IntRestore | 恢复到使用LOS_IntLock、LOS_IntUnLock操作之前的中断状态。 |
| 使能和屏蔽指定中断 | LOS_HwiDisable | 中断屏蔽。(通过设置寄存器,禁止CPU响应该中断) |
| | LOS_HwiEnable | 中断使能。(通过设置寄存器,允许CPU响应该中断) |
| 设置中断优先级 | LOS_HwiSetPriority | 设置中断优先级。 |
| 触发中断 | LOS_HwiTrigger | 触发中断。(通过写中断控制器的相关寄存器模拟外部中断) |
| 清除中断寄存器状态 | LOS_HwiClear | 清除中断号对应的中断寄存器的状态位,此接口依赖中断控制器版本,非必需。 |
## 开发流程
1.
调用中断创建接口HalHwiCreate创建中断。
2.
调用TestHwiTrigger接口触发指定中断(该接口在测试套中定义,通过写中断控制器的相关寄存器模拟外部中断,一般的外设设备,不需要执行这一步)。
3.
调用HalHwiDelete接口删除指定中断,此接口根据实际情况使用,判断是否需要删除中断。
1.
调用中断创建接口LOS_HwiCreate创建中断。
2.
调用中断触发接口LOS_HwiTrigger触发中断。
3.
调用LOS_HwiDelete接口删除指定中断,此接口根据实际情况使用,判断是否需要删除中断。
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
...
...
@@ -101,7 +104,7 @@ static UINT32 Example_Interrupt(VOID)
HWI_ARG_T arg = 0;
/*创建中断*/
ret =
Hal
HwiCreate(HWI_NUM_TEST, hwiPrio, mode, (HWI_PROC_FUNC)HwiUsrIrq, arg);
ret =
LOS_
HwiCreate(HWI_NUM_TEST, hwiPrio, mode, (HWI_PROC_FUNC)HwiUsrIrq, arg);
if(ret == LOS_OK){
printf("Hwi create success!\n");
} else {
...
...
@@ -109,11 +112,17 @@ static UINT32 Example_Interrupt(VOID)
return LOS_NOK;
}
/* 延时50个Ticks, 当有硬件中断发生时,会调用函数HwiUsrIrq*/
LOS_TaskDelay(50);
/*触发中断*/
ret = LOS_HwiTrigger(HWI_NUM_TEST);
if(ret == LOS_OK){
printf("Hwi trigger success!\n");
} else {
printf("Hwi trigger failed!\n");
return LOS_NOK;
}
/*删除中断*/
ret =
Hal
HwiDelete(HWI_NUM_TEST);
ret =
LOS_
HwiDelete(HWI_NUM_TEST);
if(ret == LOS_OK){
printf("Hwi delete success!\n");
} else {
...
...
@@ -132,5 +141,7 @@ static UINT32 Example_Interrupt(VOID)
```
Hwi create success!
in the func HwiUsrIrq
Hwi trigger success!
Hwi delete success!
```
zh-cn/device-dev/kernel/kernel-mini-basic-task.md
浏览文件 @
8ca8bf91
...
...
@@ -109,32 +109,34 @@ OpenHarmony LiteOS-M内核的任务管理模块提供下面几种功能,接口
**表1**
任务管理模块接口
| 功能分类 | 接口名 | 描述 |
| 功能分类 | 接口名 | 描述 |
| -------- | -------- | -------- |
| 创建和删除任务 | LOS_TaskCreateOnly | 创建任务,并使该任务进入suspend状态,不对该任务进行调度。如果需要调度,可以调用LOS_TaskResume使该任务进入ready状态。 |
| LOS_TaskCreate | 创建任务,并使该任务进入ready状态,如果就绪队列中没有更高优先级的任务,则运行该任务。 |
| LOS_TaskDelete | 删除指定的任务。 |
| 控制任务状态 | LOS_TaskResume | 恢复挂起的任务,使该任务进入ready状态。 |
| LOS_TaskSuspend | 挂起指定的任务,然后切换任务。 |
| LOS_TaskJoin | 挂起当前任务,等待指定任务运行结束并回收其任务控制块资源 |
| LOS_TaskDelay | 任务延时等待,释放CPU,等待时间到期后该任务会重新进入ready状态。传入参数为Tick数目。 |
| LOS_Msleep | 传入参数为毫秒数,转换为Tick数目,调用LOS_TaskDelay。 |
| LOS_TaskYield | 当前任务时间片设置为0,释放CPU,触发调度运行就绪任务队列中优先级最高的任务。 |
| 控制任务调度 | LOS_TaskLock | 锁任务调度,但任务仍可被中断打断。 |
| LOS_TaskUnlock | 解锁任务调度。 |
| LOS_Schedule | 触发任务调度。 |
| 控制任务优先级 | LOS_CurTaskPriSet | 设置当前任务的优先级。 |
| LOS_TaskPriSet | 设置指定任务的优先级。 |
| LOS_TaskPriGet | 获取指定任务的优先级。 |
| 获取任务信息 | LOS_CurTaskIDGet | 获取当前任务的ID。 |
| LOS_NextTaskIDGet | 获取任务就绪队列中优先级最高的任务的ID。 |
| LOS_NewTaskIDGet | 等同LOS_NextTaskIDGet。 |
| LOS_CurTaskNameGet | 获取当前任务的名称。 |
| LOS_TaskNameGet | 获取指定任务的名称。 |
| LOS_TaskStatusGet | 获取指定任务的状态。 |
| LOS_TaskInfoGet | 获取指定任务的信息,包括任务状态、优先级、任务栈大小、栈顶指针SP、任务入口函数、已使用的任务栈大小等。 |
| LOS_TaskIsRunning | 获取任务模块是否已经开始调度运行。 |
| 任务信息维测 | LOS_TaskSwitchInfoGet | 获取任务切换信息,需要开启宏LOSCFG_BASE_CORE_EXC_TSK_SWITCH。 |
| 创建和删除任务 | LOS_TaskCreateOnly | 创建任务,并使该任务进入suspend状态,不对该任务进行调度。如果需要调度,可以调用LOS_TaskResume使该任务进入ready状态。 |
| | LOS_TaskCreate | 创建任务,并使该任务进入ready状态,如果就绪队列中没有更高优先级的任务,则运行该任务。 |
| | LOS_TaskDelete | 删除指定的任务。 |
| 控制任务状态 | LOS_TaskResume | 恢复挂起的任务,使该任务进入ready状态。 |
| | LOS_TaskSuspend | 挂起指定的任务,然后切换任务。 |
| | LOS_TaskJoin | 挂起当前任务,等待指定任务运行结束并回收其任务控制块资源。 |
| | LOS_TaskDetach | 修改任务的joinable属性为detach属性,detach属性的任务运行结束会自动回收任务控制块资源。 |
| | LOS_TaskDelay | 任务延时等待,释放CPU,等待时间到期后该任务会重新进入ready状态。传入参数为Tick数目。 |
| | LOS_Msleep | 传入参数为毫秒数,转换为Tick数目,调用LOS_TaskDelay。 |
| | LOS_TaskYield | 当前任务时间片设置为0,释放CPU,触发调度运行就绪任务队列中优先级最高的任务。 |
| 控制任务调度 | LOS_TaskLock | 锁任务调度,但任务仍可被中断打断。 |
| | LOS_TaskUnlock | 解锁任务调度。 |
| | LOS_Schedule | 触发任务调度。 |
| 控制任务优先级 | LOS_CurTaskPriSet | 设置当前任务的优先级。 |
| | LOS_TaskPriSet | 设置指定任务的优先级。 |
| | LOS_TaskPriGet | 获取指定任务的优先级。 |
| 获取任务信息 | LOS_CurTaskIDGet | 获取当前任务的ID。 |
| | LOS_NextTaskIDGet | 获取任务就绪队列中优先级最高的任务的ID。 |
| | LOS_NewTaskIDGet | 等同LOS_NextTaskIDGet。 |
| | LOS_CurTaskNameGet | 获取当前任务的名称。 |
| | LOS_TaskNameGet | 获取指定任务的名称。 |
| | LOS_TaskStatusGet | 获取指定任务的状态。 |
| | LOS_TaskInfoGet | 获取指定任务的信息,包括任务状态、优先级、任务栈大小、栈顶指针SP、任务入口函数、已使用的任务栈大小等。 |
| | LOS_TaskIsRunning | 获取任务模块是否已经开始调度运行。 |
| 任务信息维测 | LOS_TaskSwitchInfoGet | 获取任务切换信息,需要开启宏LOSCFG_BASE_CORE_EXC_TSK_SWITCH。 |
| 回收任务栈资源 | LOS_TaskResRecycle | 回收所有待回收的任务栈资源。 |
## 开发流程
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录