Get in Touch

Course Outline

Introduction

  • Understanding the concept of design
  • Differentiating between standard C and Embedded C

The Lifecycle of an Embedded Application

  • The development process
  • The maintenance phase
  • The extended lifecycle

Design Tools

  • Open source versus proprietary solutions
  • Compilers, assemblers, and linkers
  • Libraries
  • Debuggers
  • Simulators
  • Integrated Development Environments (IDEs)

Challenges in Embedded Design

  • Constraints inherent to embedded computing
  • Cost factors
  • Performance and efficiency
  • Power management
  • Thermal management

Establishing Design Goals

  • Prioritizing simplicity
  • Defining system functionality
  • Defining program logic and structure

Ensuring System Reliability

  • Inspection and maintenance protocols
  • Uptime requirements
  • Identifying potential points of failure

Promoting Code Reusability

  • Designing without redundancy

Implementing Code Abstraction

  • Information hiding techniques
  • Creating context-free modules

Structuring Code through Modularization

  • Decomposition strategies
  • Achieving loose coupling
  • Fostering strong cohesion
  • Ensuring acyclic dependencies

Enhancing Code Maintainability

  • Improving readability
  • Boosting testability
  • Increasing configurability
  • Facilitating performance upgrades

Hardware Considerations

  • Scalable Thermal Design Power (TDP)
  • Integrated graphics
  • Other relevant factors

Summary and Conclusion

Requirements

  • Foundational knowledge of embedded systems
  • Practical experience with Embedded C programming
  • Familiarity with the basics of electronics

Target Audience:

  • Software Developers
 14 Hours

Number of participants


Price per participant

Testimonials (2)

Upcoming Courses

Related Categories