Questions tagged [embedded]

Embedded refers to embedded systems, which involves areas such as microcontroller/DSP firmware programming, real-time systems, electronic interfaces, hardware drivers, serial bus communication etc.

Embedded systems are computer systems which are an internal component of a product (that is, embedded within a product) for a specific, usually limited, purpose which includes control, reconfigurability, or translation. Examples include digital watches, smart thermostats, automotive engine supervision, firewalls, solar panel controllers, PC keyboards, digital billboards, digital cameras, GPS receivers, traffic signal control and MP3 players.

Embedded systems contain a processing core that is either a microprocessor, a or a digital signal processor .

The key characteristic is being dedicated to handle a particular task. Since the embedded system is dedicated to specific tasks, its design can be optimized to reduce the size and cost of the product and increase the reliability and performance. Some embedded systems are mass-produced, benefiting from economies of scale.

The complexity of an embedded system can be any point along several orders of magnitude: from a vehicle counter with 150 bytes of code to an iPad with a sophisticated operating system kernel which manages gigabytes of local information.

Two major aspects of embedded system design and implementation is to reduce power consumption and heat reduction.


Tag usage

Apart from the tag, also tag your question with a specific development platform, tool chain, and/or target platform. Relevant tags are the specific compiler, specific processor, specific evaluation boards etc. that are used. Avoid using manufacturer tags such as for example as they generally add nothing of value. Instead, specify the microcontroller being used, for example .

This tag is not for questions about embedding media into HTML pages (<embed>), the #embed preprocessor directive, embedding visual components in a GUI, or embedding programming languages, databases or other things into web/desktop programs.

Please note that Stack Overflow is a programming site, and therefore questions about embedded systems that are related both to software and hardware will likely get a better reception at Electronics.stackexchange.com, where embedded systems hardware questions always are on-topic. For example, if you have a problem which could either be caused by software or by hardware, it is better to ask it on the electronics site.

Other sites that may also give a better response to specific embedded system questions:


Books


Resources

  • Wikipedia overview: including history, manufacture, implementations, debugging, tools, UIs, and architectures.
10540 questions
4
votes
2 answers

How can I reset a timer every time I receive a touch event from a qml page

import QtQuick 2.6; import QtQuick.Controls 2.1 ; import QtQuick.Layouts 1.3 ; Page{ id: page width: 800 height: 1024 background: Rectangle { color: "black" ; anchors.fill:parent ; } Rectangle { …
sebba23
  • 544
  • 7
  • 24
4
votes
3 answers

Reverse engineering a ROM DOS device

I understand that my question is probably too abstract and tricky to be replied with an OneTrueAnswer©, but I hope I can express myself well enough to receive some kind of useful feedback. It has come to my possession an interesting device which…
JosePaulo
  • 71
  • 1
  • 5
4
votes
1 answer

How to disable nesting in NVIC Interrupts in ARM Cortex M0+?

I have started using ARM Cortex M0+ for GPIO Interrupts. I want to disable nesting feature from ARM Interrupts. Is there any way to do it.? I know by default, nesting is enabled in ARM, I want to disable it.
anandamu16
  • 103
  • 1
  • 2
  • 9
4
votes
6 answers

Programming a Microprocessor using C in Object Oriented Paradigm, is it Advisable?

Since C is commonly used in micro-controllers and it is possible to do object oriented programming in C, is it advisable to implement object oriented micro-controller programming using C? What are the pros and cons?
LEMUEL ADANE
  • 8,336
  • 16
  • 58
  • 72
4
votes
1 answer

Which stack is used when entering interrupt handler from user program for Cortex M3 processor?

Cortex M3 processor has two stack pointer: PSP, MSP. In some complex applications, user program use PSP pointed to user program stack. Exception handler use MSP pointed to main stack. The question is: There is a interrupt happened when user program…
lrouter
  • 349
  • 1
  • 5
  • 20
4
votes
2 answers

Is there any free software alternative to CCS C compiler?

Is there any free software alternative to CCS C compiler? Please also send the links and state the pros and cons if you already had an experience using them.
LEMUEL ADANE
  • 8,336
  • 16
  • 58
  • 72
4
votes
3 answers

Is `volatile` enough to allow the compiler to handle machine registers with side-effects on read?

I work with microcontrollers where there are occasionally machine registers that have actions that occur when a register is read. Yes, that's not a typo, there's lots of registers that cause actions when they are written, but in a few cases if you…
Jason S
  • 184,598
  • 164
  • 608
  • 970
4
votes
1 answer

using EXTI Line for software interrupt

I'm using STM32F4 and I want to generate a software interrupt. the question is how do I know in the interrupt handler if the interrupt was generated by software or by the pin connected to the EXTI line?
Samer.M
  • 121
  • 2
  • 10
4
votes
1 answer

How do I increase the speed of my USB cdc device?

I am upgrading the processor in an embedded system for work. This is all in C, with no OS. Part of that upgrade includes migrating the processor-PC communications interface from IEEE-488 to USB. I finally got the USB firmware written, and have been…
user1426923
  • 67
  • 1
  • 5
4
votes
0 answers

Linux kernel driver

I'm learning how to develop a simple driver for a card connected to the USB1 serial. I wanted to know how the kernel understand that my device needs to be mapped as /dev/ebbchar. How to change to /dev/ebbGV? and if i connect another device why i…
user3589887
  • 139
  • 2
  • 13
4
votes
6 answers

passing args in interrupt handler

consider we're writing a firmware for a baremetal MCU, i.e. no OS. I'm told it's not possible (illegal?) to pass arguments to interrupt handler function? I can't precisely understand why it is so? What's wrong with this? PS. is it possible to do in…
Mark
  • 1,751
  • 3
  • 14
  • 14
4
votes
7 answers

C same structure different size

My question is related to this one : c define arrays in struct with different sizes However, I do NOT want to use dynamic allocation (embedded target). Problem recap : In C, I want to have two versions of the same structure, each one with a…
Gadam
  • 69
  • 5
4
votes
0 answers

how to access the magnetometer of mpu9250?

i have accessed mpu-9250 using address 0x68 and reading the data of accelerometer and gyroscope. but now when i changed address to 0x0C to access magnetometer and whenever tried to read data,but it will not give acknowledgment. i have also…
kishan
  • 47
  • 4
4
votes
3 answers

Streaming File Delta Encoding/Decoding

Here's the problem - I want to generate the delta of a binary file (> 1 MB in size) on a server and send the delta to a memory-constrained (low on RAM and no dynamic memory) embedded device over HTTP. Deltas are preferred (as opposed to sending the…
thegreendroid
  • 3,239
  • 6
  • 31
  • 40
4
votes
6 answers

Is it smart to output data from embedded device in xml format?

Our company makes many embedded devices that communicate with PC's via applications that I write in C#.net. I have been considering different ways of improving the data transfer so that the PC application can be more easily synchronized with the…
PICyourBrain
  • 9,976
  • 26
  • 91
  • 136