目录
文章目录
- 目录
- 摘要
- 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代码是
还可以将HAL可移植头添加到头的搜索路径中:
对应的ardupilot代码是
2.HAL Port Layer
端口层可以彼此不同,但总体布局相似。提供的示例路径来自stm32端口,您需要包括来自以下位置的源代码:
- ./os/hal/ports///*.c
- ./os/hal/ports//LLD//*.c
头文件包含相关标题的目录是:
- ./os/hal/ports//
- ./os/hal/ports//LLD/
对应的ardupilot代码是
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/
4.其他文件
HAL框架需要一个配置文件,它通常放在项目根目录下,但是它可以放在编译器可以访问的任何目录中。文件名为halconf.h,模板可从以下位置获取:
- ./os/hal/templates/halconf.h
不要直接使用该文件,在项目中复制它并编辑副本。
需要另一个与平台相关的配置文件mcuconf.h。这个文件从micro到micro有很大的变化,把这个文件从你需要使用的mcu的演示中取出来。演示位于:
- ./demos/
注意:
如果有疑问,请记住所提供的makefile是集成器的最终指南,所有需要的路径和选项都必须存在于其中。如果某些细节不清楚,最好查看所有演示中的makefile。通过编译demo,所有编译器选项都会打印在控制台上,这样可以消除对所需路径、文件和选项的任何疑问。