内核 API¶
本节包含内核核心服务(参考 内核入门(第 2 版))的 API。
重要
除非特别注释,这些 API 只能被线程使用,不能被 ISR 使用。
线程¶
线程是用于实现应用程序部分功能的独立可调度指令的集合。线程用于处理由于执行时间太长或者太复杂而不能在 ISR 内执行的任务。(参考 线程 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
工作队列¶
工作队列通过执行一个专有线程里的相关函数来处理一系列的工作项。工作队列通常用于将 ISR 或者高优先级线程的非紧急任务移交到低优先级线程。(参考 线程 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
时钟¶
内核时钟使线程或者 ISR 能够用常规精度和高精度来测量经过了多少时间。(参考 内核时钟 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
定时器¶
定时器时线程能够测量经过了多少时间,并在时间到期后执行某个动作(可选)。(参考 定时器 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
内存片¶
内存片能够用来动态地分配和释放固定尺寸的内存块。(参考 内存片 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
内存池¶
内存池能够用来动态地分配和释放可变尺寸的内存块。(参考 内存池 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
堆内存池¶
堆内存池能够用来像 malloc()
那样动态地分配和释放内存块。(参考 堆内存池 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
信号量¶
信号量提供了传统的计数信号量功能。(参考 信号量 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
互斥量¶
互斥量提供了带有基础优先级继承的传统可重入互斥量功能。(参考 互斥量 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
告警¶
告警使应用程序能够执行异步信号,在这某种程度上类似于 Unix 风格的信号。(参考 告警 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
FIFO¶
FIFO 提供了传统的适用于任意尺寸数据的先进先出的功能。(参考 Fifo )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
LIFO¶
LIFO 提供了传统的适用于任意尺寸数据的后进先出的功能。(参考 Lifo )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
栈¶
栈提供了传统的以 32 比特为单位的数据项的后进线程的功能。(参考 栈 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
消息队列¶
消息队列提供了一个简单的适用于尺寸固定的数据项的消息队列机制。(参考 消息队列 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
邮筒¶
邮筒提供了一个适用于尺寸可变的消息的消息排队机制。(参考 邮筒 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
管道¶
管道提供了可发送尺寸可变的数据块的匿名管道机制。(参考 管道 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
中断服务例程(ISR)¶
ISR 是为响应硬件或者软件中断而异步执行的一些列指令。(参考 中断 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
原子服务¶
原子服务使多个线程和 ISR 能够以不可中断的方式读取和修改 32 比特的变量。(参考 原子服务 )
重要
All atomic services APIs can be used by both threads and ISRs.
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml
浮点服务¶
浮点服务使线程能够利用开发板的浮点寄存器。(参考 浮点服务 )
警告
doxygengroup: Cannot find file: /home/docs/checkouts/readthedocs.org/user_builds/zephyr-doc/checkouts/latest/doc/doxygen/xml/index.xml