How can we cultivate the true embedded elites?

Source: Internet
Author: User

How can we quickly become an embedded master? In fact, there is no shortcut to do the project. Let's hear from one of the following experts! What is the true story?

Hardware first:

I am familiar with your digital circuit teaching materials and Analog Circuit Teaching Materials. Now I am focusing on the digital circuit, and then I am familiar with the microcomputer principle and interface technology, it is best to write a few simple programs on the machine for debugging. This is very important.

It takes about half a year to complete the above work. No matter how intelligent you are, it will take at least half a year unless you have played a good job on this basis! There is no shortcut to that sentence. If you believe in what is "21 days learning xx", I will tell you, just give up on the project! Besides, you learned this easily, and other people can. Are you sure you can get a high salary?
The next step is to select a DSP (or other embedded CPU) platform as your target platform. First, familiarize yourself with its architecture and interfaces with peripheral circuits, and then learn her instruction set, you also need to write some small programs to run. At this time, you should buy a Development Board. The general manufacturer will provide you with some demo programs, understand it, understand it, modify it, and run on your board.

The two steps above indicate that you have already entered the industry. If you want to become a master, you can design projects by yourself, the time spent in this phase is different for everyone. It depends on your creation (mainly on whether the previous foundation is solid.

Let's talk about the software:

In the embedded industry, if you want to develop software, nothing else, you should have a deep understanding of the C language, especially the C pointer. If you have learned C before, but if you are not aware of the advantages of C compared to other advanced languages (rather than listening to others, you can understand it yourself), you can follow the steps below to understand C:

1. Repeat the C textbooks and remember some common C syntaxes, but do not use the limit syntax;

2. Understand C from the compiler perspective;

From the perspective of compilation principles, you can understand the advanced languages used in your work. If you do this, there are at least two advantages:

The first advantage is to avoid a lot of low-level repeated compilation errors. On average, a good coder should complete more than 200 lines of source code in one working day, and its compilation errors should be controlled below 5 lines. You need to know that these 200 lines of source code are not completed at once, therefore, in most cases, You need to implement a compilation;

The second advantage is that it can improve the readability and efficiency of the source code. Writing your code in a standardized manner makes your logic clear, because you understand that the compiler automatically recognizes the addition of several parentheses and empty lines, line feed alignment, and comments, it does not affect the efficiency of program execution. In turn, controlling recursive calls and if statements in the loop is the key to improving program efficiency. We must avoid recursion at all, but we must have a deep understanding of recursion, it is highly demanding to build a stack to convert recursive Programs into non-recursive Programs!

3. Understand C from the hardware point of view.

After completing the above three steps, you are the master of C. Next, you should read the software engineering books. I still don't know much about this. I dare not say anything about it.

In addition, let's talk about the choice of Teaching Materials: to learn a course and choose your teaching materials, you only need one. Resolutely prevent this situation: I borrowed a lot of books from the library, like a robbery, but I just gave them back to the library! Note that I put the assembly language in the hardware Learning Section, because the Assembly is too closely related to the hardware, so that learning Assembly first or hardware circuit and CPU architecture has become a millennium philosophical challenge to identify whether there is a chicken first or an egg first.

Overview of Embedded Operating Systems

In fact, embedded systems are not a new thing. Since 1980s, some international IT organizations and companies have started to develop commercial embedded systems and specialized operating systems. Some well-known embedded systems have emerged:

Windows CE

Microsoft Windows CE is a multi-thread, complete priority, and multi-task operating system designed for a platform with limited resources. Its modular design allows it to customize user electronic devices from handheld computers to dedicated industrial controllers. The basic kernel of the operating system requires at least KB of Rom.

VxWorks

VxWorks is the most widely used and market share system in the field of embedded systems. It supports multiple processors, such as x86, i960, Sun iSCSI, Motorola mc68xxx, MIPS rx000, and Power PC. Most VxWorks APIs are proprietary. Use GNU compilation and debugger.

PSOs

ISI has been merged by winriver, and PSOs is now a product of WinDriver. This system is a modular, high-performance real-time operating system designed for embedded microprocessor. It provides a fully multi-task environment that provides high performance and high reliability on customized or commercialized hardware. Developers can customize the systems required by each application based on the features and memory requirements of the operating system. Developers can use it to implement a simple single independent device to a complex, networked multi-processor system.

QNX

QNX is a real-time, scalable operating system that partially complies with POSIX-related standards, such as posix.1b real-time extension. It provides a very small microkernel and some optional matching processes. The kernel provides only four services: process scheduling, inter-process communication, underlying network communication, and interrupt processing. The process runs in an independent address space. All other OS services are implemented as collaborative user processes, so the QNX kernel is very compact (qnx4.x is about 12 Kb) and runs extremely fast. This flexible structure allows users to configure the system as a tiny embedded operating system or a super virtual machine operating system that includes hundreds of processors according to their actual needs.

Palm OS

3Com's Palm OS shares a large market share in the PDA market. It has open operating system application interface (API ), developers can develop their own applications as needed.

OS-9

Microwave OS-9 is an operating system designed for the key real-time tasks of the microprocessor. It is widely used in high-tech products, including consumer electronic products, industrial automation, wireless communication products, medical instruments, digital TV/multimedia devices. It provides good security and fault tolerance. Compared with other embedded systems, it has outstanding flexibility and scalability.

Lynxos

Lynx real-time systems's lynxos is a distributed, embedded, and scalable real-time operating system that complies with posix.1a, posix.1b, and posix.1c standards. Lynxos supports the thread concept and provides 256 global user thread priorities. It provides some traditional and non-real-time system service features, including virtual memory based on call requirements and a Motif-based user GUI, network systems and application development tools compatible with industrial standards.

At present, many commercial embedded systems in the world are striving to win their shares in the embedded market. However, these dedicated operating systems are commercial products and expensive. Moreover, because their source code is not open, the application software on each system cannot be compatible with other systems. Moreover, due to this closeness, the commercial embedded system has a great problem in supporting various devices, making it difficult to transplant their software. In the new key field of the embedded IT industry, the Linux operating system has appeared in front of various embedded manufacturers in China and in a timely manner. Thanks to the many advantages of Linux, it has attracted the attention of many developers, it has become a new favorite of embedded operating systems. Its emergence undoubtedly provides a very attractive opportunity for the country to develop its embedded operating system business.

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.