الشروع في العمل مع Git في Vitis IDE
يمثل استخدام Git مع بيئة التطوير المتكاملة "Unified Vitis" الجديدة، المستندة إلى VSCode، تحديات فريدة مقارنة بالإصدار الأقدم المستند إلى Eclipse. معالج مشروع الاستيراد/التصدير مفقود في الإصدار الأخير، مما يسبب صعوبات في إدارة التحكم في الإصدار بشكل فعال.
يهدف هذا الدليل إلى معالجة المشكلات التي تمت مواجهتها أثناء استخدام Git في Vitis، بما في ذلك التعامل مع الملفات التي تم إنشاؤها بمسارات مطلقة وضمان التعاون السلس عبر أنظمة التطوير المختلفة. سنستكشف سير العمل العملي لإدارة مشاريع Vitis الخاصة بك بكفاءة باستخدام Git.
يأمر | وصف |
---|---|
import vitis | يستورد Vitis API للتفاعل مع مشاريع Vitis برمجياً. |
client.set_workspace() | يضبط دليل مساحة العمل لعميل Vitis لإدارة ملفات المشروع. |
client.create_platform_component() | يقوم بإنشاء مكون أساسي جديد في مساحة عمل Vitis باستخدام معلمات الأجهزة ونظام التشغيل المحددة. |
platform.build() | يؤدي إلى تشغيل عملية الإنشاء لمكون النظام الأساسي المحدد في Vitis. |
client.create_app_component() | يقوم بإنشاء مكون تطبيق جديد مرتبط بمكون النظام الأساسي المحدد في Vitis. |
comp.import_files() | يستورد الملفات الضرورية من الدليل المصدر إلى مكون تطبيق Vitis. |
os.makedirs() | ينشئ بنية الدليل المحددة، بما في ذلك أي أدلة رئيسية ضرورية. |
vitis -s tools/build_app.py | يقوم بتشغيل برنامج Python المحدد باستخدام واجهة سطر أوامر Vitis لإعداد المشروع. |
echo "build-vitis/" >>echo "build-vitis/" >> .gitignore | يضيف دليل البناء إلى ملف تجاهل Git لاستبعاده من التحكم في الإصدار. |
git commit -m | تنفيذ التغييرات المرحلية على مستودع Git المحلي برسالة التزام محددة. |
شرح سكريبتات Vitis Automation
يقوم البرنامج النصي الأول بأتمتة إعداد مشروع Vitis باستخدام Python. يبدأ باستيراد الوحدات الضرورية، على وجه التحديد و . ثم يقوم بتعريف المسار الجذر وإنشاء دليل البناء إذا لم يكن موجودًا باستخدام . يقوم البرنامج النصي بإعداد المسارات المتوقعة لملف XSA والدليل المصدر الرئيسي. بعد ذلك، يقوم بإنشاء عميل Vitis وتعيين مساحة العمل إلى دليل البناء الذي تم إنشاؤه حديثًا. يتم إنشاء مكون النظام الأساسي باستخدام client.create_platform_component()، مع تحديد تكوين الأجهزة ونظام التشغيل ووحدة المعالجة المركزية. بمجرد إنشاء مكون النظام الأساسي، يتم إنشاء مكون التطبيق وربطه بمكون النظام الأساسي. أخيرًا، يتم استيراد الملفات الضرورية إلى مشروع Vitis، ويتم إنشاء المكون.
البرنامج النصي الثاني هو برنامج نصي shell يقوم بتهيئة مشروع Vitis وإعداد تكامل Git. فهو يحدد المسار الجذري ودليل البناء، وينشئ الدليل إذا لم يكن موجودًا. يقوم البرنامج النصي بعد ذلك بتشغيل البرنامج النصي Python باستخدام لأتمتة إعداد المشروع. بعد تشغيل البرنامج النصي Python، يقوم البرنامج النصي Shell بإعداد مستودع Git عن طريق الانتقال إلى الدليل الجذر، وتهيئة Git باستخدام ، وإضافة أدلة البناء إلى ملف. يقوم بتجهيز الملفات ذات الصلة مع git add ويلزمهم بالمستودع مع . يضمن هذا الأسلوب استبعاد أدلة البناء من التحكم في الإصدار مع الحفاظ على تتبع ملفات المشروع الضرورية.
أتمتة إعداد مشروع Vitis باستخدام Python
برنامج Python للتعامل مع إعداد مشروع Vitis وتكامل Git
import vitis
import os
ROOT_PATH = os.path.abspath(os.path.dirname(__file__))
VITIS_BUILD_DIR_PATH = os.path.join(ROOT_PATH, "build-vitis")
os.makedirs(VITIS_BUILD_DIR_PATH, exist_ok=True)
EXPECTED_XSA_FILE_PATH = os.path.join(ROOT_PATH, "build-vivado", "mydesign.xsa")
COMPONENT_NAME = "MyComponent"
MAIN_SRC_PATH = os.path.join(ROOT_PATH, "src")
client = vitis.create_client()
client.set_workspace(path=VITIS_BUILD_DIR_PATH)
PLATFORM_NAME = "platform_baremetal"
platform = client.create_platform_component(
name=PLATFORM_NAME,
hw=EXPECTED_XSA_FILE_PATH,
os="standalone",
cpu="mycpu"
)
platform = client.get_platform_component(name=PLATFORM_NAME)
status = platform.build()
comp = client.create_app_component(
name=COMPONENT_NAME,
platform=os.path.join(VITIS_BUILD_DIR_PATH, PLATFORM_NAME, "export", PLATFORM_NAME, f"{PLATFORM_NAME}.xpfm"),
domain="mydomainname"
)
comp = client.get_component(name=COMPONENT_NAME)
status = comp.import_files(
from_loc=MAIN_SRC_PATH,
files=["CMakeLists.txt", "UserConfig.cmake", "lscript.ld", "NOTUSED.cpp"],
dest_dir_in_cmp="src"
)
comp.build()
إدارة التحكم في المصدر في مشاريع Vitis
برنامج Shell النصي لتبسيط تهيئة مشروع Vitis والتحكم في المصدر
#!/bin/bash
ROOT_PATH=$(pwd)
VITIS_BUILD_DIR_PATH="$ROOT_PATH/build-vitis"
mkdir -p "$VITIS_BUILD_DIR_PATH"
EXPECTED_XSA_FILE_PATH="$ROOT_PATH/build-vivado/mydesign.xsa"
COMPONENT_NAME="MyComponent"
MAIN_SRC_PATH="$ROOT_PATH/src"
vitis -s tools/build_app.py
# After running the Python script, set up Git repository
cd "$ROOT_PATH"
git init
echo "build-vitis/" >> .gitignore
echo "build-vivado/" >> .gitignore
git add src/ tools/ .gitignore
git commit -m "Initial commit with project structure and scripts"
# Script end
فهم Vitis IDE والتحكم في الإصدار
يتضمن أحد جوانب استخدام بيئة التطوير المتكاملة "Unified Vitis" الجديدة مع Git فهم بنية ومكونات مشاريع Vitis. يقوم Vitis IDE بإنشاء العديد من الملفات، العديد منها بمسارات مطلقة، مما يزيد من تعقيد التحكم في الإصدار. تتضمن هذه الملفات تكوينات النظام الأساسي وأوصاف الأجهزة وبيانات التعريف الخاصة بـ IDE. عندما يتم التحكم في إصدار هذه الملفات دون المعالجة المناسبة، قد يواجه المطورون مشكلات مثل أخطاء البناء بسبب المسارات غير المتطابقة عبر أنظمة مختلفة.
للتخفيف من حدة هذه المشكلات، من الممارسات الشائعة استبعاد المجلدات التي يديرها Vitis من التحكم في الإصدار. بدلاً من ذلك، يتم نسخ ملفات التكوين المهمة مثل البرامج النصية للرابط وملفات CMake وملفات المشروع الأساسية الأخرى يدويًا إلى المواقع المناسبة التي يتوقعها Vitis. يضمن هذا الأسلوب أن الملفات الضرورية فقط هي التي يتم التحكم في إصدارها، مما يقلل من مخاطر التعارضات والأخطاء عند التعاون مع مطورين آخرين. بالإضافة إلى ذلك، يمكن أن يؤدي استخدام البرامج النصية للتشغيل الآلي مثل Python أو البرامج النصية Shell إلى تبسيط هذه العملية، مما يضمن أن إعداد المشروع وإدارة الملفات متسقان وقابلان للتكرار.
- كيف أقوم بتهيئة مستودع Git لمشروع Vitis؟
- يمكنك تهيئة مستودع Git بالانتقال إلى جذر المشروع وتشغيله . أضف الملفات الضرورية إلى لاستبعاد الملفات غير المرغوب فيها.
- ما هي الملفات التي يجب تضمينها في لمشروع فيتيس؟
- قم بتضمين المجلدات الخاصة بـ IDE مثل و لتجنب الملفات التي يتم إنشاؤها تلقائيًا والتي تتحكم في الإصدار.
- كيف يمكنني أتمتة إعداد مشروع Vitis؟
- استخدم برنامج Python النصي لأتمتة المهام مثل إنشاء مكونات النظام الأساسي واستيراد الملفات الضرورية. قم بتشغيل البرنامج النصي باستخدام .
- لماذا أحتاج إلى نسخ ملفات التكوين يدويًا؟
- يتوقع Vitis أن تكون بعض ملفات التكوين في مواقع محددة. يؤدي نسخ هذه الملفات يدويًا أو عبر البرنامج النصي إلى ضمان عثور IDE عليها بشكل صحيح.
- كيف أتعامل مع مجلدات النظام الأساسي والتطبيق في Vitis؟
- استبعد هذه المجلدات من التحكم في الإصدار واستخدم البرامج النصية لإدارة الملفات الضرورية، مما يضمن الاتساق وتجنب تعارض المسارات.
- هل يمكنني تحرير الملفات المصدر مباشرة في Vitis أثناء استخدام Git؟
- نعم، ولكن تأكد من أن إعداد CMake الخاص بك يشير إلى أدلة المصدر الصحيحة. قد لا يتعرف Vitis على التضمينات والأسماء بشكل صحيح لتمييز بناء الجملة.
- ما هي فوائد استخدام البرامج النصية لإعداد المشروع؟
- تضمن البرامج النصية إعداد مشروع متسق وقابل للتكرار، مما يقلل من الأخطاء اليدوية ويبسط التعاون عبر بيئات مختلفة.
- كيف يمكنني تحديث إعداد مشروعي إذا تم إجراء التغييرات؟
- قم بتعديل البرامج النصية للأتمتة الخاصة بك لتعكس التغييرات وأعد تشغيلها. وهذا يضمن تطبيق كافة التحديثات الضرورية بشكل صحيح.
- ماذا علي أن أفعل إذا واجهت أخطاء في البناء بسبب مشكلات المسار؟
- تحقق من البرامج النصية لإعداد المشروع وتأكد من تحديد جميع المسارات بشكل صحيح. استخدم المسارات النسبية حيثما أمكن ذلك لتجنب التعارضات.
النقاط الرئيسية للتحكم الفعال في الإصدار في Vitis IDE
يتضمن تنفيذ التحكم في الإصدار باستخدام Unified Vitis IDE الجديد عدة خطوات مهمة. ابدأ باستبعاد المجلدات التي تم إنشاؤها بواسطة Vitis من التحكم في الإصدار لتجنب التعارضات والأخطاء. بدلاً من ذلك، ركز على تتبع ملفات التكوين الأساسية مثل البرامج النصية للرابط، وملفات CMake، ومكونات المشروع الحيوية الأخرى. يمكن للبرامج النصية للأتمتة، خاصة تلك المكتوبة بلغة Python، تبسيط هذه العملية بشكل كبير من خلال أتمتة إعداد المشروع والتأكد من وجود جميع الملفات الضرورية في المواقع الصحيحة.
من خلال أتمتة الإعداد، يمكنك ضمان بيئة تطوير متسقة عبر أنظمة مختلفة، مما يقلل من احتمالية حدوث مشكلات متعلقة بالمسار. لا يعمل هذا النهج على تبسيط إدارة المشروع فحسب، بل يسهل أيضًا التعاون بشكل أكثر سلاسة بين المطورين. بالإضافة إلى ذلك، فإن الاحتفاظ بالملفات المصدر في أدلةها الأصلية واستخدام CMake للإشارة إلى هذه الأدلة يسمح بتحرير أسهل والتحكم في الإصدار، مع تجنب تعقيدات التعامل مع بنيات الملفات الداخلية لـ Vitis.
يتطلب دمج Git مع Unified Vitis IDE اتباع نهج استراتيجي لإدارة التحكم في الإصدار بشكل فعال. من خلال استبعاد المجلدات التي يديرها Vitis والتركيز على ملفات التكوين الأساسية، يمكن للمطورين تجنب الأخطاء الشائعة المرتبطة بالمسارات المطلقة والبيانات التعريفية الخاصة بـ IDE. تعمل البرامج النصية للأتمتة على تحسين هذه العملية من خلال توفير إعداد مشروع ثابت وقابل للتكرار. تضمن هذه الاستراتيجيات أن تظل مشاريع Vitis قابلة للإدارة وتعاونية، حتى في بيئات التطوير المعقدة.