Home > On-Demand Archives > Talks >

Strategies for Developing Scalable Embedded Software for Microcontrolllers

Timothy Adu - Watch Now - Duration: 01:00:39

Strategies for Developing Scalable Embedded Software for Microcontrolllers
Timothy Adu

This talk will focus on useful strategies for developing embedded software - strategies that facilitate reuse, maintainability, ease of testing and scalability. Key topics that will be covered include:

  • Scalable Architecture/Design
  • CI/CD
  • Observability mechanisms
  • Virtualization
  • Rules of Engagement
  • Strategies for application (business logic) development

The talk will introduce a simple framework for implementing the strategies listed above.

M↓ MARKDOWN HELP
italicssurround text with
*asterisks*
boldsurround text with
**two asterisks**
hyperlink
[hyperlink](https://example.com)
or just a bare URL
code
surround text with
`backticks`
strikethroughsurround text with
~~two tilde characters~~
quote
prefix with
>

SimonSmith
Score: 0 | 12 hours ago | no reply

Can you describe more about your logging and CLI? Just browsing your website - looks good!

Miro
Score: 1 | 20 hours ago | no reply

Thank you for the nice presentation. Interestingly, your microADF architecture is (at the highest level) event-driven and asynchronous (posting messages to mailboxes without blocking and waiting for the processing). Also, you mention state machines that implement the internal event-driven behavior of your "entities". Such architecture seems to be a universal conclusion of experienced developers. The other name of this design pattern is "Active Object" (a.k.a., "Actor"). An "Active Object" typically has a mailbox and a thread of execution. However, your design has two threads: a "parent thread" and a "worker thread". It's unclear how these two interact (synchronously, asynchronously?). Wouldn't the design be cleaner with just one thread per "entity" (Active Object)?

BarryR7
Score: 2 | 23 hours ago | no reply

Very nice presentation. Would love to work in your environment or be able to more effectively convince management that it’s worth setting up the infrastructure you outline. Any tips for that conversation?

SimonSmith
Score: 2 | 1 day ago | 1 reply

Thanks Timothy. I really enjoyed your talk and it was very clear, with excellent examples. I hadn’t seen your FSD approach with simple spreadsheet used before. I find most projects jump to the scaffolding and all the foundation steps you showed are rarely done, as there is little time. Nice to see RTT and SystemView used as well for observabilty (I’ve been using these too).

TimothySpeaker
Score: 0 | 23 hours ago | no reply

Hi SimonSmith,
Thanks for the feedback. Glad you found the presentation enjoyable.
The FSD approach provides a simple yet broad overview/breakdown of the system. I developed the approach to solve challenge of bridging the gap between requirements and code - something that has always frustrated me.
As for RTT and SystemView, I use them whenever I get the chance. I generally love using SEGGER's tools.
If you're interested, tune in to the live Q&A and I can show some code examples.

Theodor
Score: 0 | 1 day ago | 1 reply

Excellent lecture, thank you. It would be nice to see some code examples.

TimothySpeaker
Score: 1 | 23 hours ago | no reply

Hi Theodor,
Thanks for the feedback. I had considered showing some code examples but it was tricky to fit so much material into a 1 hour presentation. I would be more than happy to give a one-on-one code walkthrough. Otherwise, feel free to join the live Q&A and I can show some code examples there.

OUR SPONSORS

OUR PARTNERS