Embedded ARM Cortex M3(SAM3N4X)的简单任务调度器

Embedded ARM Cortex M3(SAM3N4X)的简单任务调度器,embedded,arm,rtos,Embedded,Arm,Rtos,在过去的两天里,我一直在为上述ARM Cortex M3寻找一个简单的调度器,尽管我找到了一些RTOS解决方案,但我没有找到一个独立的任务调度器 我不需要太花哨的东西,因为我的应用程序不一定需要,但它将有助于产品的未来证明(不要点燃最后一句话,我很清楚它的问题) 编辑: 正如@Clifford所说,我不太清楚我所说的简单是什么意思。我要说的是,它的代码很少,也不消耗太多的SRAM。最简单的说,RTOS内核包括一个调度器和许多任务同步和IPC机制。由于这些通常作为库提供,如果您只使用这样一个库的调

在过去的两天里,我一直在为上述ARM Cortex M3寻找一个简单的调度器,尽管我找到了一些RTOS解决方案,但我没有找到一个独立的任务调度器

我不需要太花哨的东西,因为我的应用程序不一定需要,但它将有助于产品的未来证明(不要点燃最后一句话,我很清楚它的问题)

编辑:


正如@Clifford所说,我不太清楚我所说的简单是什么意思。我要说的是,它的代码很少,也不消耗太多的SRAM。

最简单的说,RTOS内核包括一个调度器和许多任务同步和IPC机制。由于这些通常作为库提供,如果您只使用这样一个库的调度程序组件,那么其他任何东西都不会链接到您的代码。此外,以后添加同步、定时器和IPC的选项将使应用程序更加“经得起未来考验”,或者至少是它的体系结构

不清楚“简单调度器”是什么意思,但大多数RTOS调度器支持相同优先级任务的循环调度(uC/OS-II是一个明显的例外);如果您将所有任务都设置为相同的优先级,那么就不会比这简单得多了

还请注意,包含一个RTOS API,它的级别非常低,旨在作为更高级别操作系统的基础,但它提供了创建内核所需的所有构建块,以满足您的精确需求,包括线程控制(即调度)


如果您真的想完全避免RTOS,那么可以选择由支持的状态机体系结构。

最简单的RTOS内核包括一个调度器和许多任务同步和IPC机制。由于这些通常作为库提供,如果您只使用这样一个库的调度程序组件,那么其他任何东西都不会链接到您的代码。此外,以后添加同步、定时器和IPC的选项将使应用程序更加“经得起未来考验”,或者至少是它的体系结构

不清楚“简单调度器”是什么意思,但大多数RTOS调度器支持相同优先级任务的循环调度(uC/OS-II是一个明显的例外);如果您将所有任务都设置为相同的优先级,那么就不会比这简单得多了

还请注意,包含一个RTOS API,它的级别非常低,旨在作为更高级别操作系统的基础,但它提供了创建内核所需的所有构建块,以满足您的精确需求,包括线程控制(即调度)


如果你真的想完全避免RTOS,那么像支持的那样的状态机架构是一种替代方案。

流行的RTOS的ChibiOS/RT声称它非常小,而且是“静态的”(你必须分配它作为普通变量使用的所有数据,它不调用malloc()或类似的东西)。乍一看,它可能看起来“大”,因为它包含HAL,但您也可以删除(;

流行的RTOS ChibiOS/RT声称它非常小,并且是“静态的”(您必须将它使用的所有数据分配为普通变量,它不调用malloc()或类似的东西)。乍一看,它可能看起来“大”因为它包含HAL,但您也可以删除它(;

你应该使用小型、简单、免费、支持良好、广泛使用的实时操作系统,如uC/OS-II或FreeRTOS。你应该使用小型、简单、免费、支持良好、广泛使用的实时操作系统,如uC/OS-II或FreeRTOS。你确实在问题允许的范围内回答了我的问题。我将给你一个绿色的勾号。添加了一段可能实际上是moWe’我会仔细研究并权衡我的选择。你确实在问题允许的范围内回答了我的问题。我会给你一个绿色的记号。添加了一段事实上可能更适合你的需要。谢谢,我会仔细研究并权衡我的选择。我想避免编辑o不,但我会仔细看看,因为这可能是一项简单的任务。谢谢你的建议。我想避免编辑一个,但我会仔细看看,因为这可能是一项简单的任务。谢谢你的建议。