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)
Well planned. Without much foundation, I didn't get lost and I knew where I was. Issues from general to specific provide the basis for further work in your own field.
Andrzej - TENSOFT Sp. z o.o.
Course - Design Patterns in PHP
Machine Translated
Very "hands-on" training, with lots of examples and explanations. I really enjoyed it and I feel like a learned many new things in a very short time. Very well done!
Sorina - DB Global Technology
Course - JavaScript - Advanced Programming
I liked the practical exercises during the course. The opportunity to discuss with the trainer real situations that I deal with while performing my work in the context of the material learned. It's nice that the trainer also shared examples from her life that allowed the theory to be better grounded in reality.
Bartłomiej
Course - Design Thinking Fundamentals
Machine Translated
The trainer highlighted the really important concepts in software architecture with quizzes. The high-level perspective on effective implementation of software development cycle starting from requirements elicitation to unit testing is very refreshing to data scientist without much experience in software development.
Kok Cheong Cheng - DBS Bank
Course - Design Patterns
That we could you real life examples