بطاقة العمل الخاصة بي تعمل بنظام التشغيل Linux

ترجمة مقال من بلوق وظيفة المهندس جورج هيليارد

بطاقة العمل الخاصة بي تعمل بنظام التشغيل Linux
قابل للنقر

أنا مهندس أنظمة مدمجة. في أوقات فراغي، كثيرًا ما أبحث عن شيء يمكن استخدامه في تصميم الأنظمة المستقبلية، أو شيء من اهتماماتي.

أحد هذه المجالات هو أجهزة الكمبيوتر الرخيصة التي يمكنها تشغيل Linux، وكلما كان أرخص كلما كان ذلك أفضل. لذلك قمت بحفر حفرة عميقة من المعالجات الغامضة.

اعتقدت أن "هذه المعالجات رخيصة جدًا بحيث يمكن عمليًا تقديمها مجانًا." وبعد مرور بعض الوقت، خطرت لي فكرة إنشاء بطاقة عارية لنظام التشغيل Linux في شكل بطاقة عمل.

بمجرد أن فكرت في الأمر، قررت أنه سيكون أمرًا رائعًا حقًا. فعلت مسبقا ينظر الكتروني بطاقات العمل إلى هو، وكان لديهم إمكانات متنوعة مثيرة للاهتمام، مثل محاكاة بطاقات الفلاش، أو المصابيح الوامضة، أو حتى نقل البيانات لاسلكيًا. ومع ذلك، لم أر بطاقات العمل مع دعم Linux.

لذلك صنعت لنفسي واحدة.

هذه هي النسخة النهائية للمنتج. كمبيوتر ARM صغير الحجم يعمل بنظام التشغيل Linux المخصص الخاص بي والذي تم تصميمه باستخدام Buildroot.

بطاقة العمل الخاصة بي تعمل بنظام التشغيل Linux

يحتوي على منفذ USB في الزاوية. إذا قمت بتوصيله بجهاز كمبيوتر، فسيتم تشغيله خلال 6 ثوانٍ تقريبًا ويكون مرئيًا كبطاقة فلاش ومنفذ تسلسلي افتراضي يمكنك من خلاله تسجيل الدخول إلى غلاف البطاقة. يوجد على محرك الأقراص المحمول ملف README ونسخة من سيرتي الذاتية والعديد من الصور الخاصة بي. تحتوي القشرة على العديد من الألعاب، وكلاسيكيات Unix مثل Fortune وRogue، ونسخة صغيرة من اللعبة 2048 ومترجم MicroPython.

ويتم كل هذا باستخدام شريحة فلاش صغيرة جدًا تبلغ سعتها 8 ميجابايت. يصل حجم أداة تحميل التشغيل إلى 256 كيلو بايت، ويشغل النواة 1,6 ميجابايت، ويشغل نظام الملفات الجذر بأكمله 2,4 ميجابايت. لذلك، هناك مساحة كبيرة لمحرك الأقراص المحمول الظاهري. يوجد أيضًا دليل رئيسي يمكن الكتابة عليه في حالة قيام أي شخص بأي شيء يريد حفظه. يتم حفظ كل هذا أيضًا على شريحة فلاش.

تكلفة الجهاز بأكمله أقل من 3 دولارات. انها رخيصة بما فيه الكفاية للتخلي عنها. إذا تلقيت مثل هذا الجهاز مني، فهذا يعني أنني على الأرجح أحاول إقناعك.

تصميم وبناء

لقد قمت بتصميم وتجميع كل شيء بنفسي. إنها وظيفتي وأنا أحبها، وكان معظم التحدي يتمثل في العثور على قطع غيار رخيصة بما يكفي لهذه الهواية.

كان اختيار المعالج هو القرار الأكثر أهمية الذي أثر على تكلفة المشروع وجدواه. وبعد بحث مكثف، اخترت معالج F1C100s، وهو معالج غير معروف نسبيًا من Allwinner وذو تكلفة منخفضة (أي رخيص للغاية). يوجد كل من ذاكرة الوصول العشوائي (RAM) ووحدة المعالجة المركزية (CPU) في نفس الحزمة. اشتريت المعالجات على تاوباو. تم شراء جميع المكونات الأخرى من LCSC.

لقد طلبت اللوحات من JLC. لقد صنعوا لي 8 نسخ مقابل 10 دولارات. جودتها مثيرة للإعجاب، خاصة بالنسبة للسعر؛ ليس أنيقًا مثل OSHPark، لكنه لا يزال يبدو جيدًا.

