Thursday, May 23, 2013

How to become a qualified software engineer for embedded systems

Embedded systems software engineers generally refers to those engaged in the field of embedded system software and master the basic knowledge. On an embedded system software engineers, the employer will pay particular attention to those in the field you have specific vocational skills, such as you are good driver software for embedded systems development, or embedded system application development, or embedded system testing; mastered you specifically what kind of operating system, whether there is a certain structure of an embedded system for embedded systems software development skills. So, people often follow the operating system or hardware architecture to subdivide embedded systems software engineers, such as embedded systems ( Linux ) engineers, embedded systems ( WINCE ) engineers, embedded systems ( ARM ) Engineer, Embedded Systems ( MIPS ) engineers.
    Many want to enter the field of embedded systems students will always experience a thought process, that is, at first did not know what needs to learn the knowledge, then just do not know why you want to learn this knowledge, then there does not know how to learn this knowledge, to the last is I do not know how to use that knowledge
    Simply put, to become an embedded systems software engineer, the basic requirements are:

  1. Have basic knowledge of computer hardware and software
  2. Master a programming language embedded systems
  3. Master a set of embedded system development tools
  4. Master an embedded operating system
  5. Master an embedded system architecture
  6. Mastered the field of embedded system applications industry basics

    This is the embedded systems software engineer minimum professional skill requirements.Specifically listed below
1. Become a qualified embedded system software engineers need to have the condition.
A clear direction of their development, and to develop a viable career plans total uncertainty of the future may be a lot of students do, so for professional learning simply do not plan or analysis, but holding the attitude of take things one step. This idea will tend to go through the subconscious hint yourself, leading eventually you become idle, mediocrity. If you are from now on, to determine their own direction of development, develop career plans and pay the actual action, then wherever you go in the future is technology, management direction, or start their own businesses, or even whether you are still in the future implementation of the plans you are now, You will receive capabilities.

2. With both theory and practice, the quality of both Mind and Body 
 A qualified embedded systems software engineer, is to really understand the nature of the embedded system software products and software product development spirit and essence of man. Grasp the embedded system software development language, applied linguistics tools to solve specific problems at work to complete the objectives and tasks of embedded systems software engineer's work. However, embedded systems software engineer this perspective, this is only the external things are not important, the nature of work for. Learning and the acquisition of embedded system software product development of theoretical knowledge, software development methodologies, and in practice comprehension, application software product analysis, design, implementation ideas to solve specific problems embedded system software product development, embedded real System Software Engineer necessary literacy.

3. In-depth understanding of the concept of embedded systems

  • From hardware to understand. Embedded system hardware is based on the traditional CPU peripheral devices, integrated into the CPU chip. Such as relatively high-end ARM class Intel Xscale architecture under the IXP network processor CPU integrates a PCI controller also integrates three months NPE network processor engine.
  • From software to understand. Embedded system is to customize the operating system kernel will be selected into the application, compile the kernel will be downloaded to the ROM medium. In the custom operating system kernel selected application group member is to complete the software " embedded " . For example WinCE kernel customization, there will be the appropriate choice, which is to Wordpad , PDF , MediaPlay so choose. If we choose, and in the CE starts, you can find these things in the interface.
  • To understand from the implementation. The software kernel or application to write to the file system and other things embedded system hardware platform ROM, on the realization of a truly "embedded " .

4. The embedded system, hierarchical manner known 
    Embedded system is divided into four layers, hardware layer, the driver layer, operating system layer and application layer:

  • Hardware layer: the entire embedded system simply, if you are right Microcontroller and very familiar with the interface piece and can C language and assembly language programming, then the hardware layer from embedded systems is relatively easy to do it. Embedded systems hardware layer is the foundation, but still rely on value-added software embedded systems.
  • Driver layer: To be able to read circuit diagrams should be able to very proficient in the operating system kernel, so that drivers written in a system call, the operating system does not monopolize the time slice, and lead to other tasks can not run. Of course, do not understand the operating system kernel architecture and real-time scheduling resistance, without a good driver programming style, just follow Introduction to add drivers, a lot of people can do, but this is just a junior embedded systems Driver Engineer lowest level.
  • Operating System layer: In the main work of the operating system layer or transplantation, and very few people have been written from the operating system.
  • Application layer: need to know programming languages, development tools, know that in Linux / Windows and other operating system how to program, function calls, master compiler and development environment.

5. Master operating systems, programming tools and programming environments
    Proficient in programming embedded systems is the most important requirement because programming embedded systems software engineers spend most of the time working, so the embedded system software engineer must be familiar with the operating system and embedded hardware architecture, able to understand such the contents of hardware registers a class, master-based board-level assembly and C programming, to understand the hardware interface circuit design, master environment based on embedded operating system applications and tool chain, such as Linux under the ARM tool chain and so on.

6. Skilled use of embedded system development platform 
    Embedded system development environment is that you learn how to develop an experimental platform for embedded systems projects. In the training, you can contact an experiment carried out with considerable practical effect of the teaching experiment platform, this teaching experiment platform must add specific development modules to form an actual development system. Having an experimental platform for embedded systems, embedded systems can greatly help beginners become familiar with and master the software embedded systems. Familiar with an actual embedded system development platform, and able to engage in the development of a specific project, is to get the actual conduct of embedded system software development experience to pass.

If you meet the above these requirements, you can become a qualified embedded systems software engineer. Of course, the really good software engineer for embedded systems is to rely on the accumulation of work can be formed, and this is also used to measure the actual working time of.

No comments:

Post a Comment