C ++ RTOs الموجهة نحو الكائنات لتكوين متحكم
الصفحة الرئيسية
الوثائق
رمز المصدر @ github
المنتدى
لتكوين وبناء تشوهات تحتاجها:
يحاول تشويه تشويه أن يتبع سير العمل النموذجي المتقاطع ، مما يعني أنه يتعين عليك دائمًا استخدام ملف أدوات ما يسمى. تخدم ملفات أدوات أدوات في تشوهات غرضًا آخر - يختارون اللوحة التي سيتم استخدامها بواسطة تطبيقك.
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 .. (تطبيق واجهة المستخدم الرسومية) أو ccmake .. (التطبيق القائم على اللعنات ) ؛ninja أو ninja -v إذا كنت ترغب في رؤية جميع خطوط الأوامر أثناء البناء ؛ من الواضح أنه يمكنك استبدال الخطوة 1 بـ git clone https://github.com/DISTORTEC/distortos .
يمكن أن يتم كل خطوات 2-4 من داخل cmake-gui . بعد بدء تشغيل التطبيق ، استخدم Browse Source ... زر لتحديد المجلد مع تشويه تشويشات وتصفح Browse Build ... لتحديد مجلد الإنشاء. ثم انقر فوق زر تكوين . في نافذة Cmakesetup التي تظهر تحديد المولد الذي تختاره وتأكد من تحديد ملف CHAIN للأدوات للتجميع المتقاطع قبل الذهاب إلى أبعد من ذلك. انقر فوق "التالي" وحدد ملف أدوات أدوات (الذي يحدد أيضًا اللوحة) ، على سبيل المثال <source-folder>/source/board/ST_STM32F4DISCOVERY/Toolchain-ST_STM32F4DISCOVERY.cmake وانقر فوق زر الانتهاء .
الهدف الافتراضي للبناء - الكل - هو مجرد مكتبة ثابتة مع تشويه تشويه libdistortos.a . إذا كنت ترغب في إنشاء تطبيق الاختبار ، فحدد distortosTest كهدف (على سبيل المثال ninja distortosTest إذا كنت تستخدم 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
أو
$ 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 ) وما إلى ذلك. يصف ملف الإدخال *.yaml أجهزة اللوحة في نموذج يشبه الأشجار. الفكرة قريبة جدًا من Devicetree وفي الواقع ، تستخدم الإصدارات السابقة من ملفات Poard Generator ملفات Devicetree .
للحصول على فكرة عن تنسيق ملفات اللوحة YAML ، ألق نظرة على بعض الملفات الموجودة ، على سبيل المثال source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml - الذي يصف STM32F4Dissovery Board من ST - أو source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml - التي تصف رقاقة STM32F407VG المستخدمة في هذه اللوحة. هناك أيضًا بعض الوثائق حول روابط YAML في documentation/yaml-bindings
على افتراض أن لديك بالفعل تشوهات إما كجزء من مشروعك أو كمجلد مستقل ، فإن الاحتجاج الأساسي لمولد اللوحة هو مجرد path/to/distortos/scripts/generateBoard.py path/to/board.yaml (أو python path/to/distortos/scripts/generateBoard.py path/to/board.yaml sendboard ./scripts/generateBoard.py source/board/ST_STM32F4DISCOVERY/ST_STM32F4DISCOVERY.yaml . يمكنك أيضًا إنشاء ما يسمى بألواح RAW ، باستخدام ملف yaml Chip كمدخل مباشرة ، على سبيل المثال ./scripts/generateBoard.py source/chip/STM32/STM32F4/chipYaml/ST_STM32F407VG.yaml -o output/path/of/raw/board .