Thinking of embedded development based on software development

Source: Internet
Author: User

Because my professional direction is the direction of computer architecture, usually do the embedded aspects of the experiment and more projects, this semester to learn software engineering courses, so I would like to take this opportunity to summarize the knowledge in software engineering above, and see if there is anything to learn from the embedded direction of the development above go.

First of all, I would like to summarize the differences between software development and embedded development. As a software development, first of all should start from the user or user needs, understand the user wants you to achieve what function, and to the concrete realization, sometimes but the limit is not so dead. As for the development of embedded, the demand is the same, but the way of implementation is obviously different from the traditional software development. For programming languages, different embedded development platforms have different compatibility requirements, meet the good can use C + +, the requirements of the High is C, or Class C, and then incompetent is the assembly language, but also a variety of assembly language. Why is there such a limit? I think it is for the cost of consideration. For example, a person refrigerator, to control the function of the whole refrigerator, do not need a very powerful processing core, and as long as the basic temperature can be met, the refrigerator control signal is sufficient, obviously do not need to add a C + + compiler to achieve control, which not only wasted a lot of storage space, and the effectiveness of the implementation is not helpful but will have a blocking effect, not worth the candle. If the use of assembly language to achieve, one compile without difficulty, basically through the logic circuit can get executable machine code, and secondly no complicated program logic, the pressure on programmers is not very large. Visible, in the embedded development process, in addition to consider the requirements, but also to consider the cost of your implementation. In the software engineering is not obvious indicators, change in the embedded development process in the case is very different.

So, what can I learn from the software in a common course? I think that should be the idea and process of this kind of engineering development. The benefit of an engineering approach is that you can be clear in your development process, know what you're doing, know what you're going to do, know what you're not doing, and manage your project with a holistic image that's clear and straightforward. In the process of embedded development, especially need such engineering method, one because the use of low-level programming language can not make the program structure at a glance, when in addition to add annotations, a better way is to use the graph structure to describe the design you do, because the graph structure can really describe some of the areas of the language, This makes it possible to understand where the development is going, each time it is described by a reading graph. There is a lot of testing work at the end of embedded development, and the analysis of test data can be used for reference in software engineering. There are many other aspects, but just two points above, I think it has been able to enable me in the embedded development process improved.

Thinking of embedded development based on software development

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.