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 to avoid damaging SD card for large writes?

Ok, first a little background to help make my question clear: I am working on a device that collects certain data from sensors and posts them to a server using a GSM modem. As a GSM connection is not 100% reliable, it would contain a logging…
Suman Roy
  • 673
  • 5
  • 18
4
votes
1 answer

Development process for an embedded project with significant hardware changes

I have a good idea about Agile development process but I have no ieda how to map that to a embedded project with significant hardware changes. I will describe below what we are currently doing (Ad-hoc way, no defined process yet). The changes are…
pierrotlefou
  • 39,805
  • 37
  • 135
  • 175
4
votes
2 answers

Embedded linux and busybox

I need to incorporate the Busybox package in an embedded Linux system. For this, I wonder if it is possible to compile the Linux kernel along with the Busybox incorporated in the build process so that it is included in initramfs and loaded in RAM in…
Jorge
  • 1,350
  • 2
  • 10
  • 19
4
votes
1 answer

Watchdog timer triggers during MSP430F5529 initialization

I am coding a simple game and trying to test it on an MSP430F5529 microcontroller. The problem I have encountered is relating to the watchdog timer. The code I have written causes a device reset, which is an indication of a watchdog timer issue. I…
gbudan
  • 889
  • 7
  • 17
4
votes
3 answers

int8_t and char: converts between pointers to integer types with different sign - but it doesn't

I'm working with some embedded code and I am writing something new from scratch so I am preferring to stick with the uint8_t, int8_t and so on types. However, when porting a function: void functionName(char *data) to: void functionName(int8_t…
AndrewN
  • 41
  • 1
  • 3
4
votes
1 answer

Dynamic generation of partial functions in Python 2.7.x

Say I want to dynamically create a function on an IPython shell from the following lambda: f = lambda x, ci: np.percentile(x, 100-ci) that fixes ci to a new value. It would be something like the following (create_new_f is what I am looking for). ci…
Amelio Vazquez-Reina
  • 91,494
  • 132
  • 359
  • 564
4
votes
1 answer

Enabling external aborts on an ARM CPU

From the Cortex-R reference manual, probably not Cortex-R specific Asynchronous abort masking The nature of asynchronous aborts means that they can occur while the processor is handling a different abort. If an asynchronous abort generates a new…
artless noise
  • 21,212
  • 6
  • 68
  • 105
4
votes
1 answer

Erasing flash memory in blocks (1024 bytes)

I am working on making a bootloader. I have to erase 1024 bytes of memory before I write anything to those registers in that block. Even if I want to write 2 bytes, I am forced to erase 1024 bytes. My problem is that I don't know where each block…
Ammar
  • 1,203
  • 5
  • 27
  • 64
4
votes
1 answer

Understanding recursive Macro Expansions

I came across this question in an Embedded interview question set. #define cat(x,y) x##y concatenates x to y. But cat(cat(1,2),3) does not expand but gives preprocessor warning. Why? Does C not encourage Recursive Macro expansions ? My assumption…
Abhijit K Rao
  • 1,097
  • 1
  • 8
  • 18
4
votes
1 answer

STM32F4 microcontroller serial wire debug not working

I am using the STM32F4 discovery board - http://www.st.com/st-web-ui/static/active/en/resource/technical/document/data_brief/DM00037955.pdf And I am trying to debug via "printf"-like statements using the Serial Wire Viewer in the ST Micro STLink…
JDS
  • 16,388
  • 47
  • 161
  • 224
4
votes
4 answers

Does using global variables increase or decrease performance, in C code compiled for ARM7?

Does using lots of global variables in C code decrease or increase performance, when compiled for an ARM7 embedded platform? The code base consists of multiple C source code files which refer each other's global variables using the extern keyword.…
b20000
  • 995
  • 1
  • 12
  • 30
4
votes
1 answer

How to detect two or more button press (GPIO) at the same time by a microprocessor/microcontroller?

As mentioned in the question , I was wondering whether it is possible for the controller to detect two button press simultaneously. I am new to controller programming and started with the basics - blinking LED, then moved to buttons and now trying…
Messi L
  • 97
  • 2
  • 11
4
votes
8 answers

RS232 Communication - Can I use it to create a steady state signal?

In all honesty, I think the answer is "no;" however, I want to get a second opinion. Basically, I need one micro-controller device to send a steady signal to another one, but the communicate between them is using RS232. So I think that I have to…
Dan
  • 512
  • 1
  • 4
  • 12
4
votes
3 answers

Why 2 LSB's of 32 bit ARM instruction address not used

I am studying the ARM instruction architecture, and I have read that instructions are stored word-aligned, so the least significant two bits of instruction addresses are always zero in ARM state. Thumb and Thumb-2 instructions are either 16 or 32…
Haswell
  • 1,573
  • 1
  • 18
  • 45
4
votes
4 answers

Echo Program in between Arduino and Python

I want to send some data to an Arduino through pyserial in Python. All I want to the Arduino to do is read the variable length string data from the serial port, and write it back so that Python can read it. Since I've been unable to do that, the…
JohnS
  • 1,192
  • 1
  • 11
  • 22
1 2 3
99
100