Driver, control and timing in embedded system design
In microcontroller applications based on C/C++, startup code, peripheral drivers, communication and product functions are organized in separate layers. If there is a need for embedded Linux, the operating system, application and device connections are evaluated together. A structure that does not require rewriting the entire application when the processor or board revision changes is targeted.
Depending on the timing need, loop-based structure, interrupts, state machines or real-time operating system options are evaluated. Task priorities and resource allocation are determined by the behavior of the product. Adding more software layers alone is not a measure of quality; It is important that the structure is traceable and testable.
- Peripheral and sensor drivers
- State machines and control functions
- Processor, memory and timing budget
Custom electronic board design together with software