إنشاء تطبيقات باستخدام Raspberry Pi Pico 2:
تم تصميم نوى (cores) Hazard 3 RISC-V على RP2350 بواسطة Luke Wren من Raspberry Pi في وقت فراغه – وبما أنها مفتوحة المصدر، يمكنك تنزيل ملفات التصميم بنفسك والبدء في البحث في نفس الشريحة التي سيتم استخدامها في النهاية على ملايين الوحدات في البرية. كما يقول Eben Upton: “من خلال إضافة Hazard3 إلى RP2350، نهدف إلى منح مطوري البرامج فرصة لتجربة بنية RISC-V في بيئة مستقرة ومدعومة جيدًا، وترويج Hazard3 كنواة نظيفة ومفتوحة ومناسبة للاستخدام الحرفي في أجهزة أخرى، أو كأساس لمزيد من التطوير”. ظهرت تأملات Luke لأول مرة في العدد 145 من The MagPi.
لقد كنت أقوم بتصميم المنطق في وقت فراغي منذ أن كنت طالبًا. إنه أمر يسبب الإدمان للغاية، وأعتقد أنه من الأدق أن أقول إنني هاوٍ أعمل في تصميم الرقائق بدلاً من مصمم رقائق لديه هواية! إنه تصميم معالج مفتوح المصدر يمكن لأي شخص وضعه في شريحة واستخدامه لتشغيل أكواد RISC-V في أي مكان. يمكنك أيضًا تشغيله على لوحة FPGA، أو تشغيل المحاكي على جهازك الخاص. تم تصميم كل ذلك باستخدام أدوات مفتوحة المصدر مثل yosys وnextpnr وgtkwave.
أفضل طريقة للبدء هي الحصول على لوحة FPGA والبدء في الاختراق. كتابة RTL [مستوى نقل السجل] أمر مربك بعض الشيء في البداية – يمكنك التفكير فيه مثل برنامج C حيث يتم تنفيذ جميع العبارات في وقت واحد، بدلاً من التتابع – ولكن تلك الإثارة المتمثلة في رؤية جهازك الخاص ينبض بالحياة تجعلك تستمر. ابدأ بوميض LED واستمر.
Hazard3 هو تصميمي الخاص بنسبة 100٪. إنه فرع من Hazard5، المعالج الذي صممته لـ RISCBoy، منافسي مفتوح المصدر لـ Game Boy Advance. Hazard5 عبارة عن خط أنابيب من خمس مراحل – وبالتالي يحتوي على العديد من المخاطر: تدفق البيانات وتدفق التحكم والهيكل – والخطر هو أيضًا نوع من “المخاطرة”، مثل مجموعة التعليمات.
كان من المفترض أن يعمل Hazard5 بأعلى تردد ممكن على FPGA iCE40، لذلك يمكنني تشغيل نواة الرسومات RISCBoy بتردد أعلى أيضًا. من ناحية أخرى، يعد Hazard3 معالجًا مخصصًا للإنتاج يوفر أقصى قدر ممكن من الأداء في نطاق مساحته الصغيرة وفي نطاق الترددات التي أتوقع رؤيتها في تصميمات المتحكمات الدقيقة. إنه نسخة إنتاجية من Hazard5 مع خط أنابيب أقصر وتصحيح أخطاء الأجهزة وبعض ميزات الأمان وحماية الذاكرة التي يتوقعها الناس في الأنظمة الحقيقية.
RP2350 على Raspberry Pi Pico 2
من تقسيم Hazard5 إلى تشغيل Hazard3 على CoreMark استغرق الأمر أقل من أسبوع. من تلك النقطة وحتى أول شريط إخراج RP2350 كان الأمر حوالي عامين، وعملت عليه بشكل متقطع طوال الوقت. لا يزال هناك أعمال صيانة جارية وخطط للتوسع في المستقبل – لن يتم “إنهاؤه” أبدًا، فقط الانتقال من التطوير إلى الإصدارات المستقرة.
قبل أن أبدأ العمل على RISCBoy، كان لدي مشروع يسمى Tarantula وهو معالج برميلي ثماني الخيوط ينفذ مجموعة تعليمات Armv6-M، لأن هذا كان ISA الذي كنت أعرفه أكثر في ذلك الوقت، بعد كتابة بعض Assembly أثناء التدريب الصيفي. تخليت عن المشروع لأنني أدركت أنني لن أتمكن أبدًا من مشاركته مع أي شخص، ولا أعتقد أنني أمتلك حتى كود المصدر هذا بعد الآن.
لقد غيرت هذه التجربة نظرتي للأشياء من تلك النقطة فصاعدًا. عندما قررت أنني أريد بناء وحدة تحكم ألعاب من الصفر، بما في ذلك المعالج، نظرت حول مجموعات التعليمات المتوفرة في هذه المرحلة، كان هذا حوالي عام 2018، وكان هناك عدد قليل من التعليمات المثيرة للاهتمام – أصبحت Hitachi SuperH للتو أقل تقييدًا من الناحية القانونية – ولكن RISC-V برزت كمجموعة تعليمات حيث يمكنني تنفيذها بسهولة إلى حد ما.
إن مجموعة التعليمات الأساسية نظيفة وبسيطة للغاية، ويمكنك إضافة المزيد من التعقيد من قائمة الامتدادات. يمكنني مشاركة ذلك مع أشخاص آخرين، ويمكنهم استخدامه بالفعل، ويمكنني البرمجة باستخدام مُجمِّع إنتاجي حقيقي مثل GCC أو LLVM.
كان ذلك منذ فترة طويلة، وقد قطعت RISC-V شوطًا طويلاً منذ ذلك الحين، سواء من الناحية الفنية أو كمجتمع. هناك مجموعات تعليمات أخرى أصبحت أكثر انفتاحًا في أعقاب RISC-V، لكنني أعتقد أنه من الواضح أين يكمن الزخم. من السهل انتقاد بعض القرارات الفنية المتخذة في ISA الأساسية – هل كنا بحاجة حقًا إلى 31 سجل ارتباط؟ – لكن المجتمع هو أهم شيء في عيني.
أنا متحمس بشأن RISC-V لأنه يتيح لك إجراء تجارب الهندسة المعمارية الخاصة بك على رأس هندسة معمارية نظيفة وقياسية. إذا نظرت إلى شيء مثل CHERI، وهو تطور مثير للغاية في مجال الأمان المضمن، فإن هؤلاء الأشخاص ذهبوا فقط وكتبوا المواصفات، ويمكنك فقط الذهاب وتنفيذها – دون الحاجة إلى الانتظار حتى يتم تقديمها على طبق من ذهب.
إطلاق Raspberry Pi Pico 2 مع RISC-V
Beefier Arms بجوار وحدات المعالجة المركزية المنافسة لـ RV، تقدم لمحة عن المستقبل
إنها أخبار مثيرة لمحبي RISC-V: تضيف Raspberry Pi الدعم لـ ISA المفتوح مع إطلاق Pico 2 ووحدة التحكم الدقيقة RP2350 الجديدة من الشركة.
وصل جهاز Pi Pico 2 إلى أحد مواقع Vulture الساحلية اليوم
تُباع لوحة Pico 2 بسعر 5 دولارات أمريكية، ووفقًا لفريق Pi، فإنها تحتفظ بتوافق الأجهزة والبرامج مع الإصدارات السابقة. وبينما تمت زيادة سعة الذاكرة على الشريحة إلى 520 كيلوبايت – فهناك أيضًا 4 ميجا بايت من ذاكرة فلاش QSPI على اللوحة – فإن نواة وحدة المعالجة المركزية RISC-V Hazard3 المضمنة في وحدة التحكم الدقيقة قد تثير اهتمام المتحمسين والمنفذين على حد سواء.
نواة Hazard3 اختيارية: يمكن للمستخدمين في وقت التمهيد اختيار زوج من نوى Arm Cortex-M33 المضمنة لتشغيلها، أو زوج نوى Hazard3. يعمل كلا الخيارين بسرعة 150 ميجا هرتز. يمكن للأشخاص الأكثر جرأة تجربة تشغيل RV واحد ونواة Arm واحدة معًا بدلاً من RV أو Arm.
Hazard3 هو تصميم مفتوح المصدر، وجميع المواد اللازمة له موجودة هنا. إنها آلة خفيفة الوزن من نوع RV32IMACZb* بثلاث مراحل، مما يعني أنها تدعم RISC-V ISA الأساسية ذات 32 بت مع دعم الضرب والقسمة في الأجهزة والتعليمات الذرية والتلاعب بالبتات والمزيد.
صرح رئيس شركة Pi، إيبن أبتون، لصحيفة The Register، “RISC-V هو تطور مثير بالنسبة لنا: هدفنا هو منح مطوري البرامج فرصة لتجربة بنية مختلفة في بيئة مستقرة ومدعومة جيدًا، والتعبير عن حماسنا لنواة الأجهزة المفتوحة Hazard3، والتي طورها Luke Wren، أحد مهندسي ASIC لدينا، في وقت فراغه.
“أعتقد أن RISC-V يوفر للباحثين بيئة مثيرة للاهتمام للتجريب المعماري، ومصممي SoC بدرجة عالية من القدرة على التكوين. إحدى المساهمات التي نقدمها هنا هي إضفاء الشرعية على Hazard3 كنواة ناضجة و”نظيفة” للاستخدام الحرفي في تصميمات أخرى، أو كأساس لمزيد من التطوير.”
أما بالنسبة للقفز إلى عالم RISC-V، فقد أوضح Upton كيف ستعمل النوى: “يمكن اختيارها في وقت التمهيد: يمكن توصيل كل منفذ في نسيج الناقل إما بجهاز M33 أو Hazard3 عبر مضاعف. يمكنك حتى، إذا كنت تشعر بالبليد، تشغيل واحد من كل منهما.”
Hazard3 هو تصميم متواضع ولكنه قادر على العمل على مستوى المتحكم الدقيق. إنه ليس لتشغيل نظام تشغيل حديث للأغراض العامة. ولكن مرة أخرى، هذه ليست حقًا النقطة الأساسية في Pico 2 وRP2350.
أخبرنا Upton: “FreeRTOS هو نظام التشغيل المفضل (كما هو الحال في RP2040). هناك قدر متزايد من الإثارة حول Zephyr، وبعض الجهود المجتمعية لنقل ذلك إلى منصة RP2، وقد نشارك رسميًا في ذلك في الوقت المناسب.”
كما هو الحال مع Pico الأصلي، يوجد 26 دبوس GPIO متعدد الأغراض، على الرغم من أن القفزة من 264 كيلوبايت من ذاكرة الوصول العشوائي الساكنة و2 ميجا بايت من ذاكرة الفلاش المدمجة تفتح الجهاز أمام خيارات تطوير أكثر إثارة للاهتمام. وبصرف النظر عن السؤال الواضح “هل يعمل بنظام Doom؟” – الإجابة هي نعم – فقد تم استخدام RP2040 على Pico الأصلي من قبل مجتمع المحاكاة، ناهيك عن التنفيذ الأخير لنظام Mac الأصلي من Apple على الجهاز.
الأمان
كما ظهر Pico في تطبيقات المنازل الذكية وأثبت شعبيته في الصناعة، على الرغم من أنه ربما لم يكن شائعًا كما يرغب الفريق.
وصف بعض المستخدمين ميزات الأمان، أو عدم وجودها، في RP2040 بأنها كافية لجعلها غير قابلة للاستخدام في عالم الأجهزة المضمنة؛ فهم يريدون إبعاد الكود الخاص بهم على الجهاز عن المهندسين العكسيين، ولا يساعد RP2040 في ذلك.
ولهذه الغاية، نفذ فريق Raspberry Pi ما يسميه “هندسة أمان شاملة” في المتحكم الدقيق الجديد. تم بناء هذا حول Arm TrustZone لـ Cortex-M ويتضمن تمهيدًا موقّعًا، و8 كيلوبايت من OTP المضاد للصمامات لتخزين المفاتيح، وتسريع SHA-256، وTRNG للأجهزة، وكاشفات الخلل السريعة. هناك أيضًا ROM تمهيد آمن.
وفقًا لفريق Pi، سيسمح هذا “للمستخدمين المحترفين بدمج RP2350، وRaspberry Pi Pico 2، في المنتجات بثقة”.
حسنًا، Arm’d
كان Upton حريصًا على التأكيد على الأداء الإضافي المتاح. من ناحية Arm، ارتقى Pico من اثنين من أنوية Cortex-M0+ إلى زوج Cortex-M33، وكل منهما يحتوي على ميزات إضافية بما في ذلك FPU وDSP.
وقال عن Pico 2:
“إن الأداء الإضافي، وخاصة أداء النقطة العائمة وDSP، يفتح مجموعة من التطبيقات الجديدة، سواء للهواة أو المستخدمين المحترفين”.
“بعض عملاء أجهزة توليد الموسيقى لدينا (لدينا عدد كبير بشكل مدهش منهم) متحمسون جدًا للأشياء التي سيتمكنون من القيام بها باستخدام المنصة”.
ومع ذلك، أشار إلى أن “ميزات الأمان والطاقة المنخفضة ربما تكون مثيرة للاهتمام للعملاء الصناعيين مثل الأداء الإضافي”.
الجانب السلبي لجميع التحسينات هو الزيادة الحتمية في السعر – بدأ Pico بسعر 4 دولارات، ومن المقرر أن يبدأ Pico 2 بسعر 5 دولارات. وفي حين أنه من غير المرجح أن يقلق المتحمسين كثيرًا، فإن زيادة السعر قد تقلق العملاء الذين يشترون بكميات كبيرة.
كما يفتقر Pico 2 إلى بعض خيارات الاتصال التي كانت متوفرة في سابقه – فلم يتوفر إصدار Wi-Fi بعد. ومع ذلك، أخبرنا Upton أن إصدارًا من هذا الجهاز سيصل “على الأرجح قبل نهاية العام”.
قد يكون الحصول على واحدة أمرًا صعبًا أيضًا. أخبرنا Upton أن “هذا الإطلاق سيكون سطحيًا جدًا”، مع زيادة الحجم المتوقع في الأسابيع القليلة القادمة. يُعزى ارتفاع الأسعار إلى نمو التكلفة في المنصة وشريحة أكثر تكلفة قليلاً – RP2350 أعلى بمقدار 0.10 دولار من RP2040.
وماذا عن الرقم؟ للأسف لا علاقة له بـ 2350 genlock في Amiga 2000، بل مشتق من الشريحة الأساسية نفسها. كما أوضح Upton: “2350 = 2x Cortex-M33s، مع 2^5*16 كيلوبايت من SRAM و0 كيلوبايت من Flash.
“يشير الرقم 0 إلى أن الشريحة نفسها لا تحتوي على Flash. في هذا الجيل، سنقدم متغير RP2354 الذي يتضمن 2 ميجا بايت (=2^4*128 كيلوبايت) من QSPI Flash المضمن.”