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
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
98 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
40 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
59 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
154 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 ...
2
votes
1answer
103 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
198 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
64 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
107 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
182 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
54 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
312 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
365 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
376 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
151 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
511 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
388 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
90 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
307 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
120 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
510 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
350 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
95 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 ...
1
vote
2answers
417 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
437 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
674 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
316 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
231 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() ...
4
votes
2answers
470 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
62 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
1k 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
621 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
696 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
732 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
600 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
298 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
238 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 ...
2
votes
1answer
583 views

Embedded programming prevent dynamic allocation

I'm currently working on a project on an Arduino that should run for multiple years without interruption. To do this, I've attempted to avoid constructors, deconstructors and general dynamic variable ...
0
votes
6answers
315 views

Dealing with a variable that is a number, but has greater meaning? [closed]

I've been working on some embedded code that handles a Bluetooth Low Energy (BLE) radio. BLE has 40 channels, numbered 0 through 39. One function for the radio driver takes in the channel and sets ...
0
votes
2answers
97 views

Getting a stateless time-based index out of overflowing timer

I'm currently working on an Arduino project where I need to keep track of entries for a certain amount of time, in this case, 30 days. Our company will attempt to sell this product to cities and ...
4
votes
1answer
2k views

SPI vs SCI on TI processor

I have a Texas Instruments development board: LAUNCHXL-F28027. I'm confused on the difference between SPI (Serial Peripheral Interface) and SCI (Serial Communications Interface). What are their ...
3
votes
3answers
3k views

Are global variables okay to use in asynchronous programs?

This may be a stupid question, sorry. I've read about the drawbacks of global variables a lot on this site. I'm finally trying to increase my code quality for a large project that'll be reviewed by ...
2
votes
1answer
1k views

Cross compiling Linux containers for embedded devices

I have recently been exposed to Docker and found it to be an excellent tool for making production deployments very less risky that what I was used to (coming from an embedded world, embedded as "Linux ...