![]() |
RT-Thread API参考手册
4.0.3
嵌入式实时操作系统
|
对称多核处理器支持情况 更多...
模块 | |
| 自旋锁 | |
| 自旋锁接口 | |
函数 | |
| void | rt_spin_lock_init (struct rt_spinlock *lock) |
| 初始化自旋锁 更多... | |
| void | rt_spin_lock (struct rt_spinlock *lock) |
| 获取自旋锁 更多... | |
| void | rt_spin_unlock (struct rt_spinlock *lock) |
| 释放自旋锁 更多... | |
| rt_base_t | rt_spin_lock_irqsave (struct rt_spinlock *lock) |
| 获取自旋锁并禁止本地中断 更多... | |
| void | rt_spin_unlock_irqrestore (struct rt_spinlock *lock, rt_base_t level) |
| 释放自旋锁并恢复中断控制器的状态 更多... | |
| struct rt_cpu * | rt_cpu_self (void) |
| 获取当前 CPU 的状态结构体 更多... | |
| struct rt_cpu * | rt_cpu_index (int index) |
| 获取指定 CPU 的状态结构体 更多... | |
| rt_base_t | rt_cpus_lock (void) |
| 禁用所有 CPU 的任务调度器,并禁止本地 CPU 中断 更多... | |
| void | rt_cpus_unlock (rt_base_t level) |
| 使能所有 CPU 的任务调度器,并恢复本地 CPU 中断控制器的状态 更多... | |
| void | rt_cpus_lock_status_restore (struct rt_thread *thread) |
| 设置当前 CPU 的当前任务 更多... | |
对称多核处理器支持情况
| void rt_spin_lock_init | ( | struct rt_spinlock * | lock | ) |
初始化自旋锁
该函数初始化一个自旋锁对象。
| lock | 指定自旋锁的指针。 |
| void rt_spin_lock | ( | struct rt_spinlock * | lock | ) |
获取自旋锁
该函数获取指定的自旋锁对象。被获取的自选锁在被释放前,不能够再被再次获取。
| lock | 指定自旋锁的指针。 |
| void rt_spin_unlock | ( | struct rt_spinlock * | lock | ) |
释放自旋锁
该函数释放指定的自旋锁对象。
| lock | 指定自旋锁的指针。 |
| rt_base_t rt_spin_lock_irqsave | ( | struct rt_spinlock * | lock | ) |
获取自旋锁并禁止本地中断
该函数获取指定的自旋锁对象,禁止本地中断,并返回中断控制器状态。
| lock | 指定自旋锁的指针。 |
| void rt_spin_unlock_irqrestore | ( | struct rt_spinlock * | lock, |
| rt_base_t | level | ||
| ) |
释放自旋锁并恢复中断控制器的状态
该函数释放指定的自旋锁对象,并恢复中断寄存器的状态。
| lock | 指定自旋锁的指针。 |
| level | 获取自旋锁前中断寄存器的状态值。 |
| struct rt_cpu* rt_cpu_self | ( | void | ) |
获取当前 CPU 的状态结构体
该函数获取当前 CPU 的状态结构体,其中记录了 CPU 的当前任务信息,以及就绪任务列表等。
| struct rt_cpu* rt_cpu_index | ( | int | index | ) |
获取指定 CPU 的状态结构体
该函数获取指定 CPU 的状态结构体。
| rt_base_t rt_cpus_lock | ( | void | ) |
禁用所有 CPU 的任务调度器,并禁止本地 CPU 中断
该函数禁用所有 CPU 的任务调度器,并禁止本地 CPU 中断。
| void rt_cpus_unlock | ( | rt_base_t | level | ) |
使能所有 CPU 的任务调度器,并恢复本地 CPU 中断控制器的状态
该函数使能所有 CPU 的任务调度器,并恢复本地 CPU 中断控制器的状态。
| level | 禁止任务调度器前,本地 CPU 中断控制器的状态值。 |
| void rt_cpus_lock_status_restore | ( | struct rt_thread * | thread | ) |
设置当前 CPU 的当前任务
该函数被任务调度器调用,将当前 CPU 的当前任务设置为指定的线程。另外,该函数还检查并解锁全局 CPU 调度器。
| thread | 指定的目标线程。 |