کتاب Making Embedded Systems, 2nd Edition: Design Patterns for Great Software (ساخت سیستم های جاسازی شده، ویرایش دوم: الگوهای طراحی برای نرم افزارهای بزرگ) توسط Elecia White، متخصصی که سیستمهای جاسازی شده از اسکنرهای DNA گرفته تا اسباببازیهای کودکان را ایجاد کرده است به چاپ رسیده است و، برای برنامهنویسان متوسط و با تجربه، صرف نظر از اینکه از چه پلتفرمی استفاده میکنید، ایدهآل است. این بهروزرسانی گسترده شامل فصلهای جدیدی درباره اینترنتاشیا و حسگرهای شبکه، موتورها و حرکت، و استراتژیهای مدیریت دادهها میشود.
در ادامه مقدمهای از کتاب Making Embedded Systems را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Making Embedded Systems:
من عاشق سیستمهای تعبیه شده هستم. اولین باری که یک موتور چرخید چون به آن گفتم، قلاب شده بودم. من به سرعت از نرمافزار خالص فاصله گرفتم و وارد عرصهای شدم که میتوانم دنیا را لمس کنم. درست زمانی که نرمافزار را ترک میکردم، کار اصلی روی الگوهای طراحی انجام شد. تیم من کتاب را مرور کرد و درباره الگوها و اینکه کجا استفاده میکردیم بحث کرد.
همانطور که بیشتر وارد سیستمهای جاسازی شده شدم، کامپایلرهایی را یافتم که نمیتوانستند وراثت C++ را مدیریت کنند، پردازندههایی با مقدار کمی حافظه برای پیادهسازی الگوها، و مجموعهای کاملاً جدید از مشکلات که در آنها الگوهای طراحی کاربردی به نظر نمیرسیدند.
اما هرگز اینایده را فراموش نکردم که الگوهایی در روش مهندسی ما وجود دارد. با یادگیری تشخیص الگوها، میتوانیم بارها و بارها از راه حلهای قوی استفاده کنیم. بسیاری از این کتاب به الگوهای استاندارد نگاه میکند و الگوهای جدیدی را برای توسعه سیستم تعبیه شده ارائه میدهد. من همچنین تعدادی فصل را با اطلاعات مفید دیگری که در بیشتر کتابها یافت نمیشود پر کردهام.
درباره کتاب Making Embedded Systems
پس از دیدن سیستمهای تعبیهشده در دستگاههای پزشکی، ماشینهای مسابقه، هواپیماها و اسباببازیهای کودکان، نقاط مشترک زیادی پیدا کردم. چیزهایی وجود دارد که آرزو میکردم در آن زمان میدانستم که چگونه میتوانم در مورد طراحی و پیادهسازی نرمافزار برای یک سیستم جاسازی شده اقدام کنم. این کتاب حاوی برخی از چیزهایی است که من آموختهام. کتاب Making Embedded Systems در مورد طراحی نرمافزار موفق در محیطهای با محدودیت منابع است.
همچنین کتابی است درباره درک آنچه که مصاحبهگران هنگام درخواست شغل سیستمهای جاسازی شده به دنبال آن هستند. هر بخش با یک سؤال مصاحبه به پایان میرسد. اینها معمولاً مختص زبان نیستند.
در عوض، آنها سعی میکنند استنتاج کنند که شما چگونه فکر میکنید. مفیدترین سؤالات مصاحبه یک پاسخ صحیح ندارند. به جای تلاش برای مستندسازی همه مسیرها، یادداشتهای بعد از هر سؤال نکاتی را در مورد آنچه که مصاحبهکننده ممکن است در پاسخ شما جستجو کند، ارائه میدهد. شما باید کار (و پاسخها) را بر اساس شایستگی خودتان بدستآورید.
اما یک نکته: سیستمهای تعبیه شده من سیستم عامل (OS) ندارند. نرمافزار بر روی فلز خالی اجرا میشود. وقتی نرمافزار میگوید «روشن آن چراغ را روشن کن»، آن را بدون واسطه به پردازنده میگوید. این کتابی درباره کار با سیستم عامل تعبیه شده نیست.
اما این مفاهیم به پردازندههایی که سیستمعاملها را اجرا میکنند، ترجمه میشوند، بنابراین اگر به آن پایبند باشید، ممکن است در مورد قسمتهای زیرین سیستمعامل نیز بیاموزید. کار بدون یک سیستم عامل به شما کمک میکند واقعاً از کاری که یک سیستم عامل انجام میدهد قدردانی کنید.
کتاب Making Embedded Systems کهنالگوها و اصولی را که معمولاً در ایجاد نرمافزار سیستم تعبیهشده استفاده میشوند، شرح میدهد. من هیچ پلتفرم، پردازنده، کامپایلر یا زبان خاصی را پوشش نمیدهم، زیرا اگر پایه و اساس خوبی از این کتاب دریافت کنید، جزئیات میتوانند بعداً ارائه شوند.
کتاب Making Embedded Systems برای چه کسی است؟
من این را برای افرادی نوشتم که در گذشته با آنها کار کردهام.
سارا یک مهندس نرمافزار جوان بود که به تیم سیستمهای جاسازی شده من پیوست. او باهوش و علاقهمند بود، اما نمیدانست چگونه با سختافزار کار کند.
جاش یک مهندس الکترومکانیک با تجربه بود که نیاز به نوشتن نرمافزار داشت. او میتوانست از طریق برخی از کدها تغذیه کند، اما در طراحی سیستم، اشکالزدایی مشکلات حافظه و استفاده مجدد از کد گیر کرد.
معمولاً ما فقط نرمافزار یا سختافزار را در مدرسه یاد میگیریم. ما یاد نمیگیریم که چگونه آنها را با هم کار کنیم. هدف من این است که از دانش شما برای پر کردن شکافها استفاده کنم.
درباره نویسنده
در زمینه سیستمهای تعبیهشده، من روی اسکنرهای DNA، واحدهای اندازهگیری اینرسی برای هواپیماها و ماشینهای مسابقه، اسباببازیهای کودکان پیشدبستانی، سیستم مکانیابی گلوله برای دستگیری مجرمان، و انواع دستگاههای پزشکی، علمی و مصرفی کار کردهام.
من در پردازش سیگنال، یکپارچهسازی سختافزار، طراحی سیستم پیچیده و عملکرد تخصص دارم. با گذراندن فرآیندهای صدور گواهینامه FAA و FDA، من اهمیت تولید طرحهای با کیفیت بالا و اینکه چگونه به اجرای با کیفیت بالا منجر میشود را درک میکنم.
من چندین سال را در نقشهای مدیریتی گذراندهام، اما از مهندسی عملی و هیجان ارائه محصولات عالی لذت میبرم. من خوشحالم که بگویم ترک مدیریت فرصتهای من برای ارائه رهبری و راهنمایی را کاهش نداده است.
پس از چاپ اول کتاب Making Embedded Systems، پادکست Embedded. fm را شروع کردم تا در مورد سیستمهای جاسازی شده با افراد دیگر صحبت کنم. از طریق صدها قسمت، آموختهام که مهندسان دیگر چگونه مشکلات را حل میکنند، در مورد فناوریهای جدید در حال توسعه و سایر مسیرهای شغلی.
سازمان کتاب Making Embedded Systems
من غیرداستانی را برای سرگرمی میخوانم. من خیلی بیشتر داستانهای غیرداستانی میخوانم، اما با این حال، هر کتاب خوبی را دوست دارم. این کتاب را نوشتم که تقریباً به صورت داستان، از جلد تا جلد خوانده شود. اطلاعات فنی است (بسیار در نقطه)، اما ارائه غیر معمول است. برای دریافت مطالب، نیازی به برنامهنویسی همراه با آن ندارید (اگرچه امتحان کردن مثالها و اعمال توصیهها در کدتان به شما درک عمیقتری میدهد).
این یک کتابچه راهنمای فنی نیست که بتوانید به وسط آن بروید و فقط آنچه را که میخواهید بخوانید. منظورم این است که شما میتوانید این کار را انجام دهید، اما با روش جستجو و تخریب اطلاعات زیادی را از دست خواهید داد. شما همچنین دلتنگ جوکها خواهید شد، که واقعاً از آن احساس بدی میکنم. امیدوارم به ترتیب کتاب را مرور کنید. سپس، زمانی که در تمساحها بسیار عمیق هستید و نیاز به اجرای سریع یک تابع دارید، کتاب را بردارید، به فصل سمت راست ورق بزنید، و مانند یک جادوگر، یک جدول فرمان یا اجرای واریانس با نقطه ثابت را انتخاب کنید.
یا میتوانید در مورد راهحلهای بحران هفته مطالعه کنید. من میفهمم. گاهی اوقات فقط باید مشکل را حل کرد. اگر اینطور است، امیدوارم این فصل به اندازه کافی برای شما جالب باشد که پس از پایان مبارزه با آن آتش، دوباره برگردید.
ترتیب فصلهای کتاب Making Embedded Systems به این صورت است:
فصل ۱ “مقدمه”
این فصل از کتاب Making Embedded Systems، توضیح میدهد که یک سیستم تعبیه شده چیست و چگونه توسعه با نرمافزار سنتی متفاوت است.
فصل ۲، «ایجاد معماری سیستم»
چه بخواهید یک سیستم را بفهمید یا از ابتدا یک سیستم را ایجاد کنید، ابزارهایی برای کمک به شما وجود دارد.
فصل ۳، «به سختافزار دست پیدا کنید»
یکپارچهسازی سختافزار/نرمافزار در طول نمایش برد میتواند ترسناک باشد، اما راههایی برای روانتر کردن آن وجود دارد.
فصل ۴، «ورودیها، خروجیها و تایمرها»
نسخه سیستمهای جاسازی شده \”Hello World\” یک LED چشمک میزند. میتواند پیچیدهتر از آنچه شما انتظار دارید باشد.
فصل ۵، «وقفهها»
وقفهها یکی از گیجکنندهترین موضوعات در سیستمهای تعبیه شده است: کدی که در رویدادهایی که در داخل پردازنده اتفاق میافتد به طور ناهمزمان فراخوانی میشود. برای این کار از مرغ استفاده میشود.
فصل ۶، «مدیریت جریان فعالیت»
این فصل از کتاب Making Embedded Systems، روشهایی را برای راهاندازی حلقه اصلی سیستم، مکان استفاده از وقفهها (و نحوه استفاده از آن) و نحوه ساخت یک ماشین حالت توضیح میدهد.
فصل ۷، «ارتباط با تجهیزات جانبی»
روشهای ارتباط سریالی مختلف بر سیستمهای جاسازی شده حکومت میکنند: UART، SPI، I۲C، USB، و غیره. در حالی که میتوانید جزئیات هر کدام را جستجو کنید، این فصل به تفاوت آنها با یکدیگر و نحوه کارآمدتر کردن آنها میپردازد.
فصل ۸، «در کنار هم قرار دادن یک سیستم»
تجهیزات جانبی رایج مانند LCD، ADC، حافظه فلش و حسگرهای دیجیتال نیازهای اجرایی مشترکی مانند مدیریت بافر، پهنای باند مورد نیاز و خطوط لوله دارند.
فصل ۹، «درگیر شدن با مشکل»
اشکال زدایی مهارتی است که هر توسعه دهندهای به آن نیاز دارد. پی بردن به چگونگی ایجاد مشکلات به شما میآموزد که چگونه باگها، مشکلات پشته، خطاهای سخت و هوشمندی را حل کنید.
فصل ۱۰، «ساخت دستگاههای متصل»
چه دستگاههای اینترنتاشیا مصرفکننده داشته باشید و چه سیستمهای شبکه صنعتی، مدیریت بسیاری از دستگاهها به معنای پرداختن به بهروزرسانیهای میانافزار، امنیت و نظارت بر سلامت است.
فصل ۱۱، «انجام بیشتر با کمتر»
بهینهسازی برای افراد ضعیف نیست. این فصل از کتاب Making Embedded Systems، روشهایی را برای کاهش مصرف RAM، فضای کد و چرخههای پردازنده نشان میدهد.
فصل ۱۲، «ریاضی»
اکثر سیستمهای تعبیه شده نیاز به انجام نوعی تحلیل دارند. درک اینکه چگونه عملیات ریاضی و نقاط شناور کار میکنند (و کار نمیکنند) سیستم شما را سریعتر و قویتر میکند.
فصل ۱۳، «کاهش مصرف برق»
از کاهش چرخههای پردازنده گرفته تا پیشنهادات معماری سیستم، اگر سیستم شما با باتری کار میکند، این فصل از کتاب Making Embedded Systems، به شما کمک میکند.
فصل ۱۴، «موتورها و حرکت»
این فصل از کتاب Making Embedded Systems، مقدمهای برای موتورها و حرکت است. (یا احتمالاً مقدمه یک کتاب کاملاً جدید. )
اطلاعات به ترتیبی ارائه میشود که میخواهم مهندسانم شروع به فکر کردن در مورد این چیزها کنند. شاید عجیب به نظر برسد که معماری در درجه اول قرار دارد، با توجه به اینکه اکثر مردم تا اواخر کار خود به آن نمیرسند. اما من میخواهم مردم مدتها قبل از اینکه بخواهم نگران بهینهسازی باشند، به این فکر کنند که چگونه کدشان در سیستم قرار میگیرد.
سرفصلهای کتاب Making Embedded Systems:
- Preface
- 1. Introduction
- 2. Creating a System Architecture
- 3. Getting Your Hands on the Hardware
- 4. Inputs, Outputs, and Timers
- 5. Interrupts
- 6. Managing the Flow of Activity
- 7. Communicating with Peripherals
- 8. Putting Together a System
- 9. Getting into Trouble
- 10. Building Connected Devices
- 11. Doing More with Less
- 12. Math
- 13. Reducing Power Consumption
- 14. Motors and Movement
- Index
- About the Author
جهت دانلود کتاب Making Embedded Systems میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.