لقد صنعت الدفعة الأولى باللون الأسود غير اللامع. لقد بدت جميلة، لكنها كانت متسخة بسهولة.

بطاقة العمل الخاصة بي تعمل بنظام التشغيل Linux

كانت هناك بعض المشاكل مع الدفعة الأولى. أولاً، لم يكن موصل USB طويلًا بما يكفي ليتناسب بشكل آمن مع أي منافذ USB. ثانيًا، تم عمل مسارات الفلاش بشكل غير صحيح، لكنني تمكنت من التغلب على ذلك عن طريق ثني جهات الاتصال.

بطاقة العمل الخاصة بي تعمل بنظام التشغيل Linux

بعد التحقق من أن كل شيء يعمل، طلبت مجموعة جديدة من اللوحات؛ يمكنك رؤية صورة لأحدهم في بداية المقال.

نظرًا لصغر حجم كل هذه المكونات الصغيرة، قررت اللجوء إلى إعادة تدفق اللحام باستخدام موقد رخيص. لدي إمكانية الوصول إلى أداة القطع بالليزر، لذلك استخدمتها لقطع استنسل اللحام من فيلم التغليف. تحول الاستنسل بشكل جيد. تتطلب الفتحات التي يبلغ قطرها 0,2 مم الخاصة بجهات اتصال المعالج عناية خاصة لضمان تصنيع عالي الجودة - وكان من الضروري تركيز الليزر بشكل صحيح واختيار قوته.

بطاقة العمل الخاصة بي تعمل بنظام التشغيل Linux
تعمل اللوحات الأخرى بشكل جيد لتثبيت اللوحة أثناء وضع المعجون.

لقد قمت بتطبيق معجون اللحام ووضعت المكونات يدويًا. لقد تأكدت من عدم استخدام الرصاص في أي مكان في العملية - حيث أن جميع اللوحات والمكونات والمعجون تتوافق مع المعايير بنفايات - حتى لا يعذبني ضميري عندما أقوم بتوزيعها على الناس.

بطاقة العمل الخاصة بي تعمل بنظام التشغيل Linux
لقد ارتكبت خطأً بسيطًا في هذه الدفعة، لكن معجون اللحام يغفر الأخطاء، وكل شيء سار على ما يرام

استغرق كل مكون حوالي 10 ثوانٍ لوضعه في مكانه، لذا حاولت تقليل عدد المكونات إلى الحد الأدنى. يمكن قراءة المزيد من التفاصيل حول تصميم الخريطة في مقال آخر مقالتي التفصيلية.

قائمة المواد والتكلفة

لقد تمسكت بميزانية صارمة. وظهرت بطاقة العمل على النحو المنشود - لا أمانع في التخلي عنها! بالطبع، لن أعطيها للجميع، لأن كل نسخة تستغرق وقتًا طويلاً، ولا يؤخذ وقتي في الاعتبار في تكلفة بطاقة العمل (إنها مجانية نوعًا ما).

عنصر
السعر

F1C100s
$1.42

PCB
$0.80

فلاش 8 ميجا
$0.17

جميع المكونات الأخرى
$0.49

في المجموع
$2.88

وبطبيعة الحال، هناك أيضًا تكاليف يصعب حسابها، مثل التسليم (حيث يتم توزيعها بين المكونات المخصصة لعدة مشاريع). ومع ذلك، بالنسبة للوحة التي تدعم Linux، فهي بالتأكيد رخيصة جدًا. يعطي هذا التفصيل أيضًا فكرة جيدة عن تكلفة تصنيع الأجهزة في شريحة السعر الأقل على الشركات: يمكنك التأكد من أن تكلفة الشركات أقل مما تكلفني!

قدرات

ماذا اقول؟ تقوم البطاقة بتشغيل نظام Linux الذي تم تجريده بشكل كبير في 6 ثوانٍ. نظرًا لعامل الشكل والتكلفة، لا تحتوي البطاقة على الإدخال/الإخراج أو دعم الشبكة أو أي قدر كبير من مساحة التخزين لتشغيل البرامج الثقيلة. ومع ذلك، تمكنت من حشر مجموعة من الأشياء المثيرة للاهتمام في صورة البرنامج الثابت.

ذراع USB‏

