Course Outline
Introduction
- Defining the concept of design
- Differences between standard C and Embedded C
The Lifecycle of an Embedded Application
- Development workflows
- Maintenance procedures
- The expanded lifecycle perspective
Design Tooling
- Comparison of open-source versus proprietary solutions
- Compilers, assemblers, and linkers
- Libraries
- Debugging tools
- Simulators
- Integrated Development Environments (IDEs)
Challenges in Embedded Design
- Constraints in embedded computing architecture
- Budget and cost implications
- System performance and efficiency
- Energy consumption
- Thermal control strategies
Establishing Design Objectives
- Adhering to simplicity
- Specifying system capabilities
- Structuring program logic and layout
Ensuring System Reliability
- Inspection and upkeep protocols
- Requirements for continuous operation
- Identifying potential failure points
Code Reusability
- Designing without redundancy
Code Abstraction
- Implementing information hiding
- Creating context-independent modules
Code Modularization
- System decomposition
- Achieving loose coupling
- Ensuring strong cohesion
- Maintaining acyclic dependencies
Code Maintainability
- Improving code readability
- Enhancing testability
- Increasing configurability
- Facilitating performance enhancements
Hardware Factors
- Scalable Thermal Design Power (TDP)
- Integrated graphics processing
- Additional considerations
Wrap-up and Final Thoughts
Requirements
- Fundamental understanding of embedded systems
- Prior experience in Embedded C programming
- Knowledge of basic electronics principles
Target Audience:
- Software Developers
Testimonials (3)
Seeing aspects of idea generation, especially during the activity where we first listed bad ideas and then made the list of good ideas. I found it actually helped to get the bad ideas out as it got me into the swing of coming up with ideas, regardless of whether they were good or bad.
William Boscher - Bank Julius Baer Guernsey
Course - Design Thinking: Innovation & Creative Problem Solving
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.