RTO C ++ yang berorientasi objek untuk mikrokontroler
Beranda
Dokumentasi
Kode Sumber @ GitHub
Forum
Untuk mengonfigurasi & membangun distoro yang Anda butuhkan:
Distortos mencoba mengikuti alur kerja cross-kompilasi cmake khas, yang berarti bahwa Anda selalu harus menggunakan file toolchain yang disebut. File toolchain di distortos juga melayani tujuan lain - mereka memilih papan yang akan digunakan oleh aplikasi Anda.
output ;cmake .. -DCMAKE_TOOLCHAIN_FILE=../source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake -GNinja jika Anda ingin konfigurasi default atau cmakake default atau cmake -C../configurations/ST_STM32F4DISCOVERY/test/distortosConfiguration.cmake .. -GNinja jika Anda ingin memulai dari konfigurasi yang disimpan;cmake-gui .. (Aplikasi GUI) atau ccmake .. (Aplikasi Berbasis Kutukan );ninja atau ninja -v jika Anda ingin melihat semua baris perintah saat membangun; Anda dapat dengan jelas mengganti langkah 1 dengan git clone https://github.com/DISTORTEC/distortos .
Langkah 2-4 dapat dilakukan dari dalam cmake-gui . Setelah memulai tombol Gunakan Sumber Browse ... Tombol untuk memilih folder dengan Distortos dan Browse Build ... Tombol untuk memilih folder build. Kemudian klik tombol Configure . Di jendela CMakeSetup yang muncul, pilih generator pilihan Anda dan pastikan bahwa menentukan file toolchain untuk kompilasi silang dipilih sebelum melangkah lebih jauh. Klik Berikutnya dan tentukan file ToolChain (yang juga memilih papan), misalnya <source-folder>/source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake dan klik tombol finish .
Target default build - semua - hanyalah perpustakaan statis dengan distortos libdistortos.a . Jika Anda ingin membangun aplikasi pengujian, tentukan distortosTest sebagai target (misalnya ninja distortosTest jika Anda menggunakan ninja ).
$ 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
atau
$ 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
Untuk menghasilkan papan yang Anda butuhkan:
Baik jinja2 dan ruamel.yaml dapat dengan mudah diinstal dengan pip install jinja2 && pip install ruamel.yaml (atau python -m pip install jinja2 diikuti oleh python -m pip install ruamel.yaml di windows ), namun mereka mungkin juga tersedia di manajer paket sistem Anda.
Board Generator - scripts/generateBoard.py - Mengambil file *.yaml sebagai input dan menghasilkan folder yang berisi berbagai file papan: file sumber, header, file CMake (termasuk file CMake Toolchain) dan sebagainya. File input *.yaml menjelaskan perangkat keras papan dalam bentuk seperti pohon. Idenya sangat dekat dengan Devicetree dan pada kenyataannya versi sebelumnya dari generator papan menggunakan file Devicetree .
Untuk mendapatkan ide tentang format file papan YAML, lihat beberapa file yang ada, misalnya source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml - yang menjelaskan papan stm32f4discovery dari st - atau source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml - yang menjelaskan chip STM32F407VG yang digunakan pada papan ini. Ada juga beberapa dokumentasi tentang binding YAML di documentation/yaml-bindings
Dengan asumsi bahwa Anda sudah memiliki distorsi baik sebagai bagian dari proyek Anda atau sebagai folder mandiri, doa dasar generator papan hanyalah path/to/distortos/scripts/generateBoard.py path/to/board.yaml (atau python path/to/distortos/scripts/generateBoard.py path/to/board.yaml board ./scripts/generateBoard.py source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml . Anda juga dapat menghasilkan apa yang disebut board mentah , menggunakan file chip yaml sebagai input secara langsung, misalnya ./scripts/generateBoard.py source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml -o output/path/of/raw/board .