ARM, RASPBERRY PI رسپبری, پروژه های سیسوگ, توصیه شده, مقاله

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

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

 

درون هسته رزبری پای چه می‌گذرد ؟

BCM2836

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

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

BCM2836 diagram

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

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

وقتی که رزبری پای روشن می‌شود چه اتفاقاتی می‌افتد؟

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

دیاگرام بوت رزبری پای

وقتی که برد رزبری پای روشن یا ریست می شود ، GPU ابتدا توسط ROM داخلی که به وسیله شرکت نوشته شده است به دنبال اولین پارتیشن بوت (MBR) درون کارت حافظه (SD) می گردد. بعد از شناسایی پارتیشن فایل bootcode.bin درون حافظه RAM لود می شود و اجرای برنامه به RAM منتقل می‌شود. پس در واقع فایل bootcode.bin به نوعی بوت لودر محسوب می‌شود که توسط کاربر قابل تغییر است.

در حالت عادی و فایل پیش فرض bootcode.bin بعد از اجرا به دنبال فایل های start.elf و config.txt می گردد که در واقع کار پیش تنظیم سخت افزار از جمله تنظیمات مربوط به GPU  و دیگر بخش های سخت افزار را جهت لود کرنل اصلی بر عهده دارد.

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

از کجا شروع کنیم؟

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

 

1. ابتدا کارت حافظه را فرمت کنید – دقت کنید که نوع فایل سیستم را Fat32 انتخاب کنید و اسم درایو را Boot بگذارید مطابق عکس زیر.

فرمت کردن کارت حافظه

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

فایل های مروط به رزبری پای ورژن 1 : Sisoog ACT Blink Raspberry PI B+ (151 دانلود ها)

فایل های مروط به رزبری پای ورژن 2 : Sisoog ACT Blink Raspberry PI 2 (197 دانلود ها)

3. بعد از آن کارت حافظه را درون برد رزبری قرار دهید و آن را روشن کنید ، ال ای دی ACT موجود بر روی برد شروع خواهد کرد به چشمک زدن.

 

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

نوشته های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *