رفتن به مطلب
مرجع رسمی سی‌پلاس‌پلاس ایران

ابزار‌ها

  • نوشته‌
    18
  • دیدگاه
    3
  • مشاهده
    6,358

مشارکت‌کنندگان این وبلاگ

شش ابزار نهفته که باید درموردشان بدانید

کامبیز اسدزاده

1,372 بازدید


در گذشته، سیستم های نهفته اغلب سیستم عامل های بسیار کوچک بدون فایل سیستم را اجرا می کردند و یا توسط bare metal (به عملیات حذف رابط برای صحبت با سخت افزار و کم کردن پروسه، bare metal گفته می شود) اجرا می شدند. با افزایش قدرت و کاهش هزینه ی سخت افزار، برای مثال سیستم مجتمع در تراشه (system on chip, SOCs)، بسیاری از سیستم های نهفته به سمت تبدیل شدن به یک سیستم عامل کامل که اکثرا تحت لینوکس هستند، پیش میروند.

یکی از مزیت های اجرای لینوکس بر روی سیستم نهفته، در دسترس بودن تمامی ابزار های آشنای لینوکس در این محیط است.  در حالی که ممکن است محصول نهایی همراه آن ها عرضه نشود، شما به عنوان یک توسعه دهنده می توانید به شِل (shell)، دستورات اساسی و یک پشته شبکه کامل دسترسی داشته باشید. اگر اپلیکیشن نسبتا کوچک باشد، حتی ممکن است که کد بر روی یک سیستم نهفته، مانند Raspberry Pi، کامپایل شود.

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

 

ابزار BusyBox
همانطور که اشاره شد، دسترسی به شِل و دستورات لینوکسی/یونیکسی (برای مثال ls، grep و ...) برای سیستم های نهفته عموما مفید است. BusyBox ابزار های رایج یونیکس را در یک سیستم اجرایی کوچک فراهم می آورد. این دستورالعمل ها عمدتا جایگزینی برای دستورات کامل یونیکسی هستند که هم رایج اند و هم برخی گزینه های کم کاربرد را حذف کرده اند.

این حالت به طور قابل توجهی سبب کوچکتر شدن رد پای کلی (در حافظه و فضای سیستم فایل) می شود که به طور تقریبی شامل 300 دستور و قابل تنظیم است، بنابراین شما می توانید دستورات مورد نظر را در زمان کامپایل اضافه یا حذف کنید.

 

ابزار Minicom
اغلب اوقات نیاز به برقراری ارتباط با سیستم نهفته از طریق یک رابط سریال وجود دارد. این نیاز ممکن است قبل از اینکه سیستم در حال اتصال به شبکه و در حال اجرا باشد، یا برای دسترسی به بارگذاری بوت صورت گیرد.

برای انجام این کار یک برنامه شبیه ساز ترمینال در سمت کامپیوتر میزبان استفاده می شود. به نظر می رسد که Minicom شبیه ساز ترمینال استاندارد defacto برای لینوکس است. با وجود اینکه غیر گرافیکی است و استفاده از آن سخت است، شامل مجموعه ای از ویژگی های غنی است که ارزش صرف زمان برای یادگیری نحوه ی استفاده از آن را دارد.

در پلتفرم ویندوز، ابزار استاندارد HyperTerminal بود، اما با شروع با ویندوز 7 دیگر پشتیبانی نشد یا در ویندوز گنجانده نشده است. شما می توانید نسخه تجاری HyperTerminal را که پشتیبانی می شود خریداری کنید یا از یکی از چندین برنامه های دیگر شبیه ترمینال استفاده کنید. اگر شما یک کپی از ویندوز XP دارید، می توانید فایل های مناسب (hypertrm.dll و hypertrm.exe) را به یک سیستم جدیدتر (از جمله ویندوز 10) کپی کنید و عموما کار می کند حتی اگر پشتیبانی نمی شود.

  

ابزار ssh/sftp
به طور معمول سیستم نهفته از شبکه پشتیبانی می کنند و اغلب این روش، ترجیحی برای انتقال فایل ها به سیستم در طول توسعه است. شما می توانید سرور ssh بر روی دستگاه اجرا کنید و سپس از ssh برای دسترسی به سیستم از یک دستگاه توسعه استفاده کنید. برنامه sftp نیز می تواند مفید باشد، ارائه یک رابط مشابه به ftp (برنامه انتقال فایل)، اما با استفاده از پروتکل امن تر ssh.

اکثر محیط های یکپارچه ی توسعه نرم‌افزار (IDE)، مانند Qt Creator، با استفاده از ssh یا sftp برای انتقال فایل ها و اجرای دستورات از راه دور، از طریق یک رابط کاربری گرافیکی که معمولا ساده تر از فراخوانی دستورات به طور مستقیم است، پشتیبانی می کند. سرور های ssh جایگزینی وجود دارند که می توانند سبک تر و کم حجم تر از سرورهای کامل مانند OpenSSH  و مناسب تر برای اجرای سیستم جاسازی شده. یک انتخاب محبوب Dropbear است.

 

ابزار Adb
Android Debug Bridge (adb) یک ابزار خط فرمان برای برقراری ارتباط با یک دستگاه برای انجام اقدامات مختلف مانند نصب، اشکالزدایی و دسترسی به شِل است. این یک ابزار استاندارد برای توسعه در اندروید است و در اندروید SDK گنجانده شده است. Adb همچنین می تواند در سیستم های غیر اندرویدی استفاده شود.

 

ابزار Yocto bitbake
پروژه Yocto یک ابتکار منبع باز است که قالب ها، ابزار ها و روش های ایجاد یک سیستم مبتنی بر لینوکس را برای محصولات نهفته فراهم می کند. این شرکت در سال 2010 به عنوان همکاری میان بسیاری از تولید کنندگان سخت افزار، فروشندگان سیستم عامل های open source و شرکت های الکترونیک تاسیس شد. Qt Company آن را به عنوان پایه Qt تجاری خود برای سیستم های نهفته، boot2qt استفاده می کند.

 

Buildroot
Buildroot یکی دیگر از ابزارهای رایج برای سیستم های نهفته برای تولید یک toolchain کامپایل چند سکویی، سیستم فایل ریشه، تصویر هسته و بوت لودر است. این ابزار قدرتمندتر از Yocto است، اما می تواند ساده تر از آن استفاده شود. انتخاب بین Yocto و buildroot، معمولا در ارزش و كيفيت تكنيكي خلاصه نميشود، بلكه انچه توسط bsp vendor ساپورت ميشود اهميت دارد. 



0 دیدگاه


نظرهای پیشنهاد شده

هیچ دیدگاهی برای نمایش وجود دارد.

مهمان
افزودن دیدگاه

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از ۷۵ اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به عنوان یک لینک به جای

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
×
  • جدید...