crazyflie2.0_crazyflie-firmware_总体程序概括

本文档详细介绍了Crazyflie 2.0飞行器的固件程序架构,主要基于FreeRTOS操作系统。在main函数中,初始化了LED、UART、系统、通信、控制器、稳定器及相关扩展板。此外,通过队列传递数据,并进行硬件自检。通过系统启动后,调度器开始运行多个任务,包括adcTask、crtpTxTask等。这些任务将逐步详述其功能和实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一个正式版本刚发出去做板,现在有空可以来好好看看STM32F405这边到底做了哪些事情,今天先看到整体程序的架构,crazyflie用的是FreeRTOS,程序中大部分会用到创建任务和队列传递数据的过程,网上有中文版的FreeRTOS资料,看一遍基本明白创建任务及其队列实现的机制,今天我们先看下main这边主要做了什么事情,习惯用SourceInsight浏览代码。

首先从main函数开始:

int main() 
{
  //Initialize the platform.
  platformInit();

  //Launch the system task that will initialize and start everything
  systemLaunch();

  //Start the FreeRTOS scheduler
  vTaskStartScheduler();

  //TODO: Move to platform launch failed
  ledInit();
  ledSet(0, 1);
  ledSet(1, 1);

  //Should never reach this point!
  while(1);

  return 0;
}
1,platformInit();函数我们继续往下看:

使用平台的 ‘esp32’ 开发板,在列出的文件夹中:D:\mixly2.0-win32-x64-rc4\arduino-cli\Arduino15\packages\esp32\hardware\esp32\2.0.7 使用平台的 ‘esp32’ 代码,在列出的文件夹中:D:\mixly2.0-win32-x64-rc4\arduino-cli\Arduino15\packages\esp32\hardware\esp32\2.0.7 cmd /c if exist "D:\\mixly2.0-win32-x64-rc4\\testArduino\\partitions.csv" COPY /y "D:\\mixly2.0-win32-x64-rc4\\testArduino\\partitions.csv" "D:\\mixly2.0-win32-x64-rc4\\mixlyBuild\\partitions.csv" cmd /c if not exist "D:\\mixly2.0-win32-x64-rc4\\mixlyBuild\\partitions.csv" if exist "D:\\mixly2.0-win32-x64-rc4\\arduino-cli\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\variants\\esp32\\partitions.csv" COPY "D:\\mixly2.0-win32-x64-rc4\\arduino-cli\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\variants\\esp32\\partitions.csv" "D:\\mixly2.0-win32-x64-rc4\\mixlyBuild\\partitions.csv" cmd /c if not exist "D:\\mixly2.0-win32-x64-rc4\\mixlyBuild\\partitions.csv" COPY "D:\\mixly2.0-win32-x64-rc4\\arduino-cli\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\tools\\partitions\\default.csv" "D:\\mixly2.0-win32-x64-rc4\\mixlyBuild\\partitions.csv" cmd /c IF EXIST "D:\\mixly2.0-win32-x64-rc4\\testArduino\\bootloader.bin" ( COPY /y "D:\\mixly2.0-win32-x64-rc4\\testArduino\\bootloader.bin" "D:\\mixly2.0-win32-x64-rc4\\mixlyBuild\\testArduino.ino.bootloader.bin" ) ELSE ( IF EXIST "D:\\mixly2.0-win32-x64-rc4\\arduino-cli\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\variants\\esp32\\bootloader.bin" ( COPY "D:\\mixly2.0-win32-x64-rc4\\arduino-cli\\Arduino15\\packages\\esp32\\hardware\\esp32\\2.0.7\\variants\\esp32\\bootloader.bin" "D:\\mixly2.0-win32-x64-rc4\\mixlyBuild\\testArduino.ino.bootloader.bin" ) ELSE ( "D:\\mixly2.0-win32-x64-rc4\\arduino-cli\\Arduino15\\packages\\esp32\\tools\\esptool_py\\4.5/esptool.exe" --chip esp32 elf2image --flash_mode dio --flash_freq 80m --flash_size 4MB -o "D:\\mixly2.0-win32-x64-rc4\\mixlyBuild\\testArduino.ino.bootloader.bin" "D:\\mixly2.0-win32-x64-rc4\\arduino-cli\\Arduino15\\packages\\esp32\\hardware\\esp
03-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

技术在路上

帮助需要的人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值