آموزش برنامه نویسی با رزبری پای بدون سیستم عامل

آموزش برنامه نویسی با رزبری پای بدون سیستم عامل

تلفظ صحیح Raspberry Pi رزبری پای است که متاسفانه به اشتباه در بیشتر وب‌های فارسی رسپبری پای خوانده می‌شود. در واقع تلفظ رسپبری پای اشتباه است و نباید رسپبری خوانده شود.

مطابق فونوتیک -ˈrazˌberē ، رزبری پای صحیح است و از این پس به جای رسپبری پای، از رزبری پای استفاده می‌کنیم.

رزبری پای در‌واقع یک کامپیوتر تک برد است که در عین حال که اندازه‌ی خیلی کوچکی دارد (در حدود یک کارت اعتباری مثل کارت بانکی)،  قدرت پردازشی زیادی را ارائه می‌دهد به نحوی که در ورژن‌های جدید آن قادر به نصب سیستم‌عامل‌های ویندوز و لینوکس و بی اس دی هستیم.

 

قراره با رزبری پای چکار کنیم ؟ (چشم ها را باید شست/جور دیگر باید دید)

قصد نداریم وارد جزئیات توضیح رسپبری پای بشیم چرا که قبلا تعداد زیادی از دوستان به خوبی خصوصیات و ویژگی‌ها و کاربرد های اونو توضیح دادن و در سطح اینترنت چه فارسی و چه انگلیسی سایت های زیادی به ساخت و انجام پروژه با این کامپیوتر کوچک پرداخته اند.

در واقع من قصد ندارم که در این مقالات به این که چطور می‌تونید لینوکس یا ویندوز بر روی رزبری پای نصب کنید یا این که چطور با لینوکس کار کنید بپردازم.

تعداد آموزش هایی که به این مفاهیم پرداختن خیلی زیاده و حتی این محتواها را متاسفانه عده‌ای سود جو به فروش می‌رسانند.

این که چطور می‌شود با رزبری پای یک پورت را خروجی یا ورودی کرد ، چطور می‌شود یک LED را کنترل کرد یا LCD را راه اندازی کرد بیشتر مباحث ساده‌ی نرم افزاری است و ما قصد نداریم که توضیح واضحات بدیم. کار کردن با لینوکس را امروزه بچه های دبستانی نیز می‌آموزند و با استفاده از لینوکس و رزبری پای چه ربات هایی که نمی‌سازند.

من قصد دارم شما را با دنیایی جدید آشنا کنم ، دنیایی که هیچ مقاله ای تا کنون در مورد آن نوشته نشده است ، ما مهندسین الکترونیک هستیم و شایسته نیست که پروژه‌های خود را بر مبنای الگوهای نرم افزاری انجام بدیم، از نظر من رزبری پای یک پردازنده قوی است که حتی قادر است برنامه‌های پیچیده‌ای مثل سیستم عامل را نیز اجرا کند ولی در نهایت یک پردازنده ARM است که هر روزه با آن سرو کله میزنیم.

در این مقالات قصد دارم که آموزش بدم چطور بدون استفاده از سیستم عامل و هیچ رابط نرم افزاری سطج بالایی رسپبری پای را تبدیل به یک پردازنده ARM سرعت بالا کنید که به صورت تمام کمال فرمانبردار شما باشد. بدون استفاده از هیچ سیستم عاملی و فقط با استفاده از زبان اسمبلی و سی.

چرا رزبری پای وحشی است؟

وقتی که صحبت از رزبری پای می‌شود ، خیلی‌ها تاکید و تایید می‌کنند که رزبری پای یک پروژه آموزشی است و قابلیت آن را ندارد که بتوان از آن در پروژه‌های نیمه صنعتی و صنعتی استفاده کرد. دلایل قابل قبولی هم در این خصوص وجود دارد که از مهم ترین آنها می‌توان به موارد زیر اشاره کرد

  1. توان مصرفی بالا و ایجاد گرمای زیاد
  2. ناپایدار بودن سیستم عامل های موجود
  3. عدم قابلیت قفل گذاری بر روی برنامه نوشته شده
  4. لینوکس یک سیستم عامل بلادرنگ نیست

موارد ذکر شده تا حدودی درست هستند ولی تا وقتی که از سیستم عامل‌های مثل لینوکس و ویندوز استفاده کنیم.

