Questions tagged [embedded-systems]
"An embedded system is a computer system designed for specific control functions within a larger system, often with real-time computing constraints." Michael Barr. "Embedded Systems Glossary". Neutrino Technical Library. Retrieved 2007-04-21, copied from Wikipedia.
190 questions
-1votes
3answers
153views
How to manage common library dependencies to prevent cross-application breakage?
Note: The question was heavily rewritten after the comments it received. I work on a team that develops embedded software for various in-house devices. Each device hosts multiple "bare metal"...
4votes
3answers
349views
What's the difference between embedded systems and other software systems?
I've decided to self-study software engineering from textbooks. and I came across the term "embedded systems". I went to chatGPT to ask it what it is and the answer it gave me was: "a ...
4votes
3answers
216views
How to Deploy Machine Learning Model on Wearable Edge Devices?
I have done mostly machine learning with big data, GPUs on EC2 VMs, K8S clusters etc. But this new assignment is on the other end of the scale. Basically, it is a time series forecasting and ...
1vote
3answers
321views
Is Feeding a Watchdog Timer from an Interrupt Service Routine a Bad Practice?
In an embedded system, I require a watchdog to be able to pass ESD qualifications. Having no experience with watchdogs, I went through this Memfault article. I liked the events "registration"...
0votes
1answer
148views
How to resolve configuration of a peripheral driver in C++?
I have been solving following architectural problem. I have been implementing a software driver for a fpga peripheral (basically a digital filter with two filtering algorithms). The main goals of the ...
2votes
1answer
229views
Embedded C++ classes vs. namespaced free functions
I am using C++ in an embedded environment (ESP32) and have been playing around with different ways of structuring my program. The program isn't super complex but not so simple that it could all be ...
1vote
2answers
287views
How to deal with boolean or enum variables used to decide code flow?
I am working on algorithm implemented in C++ that maintains several enum types. Say 3 to 4 enum types each with at least 4 different values. Plus the code maintains several boolean variables. The code ...
-1votes
1answer
205views
What are ARM64 system registers
I see in arm reference manuals they give info about certain configurations such as HCR_EL2, Hypervisor Configuration Register (HCR_EL2), and what I read in books and reference manual is that ARM64 ...
2votes
4answers
404views
Watchdog/recovery mechanism for realtime embedded system (using heartbeat, exceptions and Posix signals)?
We have a large(ish) real-time embedded system. It's VxWorks, if that makes any difference. It has some C code in DKMs, but is 95%+ in C++. It has absolutely no exception handling, nor Posix signal ...
2votes
2answers
338views
Optimizing Flash Memory Writes in Embedded Systems with Unpredictable Power Loss
I'm working on an embedded C++ project that involves logging certain types of statistical data (like successful accesses, failed attempts, and other events) to the flash memory (just incrementing ...
1vote
1answer
291views
How to return a result from an active object state machine
I frequently use the concept of Active Objects (https://www.state-machine.com/active-object) combined with state machines when designing code. The key idea behind these is that only "events"...
4votes
1answer
314views
Dealing with global variables required by badly-written library
I am working with a library that is somewhat poorly written. In order to function, it requires several global variables to be declared and sometimes even maintained by my own code. I really don't ...
1vote
3answers
224views
TDD - What to do when adding a new function on a dependency causes many previous tests to fail?
I was programming today and encountered something that just feels like I'm doing something wrong (maybe?). I've encountered this situation before, but I wanted to reach out and ask if there's a better ...
0votes
0answers
80views
Decoupling a Configuration API in an Embedded Framework
In my embedded project I am designing a framework that allows the user to create widgets at compile time. All widgets must provide the same base functionality. Further, there are multiple widget ...
5votes
3answers
984views
Group set of commands as atomic transactions (C++)
We're designing the architecture of an embedded device (esp32). One of the tasks is that the device should connect to the internet and use a preprovisioned redeem code to register itself with our web ...