جدول المحتويات:
- الخطوة 1: قم بتنزيل Sunxi-tools
- الخطوة 2: قم بفك ضغط رمز المصدر
- الخطوة 3: قم بتنزيل Code:: block
- الخطوة 4: اختبر IDE الخاص بك
- الخطوة 5: إكمال الاختبار
- الخطوة السادسة: إنشاء مشروع جديد
- الخطوة 7: إضافة ملفات إلى المشروع
- الخطوة 8: اطلب من دول مجلس التعاون الخليجي اتباع معيار اللغة ISO C لعام 1999
- الخطوة 9: ابحث عن التبعية المفقودة
- الخطوة 10: فك حزمة Mman
- الخطوة 11: وأضفهم إلى المشروع
- الخطوة 12: المسار الصحيح
- الخطوة 13: طرد الأرواح الشريرة
- الخطوة 14: الملاحظات
فيديو: Orange PI HowTo: Compile Sunxi Tool لنظام التشغيل Windows تحت Windows: 14 خطوة (بالصور)
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:41
الشروط المسبقة:
سوف تحتاج
- جهاز كمبيوتر (سطح المكتب) يعمل بنظام Windows.
- اتصال بالإنترنت.
- لوحة Orange PI.
الأخير اختياري ، لكنني متأكد من أنه لديك بالفعل. وإلا فلن تقرأ هذا الدليل.
عندما تشتري الكمبيوتر ذو اللوحة الواحدة Orange PI ، فإنه يبقى مجرد قطعة من المعدن الميت حتى يتم تكوينه بشكل صحيح. وملف التكوين الرئيسي الخاص به: "script.bin" هو المفتاح الأول لإحيائه. يوجد هذا الملف في قسم التمهيد لبطاقة SD القابلة للتمهيد. ولحسن حظنا ، في معظم توزيعات Linux من الموقع الرسمي (https://www.orangepi.org/downloadresources/) هذا القسم هو FAT32 ويمكن رؤيته بسهولة بواسطة أي كمبيوتر يعمل بنظام Windows. إنه يبسط الأمور حقًا ، نظرًا لأنه لا توجد طريقة موثوقة للكتابة في أقسام Linux ext2 من نظام Windows.
من سوء حظنا أن ملف التكوين script.bin يحتوي على تنسيق ثنائي غير ملائم تمامًا للتحرير البشري. يحتاج المرء إلى نوع من الأدوات البرمجية لفك تشفيره وإعادة تشفيره بعد إجراء التعديلات اللازمة. ومجموعة الأدوات هذه موجودة. إنها أدوات SUNXI سيئة السمعة. إن الذبابة في المرهم هي أن الغرض منه هو العمل في نظام Linux وعلينا إما الاحتفاظ بآلة Linux مخصصة لاستخدام أدوات sunxi فقط ، أو لإيجاد طريقة لتجميعها للنوافذ.
يمكنني ببساطة تجميعه ومشاركة الملف القابل للتنفيذ ، لكن لا أحد يعرف أبدًا ما إذا كان يرغب في إصدار إصدار جديد وستحتاج إلى تجميع جديد في أسرع وقت ممكن. لذلك قررت إعداد دليل حول كيفية تجميع الأداة الأساسية من المصادر. هيا بنا نبدأ.
الخطوة 1: قم بتنزيل Sunxi-tools
احصل على أحدث إصدار (أو ضروري) من رمز مصدر أدوات sunxi. انتقل إلى عنوان URL: https://github.com/linux-sunxi/sunxi-tools/releases واختر التنزيل كأرشيف مضغوط.
الخطوة 2: قم بفك ضغط رمز المصدر
بمجرد انتهاء التنزيل ، قم بفك ضغط رمز المصدر إلى المجلد الذي تختاره. (كذلك سأفترض أن هذا المجلد هو c: / sunxitools / ، لذا استبدل هذا المسار بالمسار الخاص بك).
الخطوة 3: قم بتنزيل Code:: block
إذا كان لديك نسخة مثبتة من بعض مترجم c ++ التشغيلي لنظام التشغيل windows. وإذا كنت تعرف كيفية استخدامه ، فيمكنك المتابعة مباشرة إلى الخطوة 3. يجب أن يحصل الآخرون على مترجم c ++ مناسب و shell (IDE) لاستخدامه بشكل مريح. اختيار الألغام هو code:: block for Windows جنبًا إلى جنب مع MinGW toolchain المثبت مسبقًا. يمكنك الحصول عليه من هنا:
قم بتنزيله وتثبيته.
الخطوة 4: اختبر IDE الخاص بك
لاختبار ما إذا كانت الأمور تسير على ما يرام ، ابدأ عمليات حظر الرموز ، وانقر على "إنشاء مشروع جديد" ، واختر "تطبيق وحدة التحكم" ، واختر إما c أو c ++ ، واكتب عنوان مشروع السداد ، واحتفظ بالإعدادات الافتراضية كما هي في النافذة التالية وانقر على "إنهاء ".
الخطوة 5: إكمال الاختبار
ثم انقر فوق المثلث الأخضر في اللوحة العلوية لـ IDE أو استخدم Build-> Run menu point. إذا سارت الأمور على ما يرام ، سترى رسالة من تطبيق "Hello world" المُنشأ تلقائيًا في نافذة "DOS" السوداء.
إذا لم يكن الأمر كذلك ، فهذا يعني أن IDE والمترجم لا يعملان بشكل صحيح وسيتعين عليك التحقيق في كيفية ضبطه بشكل صحيح. ربما سيتعين عليك تنزيل إصدار آخر من أدوات البرمجة أو التحقق من أذوناتها في جدار الحماية / برنامج مكافحة الفيروسات.
الخطوة السادسة: إنشاء مشروع جديد
الآن يجب أن يكون لديك مجموعة أدوات مبرمج C / C ++ عاملة وأكواد مصادر sunxi-tools التي تم فك حزمها في المجلد c: / sunxitools / على جهاز الكمبيوتر الخاص بك. حان الوقت لتجميع المشروع. إنشاء مشروع جديد في IDE الخاص بك. اختر مشروع C العادي (وليس c ++) من النوع "تطبيق وحدة التحكم".
تأكد من أنك تقوم بإنشاء مشروع في المجلد c: / sunxitools / وليس في مكان آخر. (تميل كتل الأكواد البرمجية على سبيل المثال إلى إنشاء مجلد فرعي يحمل نفس اسم المشروع. لذلك إذا قمت بتسمية مشروعك ، قل "اختبار" ، وحاول وضعه في c: / sunxitools / ، فقد ينتهي بك الأمر مع اختفاء المشروع إلى c: / sunxitools / test / إذا لم تكن منتبهًا بما فيه الكفاية.) تحتوي أدوات Sunxi على العديد من الأدوات المساعدة ، ولكن لغرضنا سنحتاج إلى واحد فقط: ما يسمى الأداة المساعدة "fexc".
الخطوة 7: إضافة ملفات إلى المشروع
الأداة المساعدة "fexc" هي المسؤولة عن تحويل script.bin إلى تنسيق نص والتحويل الخلفي إلى ملف ثنائي. من الضروري أن يكون الملف التنفيذي لهذه الأداة المساعدة يحمل الاسم "fexc.exe" ، لذلك من الجيد أن تسمي مشروعك باسم "fexc". ومع ذلك ، يمكنك استخدام أي اسم آخر للمشروع ، حيث يمكنك دائمًا إعادة تسمية الملف القابل للتنفيذ بعد التجميع ، أو إما يمكنك اختيار "مشروع-> خصائص" من القائمة المنسدلة العلوية وفي النافذة التي تظهر انقر فوق علامة التبويب "إنشاء الأهداف" ، وتعديل حقل "اسم ملف الإخراج" هناك لتجاوز الاسم القابل للتنفيذ.
إلى مشروعك الذي تم إنشاؤه تلقائيًا ، يجب إضافة خمسة ملفات مصدر فقط:
- fexc.c
- script.c
- script_bin.c
- script_fex.c
- script_uboot.c
وسبعة ملفات رأس:
- list.h (انقلها من c: / sunxitools / include / folder إلى c: / sunxitools / folder)
- fexc.h
- script.h
- script_bin.h
- script_fex.h
- script_uboot.h
- الإصدار. h
تأكد من استبعاد main.c المُنشأ تلقائيًا من المشروع ، لأن fexc.c يحتوي بالفعل على وظيفة "int main" فيه. (تذكر أن أي برنامج يجب أن يكون له وظيفة رئيسية واحدة فقط؟).
جميع ملفات التعليمات البرمجية المصدر الضرورية موجودة بالفعل في المجلد الفرعي ، حيث قمت بفك حزم أكواد المصدر إلى. تستحق ملفات الرأس زوجًا من الكلمات ، حيث يمكن الحصول عليها. "list.h" - عادة ما تكون في المجلد الفرعي "التضمين" لمجموعة أكواد المصدر التي تم فك حزمها. "version.h" - فقط قم بإنشائه بنفسك. ضع هناك سلسلة مثل:
#define الإصدار "Win32"
ثم احفظ وأغلق الملف. (يمكنك تزيينه بـ # تعريف و # ifdef إذا كنت تريد.)
إذا حاولت الآن تجميع المشروع ، فسوف يشكو من الكثير من الأخطاء وملف واحد مفقود. ترجع الأخطاء في الغالب إلى القليل من الحرية المفرطة في الأنماط ، واستخدام مبرمجي أدوات sunxi في التطبيق ، والملف المفقود هو التبعية غير المدرجة في حزمة التعليمات البرمجية المصدر. دعنا نتعامل مع هذه خطوة بخطوة.
الخطوة 8: اطلب من دول مجلس التعاون الخليجي اتباع معيار اللغة ISO C لعام 1999
لكي لا يشكو المترجم من أسلوب البرمجة المجاني للغاية ، قم بتعيين معيار "с99" الخاص بالتجميع. في قوالب الكود ، انتقل إلى قائمة "المشروع -> خيارات الإنشاء" وفي "إعدادات المترجم -> علامات المترجم" حدد مربع الاختيار "اجعل مجلس التعاون الخليجي يتبع معيار لغة ISO C لعام 1999". أو يمكنك فقط إضافة "-std = c99" إلى سلسلة خيارات المترجم.
الخطوة 9: ابحث عن التبعية المفقودة
التبعية المفقودة هي ملف "mman.h" - رأس نوع من إدارة ذاكرة لينكس. لا يحتوي Windows C أصلاً على مثل هذا الملف ، ولكن لحسن الحظ يوجد منفذ windows منه. انتقل إلى https://github.com/witwall/mman-win32 لنظام التشغيل windows. قم بتنزيل لقطة من مستودع git.
الخطوة 10: فك حزمة Mman
قم بفك ضغط ملفات mman.c و mman.h ، وضعها في المجلد c: / sunxitools \.
الخطوة 11: وأضفهم إلى المشروع
الخطوة 12: المسار الصحيح
وفي ملف "fex.c" سطر raplece:
#يشمل
الى
# تضمين "mman.h"
في هذه الخطوة ، يجب ألا يشكو المترجم الخاص بك من أي شيء وستحصل على الانتظار الطويل fexc.exe كإخراج. لا تكن سعيدا في وقت مبكر جدا. الأداة لا تزال لا تعمل بشكل كامل. يمكنك التأكد من ذلك عن طريق فك تشفير بعض ملفات script.bin الصالحة في النموذج النصي - ملف script.fex مع ما يترتب على ذلك من تشفير ملف script.fex مرة أخرى في script.bin. قد تلاحظ أن حجم script.bin الناتج يختلف قليلاً عن حجم script.bin الأصلي. وإذا حاولت فك تشفير النتيجة مرة أخرى فسوف تفشل. لن يعمل Orange PI مع هذا script.bin. للحصول على الأداة الوظيفية ، يتعين علينا تفريغ قنبلة رمز ، وضعها شخص ما في رمز مصدر أدوات sunxi. ستكون خطوتنا التالية.
الخطوة 13: طرد الأرواح الشريرة
من أجل تفريغ قنبلة الكود ، افتح ملف كود fexc.c وابحث عن سلسلة نصية للمحتوى التالي:
else if ((out = open (filename، O_WRONLY | O_CREAT | O_TRUNC، 0666)) <0) {
فقط استبدلها بالسلسلة التالية:
else if ((out = open (filename، O_WRONLY | O_CREAT | O_TRUNC | O_BINARY، 512)) <0) {
إذا لم تكن الأرقام الشريرة "666" في السلسلة الأولى ، أعتقد أن المبرمج قد نسي للتو استخدام علامة O_BINARY. لكن رقم الوحش يوضح نواياه بشفافية. اذهب إلى الشكل ، ما مدى براعته: نظرًا للاختلاف الدقيق في كيفية معالجة الملفات في نظامي التشغيل Windows و Linux ، فإن القنبلة ليس لها أي تأثير عندما يتم تجميع الأداة المساعدة واستخدامها في نظام Linux. لكنها تدمر كل شيء عند استخدام الأداة المساعدة تحت Windows.
بعد نزع سلاح القنبلة ، يمكنك أخيرًا تجميع الأداة المساعدة fexc واستخدامها بأمان على كمبيوتر سطح المكتب الذي يعمل بنظام Windows.
الخطوة 14: الملاحظات
1) لاستخدام الأداة المساعدة fexc بشكل مريح ، يجب أن تحصل على ملفين دفعي:
bin2fex.bat - و - fex2bin.bat.
يمكنك الحصول عليها من بعض إنشاءات fexc.exe لنظام التشغيل Windows ، أو يمكنك إما كتابتها بنفسك:
- يجب أن يحتوي bin2fex.bat على "fexc -I bin -O fex script.bin script.fex"
- يجب أن يحتوي fex2bin.bat على "fexc -O bin -I fex script.fex script.bin"
2) إذا كان من الصعب العثور على مدير mman لنظام التشغيل Windows ، فيمكن للمرء تجنب استخدامه على الإطلاق. ومع ذلك ، يتطلب الأمر مزيدًا من التحرير لملف fexc.c ويتطلب بعض المعرفة على الأقل بـ c. من أجل راحتك ، أشارك رمز المصدر المحرر لـ fexc من أدوات sunxi-tools v1.4 الخالية من التبعية إلى mman.h جنبًا إلى جنب مع ملف مشروع قوالب الكود وعينة script.bin من بعض pi البرتقالي. يمكنك تنزيل fexc_nomman.zip
3) من الممكن أنه في الإصدارات اللاحقة من أدوات sunxi ستضيف بعض التبعيات. لا تتردد في العثور عليها عبر الإنترنت وإضافتها إلى مشروع التجميع الخاص بك.
5) أخيرًا ، إليك الإصدار المترجم مسبقًا من fexc.exe لـ Win32:
fexc_nomman.zip
إذا كنت كسولًا بدرجة كافية فلا تتردد في استخدام الإصدار. ومع ذلك ، احذر من أنه لن يتم تحديثه إذا / عندما تتوفر الإصدارات الأحدث من SunxiTools / Windows. لذلك من الأفضل أن تتعلم كيفية تجميعها بدلاً من الاعتماد على بعض الإنشاءات الثنائية الثابتة ، كما أفترض.
4) "Orange PI" ، "Code:: Blocks" ، "Windows" ، "Linux" ، "Sunxi-Tools" ، "Allwinner" ، إلخ … هي علامات تجارية مراسلة لأصحابها المعنيين.
5) إذا اشتكى المترجم من عدم العثور على وظائف mman ، مثل:
إشارة غير محددة إلى "_imp_mmap"
كن على علم بأن تعريف عشاق مجتمع تطوير mman قد نسوا أن الكود يمكن تجميعه ليس فقط كمكتبة dll. يمكن أن تكون أيضًا مكتبة ثابتة أو رمزًا مستقلاً كما هو الحال لدينا هنا. لإصلاح المشكلة ، قم بتحرير ملف "mman.h" على النحو التالي:
أ) ابحث عن السلاسل:
# إذا تم تعريفه (MMAN_LIBRARY)
#define MMANSHARED_EXPORT _declspec (dllexport) #else #define MMANSHARED_EXPORT _declspec (dllimport) #endif
ب) أضف السلسلة
#define MMANSHARED_EXPORT
أسفل السلاسل الموجودة في الخطوة السابقة
موصى به:
إعداد Linux لنظام التشغيل Windows: 12 خطوة
قم بإعداد Linux for Windows!: مرحبًا بك في مجموعة التعليمات لإعداد Linux for Windows! تهدف مجموعة التعليمات هذه إلى مساعدة المبتدئين في إعداد سطر الأوامر لنظام Ubuntu Linux على جهاز Windows الخاص بهم وتوصيل ملفات windows الخاصة بهم بنظام Linux الخاص بهم. أنظمة Linux الفرعية
Desktop Prank (لنظام التشغيل Windows): 5 خطوات
Desktop Prank (لنظام التشغيل Windows): هذه مزحة رائعة لن تستغرق سوى بضع دقائق لإعدادها. سيظهر أن جهاز الكمبيوتر الخاص بالضحايا قد تم تجميده على شاشة سطح المكتب. بغض النظر عن عدد المرات التي يحاولون فيها النقر فوق رمز ، فلن يحدث شيء
الجهاز الظاهري لنظام التشغيل Windows 10: 12 خطوة
Windows 10 Virtual Machine: تروج Microsoft لـ Hyper V كحل لإدارة وإنشاء أجهزة افتراضية بشكل مفيد. تم تقديم هذا لأول مرة في Windows 7 ، وتم نقله إلى Windows 10. يمكن أن تكون الأجهزة الافتراضية مفيدة بعدة طرق. يمكن استخدامها لاختبار جديد
أجهزة الكمبيوتر المكتبية السهلة لنظام التشغيل Windows: 12 خطوة
أجهزة سطح مكتب سهلة لنظام Windows: هل حصلت على خلفية سطح مكتب Windows باهتة المظهر؟ هل تريد شيئًا أصليًا ورائع المظهر ولكن ليس لديك مهارات؟ إليك طريقة سهلة لإنشاء خلفيات سطح مكتب رائعة جدًا باستخدام برامج مجانية قد تكون لديك بالفعل على جهاز Windows الخاص بك
تبديل القدم لنظام التشغيل Mac OS من دواسة مضخم صوت الجيتار: 12 خطوة
تبديل القدم لنظام التشغيل Mac OS من دواسة مضخم الجيتار: هل تحتاج إلى دواسة قدم لجهاز Mac الخاص بك؟ هل لديك دواسة جيتار بمفتاحين ولوحة اردوينو؟ زوجان من الأسلاك ، ثلاثة شوكات 1/4 & quot ؛ جاك وأنت جاهز تمامًا. اضطررت إلى إجراء بعض النسخ الصوتي واستخدمت الدواسة لتشغيل / إيقاف مؤقت وتخطي ba