logo

CardDev

مسیر یادگیری
logo

CardDev

کتاب ساخت سیستم‌های نهفته، ویرایش دوم

0 فلش‌کارت
0 گالری‌کارت
0 صوت
0 پرامپت
0 واژه‌نامه

آیا به توسعه سیستم‌های نهفته (Embedded Systems) علاقه‌مند هستید؟ از آنجایی که این سیستم‌ها تحمل ناکارآمدی را ندارند، نیازمند رویکردی منضبط در برنامه‌نویسی هستند. این راهنمای خواندنی به شما کمک می‌کند تا شیوه‌های توسعه مناسب را بر اساس الگوهای طراحی نرم‌افزار (Software Design Patterns) کلاسیک و الگوهای جدید و منحصر‌به‌فرد در برنامه‌نویسی نهفته پرورش دهید. شما یاد خواهید گرفت که چگونه معماری سیستم را برای پردازنده‌ها (و نه سیستم‌عامل‌ها) بسازید و تکنیک‌هایی برای مقابله با دشواری‌های سخت‌افزاری، تغییرات در طراحی و الزامات تولید کشف خواهید کرد. این کتاب که توسط متخصصی نوشته شده که سیستم‌هایی از اسکنرهای DNA تا اسباب‌بازی‌های کودکان را طراحی کرده است، برای برنامه‌نویسان سطح متوسط و با‌تجربه، فارغ از پلتفرمی که استفاده می‌کنند، ایده‌آل است. ویرایش دوم و گسترش‌یافته این کتاب شامل فصل‌های جدیدی در مورد اینترنت اشیاء (IoT) و حسگرهای شبکه‌ای، موتورها و حرکت، عیب‌یابی (Debugging)، استراتژی‌های مدیریت داده و موارد دیگر است.

اشتراکی

book cover
O’Reilly
0 فلش‌کارت
0 گالری‌کارت
0 صوت
0 پرامپت
0 واژه‌نامه
جزئیاتمقدمهفصل‌هانسخه‌ها

فصل های کتاب

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

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

book cover

مقدمه

Embedded Systems Development • Compilers and Languages • Debugging • Resource Constraints • Principles to Confront Those Challenges • Prototypes and Maker Boards • Further Reading

فصل 1

درحال تولید...

book cover

ایجاد معماری سیستم

Getting Started • Creating System Diagrams • The Context Diagram • The Block Diagram • Organigram • Layering Diagram • Designing for Change • Encapsulate Modules • Delegation of Tasks • Driver Interface: Open, Close, Read, Write, IOCTL • Adapter Pattern • Creating Interfaces • Example: A Logging Interface • A Sandbox to Play In • Back to the Drawing Board • Further Reading

فصل 2

درحال تولید...

book cover

کار با سخت‌افزار

Hardware/Software Integration • Ideal Project Flow • Hardware Design • Board Bring-Up • Reading a Datasheet • Datasheet Sections You Need When Things Go Wrong • Datasheet Sections for Software Developers • Evaluating Components Using the Datasheet • Your Processor Is a Language • Reading a Schematic • Practice Reading a Schematic: Arduino! • Keep Your Board Safe • Creating Your Own Debugging Toolbox • Digital Multimeter • Oscilloscopes and Logic Analyzers • Setting Up a Scope • Testing the Hardware (and Software) • Building Tests • Flash Test Example • Command and Response • Command Pattern • Dealing with Errors • Consistent Methodology • Error Checking Flow • Error-Handling Library • Debugging Timing Errors • Further Reading

فصل 3

درحال تولید...

book cover

ورودی‌ها، خروجی‌ها و تایمرها

Handling Registers • Binary and Hexadecimal Math • Bitwise Operations • Test, Set, Clear, and Toggle • Toggling an Output • Setting the Pin to Be an Output • Turning On the LED • Blinking the LED • Troubleshooting • Separating the Hardware from the Action • Board-Specific Header File • I/O-Handling Code • Main Loop • Facade Pattern • The Input in I/O • Momentary Button Press • Interrupt on a Button Press • Configuring the Interrupt • Debouncing Switches • Runtime Uncertainty • Increasing Code Flexibility • Dependency Injection • Using a Timer • Timer Pieces • Doing the Math • More Math: Difficult Goal Frequency • A Long Wait Between Timer Ticks • Using a Timer • Using Pulse-Width Modulation • Shipping the Product • Further Reading

فصل 4

درحال تولید...

book cover

وقفه‌ها

A Chicken Presses a Button • An IRQ Happens • Nonmaskable Interrupts • Interrupt Priority • Nested Interrupts • Save the Context • Retrieve the ISR from the Vector Table • Initializing the Vector Table • Looking Up the ISR • Call the ISR • Multiple Sources for One Interrupt • Disabling Interrupts • Critical Sections • Restore the Context • Configuring Interrupts • When and When Not to Use Interrupts • How to Avoid Using Interrupts • Polling • System Tick • Time-Based Events • A Very Small Scheduler • Further Reading

فصل 5

درحال تولید...

book cover

مدیریت جریان فعالیت

