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.

Filter by
Sorted by
Tagged with
0
votes
0answers
54 views

Architecture Design of Command&Control application center for displays

I am facing dilemma on how to best design the following functionality. What design patterns and OOD principles should I use. For simplicity sake following are basic requirements: displays type ...
4
votes
5answers
669 views

How to deal with a lot of conditions in If statement in an elegant manner

Is there a more syntactically beautiful/simply better way to write the following (without major abstraction)?: if (usart_error.CRCError == true || usart_error.DMATransferError == true || ...
1
vote
2answers
116 views

Executable VS. Software image

Need your help to clarify primitive concepts: In an embedded system, when a program runs on the processor (ARM as an example), in my understanding that it is because the "code to be executed" is ...
8
votes
3answers
816 views

An older, experienced contractor used an SQLite DB for various queues - am I, a young dev, justified with feeling uncomfortable with it? [closed]

Context: I'm an embedded dev with only 2 years of solid experience. I'm the sole technical employee of a startup of 4 people. We have an MVP of our product out and are getting ready to develop the ...
1
vote
1answer
47 views

Developing and debugging code with a logic analyzer?

Until now I used Arduinos with shields and ICs and mostly I used libraries to communicate with i.e. ADC, DAC, Real Time Clock, etc. Now I want to do the same kind of programming with the same ICs ...
1
vote
1answer
58 views

One loop or MultiTasking with FreeRTOS in ESP32 project?

I programmed a CAN Bus logger for the ESP32 with ESP-IDF. Currently this is just one main program with one loop. In that loop data is read from the CAN-Bus receiver and written to one log file on a ...
25
votes
7answers
6k views

Can abstractions and good code practice in embedded C++ eliminate the need for the debugger?

I am a C developer for an embedded system. YouTube has recently started recommending "C++ for embedded systems" talks. Having watched some of them, they pique my interest, but none of them answer the ...
1
vote
1answer
124 views

Finding undefined behaviour in C for embedded system

I just started at a small company and there is a hot-needle-built software for micro controllers written in C which we are now starting to clean up to make it maintainable again. Of course this goes ...
0
votes
1answer
61 views

Should I separate send and receive methods into tasks for a CAN-BUS reader on ESP32?

I am developing a CAN-BUS reader (logger) with an ESP32 microcontroller. This sample uses RTOS and several task to send and receive CAN-BUS messages. https://github.com/espressif/esp-idf/tree/master/...
1
vote
2answers
235 views

How to connect IOT devices to Android App(initial connection) [closed]

Background I am starting a new project, and I want custom IOT sensors for an app I am writing. I want to keep everything as simplistic as possible so the IOT devices wont be running any major software ...
2
votes
1answer
175 views

Testable class/interface in embedded software written in C++

I would like to collect feedback on possible solutions for creating testable classes/interfaces. In a normal C++ development we can use references/pointers and forward declarations to achieve dynamic ...
3
votes
1answer
120 views

C++ pattern for compile-time configurable class functionality

Due to resource limitations (embedded), I want to make some functionality that a class provides optional. The decision to include this optional functionality should be made at compile time. For ...
2
votes
3answers
232 views

Best way to conditionally exclude unused code (C++03)

I'm working on a bare-metal embedded system, with a class that can be compiled for different hardware versions. The class takes in a pointer to a device and uses it, or takes in NULL if the device is ...
0
votes
1answer
72 views

How is a function in execute only space compiled?

I don't quite understand, how the following typedef is parsed by a compiler to call code at a specific address. I guess I understand that a function is just a pointer and we're typedefing such a ...
2
votes
1answer
109 views

Design approach for extending class functionality - Embedded C++

For my company i am refactoring our embedded C/C++ code base to increase re-usability for commonly used functionality. Currently i am refactoring our command line interface but i ran into a design ...
3
votes
2answers
201 views

Best way to model UTC time and deltas in embedded C

I'm getting ready to do some work on an embedded firmware prototype that has a GPS chip attached to it (straight C on an arm0, no OS). I'm torn on how to model UTC instants and time deltas. ...
1
vote
1answer
67 views

Board support driver for custom board - API design - MCU resource configuration

I have got to implement a board support package for a custom board, and I would like to know your opinion about the different approaches of designing board support drivers. My custom board pupulates ...
3
votes
2answers
346 views

Object Oriented vs. Procedural Processes in Embeded System

I'm currently developing a controller for an industrial application which takes data inputs from various sensors and interfaces (ethernet, serial, etc.), does some minimal processing, and adjusts ...
2
votes
1answer
417 views

How to abstract HAL in embedded test driven development?

Recently I've been reading into topic of test driven development and decided to give it a go with a sensor driver I need. Sensor uses SPI interface and I will implement this driver on STM32F415 ...
2
votes
2answers
472 views

Appropriate way to handle timezone for embedded/IoT devices

I am writing some data collection software (in python) that will transmit data to the cloud. I am including a timestamp (using the standard datetime module included with python) in the data record so ...
0
votes
1answer
167 views

Help defining architecture - async messaging; web app as portal in web page

I don't know if this is a legitimate architecture that I've been playing with. It consists of nodejs servers for services and to create web app front ends. And it is using async messaging (Redis) to ...
2
votes
1answer
588 views

Embedded software architecture - What is the difference between DAL and HAL?

I'd like to know what the difference is between hardware abstraction layer (HAL) and data abstraction layer (DAL) when speaking about embedded software. I might have the abbreviations wrong though... ...
1
vote
1answer
419 views

Embedded Systems: Designing an API that monitors an address

This question was tossed as a starting point in a technical interview at a semi-conductor company. I guess there are no right ans - the purpose of this open ended question is to gauge the engineer's ...
1
vote
0answers
111 views

How could an fresher start doing changes in thousand lines code immediately after joining? [duplicate]

Well I am newly graduated and placed in a small scale project based company. When I joined , the boss (project head) gave me project code for understanding what work I will be doing hence forth. I ...
1
vote
0answers
100 views

Unicode or font support for an embedded project

I am working on an project for development of an Embedded system with following requirements. Should be able to receive a text in English language from a Host device. Interfaced over Modbus. Should ...
1
vote
1answer
326 views

Handling error in multiple state machines in embedded systems in C

I have few state machines which run "concurrently" in a super loop. do { state_one(); state_two(); state_three(); /* The point I want to deal with the error */ } while(1); Each of these ...
3
votes
2answers
130 views

(System) Hooks for embedded libraries

With the inability to go into to much detail, imagine the following situation: You are developing a library that needs to run on various embedded platforms (AVR, ARM, etc..). Some functionality of ...
1
vote
1answer
551 views

Integration VS System Testing on Embedded system demo

My company develops embedded systems and they have a project where they are developing a new platform which will be used to do demos for potential clients. They are introducing a new technological ...
0
votes
1answer
380 views

Software Integration Tests Host vs Target

What criteria do you use to decide whether execute a test on target or on host in a sprint? We have integration testing using a server for an embedded system project. We are starting to learn and ...
2
votes
1answer
103 views

Multiple Integration Test Iterations for each sprint

We are going to implement Integration Testing at our project for an Embedded Product. The plan is to develop the Tests and execute them at each sprint. I suggested that the tests could be executed ...
2
votes
2answers
449 views

Module pattern in C with threading - where to control threads?

So I'm working on a growing C program in a Linux / POSIX environment, and I've run into an area where I'm not quite sure how to proceed. Basically, I'm using a module pattern to develop my code for ...
3
votes
2answers
479 views

Version control of embedded OS system image

I'm working on a hardware product that contains an embedded Linux system. The majority of what we execute on that system is a set of Python code which currently has its own Git repository and is ...
4
votes
1answer
703 views

What is so different about RTOS compared to normal programming?

Classical programs run a loop with prioritized ISRs. How do RTOS do this differently of better?
2
votes
1answer
150 views

Handling out of bounds requests in embedded C library

We're currently building a library in C that configures itself from tables in EEPROM. This leaves the possibility however that some caller requests a field that is out of bounds, and the question ...
0
votes
2answers
2k views

Static vs non-static in embedded systems [duplicate]

I am writing a C++ applications in the embedded area. A lot of times I think about should I use static or non-static const variable in the functions/methods? Here are my thoughts: Static constant ...
0
votes
2answers
320 views

What is the simplest OS or platform upon which we can do SE today [closed]

What is the "simplest" operating system or platform upon which we can do Software Engineering in this day and age? Or, in other words, are there "minimum requirements" for OS & platform for doing ...
2
votes
2answers
237 views

Mixing different codestyles in pure C code [duplicate]

I'm embedded engineer, and one of my field of work is building embedded systems based on STM32 microcontrollers. ST provides its own HAL with names of functions like HAL_Delay(), HAL_UART_Receive() ...
5
votes
2answers
496 views

mutex implementation in arm based embedded system

I have implemented a mutex on an embedded system that have armv7 processor and a basic scheduler There are several instructions in armv7 instruction set that are used for power efficiency. Two of ...
1
vote
1answer
64 views

Looking for best way to implement BFD module

I'm going to implement a BFD module (for MPLS LSPs) in VxWorks and was wondering the following: Is it better to create and use a separate timer instance (<2048) per BFD session at the specified Tx ...
-3
votes
2answers
2k views

Why are event driven languages unsuitable for embedded systems, and what makes a language good for embedded systems? [closed]

I'm doing an essay on this for college and I can't really find sources. So far I've found these: https://www.quora.com/Which-is-the-best-programming-language-for-embedded-system http://www.eetimes....
6
votes
1answer
293 views

Using nested classes to modularize large application code?

I'm building a large Desktop application, which will have a range of functionality, for each I wish to have a specific class. I'm thinking of using a nested class structure to modularize the code and ...
4
votes
1answer
634 views

Different ways to distribute (embedded) C modular library

picoTCP (an open source embedded TCP/IP stack) has always had a development focus (both in picoTCP itself and with picoTCP) on linux & gcc systems. The final target is usually an embedded micro (...
0
votes
2answers
748 views

Documenting embedded C code

I am starting a startup and myself and my partners are having trouble keeping up to date on each other's code and how to implement their functions. Our code is very well commented, but each of us have ...
8
votes
1answer
776 views

Design considerations for configuration menu on embedded system

I am working on an embedded system that interfaces with the user with several buttons and a small graphic display. As a side note: Since I am on an embedded system, I would like to prevent dynamic ...
4
votes
1answer
629 views

How do you use use cases in a driver design with interrupts?

I'm writing driver-level code that runs on a microcontroller. I've described some of the design with use cases. The users in my use cases are the the other software components that use my driver. ...
8
votes
1answer
308 views

Can message passing be used for a CPU redundancy and load-balancing construct

In bare metal or minimal RTOS type embedded systems with multiple processors is it possible to have an identical program running on each processor that uses Message Passing Interface (MPI) to provide ...
12
votes
5answers
2k views

Is there a drawback at allocating a huge amount of the stack for a single array in an embedded system?

I usually have no problem deciding whether some data has to be global, static or on the stack (No dynamic allocation here, so no use of the heap). I have also read a few Q/A such as this one but my ...
0
votes
1answer
1k views

GPLv2 or 3 requirements for closed embedded products

Say for instance I develop a program that links with GPL2/3 code statically or dynamically which is installed on an embedded device such as the raspberry pi as part of a larger system, is there any ...
29
votes
2answers
5k views

Code development process for Voyager mission?

Voyager 1 reached interstellar space in August 2012 and is the most distant human-made object in existence. Launched just shortly after its twin spacecraft, Voyager 2, in 1977, Voyager 1 explored the ...
4
votes
2answers
257 views

How do you adapt to changes to product specifications during development?

Problem Changes to product requirements/specifications during the development cycle are inevitable in a professional setting. In particular, I'm constantly dealing with changes to the specification ...