What is embedded programming?

7

Reading a book about programming practices, a passage is sometimes quoted about embedded programming . It does not go into detail, but talk a little about programming in microcontrollers and microprocessors .

What is embedded programming? Is there a specific language to create an embedded system?

    
asked by anonymous 05.02.2017 / 06:59

2 answers

9

As MagicHat commented in your response, embedded programming is focused on codes that run on a specific platform, usually dealing with a specific problem and its practices / techniques differ from those used in desktop applications precisely because of this. In desktop applications it is possible for you to have generic libraries that solve a problem in N different situations, this is because you have almost unlimited memory and disk space, that is, it lacks computational resources. In an embedded application, the scenario already changes completely. For example, in the Arduino Uno development board, which uses the ATmega328P microcontroller, you have only 32 KB of flash memory, 2 KB of SRAM and 1 KB of EEPROM, all running at a 16 MHz clock. limited, so it changes the way you design an application.

Being more limited, the most commonly used programming languages are C and Assembly. C on platforms that have more memory and can work with a little more freedom, as in Arduino, Assembly for when you have the resources even more limited and need to develop a very specific solution.

However, you still have applications running on embedded operating systems, such as the Raspberry Pi platform. There is a Linux distribution just to be boarded on the board where you can basically run any programming language, such as Python, PHP, Java, etc. It is possible precisely because such platforms have more available hardware resources (today 512 KB to 2 GB RAM, in Raspberry, running at 900 MHz).

    
05.02.2017 / 13:40
4

Embedded programming is the name given to programs targeted to embedded systems, which in turn are those that, unlike general-purpose systems, are designed for the use of predefined tasks of specific use, for example a router.

Low-level languages, mostly C and Assembly, are used.

    
05.02.2017 / 13:10