BetaFlight模块设计之一:系统任务模块分析
Posted lida2003
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BetaFlight模块设计之一:系统任务模块分析相关的知识,希望对你有一定的参考价值。
BetaFlight模块设计之一:系统任务模块分析
基于BetaFlight开源代码框架简介的框架设计,逐步分析内部模块功能设计。
(一)系统任务Update
描述:目前主要用于文件系统的相关维护例程。
├──> 初始化sdCardAndFSInit
│ ├──> [v]硬件初始化sdcard_init
│ └──> [v]业务初始化afatfs_init
├──> 任务
│ ├──> [x]实时任务
│ ├──> [x]事件任务
│ └──> [v]时间任务[TASK_MAIN] = DEFINE_TASK("SYSTEM", "UPDATE", NULL, taskMain, TASK_PERIOD_HZ(1000), TASK_PRIORITY_MEDIUM_HIGH),
├──> 驱动
│ ├──> [x]查询
│ └──> [x]中断
└──> 接口
└──> afatfs API接口, \\src\\main\\io\\asyncfatfs\\asyncfatfs.h
函数分析:
taskMain
└──> <USE_SDCARD>
└──> afatfs_poll
(二)系统任务LOAD
描述:用于计算系统总体的任务负载情况。
├──> 初始化
│ ├──> [x]硬件初始化
│ └──> [x]业务初始化
├──> 任务
│ ├──> [x]实时任务
│ ├──> [x]事件任务
│ └──> [v]时间任务[TASK_SYSTEM] = DEFINE_TASK("SYSTEM", "LOAD", NULL, taskSystemLoad, TASK_PERIOD_HZ(10), TASK_PRIORITY_MEDIUM_HIGH),
├──> 驱动
│ ├──> [x]查询
│ └──> [x]中断
└──> 接口
└──> uint16_t getAverageSystemLoadPercent(void)
以上是关于BetaFlight模块设计之一:系统任务模块分析的主要内容,如果未能解决你的问题,请参考以下文章