Embedded Software Design
Home > Computing and Information Technology > Computer hardware > Embedded systems > Embedded Software Design: A Practical Approach to Architecture, Processes, and Coding Techniques
Embedded Software Design: A Practical Approach to Architecture, Processes, and Coding Techniques

Embedded Software Design: A Practical Approach to Architecture, Processes, and Coding Techniques


     0     
5
4
3
2
1



International Edition


X
About the Book

Design higher-quality embedded software from concept through production.  This book assumes basic C and microcontroller programming knowledge and is organized into three critical areas: Software Architecture and Design; Agile, DevOps, and Processes; and Development and Coding Skills. You'll start with a basic introduction to embedded software architecture and the considerations for a successful design. The book then breaks down how to architect an RTOS-based application and explore common design patterns and building blocks. Next, you'll review embedded software design processes such as TDD, CI/CD, modeling, and simulation that can be used to accelerate development. Finally, the book will examine how to select a microcontroller, write configurable code, coding strategies, techniques, and tools developers can’t live without. Embedded systems are typically designed using microcontrollers to build electronic systems with a dedicated function and real-time responses. Modern systems need to carefully balance a complex set of features, manage security, and even run machine learning inferences while maintaining reasonable costs, scalability, and robustness. By the end of this book, you will have a defined development process, understand modern software architecture, and be equipped to start building embedded systems. What You'll Learn Understand what sound embedded system design is and how to employ it Explore modern development processes for quality systems Know where the bits hit the silicon: how to select a microcontroller Master techniques to write configurable, automated code Who This Book Is For Embedded software and hardware engineers, enthusiasts, or any stakeholders who would like to learn modern techniques for designing and building embedded systems.

Table of Contents:
Part 1 - Software Architecture DesignEmbedded System Design Philosophy⁃ Challenges Facing Embedded Developers⁃ Traditional Embedded Software Development⁃ The Age of Modeling, Simulation and Off-chip Development⁃ SOLID Design Principles⁃ Test Driven Development (TDD)⁃ Why Best Practices?Embedded Software Architecture Design⁃ Architect First, Code Second⁃ Architectural Layers⁃ Single vs Multicore Architectures⁃ Application Domain Decomposition⁃ Interface Design Principles⁃ Architectural LanguagesRTOS Application Design⁃ Tasks, Threads and Processes⁃ Task Decomposition Techniques⁃ Task Scheduling Algorithms⁃ Setting Task Priorities⁃ Schedule-ability using Rate Monotonic Analysis⁃ Designing Application Data Flow⁃ Producer, Consumer, Processor and Transfer MechanismsSecure Application Design⁃ Platform Security Architecture (PSA)⁃ Security through Isolation⁃ TrustZone⁃ Memory map design⁃ Memory Protection Units (MPUs)⁃ Secure boot⁃ Secure bootloaders and OTAsDesign Patterns⁃ pub / sub⁃ Rtos patterns⁃ Handling interrupts⁃ State machines⁃ Active objectsPart 2 - Development ProcessesSoftware Quality⁃ Coding Standards⁃ Code Reviews⁃ Code Metrics⁃ Code Analysis (static vs dynamic)Software Testing and Verification⁃ Integration Testing⁃ Performance Testing⁃ Regression Testing Software Verification Results⁃ Testing of executable object code⁃ Code coverage analysis⁃ Test ReportsApplication Modeling and Simulation⁃ Modeling Methodologies⁃ Simulations Role⁃ wxWidgets⁃ ExampleTest Driven Development⁃ Overview⁃ Test Harnesses⁃ Code Coverage⁃ Test DesignContinuous Integration / Continuous Deployment⁃ Process Overview⁃ Docker⁃ Jenkins⁃ Git Integrations⁃ Merge Process⁃ DeploymentPart 3 - Where the Bits hit the SiliconSelecting a Microcontroller⁃ Traditional Techniques⁃ Modern Selection Process⁃ Selection Considerations⁃ KT Matrix Design and UseCode Implementation Techniques⁃ Interfaces⁃ Command Processing⁃ Task initialization⁃ Assertions⁃ TelemetryDiagnostic and Fault Handling⁃ Design failure mode and effect analysis (DFMEA)⁃ Fault Handling Strategies⁃ Diagnostic Tasks⁃ Error Checking Code (ECC)⁃ WatchdogsApplication Optimization⁃ Models and Simulation versus Reality⁃ Scalability⁃ Maintenance⁃ Code size versus speed⁃ Compilation Settings⁃ Memory managementThe Right Tool for the Job⁃ Tracing⁃ Code Analyzers⁃ Protocol analysis⁃ Metric tools⁃ Open source versus commercial

About the Author :
Jacob Beningo is an embedded software consultant with over 15 years of experience in microcontroller based real-time embedded systems. After spending over ten years designing embedded systems for automotive,defense and space industries, Jacob founded Beningo Embedded Group in 2009. Jacob has worked with clients in more than a dozen countries to dramatically transform their businesses by improving product quality, cost and time to market. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer who holds three degrees which include a Masters of Engineering from the University of Michigan.  Jacob is an avid writer, trainer, consultant and entrepreneur who transforms the complex into simple and understandable concepts that accelerate technological innovation.  Jacob has demonstrated his leadership in the embedded systems industry by consulting and training at companies such as General Motors, Intel, Infineon and Renesas along with successfully completing over 50 projects. Jacob also speaks at and is involved in the embedded track selection committees at ARM Techcon, Embedded System Conferences and Sensor Expo. Jacob holds Bachelor’s degrees in Electrical Engineering, Physics and Mathematics from Central Michigan University and a Master’s degree in Space Systems Engineering from the University of Michigan. In his spare time, Jacob enjoys spending time with his family, reading, writing, playing hockey and golf. In clear skies, he can often be found outside with his telescope, sipping a fine scotch while imaging the sky.


Best Sellers


Product Details
  • ISBN-13: 9781484282786
  • Publisher: Apress
  • Publisher Imprint: Apress
  • Height: 254 mm
  • No of Pages: 463
  • Sub Title: A Practical Approach to Architecture, Processes, and Coding Techniques
  • Width: 178 mm
  • ISBN-10: 1484282787
  • Publisher Date: 01 Nov 2022
  • Binding: Paperback
  • Language: English
  • Returnable: Y
  • Weight: 935 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Embedded Software Design: A Practical Approach to Architecture, Processes, and Coding Techniques
Apress -
Embedded Software Design: A Practical Approach to Architecture, Processes, and Coding Techniques
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Embedded Software Design: A Practical Approach to Architecture, Processes, and Coding Techniques

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!