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

Why are memory locations also called registers?

In embedded systems and systems programming, the term register is used to refer to a CPU register inside the micro-controller, e.g. R1, R2, PC in ARM micro-controllers, and certain 'special' locations inside memory address space. Is there a reason…
bytefire
  • 4,156
  • 2
  • 27
  • 36
4
votes
4 answers

fastest SCM tool available for Embedded software development

In my company, presently we are using Rational clearcase as the Software Configuration Management tool for our Embedded software development. The software is basically for Automobiles, to be specific for Engines (I dont think these information…
wrapperm
  • 1,266
  • 12
  • 18
4
votes
1 answer

Disable Timer 0 interrupt on Arduino without breaking Serial

Background: I need very repeatable interrupt execution timing for my own ISR in the Arduino environment. The Timer0 overflow interrupt is used by the Arduino core library to provide millis(). Occasionally, the condition that triggers my interrupt is…
Mike Thielvoldt
  • 181
  • 1
  • 11
4
votes
1 answer

Monitoring pthread context switching

I would like to monitor the the context switching behavior in a multi-threaded pthread application. In other RTOSes(Micro C OS) I have been able to register a context switch callback for each thread in the application, and then log (or toggle a…
simon
  • 5,777
  • 7
  • 30
  • 36
4
votes
2 answers

Is it ok to return a reference of a function scope static variable?

I wanted to know if that has any ill effects under any circumsatnce. For ex: Ex1: void* func1() { void* p_ref = NULL; //function scope static variable static int var1 = 2; p_ref = &var1; return p_ref; } Ex2: //file scope static…
kp11
  • 2,055
  • 6
  • 22
  • 25
4
votes
1 answer

Minimum hardware specification to run SQLITE in an Embedded System/Microcontroller

I want to run sqlite in an embedded application. What's the bare minimum requirement to be able to run sqlite for maintaining a database? I'm looking at implementing the R*tree for spatial searches. It would be helpful if I could get an explanation…
chilljeet
  • 302
  • 2
  • 15
4
votes
2 answers

C programming without malloc

I have to write white complex application for embedded device in C. Runtime (libc) does not support malloc/calloc/realloc/free or any other kind of dynamic memory management. What are best practice for such cases? Edit: Application is complex. for…
adontz
  • 1,428
  • 16
  • 36
4
votes
2 answers

Portable function in C (with no assembly) that returns the size of its stack frame

Write a portable function in C (with no assembly) that returns the size of its stack frame int stackframe_size() { } Attempted solving it as below - This function returns 228 bytes when compiled with VS 2010. Is there a way to verify its…
Electrix
  • 510
  • 3
  • 14
4
votes
2 answers

Embedded wifi device that can accept terms on a captive portal?

I'm building out an IoT solution for a client and the network admins are insisting that the devices only connect through the guest network, which has a captive portal with terms of service that must be accepted with a UI button press before gaining…
4
votes
3 answers

GreenHills - small data area overflow

I'm hoping maybe someone has a quick answer for this but essentially when I turn on optimizations, I get the following error: [elxr] (error) small data area overflow: 0xfff9f6fc (signed) didn't fit in 16 bits while performing relocation in…
Gary
  • 1,515
  • 1
  • 14
  • 22
4
votes
4 answers

C++ disable destructors for static variables

I have a general purpose class which is used in different contexts - sometime as static variable, and sometime as a normal variable on the stack/heap. When it is used as a normal variable the destructor must be called when it goes out of scope - as…
Allan
  • 4,562
  • 8
  • 38
  • 59
4
votes
0 answers

Building Lollipop 5.0 with minimal Embedded configuration

Does anybody know way for legal build Android Lollipop 5.0 with Embedded configuration? We used Jelly Bean before and built it with BUILD_TINY_ANDROID definition. Today this definition is obsolete. I found new definition ANDROID_BUILD_EMBEDDED but…
Dmitry
  • 41
  • 3
4
votes
5 answers

Microcontroller to microcontroller communication library (over UART/RS232)

I want to interface two microcontrollers with a UART interface and I search a protocol to exchange data between them. In practice, I want to exchange data periodically (ie: sensors reading) and also data on event (GPIO state). I have around 100-200…
ssinfod
  • 975
  • 2
  • 15
  • 31
4
votes
2 answers

Time running backwards with QueryPerformanceCounter()

I have found useful information regarding the use of QueryPerformanceCounter in this post but I am facing an issue for which I have not found an answer. I am developing an application for Windows CE 6.0 and need a better resolution that…
ISZ
  • 43
  • 4
4
votes
1 answer

How to wake up an Android Embedded Board from Suspend by using a GPIO

I am currently working on porting Android 4.4 (Kitkat) on an embedded system (Freescale i.MX6 based). In order to start my development, I used a few development kits (Wandboard, Boundary Device's BD-SL). While working on the power management of my…
gfrigon
  • 2,237
  • 2
  • 23
  • 32