BetaFlight统一硬件资源简单配置修改

就笔者接触嵌入式设计以来,简单的来说可以分为几个阶段:

  1. MCS51汇编语言应用编程
  2. 单片机C语言应用编程
  3. 基于微系统C语言应用编程
  4. 基于(微、宏、混合)内核C语言驱动和应用编程
  5. 基于Unix like(Linux)应用系统的Python/Scripts/OpenCV/QT/C/C++/Java等等应用、算法编程
    1. 2)通常是面向过程的开发,更多专注于业务的过程化设计;
    1. 4)系统架构设计上已经面向对象,OS设计层面已经面向对象(驱动),模块化(内存管理,任务管理等)设计;
    1. 已经非常上层的应用编程,注重业务,算法,逻辑;计算机科学学科在这方面有大量内容,百花齐放百家争鸣;

这里说了这么多阶段性的东西,整体上还是想简单捋一下,从嵌入式的角度,如何将业务层层设计,并最终一步一步的落实到物理世界的。

很多问题的分析不仅仅要从局部入手,更要从全局,甚至要有长期布局的思路。

这里就不展开,否则话太多,离题了。通常来说,从设计角度看:

  1. 紧耦合:高复杂度;强依赖性;全局性资源;占用资源最少;
  2. 松耦合:模块化接口;弱依赖性;资源独立;占用资源一般;
  3. 不耦合:高度抽象模块;设计独立;接口标准;占用资源一般;

1. 源由

BetaFlight的代码最初clone过来时,也是继承了嵌入式代码一贯的target目标板设计思路;也就是说,针对每个板子有一份对应的目录,有对应的target代码,比如:芯片、板子初始化等代码。

但是从实践的角度看,会存在以下一些问题:

  1. 硬件目标板需要通过代码适配;
  2. 硬件制造厂家不一定具备软件开发人员(业务上决定);
  3. 硬件设计人员不接触或者非常少接触代码,不具备或者不习惯软件开发环境和技能;
  4. 硬件制造厂家很多,而软件代码开发维护人员数量有限;
  5. 为保证开发团队对代码设计全局把控和掌控能力;并要求设计简洁且易于维护,需要减少由于操作异常而投入的额外维护工作量;
  6. 事实上硬件厂家也已经加入到开源社区(虽然他们的硬件设计资料并不一定开源,但是需要从某种角度与开源软件一起携手并进);

鉴于上面诸多因素(有些可能我也没有概括全,也许说的也不够到位),BetaFlight开发团队与2019年开始引入硬件资源描述配置文件与软件代码进行抽象和解耦,详见4.0.0发布信息

