کتاب Embedded Linux Essentials Handbook: Build embedded Linux systems and real-world apps with Yocto, Buildroot, and RPi (کتاب ضروریات لینوکس توکار: ساخت سیستمهای لینوکس توکار و برنامههای کاربردی دنیای واقعی با استفاده از یوکتو، بیلدروت و رزبریپای) یک راهنمای عملی و جامع برای توسعهدهندگانی است که قصد دارند سیستمهای لینوکس توکار (جاسازیشده) را از پایه بسازند و برنامههای کاربردی واقعی برای آنها ایجاد کنند.
در ادامه مقدمهای از کتاب Embedded Linux Essentials Handbook را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Embedded Linux Essentials Handbook:
سلام! نرمافزار توکار (جاسازیشده) برای دستگاههای تخصصی طراحی شده است، نه رایانههای معمولی که هر روز استفاده میکنیم. برخلاف نرمافزارهای همهمنظوره که روی رایانههای استاندارد اجرا میشوند، نرمافزار توکار روی سیستمهایی با منابع سختافزاری محدود اجرا میشود که سیستمهای توکار نامیده میشوند. با این حال، با انفجار اخیر قابلیتهای محاسباتی سیستمهای توکار، لینوکس توکار در حال تبدیل شدن به یک پارادایم محبوب برای نرمافزارهای توکار است.
با در دسترس قرار گرفتن لینوکس توکار بر روی پلتفرمهای بیشتر، برای مهندسان نرمافزار توکار ضروری است که در سفارشیسازی، نصب، استفاده و توسعه بر روی آن مهارت یابند.
سیستمهای لینوکس توکار را میتوان به سه دسته متمایز تقسیم کرد:
1. بخشهای مسئول ارتباط با سختافزار، مانند بوتلودر، هسته (کرنل) و Devicetree.
2. چارچوبهایی که میتوان از آنها برای ساخت کل سیستمهای نرمافزاری لینوکس توکار استفاده کرد.
3. برنامههای کاربردی که روی سیستمهای لینوکس توکار اجرا میشوند و هدف خاصی را دنبال میکنند.
در حالی که برخی کتابها و منابع هر یک از سه نقطه بالا را پوشش میدهند، هیچ منبع واحدی هر سه را پوشش نمیدهد. این کتاب قصد دارد هر سه را با جزئیات بررسی کند.
من اطلاعات مرتبط را ارائه خواهم داد و شما را در موضوعات کلیدی مورد نیاز برای درک صحیح از سیستمهای لینوکس توکار راهنمایی خواهم کرد. بهترین راه برای یادگیری یک موضوع از طریق مثالها است، بنابراین این کتاب شامل مثالهای عملی بهموقع برای بسیاری از موضوعات پوشش دادهشده است.
مخاطبان کتاب Embedded Linux Essentials Handbook
مهندسان نرمافزار توکار باید با پارادایمهای موجود، از جمله لینوکس توکار، آشنا باشند تا اطمینان حاصل کنند که طراحیهای آنها به خوبی با محصول، برنامه کاربردی و سختافزار هدف سازگار است.
سه گروه اصلی که این کتاب برای آنها نوشته شده است عبارتند از:
سرپرستان فنی و معماران: لینوکس توکار تفاوت قابل توجهی با دیگر پارادایمهای نرمافزار توکار دارد. درک قوی از لینوکس توکار به سرپرستان فنی و معماران کمک میکند تا تصمیم بگیرند چه زمانی این راهحل مناسب برنامه کاربردی آنهاست. همچنین به آنها کمک میکند تا وظایف مربوط به ساخت یک سیستم لینوکس توکار و جدول زمانی مرتبط با آنها را درک کنند.
مهندسان نرمافزار توکار: این کتاب برای مهندسانی است که میخواهند تجربه عملی با لینوکس توکار کسب کنند. آنها مفاهیم و ابزارهای ضروری مورد نیاز برای انجام وظایف کلیدی درگیر در توسعه یک سیستم لینوکس توکار را یاد خواهند گرفت.
مهندسان سختافزار: مهندسان سختافزار میتوانند از یک درک مقدماتی از لینوکس توکار بهرهمند شوند، زیرا آنها اغلب مسئول راهاندازی اولیه برد و تأیید طراحی هستند.
سرفصلهای کتاب Embedded Linux Essentials Handbook
فصل ۱، بررسی معماری لینوکس توکار و موارد استفاده آن: به خواننده نشان میدهد که چه زمانی لینوکس توکار را بر دیگر پارادایمهای نرمافزاری ترجیح دهد. این فصل از کتاب Embedded Linux Essentials Handbook، موارد استفاده، معماری و نیازمندیهای سختافزاری لینوکس توکار را پوشش میدهد. همچنین در مورد اجزای مختلف یک سیستم لینوکس توکار آموزش میدهد.
فصل ۲، یادگیری درباره U-Boot: ساختار پایه کد U-Boot و نحوه ساخت آن را توصیف میکند. به زیرسیستمهای کلیدی U-Boot میپردازد و نحوه اجرای آن روی QEMU و Raspberry Pi5 را نشان میدهد.
فصل ۳، پیمایش در هسته لینوکس: جزئیات مربوط به هسته لینوکس را ارائه میدهد. ساختار پایه کد و نحوه ساخت آن را توصیف میکند. این فصل از کتاب Embedded Linux Essentials Handbook به بررسی زیرسیستمهای کلیدی هسته لینوکس، معماری ARM و مدل درایور دستگاه میپردازد.
فصل ۴، توصیف سختافزار با استفاده از Devicetree: Devicetree را با جزئیات توصیف میکند. این فصل از کتاب Embedded Linux Essentials Handbook نشان میدهد که هسته لینوکس چگونه از Devicetree برای پیکربندی خود برای تعامل با سختافزار یک سیستم توکار استفاده میکند. با مثالهایی نحوه افزودن تجهیزات جانبی خاص از جمله ADC و DAC روی گذرگاه I2C و یک دستگاه روی گذرگاه SPI را مرور میکند.
فصل ۵، بررسی چارچوبها برای ساخت یک تصویر (Image): به خواننده آموزش میدهد که چگونه اجزای مختلف لینوکس توکار را میتوان برای تشکیل یک تصویر واحد ترکیب کرد. این فصل از کتاب Embedded Linux Essentials Handbook به طور خلاصه دو چارچوب محبوب برای این منظور یعنی Buildroot و Yocto Project را توصیف میکند. این دو چارچوب را مقایسه میکند و راهنمایی در مورد زمان انتخاب چارچوب مناسب ارائه میدهد.
فصل ۶، ساخت تصویر با استفاده از Yocto Project: مروری عمیق بر Yocto Project ارائه میدهد. نحوه افزودن یک برنامه کاربردی به تصویر لینوکس توکار با استفاده از این چارچوب و چگونگی سفارشیسازی یک تصویر موجود را پوشش میدهد.
فصل ۷، ساخت تصویر با استفاده از Buildroot: نحوه استفاده از Buildroot برای ایجاد یک تصویر لینوکس توکار را توصیف میکند. همچنین نشان میدهد که چگونه یک برنامه کاربردی اضافه کنیم و یک تصویر موجود را سفارشی کنیم.
فصل ۸، ساخت، اشکالزدایی و راهاندازی برنامهها هنگام بوت: مبانی توسعه برنامه کاربردی روی یک سیستم لینوکس توکار را توصیف میکند. مراحل لازم برای کامپایل یک برنامه کاربردی را آموزش میدهد. این فصل از کتاب Embedded Linux Essentials Handbook همچنین توصیههایی در مورد تست و اشکالزدایی یک برنامه کاربردی و شناسایی مسائل عملکردی و کارایی ارائه میدهد. چارچوب Systemd را که برای راهاندازی خودکار برنامهها هنگام بوت استفاده میشود، توصیف میکند.
فصل ۹، پروژه ۱: استفاده از پایتون برای ساخت یک وبسرور جهت نمایش دادههای سنسور: توسعه یک برنامه کاربردی پایتون که روی رزبریپای اجرا میشود را قدم به قدم مرور میکند. این برنامه یک وبسرور است که دادهها را از یک سنسور از طریق گذرگاه I2C بازیابی کرده و در یک پایگاه داده ذخیره میکند. همچنین دادهها را از پایگاه داده بازیابی کرده و در هنگام درخواست کاربر به او ارائه میدهد.
فصل ۱۰، پروژه ۲: استفاده از Qt برای ساخت یک دستگاه علمی: توسعه یک برنامه کاربردی با استفاده از چارچوب Qt را نشان میدهد. ویژگیها و اجزای مورد استفاده در یک دستگاه علمی را توصیف میکند. این فصل از کتاب Embedded Linux Essentials Handbook توصیف مفصلی از QML و نحوه استفاده از آن برای توسعه رابط کاربری پیچیده ارائه میدهد. همچنین نشان میدهد که چگونه از C++ برای پیادهسازی منطق کسبوکار در سمت سرور استفاده کنیم.
فصل ۱۱، پروژه ۳: استفاده از Qt برای ساخت یک دستگاه پزشکی: یک برنامه کاربردی دیگر که با استفاده از چارچوب Qt توسعه یافته است را قدم به قدم مرور میکند. نشان میدهد که چگونه میتوان از ویجتهای Qt برای توسعه یک برنامه کاربردی نمونه دستگاه پزشکی استفاده کرد.
فصل ۱۲، اشکالزدایی هسته لینوکس: به خواننده آموزش میدهد که چگونه هسته لینوکس را اشکالزدایی کند. مسائل عملکردی و کارایی که ممکن است هنگام کار با هسته لینوکس با آنها مواجه شویم، چگونگی بروز این مسائل و مکانیسمهای مختلف موجود برای کمک به اشکالزدایی این مسائل را نشان میدهد. این فصل از کتاب Embedded Linux Essentials Handbook مثالهای خاصی از موضوعات پوشش دادهشده ارائه میدهد.
فصل ۱۳، ایمنسازی اجرای کد با eBPF: نشان میدهد که چگونه میتوان برنامههای کاربردی را به طور ایمن و مطمئن در داخل هسته لینوکس با استفاده از Extended Berkeley Packet Filter یا eBPF اجرا کرد. برخی از قابلیتهایی که این ویژگی فعال میکند، نحو یک برنامه کاربردی eBPF و نحوه اجرای یک برنامه کاربردی eBPF روی یک سیستم لینوکس توکار را به خواننده آموزش میدهد. این فصل از کتاب Embedded Linux Essentials Handbook مثالهای خاصی برای نشان دادن موضوعات پوشش دادهشده ارائه میدهد.
فصل ۱۴، Rust در لینوکس توکار: هسته و برنامههای کاربردی: به طور خلاصه خواننده را با Rust، یک زبان برنامهنویسی جدید که محبوبیت قابل توجهی به دست آورده است، آشنا میکند. این فصل نحو Rust، انواع داده اولیه و مکانیسمهای Rust برای تضمین ایمنی حافظه را توصیف میکند.
فصل ۱۵، پیادهسازی یکپارچهسازی مستمر/تحویل مستمر (CI/CD): اهمیت یکپارچهسازی مستمر و تحویل مستمر (CI/CD) را به خوانندگان آموزش میدهد. موارد استفاده خاص در زمینه سیستمهای لینوکس توکار را ارائه میدهد. این فصل از کتاب Embedded Linux Essentials Handbook نمونههایی از فرآیندها با استفاده از GitHub Actions را نشان میدهد.
فصل ۱۶، نگاهی به آینده: کتاب را با مروری بر موضوعات پوشش داده شده در فصلهای قبلی به پایان میرساند. برخی از روندهای آیندهای که مهندسان نرمافزار لینوکس توکار باید از آن آگاه باشند را پوشش میدهد.
سرفصلهای کتاب Embedded Linux Essentials Handbook:
- Preface
- Part I: Getting Started with Embedded Linux
- Exploring Embedded Linux’s Architecture and Its Use Cases
- Learning About U-Boot
- Navigating the Linux Kernel
- Describing Hardware Using the Devicetree
- Part II: Building an Embedded Linux Image
- Exploring Frameworks to Build an Image
- Building an Image Using the Yocto Project
- Building an Image Using Buildroot
- Part III: Developing Applications
- Building, Debugging, and Launching Applications on Startup
- Project 1: Using Python to Build a Web Server to Display Sensor Data
- Project 2: Using Qt to Build a Scientific Instrument
- Project 3: Using Qt to Build a Medical Device
- Part IV: Advanced Topics, Implementing CI/CD, Best Practices, and Looking Ahead
- Debugging the Linux Kernel
- Securing Code Execution with eBPF
- Rust in Embedded Linux: The Kernel and Applications
- Implementing Continuous Integration/Continuous Delivery (CI/CD)
- Looking to the Future
- Unlock Your Exclusive Benefits
- Other Books You May Enjoy
- Index
جهت دانلود کتاب Embedded Linux Essentials Handbook میتوانید پس از پرداخت، دریافت کنید.

دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.