详解FreeRTOS:FreeRTOS程序启动流程(基础篇—5)

裸机系统上电时第一个执行的是启动文件里由汇编编写的复位函数Reset_Handler,复位函数最后会调用 C 库函数__main,__main 函数的主要工作是初始化系统的堆和栈,最后调用 C 中的 main 函数。如下图所示:

详解FreeRTOS:FreeRTOS程序启动流程(基础篇—5)_第1张图片

1、创建任务

在 main()函数中,我们直接可以对 FreeRTOS 进行创建任务操作,因为 FreeRTOS 会自动帮我们做初始化事情,比如初始化堆内存。我们在 main()函数中直接初始化板级外设——BSP_Init(),然后进行使用xTaskCreate()函数创建任务即可, 在任务创建中,FreeRTOS 会帮我们进行系统初始化和堆内存初始化。

xTaskCreate()函数内部进行堆内存初始化如下所示:

详解FreeRTOS:FreeRTOS程序启动流程(基础篇—5)_第2张图片

程序说明如下:

(1)(2)在未

你可能感兴趣的:(详解FreeRTOS,FreeRTOS程序启动流程,FreeRTOS,嵌入式,RTOS)