Course Outline
Introductory Concepts
- Defining design in context
- Comparing Standard C with Embedded C
Lifecycle Management of Embedded Applications
- The development workflow
- Maintenance strategies
- The extended lifecycle perspective
Essential Design Tools
- Open-source versus proprietary solutions
- Compilers, assemblers, and linkers
- Utilizing libraries
- Debugger techniques
- Simulation environments
- Integrated Development Environments (IDEs)
Tackling Embedded Design Challenges
- Addressing embedded computing constraints
- Evaluating cost-effectiveness
- Optimizing performance and efficiency
- Managing power consumption
- Thermal control strategies
Establishing Clear Design Objectives
- Simplifying complexity
- Specifying system functionality
- Structuring program logic and architecture
Ensuring System Reliability
- Inspection and upkeep protocols
- Meeting uptime standards
- Identifying potential failure points
Enhancing Code Reusability
- Implementing redundancy-free architectures
Mastering Code Abstraction
- Principles of information hiding
- Creating context-independent modules
Advanced Code Modularization
- Decomposition techniques
- Achieving loose coupling
- Ensuring strong cohesion
- Maintaining acyclic dependencies
Improving Code Maintainability
- Enhancing readability
- Improving testability
- Increasing configurability
- Facilitating performance upgrades
Hardware-Specific Considerations
- Scalable Thermal Design Power (TDP)
- Integrated graphics solutions
- Additional hardware factors
Summary and Concluding Remarks
Requirements
- Foundational knowledge of embedded systems
- Hands-on experience with Embedded C programming
- Familiarity with basic electronics principles
Who This Is For:
- Software Developers
Testimonials (2)
The explanations and interactivity of the trainer, he really brought the subject well; and even-though I was probably not experienced enough, I did learn a lot from it!
Pieter Bruynseels - Spot Buy Center BV
Course - Design Patterns
I liked the platform we used. It was really nice and easy to use. I liked the typescript section, the part about namespaces and modules.