آموزش امبدد لینوکس

آموزش امبدد لینوکس

در این سری آموزشی می خواهیم از آموزش های الکترونیک، به یک موضوع خاص و جذاب بپردازیم، آموزش امبدد لینوکس!

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

 

گنو لینوکس

لینوکس یا در اصل گنو یک سیستم عامل شبه یونیکس است و از بسیاری جهات شبیه به سایر سیستم عامل ها مانند ویندوز، macOS(OS X سابق) یا iOS است. مثل تمامی سیستم عامل ها، لینوکس می‌تواند یک رابط گرافیکی و انواع نرم افزارهای دسکتاپ را داشته باشد (مثل انواع ویرایشگرها نرم افزار های office  و ….).

اما لینوکس از بسیاری جهات با سایر سیستم عامل ها متفاوت است اول از همه و شاید مهمترین ویژگی آن، متن باز بودن لینوکس است! کد مورد استفاده برای ایجاد لینوکس رایگان و برای عموم در دسترس است تا آن را مشاهده کنند، ویرایش کنند (برای کاربرانی که دانش کافی را دارند) و در آن مشارکت داشته باشند.

سر فصل های آموزش امبدد لینوکس سیسوگ

  • ورود به دنیای امبدد لینوکس
  • کی از کامپیوتر تک بردی 5 دلاری استفاده کنیم؟
  • Toolchain یا زنجیره‌ای از ابزارهای لازم برای ساختن همه چیز
  • ضمیمه راه اندازی سخت افزار
  • زنجیره‌ای از ابزارهای لازم برای ساختن همه چیز
  • Bootloader
  • Linux Kernel
  • فایل سیستم‌ها

امبدد لینوکس چیست؟ کجا از آن استفاده می‌کنیم؟

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

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

کاربردهای امبدد لینوکس

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

مزایای استفاده از امبددلینوکس چیست؟

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

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

  • متن باز بودن
  • کاهش هزینه ها
  • در دسترس بودن منابع و پشتیبانی
  • قابلیت تنظیم پذیری
  • انعطاف پذیری بیشتر
  • سازگاری با انواع پردازنده ها

سوالات متداول درباره امبدد لینوکس

 

لینوکس به چه صورت در سیستم های امبدد قابل استفاده است؟

اگر بخواهیم ساده توضیح دهیم یک سیستم امبدد لینوکس سیستمی است که از لینوکس بعنوان سیستم عامل رابط بیین سخت افزار و رابط کاربری دسگاه امبدد قرار دارد،

حداقل سیستم مورد نیاز برای اجرای امبدد لینوکس چیست؟

حداقل 10 گیگابایت فضای خالی برای نصب

16 گیگابایت RAM

حافظه فلش با حجم 8 تا 16 مگابایت

زبان برنامه نویسی امبدد لینوکس چیست؟

امبدد لینوکس یک ربان برنامه نویسی نمی باشد. امبدد لینوکس یکی ز یکی از انواع سیستم عامل های می باشد که برای دستگاه های امبدد که نیاز به یک OS دارند قابل استفاده می باشد.

  • دوره آموزشی امبدد لینوکس

اول بگم که Embedded Linux که از این به بعد به اختصار بهش می‌گیم eLinux گرفتن یه برد آماده و استفاده از سیستم عامل و بوت لودر و بقیه چیزهای آماده و نوشتن یه برنامه با پایتون و ذوق کردن نیست! بلکه قراره خودمون سیستم عامل مخصوص خودمون را کامپایل کنیم.

eLinux همون طور که شاید خیلی‌هاتون تا الآن متوجه شده باشین یه اقیانوس هست که یادگیریش واقعاً نیاز به وقت و همت داره! تقریباً توش هیچ چیز آماده‌ای مثل AVRCodeWizard یا CubeMX وجود نداره. با آزمون و خطا توش خیلی کاری نمیشه کرد و باید مطالعه کرد و یاد گرفت!
در واقع جزو کارهای عمیق محسوب می‌شه. کارهایی که هر کسی حوصله یادگیری و انجام دادنش رو نداره.

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

ورود به دنیای امبدد لینوکس – قسمت اول

ورود به دنیای امبدد لینوکس – قسمت اول

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

ادامه مطلب

ورود به دنیای امبدد لینوکس – قسمت دوم

ورود به دنیای امبدد لینوکس – قسمت دوم

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

ادامه مطلب

امبدد لینوکس – قسمت سوم

امبدد لینوکس – قسمت سوم – کی از کامپیوتر تک بردی 5 دلاری استفاده کنیم؟

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

ادامه مطلب

امبدد لینوکس – قسمت چهارم

امبدد لینوکس – قسمت چهارم – کی از کامپیوتر تک بردی 5 دلاری استفاده کنیم؟ (بخش دوم)

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

ادامه مطلب

امبدد لینوکس – قسمت پنجم

