امبدد لینوکس

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

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

 

گنو لینوکس

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

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

 

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

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

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

 

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

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

 

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

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

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

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

 

کار با تراشه F1C100S – قسمت پنجم – راه اندازی وای فای (wifi)

در قسمت قبل از سری آموزش F1C100s نحوه راه اندازی گرافیک با کمک LVGL رو آموزش دادیم، توی این قسمت میخوایم جلوتر بریم و نحوه راه اندازی وای فای رو آموزش بدیم، البته این آموزش مختص تراشه F1C100s نیست و میشه به کمک هر تراشه دیگه ای که...

ادامه مطلب

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

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

ادامه مطلب

allwinner v3s open source board

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

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

ادامه مطلب

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

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

ادامه مطلب

امبدد لینوکس قسمت بیست و دوم: فایل سیستم‌ها (بخش سوم)

در قسمت قبل به بررسی busybox که یکی از بخش‌های سیستم فایل بود پرداختیم، در این قسمت به بررسی کتابخانه های فایل سیستم می‌پردازیم. کتابخانه‌های مورد نیاز در روت یه راه ساده این هست که هر فایلی با پسوند so. توی sysroot تولچین هست ر...

ادامه مطلب

ساخت پروگرامر OpenCpu ماژول های کوییکتل با F1c100s

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

ادامه مطلب

فایل سیستم‌ها

امبدد لینوکس قسمت بیست و یکم: فایل سیستم‌ها (بخش دوم)

در قسمت قبل به بررسی سیستم فایل پرداختیم و به init رسیدیم، در این قسمت مطالب قسمت قبل را کامل‌تر می‌کنیم.   چاقوی سویسی بردت رو بردار BusyBox که روز اول بی‌ربط به امبددلینوکس نوشته شد الان قلب تپنده خیلی از امبدد سیستم‌ها ...

ادامه مطلب

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

امبدد لینوکس قسمت بیستم: فایل سیستم‌ها (بخش اول)

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

ادامه مطلب

دیوایس تری Device Tree

امبدد لینوکس قسمت نوزدهم: Kernel linux (بخش سوم)

در قسمت قبل به بررسی نحوه کانفیگ و کامپایل کرنل لینوکس برای رزبری پای پرداختیم و در این قسمت به سراغ  device tree میریم و با آن بیشتر آشنا می‌شویم.شاید برای شما مفید باشد: آموزش رزبری پای از 0 تا 100  دیوایس تری Devi...

ادامه مطلب

امبدد لینوکس قسمت هجدهم: Kernel linux (بخش دوم)

در قسمت قبلی به بررسی کرنل و ساختار فایل های آن پرداختیم، حالا در این قسمت به سراغ پیکربندی کرنل لینوکس و درایور ها می‌پردازیم و آن‌ها را کامپایل می‌کنیم.   آشنایی با پیکربندی (configuration) کرنل لینوکس یکی از نقاط قوت لی...

ادامه مطلب