My understanding of embedded software

Source: Internet
Author: User

Embedded software is to the special embedded system design software, and the general PC software is not very different, the main difference in the embedded system on the power consumption and memory size is strictly limited, so the embedded software must be streamlined and efficient.

An embedded system generally contains the following parts: CPU, memory, power supply, interface, function module circuit. And the embedded software is used to drive the hardware to achieve the system's work purpose.

Due to the limited memory of the embedded system, most of the software is written by C, because C++,java and other languages, although convenient, but very much memory, but with the change of memory, C + + will eventually replace C.

As an embedded software engineer, you need to know some knowledge:

1.C is a must, and the level is higher. Embedded software programming with a lot of c usually do not commonly used grammar, such as inline, static and so on. And be aware of the memory consumed by all data types.

2. English user manuals and hardware principles will be read. Many of the hardware in this area is produced in foreign countries, so you should be able to read these documents. For software engineers, hardware is a bunch of registers, so you need to understand what registers are in the hardware, and what each one does.

3. There will be some UI design, although this aspect generally has the professional interface person to do, but also will be a bit.

4. Know how to keep the software up to the new processor architecture, this is to understand the characteristics of the mainstream processor architecture.

5. Know how to debug their own programs, simulation debugging or on-chip debugging, anyway, that several debugging methods.

6. Advanced embedded systems require an RTOS, so understand the operating system as well.

Embedded software layer to cover the hardware, the bottom layer should be the hardware layer, this layer directly to the hardware register operation, is the first layer of hardware abstraction. Then it should be the drive layer, which provides some functional functions of the hardware. Finally, the interface layer, this layer provides the final function to the previous layer of engineers, such as ledlight () This function, the upper layer can directly use this function to light the LED, without knowing the following details.

This is only my one-sided understanding, if there is something wrong, please point out.

Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.

My understanding of embedded software

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.