امبدد لینوکس – قسمت پنجم – Toolchain یا زنجیره‌ای از ابزارهای لازم برای ساختن همه چیز (بخش اول)

قسمت پنجم از دوره ورود به دنیای امبدد لینوکس که دوره مقدماتی آموزش امبدد لینوکس  می باشد با ما همراه باشید. (فصل دوم - بخش اول) سلام بر عزیزان، با فصل دوم در خدمت شما هستیم. در قسمت قبل، با اصطلاحاتی مثل SoC، SBC، SoM و CoM و را...

ادامه مطلب

امبدد لینوکس – قسمت ششم

امبدد لینوکس – قسمت ششم – Toolchain یا زنجیره‌ای از ابزارهای لازم برای ساختن همه چیز (بخش دوم)

(فصل دوم – بخش دوم) سلام بر شما. جلسه قبل با تولچین (Toolchain) آشنا شدیم. توی این قسمت میخوایم تولچین گنو یا همون GNU Toolchain رو بررسی کنیم، با اجزاش، انواع مختلفش و نوع نام گذاریش هم آشنا بشیم. در قسمت‌های قب...

ادامه مطلب

امبدد لینوکس – قسمت هفتم

امبدد لینوکس – قسمت هفتم – Toolchain یا زنجیره‌ای از ابزارهای لازم برای ساختن همه چیز (بخش سوم)

با قسمت هفتم از دوره ورود به دنیای امبدد لینوکس که دوره مقدماتی آموزش امبدد لینوکس  می باشد همراه ما باشید.(فصل دوم - بخش سوم) سلام بر همراهان. توی قسمت قبلی تولچین گنو یا همون GNU Toolchain رو بررسی کردیم، با اجزاش، انواع مخ...

ادامه مطلب

  • کار با تراشه V3s

این تراشه سخت افزار قوی تری داره و کارهای سنگینی رو میتونیم روی اون پیاده کنیم. این تراشه دارای یک پردازنده تک هسته ای با معماری ARM Cortex-A7 و فرکانس کاری 1.2GHz هست ، به همراه 64مگابایت رم و از درگاه های مختلفی پشتیبانی می کنه. در این سری آموزشی به بررسی این تراشه می پردازیم.

allwinner v3s open source board

کار با تراشه V3S – قسمت اول – سخت افزار

حدود پارسال بود که برد اوپن سورسی برای یک تراشه ارزان قیمت و مناسب که قابلیت اجرای لینوکس رو هم داشت (F1C100S) منتشر کردیم ؛ امیدواریم که خود برد و چند قسمت آموزشی که در ادامش منتشر شد (و چند قسمت دیگه هم مونده که منتشر بشه) برای ...

ادامه مطلب

کار با تراشه V3S – قسمت دوم

کار با تراشه V3S – قسمت دوم – مقدمه ای بر yocto

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

ادامه مطلب

کار با تراشه V3S – قسمت سوم – ساخت ایمیج

کار با تراشه V3S – قسمت سوم – ساخت ایمیج

در قسمت قبلی از سری آموزش کار با تراشه V3s به بررسی بیلد سیستم یوکتو پرداختیم و ویژگی هاش رو بررسی کردیم، همچنین روند ساخته شدن ایمیج توسط یوکتو رو بررسی کردیم، حالا توی این قسمت میخوایم نحوه ساخت ایمیج لینوکسی به کمک یوکتو، برای ...

ادامه مطلب

  • کار با تراشه F1C100S

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

کار با تراشه F1C100S - قسمت اول

کار با تراشه F1C100S – قسمت اول – سخت افزار

امبدد لینوکس! مبحث شیرینی که کاربردش توی زندگی ما خیلی زیاد هست،خیلی از دستگاه‌هایی که روزانه از اونها استفاده می‌کنیم به کمک امبدد لینوکس راه‌اندازی شده‌اند. اما متأسفانه هنوز هم برای ما فارسی‌زبانان منابع زیادی برای کار با اون و...

ادامه مطلب

کار با تراشه F1C100S – قسمت دوم

کار با تراشه F1C100S – قسمت دوم – مقدمه ای بر buildroot

در قسمت قبل توضیحات کلی در مورد بخش‌های سخت‌افزاری برد sinux f1 دادیم و از این به بعد می‌خواهیم وارد بحث نرم‌افزاری و شناساندن سخت‌افزار به نرم‌افزار شویم که یکی از این راهکارها Buildroot است پس با سیسوگ همراه باشید.بگذارید مق...

ادامه مطلب

کار با تراشه F1C100S – قسمت سوم

کار با تراشه F1C100S – قسمت سوم – ساخت ایمیج

در قسمت قبل مقدمه ای بر سیستم های امبدد و buildroot داشتیم. حال به سراغ کمی ویرایش در کانفیگ های buildroot و بعد از آن هم کامپایل ایمیج و اجرای آن روی برد را بررسی خواهیم کرد . البته این مراحل در فایل Readme.md خود پروژه هم به‌طور...

ادامه مطلب