微控制器的面向對象的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 ,則板生成器的基本調用只是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 。 ./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