在这里插入图片描述
注:鉴于目前BetaFlight的设计都是基于STM32系列的MCU,所以从工程框架的角度来看,并没有支持其他MCU的工程结构目录,比如:AT32(雅特力芯片)。鉴于国际市场芯片短缺问题,开发团队确实已经开始类似准备工作。
【1】 Source file re-arrangement for better separation of MCU types #12268
【2】AT32 development, introduction of AT32F435 target #12247
【3】AT32F435/7 Libraries (#12158) #12263

鉴于软件代码成熟度的提高,其应用范围日益扩大,当前SITL/STM32可能并不能完全满足要求,后续对硬件仿真HITL(Hardware in The Loop) simulation #12212的支持也需要纳入考虑,以便更广泛的应用。

通常情况下,板子之间的差异性不是太大,可以通过现有板子配置文件进行修改。这里就经常使用到的统一硬件资源文件修改步骤做下整理和归纳,以便更好,更快的根据这个checklist进行工作。

2. 资源配置注意事项

  1. 飞行控制器制造商设计指南
  2. 新增或更新硬件资源配置文件方法

注1:截止目前BF 4.4版本,所有BetaFlight现有STM32板子已经全部支持统一硬件资源抽象(如下图所示,BetaFlight飞控代码仅与MCU型号挂钩,而硬件设计被解耦到unified-targets硬件资源配置文件中。

注2:具体内容大家就看链接,不做翻译了。

3. 资源配置文件修改验证步骤

目前,BetaFlight上有大量的硬件设计厂家,以及各种STM32的飞控板子,因此通常来说新设计的硬件也是在原有基础上进行修改。

这里基于这种思路我们整理下资源配置文件修改的步骤,关于PR合入请详细阅读新增或更新硬件资源配置文件方法里面关于“如何与开源BF开发人员合作事宜”。

Step 1:确认硬件修改内容

与硬件设计人员确认硬件上修改的内容,获取相应格式文档交付件。

  1. PDF原理图
  2. 硬件改动说明(芯片改动,pin脚改动,IMU方向等)
  3. 参考飞控型号、规格书

Step 2:资源配置文件修改

根据Step 1的交付件和 新增或更新硬件资源配置文件方法修改资源配置文件

  1. 确认当前产品型号、规格
  2. 确认当前产品型号需要兼容的规格(比如:后续硬件可能的改动)
  3. 找到参考飞控资源配置文件,针对改动修改配置文件

Step 3:验证配置文件

根据Step 2的交付件和测试样机进行功能验证

  1. 当前产品飞控内部芯片功能验证
  2. 当前产品飞控引出pin脚功能验证
  3. 当前产品飞控飞行性能测试验证
    提供最终测试结果:若测试不合格返回Step 1 or Step 2;

Step 4:提交资源配置文件PR

根据 新增或更新硬件资源配置文件方法提交PR

4. 参考资料

【1】BetaFlight开源代码框架简介
【2】Betaflight硬件产商指南
【3】Betaflight 4.0.0 Release Note

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Betaflight 10.8.0是一款开源的多轴飞行控制软件。它专为无人机设计,具有强大的飞行控制能力和丰富的功能。如果您想下载Betaflight 10.8.0,您可以通过以下步骤获得它。 首先,您可以在Betaflight官方网站上获得最新版本的下载链接。访问官方网站后,找到下载页面并点击进入。在下载页面上,您将看到各种不同的版本可供选择。您需要找到10.8.0版本,并点击下载链接。 下载完成后,您可以将文件保存到您的计算机上的任意位置。请确保选择一个方便访问的位置,以便稍后安装软件。 然后,解压下载的文件。您可以使用常见的解压软件,例如WinRAR或7-Zip。右键点击文件并选择“解压缩到当前文件夹”或类似选项。解压完成后,您将在目标文件夹中看到Betaflight 10.8.0的文件和文件夹。 最后,您可以通过连接无人机到计算机上,使用飞行控制器如F4或F7,然后通过Betaflight Configurator来加载Betaflight 10.8.0。您只需打开Betaflight Configurator并选择正确的端口,然后将固件升级为Betaflight 10.8.0即可。 总之,下载Betaflight 10.8.0只需几个简单的步骤。请记住,使用Betaflight控制软件可能需要一定的技术知识和理解。在操作过程中,务必仔细阅读官方文档和教程,以确保您正确且安全地使用Betaflight 10.8.0。 ### 回答2: Betaflight是一款十分受欢迎的开源飞控固件,用于控制无人机的飞行和飞控功能。Betaflight 10.8.0是Betaflight团队开发的最新版本。 要下载Betaflight 10.8.0,首先需要访问Betaflight官方网站。在网站上,你可以找到下载页面。你可以在导航栏中找到“固件下载”或类似的选项。点击进入下载页面。 在下载页面,你会看到不同版本的Betaflight固件列在一起。现在你需要找到Betaflight 10.8.0的下载链接。可能有一些列如“最新稳定版”、“测试版”、“老版本”等的选项,你需要选择适合你的选择。找到Betaflight 10.8.0的选项并点击。 点击后,将会有一个提示框显示文件将要保存在电脑中的位置。选择一个你想保存固件文件的位置,并点击“保存”按钮。 下载过程可能需要一些时间,具体取决于你的网络连接和文件大小。一旦下载完成,你就可以在你选择的位置找到下载好的Betaflight 10.8.0固件文件。 下载好Betaflight 10.8.0后,你可以将固件文件烧录到你的飞控硬件中。具体的烧录步骤因不同的飞控硬件而异,你可以在Betaflight官方网站上找到详细的步骤和教程。 总之,要下载Betaflight 10.8.0,可以通过访问Betaflight官方网站,在下载页面中找到Betaflight 10.8.0的下载链接,然后保存到你的电脑中。下载完成后,可以将固件烧录到你的飞控硬件中,并开始享受最新版本的Betaflight带来的功能和飞行体验。 ### 回答3: Betaflight 10.8.0是一款开源的飞控固件,适用于无人机的飞行控制。要下载Betaflight 10.8.0版本,可以按照以下步骤进行操作: 第一步,打开Betaflight官方网站,网址为"https://betaflight.com/"。在网站首页的顶部导航栏中,可以找到一个名为"Downloads"的选项,点击进入。 第二步,进入Downloads页面后,会看到各个版本的Betaflight固件列表。向下滚动页面,直到找到Betaflight 10.8.0版本。点击版本号旁边的下载按钮。 第三步,选择适用于你的机型的固件下载链接。根据你的无人机型号和硬件配置,选择对应的下载链接,比如选择适用于F3飞控的固件。 第四步,点击下载链接后,会开始下载Betaflight 10.8.0的固件文件。下载完成后,将文件保存到你的计算机本地或指定的文件夹中。 第五步,将下载的Betaflight 10.8.0固件文件导入到你的飞控设备中。具体方法可以参考Betaflight官方网站提供的相关教程或使用说明。 总结,要下载Betaflight 10.8.0固件,首先前往Betaflight官方网站的Downloads页面,找到对应版本的固件文件,下载并导入到你的飞控设备中,然后按照相关教程进行设置和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值