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
7 answers

Should a C++ embedded application use a common header with typedefs for built-in C++ types?

It's common practice where I work to avoid directly using built-in types and instead include a standardtypes.h that has items like: // \Common\standardtypes.h typedef double Float64_T; typedef int SInt32_T; Almost all…
Brandon Leiran
  • 5,343
  • 3
  • 20
  • 17
4
votes
6 answers

Efficient way to wait for an interrupt in C

I am using WiringPi on a raspberry pi. With it I assign an interrupt function which is called later. I'm not sure what to do when waiting for the interupt to be called. Examples use a (spinlock?) for (;;) e.g. int main() { // register…
Ross
  • 14,266
  • 12
  • 60
  • 91
4
votes
1 answer

State Machine with no function pointer

I have implemented a complex state machine with numerous state transitions for a safety SIL 4 system. The back bone for this implementation was done using function pointers. When all was sailing smoothly, the V&V opposed the use of function pointers…
AlphaGoku
  • 968
  • 1
  • 9
  • 24
4
votes
1 answer

RS232 (UART) on STM32F4-Discovery (STM32F429ZIT6) with HAL library?

Background Here is some of my background so that your guy could know what related knowledge I have or I don't have. I'm totally a newbie of this kind of embedded system. And I don't really know anything about electronics, I'm a pure software guy. My…
Brian Hsu
  • 8,781
  • 3
  • 47
  • 59
4
votes
1 answer

CAN for large packets of data exchange without using standard protocols

Im working on a project that requires me to use CAN for communication. There are 3 Master nodes and 48 slave nodes. Each Master does the same functions(for redundancy in decisions and voting). Each master will be sending about 64 bytes of data per…
AlphaGoku
  • 968
  • 1
  • 9
  • 24
4
votes
2 answers

How can I most effectively share code between C and C# (both Mono and Silverlight)

Our desktop application consists of a Mono/.NET 3.5 back end that communicates via USB with a variety of devices and a Silverlight front end that communicates with the back end via sockets. The firmware for the devices is developed in-house with C.…
Jacob
  • 77,566
  • 24
  • 149
  • 228
4
votes
3 answers

What is an atomic operation in the context of microcontrollers?

What is an "Atomic Operation" in the context of micro-controllers? I am studying TI F28027 MCU. The data sheet says that its operations are atomic. What does it mean?
user366312
  • 16,949
  • 65
  • 235
  • 452
4
votes
3 answers

What is difference between MSP430 and MSP430X?

Any comparison table available?
Adnan
  • 193
  • 3
  • 8
4
votes
2 answers

Multiple Arduino Interrupts on same pin

In the following code, why does ISR2 never run? const int in = 19; const int LED = 9; int flag; void setup() { pinMode(in, INPUT_PULLUP); pinMode(LED, OUTPUT); attachInterrupt(digitalPinToInterrupt(in), ISR2, RISING); …
The Vivandiere
  • 3,059
  • 3
  • 28
  • 50
4
votes
2 answers

Custom Heap Size in Android Platform?

The software team in our graduation project asked for increasing the heap size per process in Android. They said that the default is "16MB" which isn't sufficient for them. How could I custom the size? I found a commented line in the file:…
Osama Gamal
  • 1,161
  • 4
  • 12
  • 18
4
votes
1 answer

Simple JSON-RPC in C++ for embedded platforms?

The desired key-feature for me is the ability to register functions of objects to the JSON-RPC server task, which then calls the function, in case the respective JSON-RPC-call was received. How can this be done? I found…
DPF
  • 270
  • 1
  • 2
  • 12
4
votes
2 answers

Fix the boot order/eMMC on a Beagle Bone Black

Problem The problem I'm having was caused by the following action: When I had BBB connected to my PC (using USB cable), I accidentally formatted the ~92 MB partion that contained the getting started files. Because of this, each time I apply power…
Artem
  • 1,000
  • 1
  • 15
  • 30
4
votes
1 answer

Disable CE windows animation, programmatically?

Here is how to do it with a registry key. * Go to HKEY_LOCAL_MACHINE\SYSTEM\GWE * Create a DWORD named Animate if it does not already exist * Edit the DWORD value named Animate * 0 - Disables Window Animation 1 - Enables Window…
VOX
  • 2,883
  • 2
  • 33
  • 43
4
votes
4 answers

Output debug via printf on a Cortex-M3 CPU, stalls at BKPT instruction + confusion about JTAG and sw ports

I have a Keil ULINK2 USB emulator box attached to the JTAG connector on my board, which is working fine with the Cortex-M3 CPU onboard (TI/Stellaris/LuminaryMicro LM3S series). It seems that both a JTAG and a SWJ-DP port share the same pins (and…
Warren P
  • 65,725
  • 40
  • 181
  • 316
4
votes
2 answers

Micrium uC-OS/II on Dynamic C/Rabbit - might have task starvation

I'm trying to get 2 tasks to run in my Dynamic C under Micrium uC-OS/II. One task is the http handler, the other reads from the serial port. The serial port task seems to inhibit the http task from running. Any ideas why this is? I thought…
fred basset
  • 9,774
  • 28
  • 88
  • 138