Scheduling and Operating System Basics • Tasks • Communication Between Tasks • Avoiding Race Conditions • Priority Inversion • State Machines • State Machine Example: Stoplight Controller • State-Centric State Machine • State-Centric State Machine with Hidden Transitions • Event-Centric State Machine • State Pattern • Table-Driven State Machine • Choosing a State Machine Implementation • Watchdog • Main Loops • Polling and Waiting • Timer Interrupt • Interrupts Do Everything • Interrupts Cause Events • Very Small Scheduler • Active Objects • Further Reading

فصل 6

درحال تولید...

book cover

ارتباط با تجهیزات جانبی

Serial Communication • TTL Serial • RS-232 Serial • SPI • I2C and TWI • 1-Wire • Parallel • Dual and Quad SPI • USB • Considering Other Protocols • Communications in Practice • External ADC Example: Data Ready with SPI • Use a FIFO If Available • Direct Memory Access (DMA) Is Faster • External ADC Example: SPI and DMA • Circular Buffers • Further Reading

فصل 7

درحال تولید...

book cover

یکپارچه‌سازی سیستم

Key Matrices • Segmented Displays • Pixel Displays • Display Assets • Changeable Data? Flyweight and Factory Patterns • External Flash Memory • Display Assets • Emulated EEPROMs and KV Stores • Little File Systems • Data Storage • Analog Signals • Digital Sensors • Data Handling • Changing Algorithms: Strategy • Algorithm Stages: Pipelines and Filters • Calculating Needs: Speeds and Feeds • Data Bandwidth • Memory Throughput and Buffering • Further Reading

فصل 8

درحال تولید...

book cover

مواجهه با مشکلات

Fighting with the Compiler Optimizations • Impossible Bugs • Reproduce the Bug • Explain the Bug • Creating Chaos and Hard Faults • Dividing by Zero • Talking to Things That Aren’t There • Running Undefined Instructions • Incorrect Memory Access (Unaligned Access) • Returning a Pointer to Stack Memory • Stack Overflows and Buffer Overflows • Debugging Hard Faults • Processor Registers: What Went Wrong? • Creating a Core Dump • Using the Core Dump • Merely Very Difficult Bugs • Consequences of Being Clever • Further Reading

فصل 9

درحال تولید...

book cover

ساخت دستگاه‌های متصل

Connecting Remotely • Directly: Ethernet and WiFi • Through a Gateway • Via a Mesh • Robust Communication • Version! • Checksums, CRCs, Hashes • Encryption and Authentication • Risk Analysis • Updating Code • Firmware Update Security • Multiple Pieces of Code • Fallback Lifeboat • Staged Rollout • Managing Large Systems • Manufacturing • Further Reading

فصل 10

درحال تولید...

book cover

انجام کارهای بیشتر با منابع کمتر

Need More Code Space • Reading a Map File (Part 1) • Process of Elimination • Libraries • Functions Versus Macros: Which Are Smaller? • Constants and Strings • Need More RAM • Remove malloc • Reading a Map File (Part 2) • Registers and Local Variables • Function Chains • Pros and Cons of Globals: RAM Versus Stack • Clever Memory Overlays • Need More Speed • Profiling • Optimizing for Processor Cycles • Summary • Further Reading

فصل 11

درحال تولید...

book cover

ریاضیات

Identifying Fast and Slow Operations • Taking an Average • Different Averages: Cumulative and Median • Using an Existing Algorithm • Designing and Modifying Algorithms • Factor Polynomials • Taylor Series • Dividing by a Constant • Scaling the Input • Lookup Tables • Fake Floating-Point Numbers • Rational Numbers • Precision • Addition (and Subtraction) • Multiplication (and Division) • Machine Learning • Look Up the Answer! • Further Reading

فصل 12

درحال تولید...

book cover

کاهش مصرف توان

Understanding Power Consumption • Measuring Power Consumption • Designing for Lower Power Consumption • Turn Off the Light When You Leave the Room • Turn Off Peripherals • Turn Off Unused I/O Devices • Turn Off Processor Subsystems • Slow Down to Conserve Energy • Putting the Processor to Sleep • Interrupt-Based Code Flow Model • A Closer Look at the Main Loop • Processor Watchdog • Avoid Frequent Wake-Ups • Chained Processors • Further Reading

فصل 13

درحال تولید...

book cover

موتورها و حرکت

Creating Movement • Position Encoding • Driving a Simple DC Motor with PWM • Motor Control • PID Control • Motion Profiles • Ten Things I Hate About Motors • Further Reading

فصل 14

درحال تولید...

خانهدسته‌بندیکتابخانهکتاب‌منپروفایل
انتشار کتاب

14 فصل در حال تولید

آخرین بروزرسانی
۳۱ شهریور ۱۴۰۵
امتیاز
5.0
پیش نیاز
ندارد

مدت زمان خوانش

12:6

نوع کتاب

اشتراکی

شرکت کنندگان

0 نفر

تولید کتاب

۳۱ شهریور ۱۴۰۵

درباره ما

قوانین و سوالات

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

ارتباط با ما

ایمیل

info@aiflashcard.dev

شبکه های اجتماعی

CardDev
CardDev

نصب اپ CardDev

دسترسی سریع‌تر از هوم‌اسکرین

کلیه حقوق مادی و معنوی برای سایت CardDev محفوظ است.

Built pixel by pixel by Khadem

Khadem Al Mahdi

Built pixel by pixel by