ardupilot Chibios基础知识学习---Chibios/HAL集成指南

目录

文章目录

  • 目录
  • 摘要
  • 1.Chibios/HAL集成指南
    • 1.集成HAL
      • 1.portable HAL
      • 2.HAL Port Layer
      • 3.OSAL(操作系统抽象层简介) layer
      • 4.其他文件

摘要


本节主要记录自己学习chibios的过程(2019-6-1)。


1.Chibios/HAL集成指南


本指南介绍在不同于chibios分发版中,提供的默认版本构建环境中:集成chibios/hal所需的内容。


1.集成HAL


本节介绍希望在现有应用程序中使用chibios/hal框架的场景。为了实现这一点,您需要在项目中导入两个组件:

  • The portable HAL (HAL port).
  • The HAL port layer for your MCU(您的MCU的HAL端口层).
  • The OSAL(操作系统抽象层简介) layer for your RTOS(您的RTOS的OSAL 端口层).

您还需要考虑特定于端口的要求,随机启动文件和链接器文件可能无法工作。建议在尝试使用替代方案之前使用提供的支持文件。


1.portable HAL


您需要将以下文件添加到生成过程中:

  • ./os/hal/src/*.c
    对应的ardupilot代码是
    ardupilot Chibios基础知识学习---Chibios/HAL集成指南_第1张图片

ardupilot Chibios基础知识学习---Chibios/HAL集成指南_第2张图片

还可以将HAL可移植头添加到头的搜索路径中:

  • ./os/hal/include

对应的ardupilot代码是
ardupilot Chibios基础知识学习---Chibios/HAL集成指南_第3张图片

ardupilot Chibios基础知识学习---Chibios/HAL集成指南_第4张图片


2.HAL Port Layer


端口层可以彼此不同,但总体布局相似。提供的示例路径来自stm32端口,您需要包括来自以下位置的源代码:

  • ./os/hal/ports///*.c
  • ./os/hal/ports//LLD//*.c
    头文件包含相关标题的目录是:
  • ./os/hal/ports//
  • ./os/hal/ports//LLD/
    对应的ardupilot代码是

ardupilot Chibios基础知识学习---Chibios/HAL集成指南_第5张图片


3.OSAL(操作系统抽象层简介) layer


HAL使用一个名为OSAL的抽象层与底层RTOS(可选)交互。您需要在您的项目中包括用于RTOS的OSAL或用于裸机(不带RTOS)的OSAL。

Chibios中提供了几个OSALS,在您的项目中包括以下内容之一:

  • ./os/hal/osal/rt
  • ./os/hal/osal/nil
  • ./os/hal/osal/os-less/
    ardupilot Chibios基础知识学习---Chibios/HAL集成指南_第6张图片

4.其他文件


HAL框架需要一个配置文件,它通常放在项目根目录下,但是它可以放在编译器可以访问的任何目录中。文件名为halconf.h,模板可从以下位置获取:

  • ./os/hal/templates/halconf.h
    ardupilot Chibios基础知识学习---Chibios/HAL集成指南_第7张图片
    ardupilot Chibios基础知识学习---Chibios/HAL集成指南_第8张图片
    不要直接使用该文件,在项目中复制它并编辑副本。
    需要另一个与平台相关的配置文件mcuconf.h。这个文件从micro到micro有很大的变化,把这个文件从你需要使用的mcu的演示中取出来。演示位于:
  • ./demos/
    ardupilot Chibios基础知识学习---Chibios/HAL集成指南_第9张图片
    注意:
    如果有疑问,请记住所提供的makefile是集成器的最终指南,所有需要的路径和选项都必须存在于其中。如果某些细节不清楚,最好查看所有演示中的makefile。通过编译demo,所有编译器选项都会打印在控制台上,这样可以消除对所需路径、文件和选项的任何疑问。

你可能感兴趣的:(ardupilot学习)