Course Outline
Introduction
- The concept of design
- Distinguishing between standard C and Embedded C
Lifecycle Management of Embedded Applications
- The software development process
- Maintenance strategies
- Extending the product lifecycle
Essential Design Toolkits
- Comparing open-source and proprietary tools
- Compilers, assemblers, and linkers
- Library integration
- Debugging utilities
- Simulation environments
- Integrated Development Environments (IDEs)
Navigating Embedded Design Challenges
- Constraints in embedded computing architecture
- Budget and cost analysis
- Performance optimization and efficiency
- Power usage management
- Thermal control
Establishing Design Objectives
- Adhering to simplicity principles
- Defining system functionality
- Structuring program logic and flow
Ensuring System Reliability
- Regular inspection and upkeep
- Meeting uptime standards
- Identifying potential failure points
Enhancing Code Reusability
- Designing without redundancy
Implementing Code Abstraction
- Techniques for information hiding
- Creating context-independent modules
Structuring Code Through Modularization
- Decomposition techniques
- Achieving loose coupling
- Ensuring strong cohesion
- Maintaining acyclic dependencies
Improving Code Maintainability
- Enhancing readability
- Facilitating testability
- Incorporating configurability
- Enabling performance enhancements
Hardware-Specific Considerations
- Scalable Thermal Design Power (TDP)
- Use of integrated graphics
- Additional hardware factors
Key Takeaways and Summary
Requirements
- Foundational knowledge of embedded systems
- Practical experience in embedded C programming
- A solid grasp of basic electronics concepts
Target Audience:
- 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.