Some notes when pure software programmers transform to Embedded System Engineers

Source: Internet
Author: User
Some of the information that should be paid attention to when pure software programmers transform to Embedded System Engineers-general Linux technology-Linux programming and kernel. The following is a detailed description. However, many programmers who have been engaged in technical work for many years may have problems to adapt to if they are not engaged in technical work. They may not feel suitable for the transformation methods such as marketing, management, and self-startup. If you still decide to engage in technical work after 30-35 years old, you can also choose to switch to embedded system development, that is, pure software programmers to become embedded system engineers.

Industry-recognized: Embedded System Engineers, including hardware engineers and embedded software programmers, have a longer life cycle than pure software programmers and are relatively more well-paid. The main reason is that embedded systems are mostly used in industries and other fields. In these fields, the application of embedded systems is ever-changing, and the degree of maturity, reliability, and cost of technology are the core issues that determine system selection, there are few flashy things. Like Microsoft and Intel, they monopolize the PC market's hardware and software, and it is hard to combine them to save money from users' pockets. New technologies are often not the target of pursuit, mature technologies are more acceptable. For example, 8051 series single-chip microcomputer has been used for more than 20 years and is still widely used.

As the transformation is about to be completed, I will sum up my experiences and lessons. I will give some comments and discuss some issues that should be paid attention to when pure software programmers transform to Embedded System Engineers:

1. Clarify a misunderstanding-WinCE and embedded Linux are not exactly the same as Embedded System Development

Currently, when it comes to embedded systems, it is easy to talk about WinCE and embedded Linux. NET Compact Framework and j2s, many pure software programmers have learned WinCE development and embedded Linux development, and they think they are getting started or proficient in embedded system development. In fact, WinCE and embedded Linux are only embedded operating systems (eOS). They all come from the corresponding PC operating systems-Windows and Linux ,. NET Compact Framework and j2s also come from the corresponding PC Virtual Machine Platform --. NET Framework and J2SE. These eOS and Virtual Machine platforms can only be used for high-end embedded system hardware, such as mobile phones or PDAs. The hardware used for software development is a mature hardware platform, for example, a finished mobile phone/PDA, or a lab board with tft LCD and touch screen, the embedded software development is extremely similar to the corresponding PC software development, and even similar, rarely deal with hardware directly. This type of embedded system development is only a small part of embedded system development. It is mainly used for the development of consumer electronic products and rarely used in the industrial field.

2. hardware capability improvement is critical

Embedded system development involves more knowledge than pure software development, and embedded system engineers may pay several times as much as pure software programmers. This is because the embedded system is "embedded", that is, the generalized computer software and hardware system used in a large system or product. It is very easy to involve cross-discipline and fields, for example: an embedded system used inside an intelligent electric power meter must be developed by engineers to understand the power related knowledge. an embedded system used inside an intelligent chemical Meter, engineers must also understand the chemical industry knowledge during development. Otherwise, they may not be able to complete development well, but may also encounter problems that products cannot adapt to special environments in the electric power, chemical industry, and other industries, it may even lead to serious electric and chemical accidents due to wrong development. On the other hand, because embedded system development includes hardware development, even software development can easily directly involve hardware, therefore, improving the hardware capability becomes a key issue for pure software programmers to transform to embedded system engineers.

For pure software programmers who lack hardware and circuit basics, it is very important to improve hardware and circuit capabilities when transforming to embedded system engineers. There is no shortcut to this. On the one hand, it is the learning of basic knowledge, the focus is on the contents of the courses such as analog electronic technology, digital electronic technology, and computer composition principles that have been learned in the university. On the other hand, it is the most important thing to do this, I have never heard of any electronic experts who have developed books and endorsements. They have all been practiced by soldering iron and multimeter. They have purchased necessary materials and tools such as components, soldering iron, multimeter, and programmer, design the circuit by yourself, and manually weld the lab board and circuit. Do not rely on the finished lab Board. This is an effective way to improve the hardware capability of the embedded system, in this regard, do not be afraid of "bleeding"-the income after learning will be worthy of you, but you must be able to sit on the bench at the time of study-the attitude of learning technology should be the same.

3. Do not blindly remember

Some embedded software development and DOS software development have some similarities, such as completely transparent hardware, a large number of C and even assembly languages, etc, many pure software programmers in the DOS era are easy to get nostalgic about embedded software development and think that DOS software development is back. Proper nostalgia is also indispensable, but if we think that embedded system development is a copy of DOS development, it would be a big mistake. As mentioned above, embedded systems are more involved in the field, from low-end 8051 to high-end arm9-and MIPS64, software from assembly language. NET Compact Framework and j2s, modern software development ideas-object-oriented, design patterns, architecture, software engineering, etc. are still guiding embedded software development, and there is a gradual and in-depth trend. Blind nostalgia will affect your learning of new technologies, new knowledge, and new ideas. Note: even if the development of new technologies in embedded systems is slow, new technologies are still emerging in large numbers, A circuit consisting of several chips in the past 10 years may now only require one SoC MCU, and a software development scale of several hundred lines of thousands of assembly language programs 10 years ago, at present, 8051 of the software development scale may reach thousands or even tens of thousands of lines of C language programs. It is impossible not to introduce modern software development ideas. "The waves of the Yangtze River are pushed forward, and the waves die on the beach." This tells us to give up learning and only make ourselves obsolete more quickly. This is true for pure software development, as for embedded systems. Although the embedded system does not have many flashy updates and upgrades, it relies more on the experience of engineers and is suitable for the transformation of the old generation of programmers with solid foundations and rich experience, however, this can only be said to be more suitable for the actual situation of the older generation of programmers. It does not mean that after the transformation, you can give up learning new technologies, new knowledge, and new ideas.

A pure software programmer chooses to transform to an embedded system engineer. This is a path full of difficulties and obstacles. However, once this path is selected, it may lead to unexpected success. May China's embedded system development industry be ignited as soon as possible!
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.