不带线程的操作
在某些应用程序中,不需要提供线程支持:
- 引导加载程序
- 简单的事件驱动应用程序
- 旨在演示核心功能的例子
可以通过设置CONFIG_MULTITHREADING
为n来禁用线程支持。由于此配置对Zephyr的功能有重大影响,对它的测试受到限制,因此在此配置中可以工作的条件。
哪些可以期望工作的
当禁用CONFIG_MULTITHREADING
功能时,这些核心功能应能正常工作:
- 构建系统
- 引导应用程序到
Main()
的能力 - 中断管理
- 系统时钟,包括
k_uptime_get()
- 计时器,即
k_timer()
- 非睡眠延迟,如
k_busy_wait()
。 - 睡眠
k_cpu_idle()
。 Main()
之前运行驱动程序和子系统初始化,例如SYS_INIT
。- 内存管理
- 某些子系统中的特定标识驱动程序,如下所示。
上述期望会影响其他特征的选择;例如,CONFIG_