هندسة عكسية لسائق لينكس لوحدة نانو ليف بيجبورد ديسك دوك

اشترى الكاتب وحدة نانو ليف بيجبورد ديسك دوك، وهي عبارة عن مركز USB مزود بمصابيح LED RGB وخطافات للأجهزة، وقرر كتابة برنامج تشغيل لينكس لها لأنها تدعم فقط أنظمة التشغيل Windows وmacOS. بعد الحصول على وثائق البروتوكول من المورد، استخدم الكاتب لغة Rust ومكتبة libusb لإنشاء برنامج تشغيل مساحة المستخدم. وتصف المقالة العملية بالتفصيل، بما في ذلك استخدام lsusb للحصول على معلومات الجهاز، والتعامل مع واجهات USB، واستخدام قواعد udev لمنح أذونات المستخدم. نجح الكاتب في إنشاء برنامج تشغيل بسيط للتحكم في مصابيح LED RGB لوحدة Desk Dock ومعالجة مقاطعات الجهاز. تم التغلب على التحديات مثل احتلال برنامج تشغيل النواة ومعالجة المقاطعات، مما أدى إلى فهم أعمق لكتابة برامج تشغيل أجهزة USB البسيطة. على الرغم من أنها مجرد إثبات للمفهوم، إلا أنها تبرز أن كتابة برامج تشغيل الأجهزة الأساسية ليست صعبة كما تبدو.