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
1 answer

Duplicate code between unit test and implementation

I'm currently developing some low level drivers for an embedded platform in plain C. I use unity+cmock as a unit testing framework. However while writing the low level stuff I often come across the following pattern: Test: void…
4
votes
1 answer

Why am I getting garbage in my CPSR when I switch to user-mode?

When booting up a toy kernel, I use this code to switch to user mode: mrs r1, CPSR @ Switch to System mode orr r1, r1, #0xc msr CPSR, r1 ldr sp, =gUsrStackBase @ Setup USR stack (shared with System mode) mov r1,…
Brendan
  • 1,995
  • 1
  • 20
  • 35
4
votes
1 answer

Routing audio from GSM module to a Bluetooth HandsFree device

I have a system with the following setup: I use: Windows CE 6 R3 Microsoft's Bluetooth stack including all profiles Motorola H500 The Audio Gateway service is up and running (checked through services list in cmd) GSM Module is functional - I am…
Shaihi
  • 3,952
  • 4
  • 27
  • 47
4
votes
1 answer

What do single-cycle multiplication and hardware division mean?

I am going through a data-sheet and read "Single-cycle multiplication and hardware division" as part of STM32 specifications, i am not sure i understand what that means. From what I read on the Net, multiplication is usually easier to compute than…
dede9714
  • 73
  • 2
  • 13
4
votes
6 answers

How to find an embedded platform?

I am new to the locating hardware side of embedded programming and so after being completely overwhelmed with all the choices out there (pc104, custom boards, a zillion option for each board, volume discounts, devel kits, ahhh!!) I am asking here…
Gabriel Magana
  • 4,338
  • 24
  • 23
4
votes
1 answer

Addressing ECUs directly using ELM 327 dongle and ISO 9141

I have a VW Golf 4, which is quite old and talks KWP 2000 (ISO 9141) on its CAN bus. I use a dongle powered by ELM 327, connected to the OBD-2 port of the car. I am trying to send messages individually to each ECU. I tried to change the header of…
csima
  • 315
  • 2
  • 14
4
votes
0 answers

PIC24F EDS array causing address trap

Hi I am using the PIC24fj128gc006. I am running out of data memory so I am trying to allocate some of my buffers using the EDS space. Here is my declaration: #define BUF_BASE 0x010000L __eds__ float envelopStaticBuff[envelop_size] __attribute__…
Benjamin Hon
  • 143
  • 1
  • 11
4
votes
1 answer

How does a linker work exactly (microcontroller context)?

I've been programming in C and C++ for quite a long time now, so I'm familiar with the linking process as a user: the preprocessor expands all prototypes and macros in each .c file which is then compiled separately into its own object file, and all…
4
votes
2 answers

Where is formatting buffer for printf?

I working on a constrained embedded system. Presently we use snprintf to a buffer, then with another statement, print the buffer to the serial port: char temp_buffer[256]; int bytes_written = snprintf(temp_buffer, sizeof(temp_buffer), …
Thomas Matthews
  • 56,849
  • 17
  • 98
  • 154
4
votes
1 answer

Generate and handle software interupt

could somebody show me how to generate software interrupt under Linux and then handle it with request_irq? or maybe this is not possible.
Jack
  • 255
  • 1
  • 3
  • 14
4
votes
3 answers

STM32 I2C1 Start bit not set on SR1 register

I am trying to program the stm32 to talk to my i2c EEprom, but it seems like everytime I say: I2C_GenerateSTART(I2C1, ENABLE); while( !(I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)) ); the code hangs here I went through with the debugger and…
jramirez
  • 8,537
  • 7
  • 33
  • 46
4
votes
2 answers

C++ Operator overloading error check without exceptions

I have a class similar to vector that is primarily a dynamically sized array. I am writing it for a resource-limited platform so I am required to not use exceptions. It has become clear that to use operator overloading to simplify the interface for…
jayjay
  • 1,017
  • 1
  • 11
  • 23
4
votes
2 answers

PyUnicode_AsUTF8() Segmentation fault

#include int main (int argc, char *argv[]) { PyObject *pName, *pModule, *pFunc; PyObject *pValue; Py_Initialize (); pName = PyUnicode_FromString ("uuid"); pModule = PyImport_Import (pName); Py_DECREF (pName); …
Henry Wong
  • 43
  • 3
4
votes
1 answer

Text displayed incorrectly - characters are squares - suspect fonts not found

I have an embedded ARM system running Linux. I've successfully built and installed Qt 5.3.1 onto my target, and I'm able to build Qt applications and run/debug them. Note that my target does not have X installed, and the QPA that is being used is…
Steve
  • 6,334
  • 4
  • 39
  • 67
4
votes
2 answers

pic32 start bit does not clear -- Basic I2C setup

I am new to embedded programming and am trying to get my first I2C project working. I am using the PIC32MX795F512L. I am pretty much following the microchip datasheet for I2C on PIC32. The problem I'm having is the S bit is never cleared from the…
user36927
  • 41
  • 1
  • 3
1 2 3
99
100