Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修改SDK文档 #396

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 59 additions & 7 deletions doc/05.SDK_Manual.md
Original file line number Diff line number Diff line change
Expand Up @@ -400,7 +400,7 @@ k_err_t tos_task_resume(k_task_t *task);

- **返回值**

TOS_ERR_NONE 恢复任务运行成功。
K_ERR_NONE 恢复任务运行成功。

K_ERR_TASK_RESUME_SELF 试图恢复当前任务(非法)。

Expand Down Expand Up @@ -477,6 +477,10 @@ k_err_t tos_task_stack_draught_depth(k_task_t *task, int *depth);
K_ERR_NONE 任务栈状态正常。

K_ERR_TASK_STK_OVERFLOW 任务栈溢出。

K_ERR_OBJ_PTR_NULL 传入的depth 是一个 null ptr

K_ERR_OBJ_INVALID 传入的task不是一个kernel 对象

### tos_task_curr_task_get

Expand Down Expand Up @@ -543,8 +547,12 @@ void tos_task_walkthru(k_task_walker walker);

K_ERR_NONE 添加成功。

K_ERR_MMHEAP_INVALID_POOL_ADDR 内存池起始地址非法。
K_ERR_MMHEAP_POOL_OVERFLOW 内存池满

K_ERR_MMHEAP_POOL_ALREADY_EXIST 内存池中已存在目标内存

K_ERR_MMHEAP_INVALID_POOL_ADDR 内存池起始地址非法。

K_ERR_MMHEAP_INVALID_POOL_SIZE 内存池大小非法。

### tos_mmheap_pool_rmv
Expand All @@ -565,7 +573,11 @@ void tos_task_walkthru(k_task_walker walker);

- **返回值**

K_ERR_OBJ_PTR_NULL 传入值为NULL空对象

K_ERR_MMHEAP_POOL_NOT_EXIST 堆内存中不存在该内存池

K_ERR_NONE 删除成功

### tos_mmheap_alloc

Expand Down Expand Up @@ -632,7 +644,7 @@ void *tos_mmheap_realloc(void *ptr, size_t size);
### tos_mmheap_free

```c
void *tos_mmheap_free(void *ptr);
void tos_mmheap_free(void *ptr);
```

- **功能描述**
Expand Down Expand Up @@ -791,6 +803,8 @@ k_err_t tos_mutex_create(k_mutex_t *mutex);

K_ERR_NONE 互斥量创建成功。

K_ERR_IN_IRQ 在中断服务程序ISR中创建mutex

K_ERR_OBJ_PTR_NULL mutex 为空指针。

### tos_mutex_destroy
Expand All @@ -816,6 +830,10 @@ k_err_t tos_mutex_destroy(k_mutex_t *mutex);
K_ERR_OBJ_PTR_NULL mutex 为空指针。

K_ERR_OBJ_INVALID mutex 指向的不是一个合法的互斥量。

K_ERR_IN_IRQ 在中断服务程序ISR中销毁mutex。

K_ERR_OBJ_INVALID_ALLOC_TYPE 指向的互斥量mutex不是一个静态的mutex (如果动态创建开启的话)。

### tos_mutex_pend

Expand Down Expand Up @@ -844,11 +862,17 @@ k_err_t tos_mutex_pend(k_mutex_t *mutex);
K_ERR_PEND_SCHED_LOCKED 此互斥量被其他任务持有,且系统调度处于锁定状态。

K_ERR_PEND_DESTROY 当前任务试图获取的互斥量被销毁(tos_mutex_destroy)了。

K_ERR_IN_IRQ 在中断服务程序ISR中获取mutex。

K_ERR_OBJ_PTR_NULL mutex 为空指针。

K_ERR_OBJ_INVALID mutex 指向的不是一个合法的互斥量。

### tos_mutex_pend_timed

```c
k_err_t tos_mutex_pend(k_mutex_t *mutex, k_tick_t timeout);
k_err_t tos_mutex_pend_timed(k_mutex_t *mutex, k_tick_t timeout);
```

- **功能描述**
Expand Down Expand Up @@ -877,6 +901,12 @@ k_err_t tos_mutex_pend(k_mutex_t *mutex, k_tick_t timeout);
K_ERR_PEND_TIMEOUT 在 timeout 时间范围内未获取到互斥量。

K_ERR_PEND_DESTROY 当前任务试图获取的互斥量被销毁(tos_mutex_destroy)了。

K_ERR_IN_IRQ 在中断服务程序ISR中获取mutex。

K_ERR_OBJ_PTR_NULL mutex 为空指针。

K_ERR_OBJ_INVALID mutex 指向的不是一个合法的互斥量。

### tos_mutex_post

Expand All @@ -898,10 +928,16 @@ k_err_t tos_mutex_post(k_mutex_t *mutex);

K_ERR_NONE 互斥量释放成功。

K_ERR_MUTEX_NOT_OWNER 当前任务并非此互斥量的拥有者
K_ERR_IN_IRQ 在中断服务程序ISR中释放mutex

K_ERR_MUTEX_NESTING_OVERFLOW 互斥量拥有者嵌套释放溢出
K_ERR_OBJ_PTR_NULL mutex 为空指针

K_ERR_OBJ_INVALID mutex 指向的不是一个合法的互斥量。

K_ERR_MUTEX_NOT_OWNER 当前任务并非此互斥量的拥有者。

K_ERR_MUTEX_NESTING_OVERFLOW 互斥量拥有者嵌套释放溢出。

K_ERR_MUTEX_NESTING 互斥量拥有者嵌套释放。

## 信号量 semaphore
Expand Down Expand Up @@ -976,6 +1012,10 @@ k_err_t tos_sem_destroy(k_sem_t *sem);
K_ERR_OBJ_INVALID sem 指向的不是一个合法的信号量。

K_ERR_OBJ_PTR_NULL sem 指针为空。

K_ERR_OBJ_INVALID_ALLOC_TYPE sem指向的是一个动态的信号量(在动态对象创建宏开启后)



### tos_sem_pend

Expand Down Expand Up @@ -1005,6 +1045,14 @@ k_err_t tos_sem_pend(k_sem_t *sem, k_tick_t timeout);
K_ERR_PEND_TIMEOUT 在 timeout 超时范围内未获取到信号量。

K_ERR_PEND_DESTROY 试图获取的信号量被销毁了(tos_sem_destroy)

K_ERR_OBJ_INVALID sem 指向的不是一个合法的信号量。

K_ERR_OBJ_PTR_NULL sem 指针为空。

K_ERR_IN_IRQ 在中断服务程序ISR中获取信号量。



### tos_sem_post

Expand All @@ -1027,6 +1075,8 @@ k_err_t tos_sem_post(k_sem_t *sem);
K_ERR_NONE 信号量释放成功。

K_ERR_SEM_OVERFLOW 信号量值溢出。

K_ERR_OBJ_INVALID sem 指向的不是一个合法的信号量。

### tos_sem_post_all

Expand All @@ -1049,6 +1099,8 @@ k_err_t tos_sem_post_all(k_sem_t *sem);
K_ERR_NONE 信号量释放成功。

K_ERR_SEM_OVERFLOW 信号量值溢出。

K_ERR_OBJ_INVALID sem 指向的不是一个合法的信号量。

## 事件 event

Expand Down