目录

摘要


本指南介绍在与Chibios分发版中提供的默认环境不同的构建环境中集成chibios/rt或chibios/nil所需的内容。


本指南不包括的内容
本指南的范围有限,以下主题在其他地方处理:
本指南不介绍将操作系统移植到不同的体系结构或不同的编译器,请参阅“chibios/rt port guide”一文。
本指南不描述任何特定的环境或开发工具,假定您已经详细了解了要使用的环境。


1.注意关于ChibiOS/NIL


本指南也适用于chibios/nil,只需在路径中将/rt/with/nil/替换,并将chconf.h替换为nilconf.h。


2.集成内核


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

  • 便携式RT内核。(The portable RT kernel.)
  • 您的微控制器的RT端口层。(The RT port layer for your microcontroller.)

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


1.Portable RT Kernel


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

  • ./os/rt/src/*.c
    在ardupilot中对应的文件内容
    ardupilot ChibiOS/RT集成简介
    还将RT可移植头文件添加到搜索路径中:
    -./os/rt/include
    ardupilot ChibiOS/RT集成简介

2.RT Port Layer


端口层可以彼此不同,但总体布局相同。您需要包括源代码:

  • ./os/rt/ports//*.c (note some files could be optional here)
  • ./os/rt/ports//compilers//*.c
  • ./os/rt/ports//compilers//*.s
    对应的头文件目录是:
  • /os/rt/ports/
  • ./os/rt/ports//compilers/
    端口层可以,通常也可以,有特定于体系结构的需求。通常,必须向包含特定于MCU参数的端口提供一个小的头段。此文件名为:
  • cmparams.h for the ARM Cortex-M port
  • armparams.h for the ARM port
  • ppcparams.h for the Power e200Z port
    此外,ARM Cortex-M端口还需要供应商提供的符合CMSIS的寄存器定义头。头通常包含在cmparams.h中。
    参数标题的模板如下:
  • ./os/common/ports//devices//xxxparams.h
    ardupilot ChibiOS/RT集成简介

支持的Cortex-M MCU的CMSIS标题也提供在下面:

  • ./os/ext/CMSIS/include
  • ./os/ext/CMSIS//[]
    ardupilot ChibiOS/RT集成简介

您应该向项目搜索路径添加适当的CMSIS路径。


3.其他文件


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

  • ./os/rt/templates/chconf.h
    ardupilot ChibiOS/RT集成简介

不要直接使用该文件,在项目中复制它并编辑副本。


4.注意


如果有疑问,请记住所提供的makefile是集成器的最终指南,所有需要的路径和选项都必须存在于其中。如果某些细节不清楚,最好查看所有演示中的makefile。通过编译demo,所有编译器选项都会打印在控制台上,这样可以消除对所需路径、文件和选项的任何疑问。

相关文章: