微控制器的面向对象的C ++ RTO
首页
文档
源代码 @ github
论坛
要配置和构建扭曲,您需要:
Distortos试图遵循典型的CMAKE交叉编译工作流程,这意味着您始终必须使用所谓的工具链文件。 Distortos中的工具链文件还提供了另一个目的 - 他们选择了您的应用程序将使用的板。
output ;cmake .. -DCMAKE_TOOLCHAIN_FILE=../source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake -GNinja如果您想要默认配置或cmake -C../configurations/ST_STM32F4DISCOVERY/test/distortosConfiguration.cmake .. -GNinja如果您想从保存的配置开始;cmake-gui .. ( GUI应用程序)或ccmake .. (基于诅咒的应用程序);ninja或ninja -v如果您想在构建时查看所有命令行;显然,您可以用git clone https://github.com/DISTORTEC/distortos替换步骤1。
步骤2-4可以全部从cmake-gui内完成。启动应用程序后,请使用浏览源...按钮可以选择带Distortos的文件夹,然后浏览构建...按钮以选择“构建文件夹”。然后单击“配置”按钮。在出现的Cmakesetup窗口中,选择您选择的生成器,并确保在进行进一步之前选择用于交叉编译的工具链文件。单击“下一步”并指定工具链文件(还选择板),例如<source-folder>/source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake和单击完成按钮。
构建的默认目标 -全部- 只是带有distortos libdistortos.a静态库。如果要构建测试应用程序,请将distortosTest指定为目标(例如使用Ninja,例如忍者ninja distortosTest )。
$ wget https://github.com/DISTORTEC/distortos/archive/master.tar.gz
$ tar -xf master.tar.gz
$ cd distortos-master
$ mkdir output
$ cd output
$ cmake .. -DCMAKE_TOOLCHAIN_FILE=../source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake -GNinja
$ cmake-gui ..
$ ninja
或者
$ wget https://github.com/DISTORTEC/distortos/archive/master.tar.gz
$ tar -xf master.tar.gz
$ cd distortos-master
$ mkdir output
$ cd output
$ cmake -C../configurations/ST_STM32F4DISCOVERY/test/distortosConfiguration.cmake .. -GNinja
$ cmake-gui ..
$ ninja
要生成董事会,您需要:
Jinja2和ruamel.yaml都可以使用pip install jinja2 && pip install ruamel.yaml (或python -m pip install jinja2然后是python -m pip install ruamel.yaml ),但是它们也可以在系统的包装管理器中可用。
板生成器 - scripts/generateBoard.py将一个*.yaml文件作为输入,并生成包含各种板文件的文件夹:源文件,标头, cmake文件(包括cmake tool链文件)等。输入*.yaml文件以类似树状的形式描述板硬件。这个想法非常接近DeviceTree ,实际上是董事会生成器使用的Devicetree文件的早期版本。
要了解板yaml文件的格式,请查看一些现有文件,例如source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml描述了STM32F4DISCOVERY的ST-或ST-或source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml描述了该板上使用的STM32F407VG芯片。在documentation/yaml-bindings中,还有一些有关yaml绑定的文档
假设您已经在项目的一部分或独立文件夹中已经具有distortos ,则板生成./scripts/generateBoard.py source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml的基本调用只是path/to/distortos/scripts/generateBoard.py path/to/board.yaml python path/to/distortos/scripts/generateBoard.py path/to/board.yaml 。 ./scripts/generateBoard.py source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml 。您还可以使用chip yaml文件直接生成所谓的原始板,例如./scripts/generateBoard.py source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml -o output/path/of/raw/board