• Software Engineering for Embedded Systems

    Table of Contents Chapter 1 Software Engineering of Embedded and Real-Time Systems Chapter 2 Embedded Systems Hardware/Software Co-Development Chapter 3 Software Modeling for Embedded Systems Chapter 4 Software Design Architecture and Patterns for Embedded Systems Chapter 5 Real-Time Building Blocks: Events and Triggers Chapter 6 Hardware’s Interface to Embedded Software Chapter 7 Embedded Software Programming and Implementation Guidelines Chapter 8 Embedded Operating Systems Chapter 9 Software Reuse By Design in Embedded Systems Chapter 10 Software Performance Engineering for Embedded Systems Chapter 11 Optimizing Embedded Software for Performance Chapter 12 Optimizing Embedded Software for Memory Chapter 13 Optimizing Embedded Software for Power Chapter 14 Human Factors and User Interface Design for Embedded Systems Chapter 15 Embedded Software Quality, Integration and Testing Techniques Chapter 16 Software Development Tools for Embedded Systems Chapter 17 Multicore Software Development for Embedded Systems Chapter 18 Safety-Critical Software Development Chapter 19 Intellectual Property Chapter 20 Managing Embedded Software Development Chapter 21 Agile Development for Embedded Systems Chapter 22 Embedded Software for Automotive Applications Chapter 23 Programming for I/O and Storage Chapter 24 Embedded Software for Networking Applications Chapter 25 Linux for Embedded Systems

    5
    376
    31.53MB
    2014-01-22
    18
  • Embedded Systems Architecture 2nd Edition

    Table of Contents Section I: Introduction to Embedded Systems Chapter 1: A Systems Engineering Approach to Embedded Systems Design Chapter 2: Know Your Standards Section II: Embedded Hardware Chapter 3: Embedded Hardware Building Blocks and the Embedded Board Chapter 4: Embedded Processors Chapter 5: Board Memory Chapter 6: Board I/O (Input/Output) Chapter 7: Board Buses Section III: Embedded Software Introduction Chapter 8: Device Drivers Chapter 9: Embedded Operating Systems Chapter 10: Middleware and Application Software Section IV: Putting It All Together: Design and Development Chapter 11: Defining the System-Creating the Architecture and Documenting the Design Chapter 12: The Final Phases of Embedded Design: Implementation and Testing Appendix A: Projects and Exercises Appendix B: Schematic Symbols Appendix C: Acronyms and Abbreviations Appendix D: Glossary

    5
    193
    13.5MB
    2014-01-22
    10
  • DSP for Embedded and Real-Time Systems

    Features: Several areas of research being done in advanced DSP technology Industry case studies on DSP systems development DSP software development tools available for download and evaluation DSP for Embedded and Real-Time Systems is the reference for both the beginner and experienced, covering most aspects of using today’s DSP techniques and technologies for designing and implementing an optimal embedded system. The only complete reference which explains all aspects of using DSP in embedded systems development making it a rich resource for every day use Covers all aspects of using today’s DSP techniques and technologies for designing and implementing an optimal embedded system Enables the engineer to find solutions to all the problems they will face when using DSP Table of Contents Chapter 1 Introduction to Digital Signal Processing Chapter 2 Overview of Embedded and Real Time Systems Chapter 3 Overview of Embedded Systems Lifecycle Development Using DSP Chapter 4 Programmable DSP Architectures Chapter 5 DSP Hardware components and FPGA Chapter 6 The Hardware/Software Continuum for DSP Chapter 7 Overview of Digital Signal Processing Algorithms Chapter 8 High-Level Design Tools for Complex DSP Applications Chapter 9 Benchmarking and Profiling DSP Systems Chapter 10 Optimizing DSP Software – High Level Languages and Programming Models Chapter 11 Optimizing DSP Software – Code Optimization Chapter 12 Optimizing DSP Software – Memory Optimization Chapter 13 Optimizing DSP Software – Power Optimization Chapter 14 Real-Time Operating Systems Using DSP Chapter 15 Managing the DSP Software Development Effort Chapter 16 Multicore Software Development for DSP applications Chapter 17 Developing and Debugging DSP Systems Chapter 18 DSP Algorithm Development, Rules and Guidelines

    5
    245
    33.71MB
    2014-01-22
    9
  • Programming iOS 7 4th Edition

    Table of Contents Part I. Views Chapter 1. Views Chapter 2. Drawing Chapter 3. Layers Chapter 4. Animation Chapter 5. Touches Part II. Interface Chapter 6. View Controllers Chapter 7. Scroll Views Chapter 8. Table Views and Collection Views Chapter 9. Popovers and Split Views Chapter 10. Text Chapter 11. Web Views Chapter 12. Controls and Other Views Chapter 13. Modal Dialogs Part III. Some Frameworks Chapter 14. Audio Chapter 15. Video Chapter 16. Music Library Chapter 17. Photo Library and Image Capture Chapter 18. Address Book Chapter 19. Calendar Chapter 20. Mail and Messages Chapter 21. Maps Chapter 22. Sensors Part IV. Final Topics Chapter 23. Persistent Storage Chapter 24. Basic Networking Chapter 25. Threads Chapter 26. Undo Chapter 27. Epilogue

    5
    66
    11.97MB
    2014-01-15
    10
  • Pro Node.js for Developers

    Since it’s creation in 2009, Node.js has grown into a powerful and increasingly popular asynchronous-development framework for creating highly-scalable network applications using JavaScript. Respected companies such as Dow Jones and LinkedIn are among the many organizations to have seen Node’s potential and adopted it into their businesses. Pro Node.js for Developers provides a comprehensive guide to this exciting new technology. We introduce you to Node – what it is, why it matters and how to set it up – before diving deeply into the key concepts and APIs that underpin its operation. Building upon your existing JavaScript skills you’ll be shown how to use Node.js to build both Web- and Network-based applications, to deal with data sources, capture events and deal with child processes to create robust applications that will work well in a wide range of circumstances. Once you’ve mastered these skills we’ll go further, teaching you more advanced software engineering skills that will give your code a professional edge. You’ll learn how to create easily reusable modules that will save you time through code reuse, to log and debug your applications quickly and effectively and to write code that will scale easily and reliably as the demand for your application grows. What you’ll learn Install, configure and deploy Node.js apps effectively Understand the Node.js asynchronous programming model in detail Create both web and network-based Node.js applications with ease Learn to work effectively with varied data sources and file types Discover advanced software engineering concepts that will will save you time and promote code reuse Who this book is for This book is for developers who already have a working knowledge of JavaScript and are interested in adopting Node.js into their projects. All other concepts will be introduced from first-principals. Table of Contents Chapter 1. Getting Started Chapter 2. The Node Module System Chapter 3. The Node Programming Model Chapter 4. Events and Timers Chapter 5. The Command Line Interface Chapter 6. The File System Chapter 7. Streams Chapter 8. Binary Data Chapter 9. Executing Code Chapter 10. Network Programming Chapter 11. HTTP Chapter 12. The Express Framework Chapter 13. The Real-Time Web Chapter 14. Databases Chapter 15. Logging, Debugging, and Testing Chapter 16. Application Scaling Appendix A. JavaScript Object Notation

    5
    120
    3.06MB
    2013-12-21
    10
  • Boost C++ Application Development Cookbook

    Boost libraries are developed by professionals, tested on multiple platforms and processor architectures, and contain reliable solutions for a wide range of tasks. This Cookbook takes you on a journey of simplifying the process of application development and guides you through writing perfect applications fast. “Boost C++ Application Development Cookbook” provides you with a number of clear step-by-step recipes that will help you take advantage of the real power of Boost and C++, while giving you a good grounding in using it in any project. “Boost C++ Application Development Cookbook” looks at the Boost libraries, and breaks down the mystery and confusion about which library to use in which situation. It will take you through a number of clear, practical recipes that will help you to take advantage of the readily available solutions. Boost C++ Application Development Cookbook starts with teaching the basics of Boost libraries that are now mostly part of C++11 and leave no chance for memory leaks. Managing resources will become a piece of cake. We’ll see what kind of work can be done at compile time and what Boost containers can do. Do you think multithreading is a burden? Not with Boost. Think writing portable and fast servers is impossible? You’ll be surprised! Compilers and operating systems differ too much? Not with Boost. From manipulating images to graphs, directories, timers, files, strings – everyone will find an interesting topic. You will learn everything for the development of high quality fast and portable applications. Write a program once and then you can use it on Linux, Windows, MacOS, Android operating systems. What you will learn from this book Get familiar with new data types for everyday use Use pointers to manage resources Get to grips with compile-time computations and assertions Use Boost libraries for multithreading Learn about Parallel execution of different task Perform common string-related tasks using Boost libraries Split all the processes, computations, and interactions to tasks and process them independently Learn the basics of working with graphs Explore different helper macros used to detect compiler, platform and Boost features Use selected C++11 features in C++03 Approach This book follows a cookbook approach, with detailed and practical recipes that use Boost libraries. Who this book is written for This book is great for developers new to Boost, and who are looking to improve their knowledge of Boost and see some undocumented details or tricks. It’s assumed that you will have some experience in C++ already, as well being familiar with the basics of STL. A few chapters will require some previous knowledge of multithreading and networking. You are expected to have at least one good C++ compiler and compiled version of Boost (1.53.0 or later is recommended), which will be used during the exercises within this book. Table of Contents Chapter 1: Starting to Write Your Application Chapter 2: Converting Data Chapter 3: Managing Resources Chapter 4: Compile-time Tricks Chapter 5: Multithreading Chapter 6: Manipulating Tasks Chapter 7: Manipulating Strings Chapter 8: Metaprogramming Chapter 9: Containers Chapter 10: Gathering Platform and Compiler Information Chapter 11: Working with the System Chapter 12: Scratching the Tip of the Iceberg

    5
    200
    3.58MB
    2013-12-21
    9
  • Software Testing using VisualStudio2012

    Learn different testing techniques and features of Visual Studio 2012 with detailed explanations and real-time samples Overview Using Test Manager and managing test cases and test scenarios Exploratory testing using Visual Studio 2012 Learn unit testing features and coded user interface testing Advancement in web performance testing and recording of user scenarios In Detail Testing is one of the main phases in the software development lifecycle. Managing the test scenarios, test cases, defects, and linking each one of these is bit of a challenge without using any tools. For frequently changing businesses, it is essential to address testing requirements by matching the pace of the business. This can only be achieved through automation of the possible testing scenarios to reduce the turnaround time of testing. Software Testing Using Visual Studio 2012 is a practical, hands-on guide that provides a number of clear, step-by-step exercises, which will help you to take advantage of the new features and real power of Visual Studio 2012. Software Testing Using Visual Studio 2012 starts with the basics of testing types and managing the tests using Test Explorer and a few other tools. Practical examples are added to help you understand the usage of various tools and features in a better way. Software Testing Using Visual Studio 2012 is written from a developer point of view and helps you take advantage of the unit testing features and customize the tests by generating the code and fine-tuning it as per your needs. The Test Manager is a standalone tool which is part of the Visual Studio tools family and takes care of test management. Software Testing Using Visual Studio 201 covers the usage of the test plan, test suite, manual testing, and exploratory testing using Test Manger and managing these aspects using these tools. Software Testing Using Visual Studio 2012 also covers the recording of user actions and creating automated tests out of it. This book covers generating and adding parameters to the recording and replacing it at runtime, adding validation and extraction rules to the tests, running the tests using command line commands, looking at the details of test results, and configuring the running the load test out of web performance or unit tests. This book helps you to understand the complete testing features and how to make use of automation features as well. It will appeal to both developers and testers. What you will learn from this book Discover different testing types as part of Visual Studio 2012 Use the test plan, test suite, manual testing ,and exploratory testing Record user interface actions and generating code out of it to customize the test Get to grips with unit testing features and data-driven unit tests to automate the tests for multiple scenarios Add extraction rules, validation rules, and custom rules to the recorded requests and add parameters to the requests Create and configure load tests with the help of a web performance test or unit test Analyze the detailed view of test results Execute the existing tests at the command line using the MSTest command line utility Report on the test results and publish the test results Approach We will be setting up a sample test scenario, then we’ll walk through the features available to deploy tests. Table of Contents Chapter 1: Visual Studio 2012 Test Types Chapter 2: Test Plan, Test Suite, and Manual Testing Chapter 3: Automated Tests Chapter 4: Unit Testing Chapter 5: Web Performance Test Chapter 6: Advanced Web Testing Chapter 7: Load Testing Chapter 8: Ordered and Generic Tests Chapter 9: Managing and Configuring Tests Chapter 10: A Command Line Chapter 11: Working with Test Results Chapter 12: Exploratory Testing and Reporting Chapter 13: Test and Lab Center

    0
    103
    9.97MB
    2013-11-27
    19
  • Machine Learning: A Probabilistic Perspective

    Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series) Today’s Web-enabled deluge of electronic data calls for automated methods of data analysis. Machine learning provides these, developing methods that can automatically detect patterns in data and then use the uncovered patterns to predict future data. This textbook offers a comprehensive and self-contained introduction to the field of machine learning, based on a unified, probabilistic approach. The coverage combines breadth and depth, offering necessary background material on such topics as probability, optimization, and linear algebra as well as discussion of recent developments in the field, including conditional random fields, L1 regularization, and deep learning. The book is written in an informal, accessible style, complete with pseudo-code for the most important algorithms. All topics are copiously illustrated with color images and worked examples drawn from such application domains as biology, text processing, computer vision, and robotics. Rather than providing a cookbook of different heuristic methods, the book stresses a principled model-based approach, often using the language of graphical models to specify models in a concise and intuitive way. Almost all the models described have been implemented in a MATLAB software package–PMTK (probabilistic modeling toolkit)–that is freely available online. The book is suitable for upper-level undergraduates with an introductory-level college math background and beginning graduate students.

    5
    317
    25.69MB
    2013-09-08
    50
  • Programming Ruby 1.9 & 2.0 The Pragmatic Programmers’ Guide 4th Edition

    Ruby is the fastest growing and most exciting dynamic language out there. If you need to get working programs delivered fast, you should add Ruby to your toolbox. This book is the only complete reference for both Ruby 1.9 and Ruby 2.0, the very latest version of Ruby. 2013 marks the 20th anniversary of the Ruby language. We’re proud that throughout its history, we’ve continued to cover the latest version of Ruby. Would you like to go from first idea to working code much, much faster? Do you currently spend more time satisfying the compiler instead of your clients or end users? Are you frustrated with demanding languages that seem to get in your way, instead of getting the work done? Are you using Rails, and want to dig deeper into the underlying Ruby language? If so, then we’ve got a language and book for you! Ruby is a fully object-oriented language, much like the classic object-oriented language, Smalltalk. Like Smalltalk, it is dynamically typed (as opposed to Java or C++), but unlike Smalltalk, Ruby features the same conveniences found in modern scripting languages such as Perl and Python. The combination of the power of a pure object-oriented language with the convenience of a scripting language makes Ruby a favorite tool of intelligent, forward-thinking programmers. The Pickaxe contains four major sections: An acclaimed tutorial on using Ruby. The definitive reference to the language. Complete documentation of all built-in classes, modules, and methods. Complete descriptions of all 97 standard libraries. This is the reference manual for Ruby, including a description of all the standard library modules, a complete reference to all built-in classes and modules (including all the new and changed methods introduced by Ruby 1.9, 1.9.2, 1.9.3, and 2.0). It also includes all the new and changed syntax and semantics introduced since Ruby 1.8. Learn about the new parameter passing rules, local variable scoping in blocks, fibers, and the new block declaration syntax, among other exciting new features. About Ruby 2.0 Ruby 2.0 is a minor update to Ruby 1.9, unlike the more major updates from Ruby 1.8 to Ruby 1.9. The major language changes in Ruby 2.0 are the addition of keyword arguments and the change to use UTF-8 as the default source file encoding. There are a number of additions to the standard library, including: @Enumerator::Lazy@, which adds support for lazy access to potentially infinite lists. Refinements allow you to encapsulate changes to third-party classes, and scope their application to individual source files, preventing your changes from polluting the global application. You’ll also find that Ruby 2 is faster, and has memory management improvements that make it more server-friendly. All told, there are over 110 sections of the book that have been flagged and cross-linked to indicate 2.0 content. What You Need This book assumes you have a basic understanding of object-oriented programming. In general, Ruby programmers tend to favor the the command line for running their code, and they tend to use text editors rather than IDEs. * Ruby runs on Windows, Linux, and Macs.

    5
    242
    20.97MB
    2013-08-25
    10
  • Practical Database Programming with Visual Basic.NET 2nd Edition

    Visual Basic.NET (VB.NET) is an object-oriented computer programming language that can be viewed as an evolution of the classic Visual Basic (VB), which is implemented on the .NET Framework. Microsoft currently supplies two major implementations of Visual Basic: Microsoft Visual Studio (which is commercial software) and Microsoft Visual Studio Express (which is free of charge). Forgoing the large amounts of programming codes found in most database programming books, Practical Database Programming with Visual Basic.NET shows students and professionals both how to develop professional and practical database programs in a Visual Basic.NET environment by using Visual Studio.NET Data Tools and Wizards related to ADO.NET 4.0, and how to apply codes that are auto-generated by solely using Wizards. The fully updated Second Edition: Covers both fundamentals and advanced database programming techniques Introduces three popular database systems with practical examples including MS Access, SQL Server 2008, and Oracle Features more than fifty sample projects with detailed illustrations and explanations to help students understand key techniques and programming technologies Includes downloadable programming codes and exercise questions This book provides undergraduate and graduate students as well as database programmers and software engineers with the necessary tools to handle the database programming issues in the Visual Studio.NET environment.

    4
    93
    9.41MB
    2013-08-14
    9
上传资源赚积分or赚钱