در خصوص مورد اول تا مادامی که پردازنده با تمام توان پردازشی خود کار می کند ناچار به مصرف توان بالا و گرمای زیاد خواهد بود و ناپایداری سیستم عامل‌هایی مثل لینوکس صحت ندارد ولی به دلیل مشکل در پورت(منطبق) کردن آن بر روی برد رزبری پای ممکن است حالاتی به وجود بیاید که پیشبینی نشده باشد و همین عامل باعث شود که سیستم ریست شود.

در هنگام ریست نمی‌توان مطمئن بود که وضعیت پایه ها در چه حالتی خواهد بود و همین مساله ممکن است باعث شود که نتوان به کارکرد آن اطمینان کرد. وقتی که برنامه خود را در قالب زیر برنامه ای برای لینوکس یا هر سیستم عامل دیگری می‌نویسید نمی توان آن را به گونه ای محافظت کنید که قابل کپی شدن و کپی برداری نباشد.

اما وقتی که سیستم عامل لینوکس یا مشابه آن را از معادلات حذف می کنیم ، یک سخت افزار داریم که به خوبی طراحی شده است و داری پردازنده‌ای قوی و مقدار زیادی RAM و منابع دیگر است.

 

چند مدل رزبری پای داریم ؟

Raspberry Pi family

وقتی که قصد دارید لینوکس نصب کنید فرقی نمی‌کند چند مدل رزبری پای وجود دارد و یا این که قصد دارید از کدام مدل رزبری پای استفاده کنید چرا که تفاوت‌ها توسط خود لینوکس پوشش داده شده و تنها کاری که لازم است انجام دهید کپی فایل های مورد نیاز بر روی SD کارت است.

وقتی که قصد داریم برنامه را نه برای سیستم عامل بلکه برای هسته سخت افزار بنویسیم ، خیلی از موارد دارای اهمیت حیاتی می شوند ، مسائلی مثل نوع پردازنده ، فرکانس کاری ، قابلیت ها ، مقدار حافظه ، آدرس قرارگیری حافظه ، نحوه اتصال سخت افزار های مختلف به پردازنده و مسالی از این دست ، تنها با دانستن ریزه کاری های سخت افزاری است که می‌شود برای بیس سخت افزار برنامه نوشت.

پس قبل از هر اقدامی ، به معرفی انواع مدل‌های موجود از برد برزبری پای می‌پردازیم. اگر بخوایم بسته به نوع پردازنده مرکزی (CPU) برد های رزبری پای را دسته بندی کنیم ، سه دسته تفاوت وجود خواهد داشت.

دسته اول پردازنده های ARMv6Z:

ARM1176JZF-S

برد های رزبری پای مدل A و 1B و 1B+ از پردازنده  ARM1176JZ-F استفاده می کنند. همه برد های مذکور از چیپست BCM2835 که ساخت شرکت Broadcom است استفاده می کنند چیپست مذکور قادر به پردازش اطلاعات با سرعتی بالغ بر 700 مگاهرتز است.

 

دسته دوم پردازنده های ARMv7-A:

Cortex-A7

تنها برد ارایه شده با این پردازنده از خانواده رزبری پای مدل 2B است که از چهار هسته پردازشی Cortex-A7 استفاده می کند. این چهار هسته در چیپستی با شماره BCM2836 که ساخت شرکت Broadcom است قرار گرفته اند و هر کدام قادر به انجام پردازش با سرعت بالغ بر 900 مگا هرتز است.

دسته سوم پردازنده های ARMv8-A:

Cortex_A53

آخرین محصول رزبری پای در زمان نگارش این مقاله مدل 3B است که از چهار هسته پردازشی Cortex-A53 استفاده می کند ، این هسته پردازشی به صورت 64 بیتی عمل می کند و قادر به انجام پردازش با سرعت بالغ بر 1200 مگاهرتز است.

 

در مقاله بعد به بررسی روال های بوت و همچنین اجرای اولین برنامه آموزشی بر روی برد های رزبری پای خواهیم پرداخت.

درباره نویسنده

نویسنده و طراح الکترونیکا هستم . سوالی داشتید در کامنت ها یا پیج های اینستاگرام و تلگرام سایت بپرسید .

نظرات (2)

سعید

درود خدمت شما مهندس عزیز
مبحثی که آغاز کردید بسیار جالب و دوست داشتنی است من مدت ها دنبال چنین راهی برای کار کردن با رزبری پای میگشتم لطفآ این مبحث را ادامه بدهید