.. _freertos: FreeRTOS ======== 概述 ------ FreeRTOS 是一个轻量级的实时操作系统内核,广泛应用于嵌入式系统。T0 芯片对 FreeRTOS 提供完整支持,可以在 HSM 域(N300)、CPU1 域(UX900 双核集群)和 CPU2 域(UX900 双核集群)上运行。 由于 T0 芯片包含多个处理器核心,FreeRTOS 在不同核心上的支持情况如下: - **HSM 域(N300)**:单核运行 FreeRTOS,适用于安全控制和实时管理 - **CPU1 域(UX900 双核集群)**:支持 SMP(对称多处理)模式,双核运行 FreeRTOS - **CPU2 域(UX900 双核集群,支持 VPU/NICE 扩展)**:支持 SMP 模式,双核运行 FreeRTOS 示例 ------ FreeRTOS Hello World ^^^^^^^^^^^^^^^^^^^^ 概述 """"""""" 该工程演示了 FreeRTOS 的任务调度功能,在指定核心上创建多个任务并通过串口输出任务运行状态。 运行配置 """"""""" 无特殊配置,默认在 ILM 模式下运行。 运行现象 """"""""" 当工程正确运行后,串口终端会输出如下信息: .. code-block:: console Nuclei SDK Build Time: Jan 7 2026, 10:11:31 Download Mode: ILM CPU Frequency 200000000 Hz CPU HartID: 0 Before StartScheduler Enter to task_1 task1 is running 0..... Enter to task_2 task2 is running 0..... task1 is running 1..... task2 is running 1..... task1 is running 2..... task2 is running 2..... task1 is running 3..... task2 is running 3..... task1 is running 4..... task2 is running 4..... timers Callback 0 task1 is running 5..... task2 is running 5..... task1 is running 6..... task2 is running 6..... task1 is running 7..... task2 is running 7..... task1 is running 8..... task2 is running 8..... task1 is running 9..... task2 is running 9.....