C ++ RTOs เชิงวัตถุสำหรับไมโครคอนโทรลเลอร์
หน้าแรก
เอกสาร
ซอร์สโค้ด @ github
ฟอรัม
ในการกำหนดค่าและสร้าง distortos ที่คุณต้องการ:
Distortos พยายามติดตามเวิร์กโฟลว์ CMAKE ข้ามการคอมไพล์ทั่วไปซึ่งหมายความว่าคุณต้องใช้ ไฟล์เครื่องมือ ที่เรียกว่า ไฟล์ toolchain ใน distortos ยังให้บริการอื่น - พวกเขาเลือกบอร์ดที่แอปพลิเคชันของคุณจะใช้
outputcmake .. -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 หากคุณต้องการดูบรรทัดคำสั่งทั้งหมดในขณะที่สร้าง; เห็นได้ชัดว่าคุณสามารถแทนที่ขั้นตอนที่ 1 ด้วย git clone https://github.com/DISTORTEC/distortos
ขั้นตอนที่ 2-4 สามารถทำได้จากภายใน cmake-gui หลังจากเริ่มต้นแอปพลิเคชันให้ใช้ แหล่งที่มาของการเรียกดู ... เพื่อเลือกโฟลเดอร์ด้วย ปุ่ม distortos และ เรียกดูปุ่มสร้าง ... เพื่อเลือกโฟลเดอร์บิลด์ จากนั้นคลิกที่ปุ่ม กำหนดค่า ในหน้าต่าง cmakesetup ซึ่งปรากฏขึ้นเลือกเครื่องกำเนิดที่คุณเลือกและตรวจสอบให้แน่ใจว่า ระบุไฟล์ toolchain สำหรับการคอมไพล์ข้าม จะถูกเลือกก่อนที่จะดำเนินการต่อไป คลิก ถัดไป และระบุไฟล์ toolchain (ซึ่งเลือกบอร์ด) ตัวอย่างเช่น <source-folder>/source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake และคลิกปุ่ม เสร็จสิ้น
เป้าหมายเริ่มต้นของการสร้าง - ทั้งหมด - เป็นเพียงไลบรารีคงที่ที่มี distortos libdistortos.a หากคุณต้องการสร้างแอปพลิเคชันทดสอบให้ระบุ distortosTest เป็นเป้าหมาย (เช่น 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 บน Windows )
Board Generator - scripts/generateBoard.py - ใช้ไฟล์ *.yaml เป็นอินพุตและสร้างโฟลเดอร์ที่มีไฟล์บอร์ดต่าง ๆ : ไฟล์ต้นฉบับ, ส่วนหัว, ไฟล์ CMake (รวมถึงไฟล์ CMake Toolchain) และอื่น ๆ ไฟล์อินพุต *.yaml อธิบายฮาร์ดแวร์บอร์ดในรูปแบบเหมือนต้นไม้ แนวคิดนี้อยู่ใกล้กับ DeviceTree มากและในความเป็นจริงรุ่นก่อนหน้าของเครื่องกำเนิดบอร์ดใช้ไฟล์ DeviceTree
หากต้องการรับแนวคิดเกี่ยวกับรูปแบบของไฟล์บอร์ด YAML ให้ดูที่ไฟล์ที่มีอยู่บางไฟล์เช่น source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml - ซึ่งอธิบาย STM32F4Discovery Board จาก ST - OR หรือ source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml อธิบายชิป STM32F407VG ที่ใช้บนบอร์ดนี้ นอกจากนี้ยังมีเอกสารบางอย่างเกี่ยวกับการผูก Yaml ใน documentation/yaml-bindings
สมมติว่าคุณมี 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