دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [2 ed.] نویسندگان: Michael Barr, Anthony J Massa سری: ISBN (شابک) : 0596009836, 0596519125 ناشر: O'Reilly سال نشر: 2006 تعداد صفحات: xxi, 301 p. : ill [328] زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 3 Mb
در صورت تبدیل فایل کتاب Programming embedded systems : with C and GNU development tools به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب برنامه نویسی سیستم های جاسازی شده: با ابزارهای توسعه C و GNU نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
اگر تجربه برنامه نویسی و آشنایی با C--زبان غالب در سیستم های تعبیه شده---برنامه نویسی سیستم های جاسازی شده دارید، نسخه دوم دقیقاً همان چیزی است که برای شروع کار با نرم افزارهای جاسازی شده به آن نیاز دارید. . این نرم افزار در همه جا وجود دارد و در داخل ساعت ها، پخش کننده های DVD، تلفن های همراه، ترمزهای ضد قفل و حتی چند توستر پنهان شده است. ارتش از نرم افزار تعبیه شده برای هدایت موشک ها، شناسایی هواپیماهای دشمن و خلبانی پهپادها استفاده می کند. ایجاد ماهواره های ارتباطی، کاوشگرهای اعماق فضا و بسیاری از ابزارهای پزشکی بدون نرم افزار تعبیه شده تقریبا غیرممکن بود. هزاران نفر در سراسر جهان هستند و اکنون به عنوان کتاب مقدس برنامه نویسی جاسازی شده در نظر گرفته می شود. این نسخه دوم بهروزرسانی شده است تا تمام آخرین طراحیهای سختافزار و متدولوژیهای توسعه را پوشش دهد.
تکنیکها و نمونههای کد ارائهشده در اینجا مستقیماً برای همه نوع پروژههای نرمافزاری جاسازیشده در دنیای واقعی قابل استفاده هستند. نمونهها از ابزارهای برنامهنویسی رایگان نرمافزار گنو، سیستمعاملهای eCos و Linux، و یک پلتفرم سختافزاری کمهزینه که بهویژه برای این کتاب توسعه یافته است، استفاده میکنند. اگر این ابزارها را همراه با Programming Embedded Systems، نسخه دوم بدست آورید، یک محیط کامل برای کاوش عمیق سیستم های جاسازی شده خواهید داشت. اما حتی اگر با سختافزار و نرمافزار متفاوتی کار میکنید، اصولی که در این کتاب توضیح داده شده است اعمال میشود.
چه در سیستمهای تعبیهشده تازهکار هستید یا قبلاً کارهای جاسازی شده انجام دادهاید، از موضوعات این کتاب بهرهمند خواهید شد. که عبارتند از:
بنابراین چه در حال نوشتن اولین برنامه تعبیه شده خود باشید، چه طراحی آخرین نسل از whatchamacalitهای دستی یا مدیریت افرادی که این کار را انجام می دهند، این کتاب برای شما مناسب است. Programming EmbeddedSystems به شما کمک می کند دانش و مهارت های مورد نیاز برای دستیابی به مهارت با نرم افزارهای جاسازی شده را توسعه دهید.
تمجید از نسخه اول:
\"این پر جنب و جوش و کتاب خواندنی مقدمهای عالی برای کسانی است که برای اولین بار به توسعه نرمافزار سیستمهای جاسازی شده میپردازند. این کتاب همه موضوعات مهم لازم برای هدایت برنامهنویسان به فرآیند توسعه تعبیهشده را در یک مکان ارائه میدهد.If you have programming experience and a familiarity with C--the dominant language in embedded systems--Programming Embedded Systems, Second Edition is exactly what you need to get started with embedded software. This software is ubiquitous, hidden away inside our watches, DVD players, mobile phones, anti-lock brakes, and even a few toasters. The military uses embedded software to guide missiles, detect enemy aircraft, and pilot UAVs. Communication satellites, deep-space probes, and many medical instruments would have been nearly impossible to create without embedded software.
The first edition of Programming Embedded Systems taught the subject to tens of thousands ofpeople around the world and is now considered the bible of embedded programming. This second edition has been updated to cover all the latest hardware designs and development methodologies.
The techniques and code examples presented here are directly applicable to real-world embedded software projects of all sorts. Examples use the free GNU software programming tools, the eCos and Linux operating systems, and a low-cost hardware platform specially developed for this book. If you obtain these tools along withProgramming Embedded Systems, Second Edition, you'll have a full environment for exploring embedded systems in depth. But even if you work with different hardware and software, the principles covered in this bookapply.
Whether you are new to embedded systems or have done embedded work before, you'll benefit from the topics in this book, which include:
So whether you're writing your first embedded program, designing thelatest generation of hand-held whatchamacalits, or managing the peoplewho do, this book is for you. Programming EmbeddedSystems will help you develop the knowledge and skills youneed to achieve proficiency with embedded software.
Praise for the first edition:
"This lively and readable book is the perfect introduction for those venturing into embedded systems software development for the first time. It provides in one place all the important topics necessary to orient programmers to the embedded development process.Table of Contents......Page 9
Foreword......Page 13
Why We Wrote This Book......Page 15
Intended Audience......Page 16
Organization......Page 17
Obtaining the Examples Online......Page 19
Comments and Questions......Page 20
From Michael Barr......Page 21
From Anthony Massa......Page 22
What Is an Embedded System?......Page 25
History and Future......Page 26
Real-Time Systems......Page 27
Common System Components......Page 28
Requirements That Affect Design Choices......Page 30
Embedded Design Examples......Page 32
Video Game Player......Page 33
Mars Rover......Page 34
Life As an Embedded Software Developer......Page 35
The C Language: The Lowest Common Denominator......Page 37
Choosing a Language for the Book......Page 38
A Few Words About Hardware......Page 39
Understanding the Big Picture......Page 43
Hardware Basics......Page 45
Schematic Fundamentals......Page 47
Examine the Landscape......Page 52
Memory Map......Page 53
Learn How to Communicate......Page 56
Getting to Know the Processor......Page 58
Processors in General......Page 59
The PXA255 XScale Processor......Page 60
Study the External Peripherals......Page 62
Initialize the Hardware......Page 63
Hello, World!......Page 67
The Blinking LED Program......Page 68
The ledInit Function......Page 70
The delay_ms Function......Page 74
The Role of the Infinite Loop......Page 75
Compiling, Linking, and Locating......Page 77
The Build Process......Page 78
Compiling......Page 80
Linking......Page 81
Startup code......Page 82
Locating......Page 83
Building the Blinking LED Program......Page 85
Compile......Page 86
Link and Locate......Page 87
Format the Output File......Page 88
A Quick Look at Makefiles......Page 90
Downloading the Blinking LED Program......Page 94
Debug Monitors......Page 95
RedBoot......Page 96
Downloading with RedBoot......Page 97
Running programs with RedBoot......Page 98
When in ROM…......Page 99
Managing ROM with RedBoot......Page 100
Remote Debuggers......Page 101
Debugging on the Arcom Board......Page 102
Emulators......Page 108
Simulators......Page 110
Hardware Tools......Page 111
Lint......Page 114
Version Control......Page 115
Dig into the Hardware......Page 116
Types of Memory......Page 117
Types of RAM......Page 118
Types of ROM......Page 119
Hybrid Types......Page 120
Endian Issues......Page 122
Endianness in Devices......Page 123
Endianness in Networking......Page 124
Common Memory Problems......Page 126
Electrical wiring problems......Page 127
Missing memory chips......Page 128
Developing a Test Strategy......Page 129
Data bus test......Page 130
Address bus test......Page 132
Device test......Page 134
Putting it all together......Page 136
Checksums......Page 138
Cyclic Redundancy Checks......Page 140
Using Flash Memory......Page 142
Working with Flash Memory......Page 143
Flash Drivers......Page 144
Control and Status Registers......Page 146
Testing bits......Page 148
Toggling bits......Page 149
Bitmasks......Page 150
Bitfields......Page 151
Struct Overlays......Page 153
The Device Driver Philosophy......Page 154
A Serial Device Driver......Page 157
State variables......Page 159
Initialization routine......Page 160
Device driver API......Page 161
Testing the Serial Device Driver......Page 162
Extending the Functionality of the Serial Device Driver......Page 163
Device Driver Design......Page 164
Overview......Page 166
Priorities......Page 168
Levels and Edges......Page 170
Enabling and Disabling......Page 171
Interrupt Map......Page 172
Interrupt Service Routine......Page 174
Shared Data and Race Conditions......Page 177
The Improved Blinking LED Program......Page 179
How Timers Work......Page 180
Summary of Interrupt Issues......Page 185
Application Overview......Page 188
Working with Serial Ports......Page 190
Command-Line Interface Processing......Page 191
History and Purpose......Page 197
The Scheduler......Page 198
Real-Time Scheduling......Page 199
Scheduling Points......Page 202
Locking and Unlocking......Page 203
Task States......Page 204
Context switch......Page 205
Task Priorities......Page 206
Rate monotonic scheduling......Page 207
Task Mechanics......Page 208
Task Synchronization......Page 209
Mutexes and Semaphores......Page 211
Deadlock and priority inversion......Page 212
Message Passing......Page 214
Interrupt Handling......Page 215
Real-Time Characteristics......Page 216
To Use or Not to Use an RTOS......Page 218
RTOS Selection Process......Page 219
Additional Resources......Page 221
Introduction......Page 222
Task Mechanics......Page 223
Mutex Task Synchronization......Page 226
Semaphore Task Synchronization......Page 229
Message Passing......Page 234
eCos Interrupt Handling......Page 237
Introduction......Page 243
Task Mechanics......Page 244
Mutex Task Synchronization......Page 246
Semaphore Task Synchronization......Page 248
Message Passing......Page 251
Common Peripherals......Page 256
Inter-Integrated Circuit Bus......Page 257
Serial Peripheral Interface......Page 258
Programmable Logic......Page 260
Complex Programmable Logic Device......Page 261
Field Programmable Gate Array......Page 262
Analog circuits......Page 263
Digital control......Page 264
Networking for All Devices Great and Small......Page 266
Benefits of Network Support......Page 267
Networking Solutions for Embedded Systems......Page 268
Optimization Techniques......Page 272
Increasing Code Efficiency......Page 273
Decreasing Code Size......Page 276
Problems with Optimizing Compilers......Page 278
Reducing Memory Usage......Page 279
Power-Saving Techniques......Page 280
Processor Modes......Page 281
Clock Frequency......Page 282
Limiting the Impact of C++......Page 283
The Arcom VIPER-Lite Development Kit......Page 287
Setting Up Your Software Development Environment......Page 290
Cygwin Installation......Page 291
Linux Host Installation......Page 292
GNU Software Tools Installation......Page 293
Example Code Installation......Page 294
Extracting the Source Files......Page 295
Building the Toolchain......Page 296
eCos Source Code Installation......Page 298
Building the eCos Library......Page 299
Linux Build Environment Setup......Page 301
Downloading and Running the Linux Examples......Page 304
Debugging Embedded Linux Examples......Page 306
Index......Page 309