FreeRTOS的调度原理

前言

以个人理解,FreeRTOS内核调度的本质是利用了从异常中断返回时,切换任务栈的机制,使得进入新的任务下进行执行任务,实现内核调度功能。

内核进入第一个空闲任务分析

  • 内核版本:FreeRTOS V9.0.0
  • 硬件平台:STM32F103ZE
  • 仿真平台:MDK5.23

启动代码分析

// startup_stm32f10x_hd.s
; Reset handler
Reset_Handler   PROC
                EXPORT  Reset_Handler             [WEAK]
                IMPORT  __main
                IMPORT  SystemInit
                LDR     R0, =SystemInit
                BLX     R0               
                LDR     R0, =__main
                BX      R0
                ENDP

内核初始化时首先执行startup_stm32f10x_hd.

你可能感兴趣的:(FreeRtos)