كان هناك الكثير من الأشياء الرائعة التي يمكن القيام بها باستخدام USB، لكنني اخترت الخيار الأبسط حتى يكون الأشخاص أكثر احتمالاً لتشغيله إذا قرروا تجربة بطاقة العمل الخاصة بي. يسمح Linux للبطاقة بأن تتصرف مثل "الجهاز" مع الدعم إطار الأداة. لقد أخذت بعض برامج التشغيل من المشاريع السابقة التي تضمنت هذا المعالج، لذلك يمكنني الوصول إلى جميع وظائف إطار عمل أداة USB. قررت محاكاة محرك أقراص فلاش تم إنشاؤه مسبقًا ومنح الوصول إلى Shell عبر منفذ تسلسلي افتراضي.

قذيفة

بعد تسجيل الدخول كجذر، يمكنك تشغيل البرامج التالية على وحدة التحكم التسلسلية:

  • Rogue: لعبة مغامرة كلاسيكية للزحف إلى الزنزانات من Unix؛
  • 2048: لعبة بسيطة من 2048 في وضع وحدة التحكم؛
  • الحظ: إخراج مختلف الأقوال الطنانة. قررت عدم تضمين قاعدة بيانات الاقتباسات بأكملها هنا لإفساح المجال لميزات أخرى؛
  • ميكروبيثون: مترجم بايثون صغير جدًا.

محاكاة محرك فلاش

أثناء التجميع، تقوم أدوات البناء بإنشاء صورة FAT32 صغيرة وإضافتها كأحد أقسام UBI. يقدم نظام Linux Gadget الفرعي جهاز الكمبيوتر الخاص به كجهاز تخزين.

إذا كنت مهتمًا برؤية ما يظهر على محرك الأقراص المحمول، فإن أسهل طريقة للقيام بذلك هي القراءة مصادر. هناك أيضًا العديد من الصور وسيرتي الذاتية.

موارد

مصادر

تم نشر شجرة Buildroot الخاصة بي على GitHub - ثلاثة وثلاثون/بزنس كارد-لينكس. يوجد رمز لإنشاء صورة فلاش NOR، والتي يتم تثبيتها باستخدام وضع تنزيل USB الخاص بالمعالج. كما أنه يحتوي على كافة تعريفات الحزمة الخاصة بالألعاب والبرامج الأخرى التي قمت بإدخالها إلى Buildroot بعد أن عملت كل شيء. إذا كنت مهتمًا باستخدام F1C100s في مشروعك، فستكون هذه نقطة بداية رائعة (لا تتردد أسألني سؤال).
انا إستعملت مشروع تم تنفيذه بشكل جميل Linux v4.9 لـ F1C100s من Icenowy، أعيد تصميمه قليلاً. تعمل بطاقتي بالإصدار v5.2 القياسي تقريبًا. إنه موجود على جيثب - ثلاثة وثلاثون/لينكس.
أعتقد أن لدي أفضل منفذ U-Boot لـ F1C100s في العالم اليوم، وهو أيضًا يعتمد جزئيًا على عمل Icenowy (من المثير للدهشة أن جعل U-Boot يعمل بشكل صحيح كان مهمة محبطة للغاية). يمكنك أيضًا الحصول عليه على GitHub - ثلاثة وثلاثون/u-boot.

وثائق لF1C100s

لقد وجدت وثائق متفرقة إلى حد ما لـ F1C100، وأنا أقوم بنشرها هنا:

أقوم بتحميله لأولئك الفضوليين. مخطط مشروعي.

بطاقة العمل الخاصة بي تعمل بنظام التشغيل Linux

اختتام

لقد تعلمت الكثير أثناء تطوير هذا المشروع - لقد كان أول مشروع لي باستخدام فرن لحام بإعادة التدفق. لقد تعلمت أيضًا كيفية العثور على موارد للمكونات ذات التوثيق السيئ.

لقد استخدمت تجربتي الحالية مع تجربة تطوير Linux ولوحة الإدارة. المشروع لا يخلو من العيوب ولكنه يظهر جميع مهاراتي بشكل جيد.

بالنسبة للمهتمين بتفاصيل العمل مع Linux المدمج، أقترح قراءة سلسلة مقالاتي حول هذا الموضوع: إتقان نظام التشغيل Linux المدمج. أتحدث هناك بالتفصيل عن كيفية إنشاء البرامج والأجهزة من الصفر لأنظمة Linux الصغيرة والرخيصة، المشابهة لبطاقة الاتصال الخاصة بي.

المصدر: www.habr.com

إضافة تعليق