Several important questions about Embedded Linux/WinCE

Source: Internet
Author: User

Recently, many customers have raised some questions about the development of embedded systems. We feel very representative. Therefore, engineers of iniso have summarized and answered these questions, I hope it will be helpful to engineers who want to do embedded development.

 

1. Do I have to understand the arm assembly instruction set for Embedded Development?
There are many entry-level books in the bookstore. The first chapter is not about arm instruction sets, but about arm cpu resources. This gives many beginners a bad intuitive feeling, to learn about arm, you must understand the Assembly Language and CPU resources. However, there is no practical solution for these two aspects. I just talk about it on paper, but how can I understand it? So it makes it difficult for many beginners to leave.

In fact, the purpose of choosing arm is to run embedded operating systems. The most common ones are Linux and wince operating systems. The embedded operating system provides almost complete C language-based working environment for developers. Therefore, the development based on these two operating systems is as follows, in most cases, there is no need to understand arm's assembly instruction set and all CPU resources first. Of course, with a certain technical foundation, it is also necessary to know about CPU resources. However, we recommend that you understand these problems in practice, instead of learning through reading the so-called entry book at the beginning.

 

2. Do I have to use ads?
As mentioned earlier, many introductory books use the ads or IAR development environment to demonstrate how to use commands in arm instruction sets, in this way, the initial user error is resolved as the development of arm is the use of the ADS Development Environment (this is what I thought at the beginning, thanks to the prompt guidance, in this environment), however, according to different CPUs, ADS settings are very troublesome, because the CPU is very complex, some users often get stuck here and cannot surpass it. After a long time, they give up embedded development.

In fact, ADS is only an environment for debugging and starting code. The CPU manufacturer has already prepared such code, which can also be compiled in the development environment of Linux or wince, you can ignore the use of ads. Of course, if you want to "streaking" on the arm, that's another statement.

 

3. How do I select an operating system?
In addition to the Linux and wince mentioned above, there are dozens of embedded operating systems, except that Linux and wince are the most common and common embedded operating systems. Others focus on the specialized fields. So how can we choose the appropriate operating system among the dozens of operating systems?

First: If your selected CPU does not support MMU, then if you need the operating system, the general choice of uC/OS-II operating system, note that uC/OS-II is not a free operating system, although its source code is public.

Second: If your selected CPU supports MMU, you 'd better choose Linux or wince. The selection between Linux and wince is related to many factors, such as the number of final products, product development cycle, and technical background of engineers. Generally, Linux-based products have a longer development cycle and have higher requirements for engineers. On the surface, there seems to be no license fees. Therefore, it is more suitable for products with large batches and cost-sensitive requirements. On the contrary, because of the complete tools and ease of use, as long as VC engineers can quickly transfer to embedded system application development.

 

4. How do I select a development language?
In the field of embedded development, the first choice is the C language, because C is an intermediate language, that is, it can be used to write applications, but also to write drivers. According to the data, the number of embedded programmers using C language accounts for 70%. The second is C ++. Applications can be written in C ++, which is more convenient. Other languages only account for 1%.

 

5. What is the development environment for Linux applications?
Linux is developed in the form of a public community. Based on this, many commercial Linux development tools are not widely used due to price, availability, and other reasons. At present, most Linux applications are still developed in the command line mode, which requires a higher developer threshold. The program compiled by the user is tested on a PC with Linux, and then compiled into a program running in ARM Linux using the cross-compilation environment.

 


6. What is the development environment of the wince application?
EVC is one of the wince application development tools provided by Microsoft. Its interface is very similar to VC and it is easy to get started. Its advantage is that it is free of charge and there is no copyright issue. In terms of performance, EVC is much better than any Linux development tool. In addition, WinCE can also use Microsoft's visual stdio.. Net integrated development tool for application development (available languages include C ++/C #/Vb), which brings great convenience to application development engineers.

 

7. How can Embedded Development achieve online debugging?
When it comes to online debugging, the first thought of as a single-chip computer engineer is a simulation machine. How can embedded operating systems achieve online debugging? For Linux and wince applications, online debugging can be achieved through the network cable or USB interface, you can set breakpoints and view Real-time debugging information such as register values and variable values. If you want to debug Linux or wince kernel systems, you only need to purchase expensive simulation systems. However, for most engineers, debugging at the C language source code level is enough to meet the requirements. In fact, more often, the printf statement is simply inserted into the application, print out the information you want to view and debug the application. This ensures that the system is running in a real state.

 

8. How can I understand the copyright of wince?
Copyright issues are a big problem that troubles engineers. China Features free of charge, so when it comes to charging, engineers immediately refuse. In fact, the engineer should know how to charge, how much fee is charged, and the fee is unreasonable for enterprises?

When it comes to developing embedded systems based on WinCE, platformbuilder is often mentioned. It is a one-time paid development tool provided by Microsoft for platform developers. Fortunately, if you are only engaged in application development of embedded systems, platformbuilder is not used at all. Microsoft has a license fee for each final product based on WinCE. The most common core license fee for embedded systems is about 30 RMB, the engineer can use this number to compare the cost of developing other operating systems.

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.