
The Agile Embedded Podcast
Modern Embedded Systems Programming with Miro Samek
Jan 18, 2022
Miro Samek, expert in embedded systems programming, discusses the impact of technical decisions and architectures on development velocity. They explore convoluted code structures and compare the superloop and RTOS approaches. The active object design pattern is introduced for agile development. The challenge of keeping state diagrams in sync with manual coding is explored. The importance of automation and state machine design tools is highlighted.
56:18
Episode guests
AI Summary
AI Chapters
Episode notes
Podcast summary created with Snipd AI
Quick takeaways
- The challenges of embedded software development can be categorized into three layers: getting off the ground issues, concurrency issues, and spaghetti code.
- A new approach called the active object design pattern, which integrates state machines, can help address the challenges of concurrency and spaghetti code in embedded systems programming.
Deep dives
The Challenges of Embedded Software Development
The challenges of embedded software development are divided into three layers: getting off the ground issues, concurrency issues, and spaghetti code. The first layer includes tasks like setting up the hardware and software, while the second layer involves dealing with race conditions and other concurrency problems. The third layer, spaghetti code, refers to convoluted code structures with nested if statements and numerous variables and flags. These issues make the code difficult to understand and modify. To avoid these challenges, a new approach called the active object design pattern is suggested.
Remember Everything You Learn from Podcasts
Save insights instantly, chat with episodes, and build lasting knowledge - all powered by AI.