Course Outline
Introduction
- What is design?
- C vs Embedded C
The Life-Cycle of an Embedded Application
- The development process
- The maintenance process
- The extended life cycle
Design Tools
- Open source vs proprietary
- Compiler, assemblers and linkers
- Libraries
- Debuggers
- Simulators
- IDEs
Embedded Design Challenges
- Embedded computing design constraints
- Cost considerations
- Performance and efficiency
- Power consumption
- Thermal management
Defining the Design Goals
- Keeping it simple
- Defining the functionality
- Defining the program logic and structure
System Reliability
- Inspection and maintenance
- Uptime requirements
- Points of failure
Code Reusablility
- Redundancy-free design
Code Abstraction
- Information hiding
- Context-free modules
Code Modularization
- Decomposition
- Loose coupling
- Strong cohesion
- Acyclic dependencies
Code Maintainability
- Readability
- Testability
- Configurability
- Performance upgrades
Hardware Considerations
- Scalable Thermal Design Power (TDP)
- Integrated graphics
- Other
Summary and Conclusion
Requirements
- Basic embedded system knowledge
- Embedded C programming experience
- An understanding of electronics fundamentals
Audience:
- Developers
Testimonials (5)
The topics covered in the training and the trainer's knowledge about the topics.
Sajid Baloch - Eschbach GmbH
Course - Microservice Patterns: Migrating from a Monolithic to a Microservice Architecture with .Net
Interaction and communication
Archie Dlamini - Vodacom SA
Course - JavaScript - Advanced Programming
I like the simple but informative example codes.
Yue Wang - DBS Bank Ltd
Course - Design Patterns
Good exercises
Hui Yi Neo - Titansoft Pte Ltd
Course - Object Oriented Design using Design Patterns
I liked the practical exercises for each design pattern introduced.