The author should be able to calculate the first batch of Linux in China, and the first time the computer market is high-end configuration or 486 when doing developed on Linux. With the increase in project experience, I deeply feel that there are still many misunderstandings in China, especially in embedded development, and now I still have many projects on the Linux platform, but I think, for embedded Equipment, Linux is not the first choice in most cases, and it is even as a result. In addition to Linux, you still have a lot of choices:
Nowadays, the popular operating system is eight, below, I will tell the other class:
With the development of the IC industry, there have been more and more low price, compact CPUs and peripherals. The bottlenecks that limit the development of embedded systems have highlighted the software. Although some embedded operating systems have emerged from the end of the 1980s, there are more famous VxWork, PSOS (have been acquired), QNX, NECULEUS, Windowsce, Palm / Webos, etc. However, these private operating systems are commercial products, and their high prices have made many small companies in low-end products; and the source code closure also greatly limits the enthusiasm of developers.
In another aspect, these commercial operating systems often have very perfect technical support and rich software packages. Take WinCe as an example. His Platform Bulider installation CD has 7, accommodated a large number of application frameworks, users based on official examples, only You need to do a lot of changes to generate an app. There is not much difference between work strength and normal PC.
At present, the development of the open source embedded system headed by Linux is strong, and there is a representative of Linux (including Uclinux, RTLinux, etc.), RTEMS, ECOS, UCOSII, etc. Domestic users use Linux and Ucosii. But I think that all systems have their own reasons. In most projects, I recommend it to customers who are not Linux and Ucosii, but RTEMS and ECOS. Reasons are very simple, Linux is too complicated, slow, real-time sex; UCOSII is too simple and requires royalty.
Linux is not designed for embedded systems, and now Linux2.6's kernel source compressed package size is more than 30 megabytes. The Linux source code parses that many people have seen the head to the end. This causes many problems that cannot be resolved. Previously, a customer requested Linux to do a bottom router, we used a relatively mature ARM UCLinux system, as a result, the system will not be deadline, and there is no result for a long time. After a few months, I found a bug in UClinux itself. During the period, the customer missed several big orders because the system was not stable enough. Thereafter, another Linux system is used for VoIP gateways, with the result, running speed is very slow, and the resource consumption is also very large. There is almost no way to meet the design requirements. Later, modified ECOS, not only reach the codec speed requirements, but also, whether it is for memory or Flash, it is greatly reduced. Such a project will be held, and later summed up an experience, Linux is used to do Demo versions, commercial versions use other RTOS.
In fact, there are still many examples, now, many embedded system design services provide commercial movements that are Linux, which seems to take Linux and embedded systems. Why? Nothing because of the following reasons:
1 Operating System Source Code Open 2 online resources, it is likely to find an open source of open source, which can greatly reduce the development cycle 3 programming interface is convenient, familiar, there is almost no difference in the development of the plane, 4 upper applications, and open Source 5 Low-level Interface Unified 6 TCP / IP and other protocols come with the protocol, but I think this is not enough. Let's take a look at Linux so-called advantages: 1. "Open Source" Many embedded systems are open source such as ECOS, RTEMS, NetBSD, and more. These systems are easy to understand than Linux. In addition, it is worth mentioning. Linux is a GPL protocol, that is, any changes to Linux must be disclosed. NetBSD and other systems are not, they follow more open BSD protocols, you have the right to keep confidential for any changes to the system. This is very important for commercial systems. 2. "Rich online resources" ... I can only say that other systems apply resources very rich. However, in general, Linux resources are rich than other systems, mainly reflected in the desktop system, and there is no significant advantage in embedded field applications. 3. "Programming interface is convenient, familiar, there is almost no distinction between the programming interface" programming interface, ECOS, RTEMS, and NetBSD provide POSIX API, which means that the code above Linux is hard to make changes. Transplanted into the above system. 4. "The upper application is rich, and the source code" embedded system is mostly used for professional purposes, many upper applications such as GNOME / KDE, in the embedded field, is not too large to use 5. On the one hand, the bottom of Linux is very complicated in the "low-level interface." The hierarchical structure leads to the efficiency of the drive. 6. "TCP / IP and other protocols comes with" almost all embedded systems provide TCP / IP, this is not a patent of Linux. In addition, Ucosii also has a lot of problems, and he is very simple. He is not like that most people think about it, and his free is only in his education version. If you make something to export to the EU with ucosii, it is likely to be kaka. And UCOSII is very free, it needs TCP / IP? Pay money, need file support? Say money ... This leads to the free version of UCOSII can only be counted as a toy. Really good embedded system should meet 1-6, which should also have the following points, pay attention, these have always been Linux's scorpion 1 real-time support (don't think that RTLinux is very good, he only improves some improvements Stempory 2 Resources Take a small 3 to support low power consumption ... In addition, using Linux while reducing software costs, it will greatly improve hardware costs, as if some programs can run with 386 DOS, now I have to replace 586 windows2000 costs The improvement does not say, the speed will only slow. Now the market is competitive, many hardware equipment profits are only a few dollars. If you use Linux, it is very likely that the cost is not controlled.
In short, Linux is only suitable for high-end embedded systems (such as commercial routers, etc.), if the CPU <100MIPS, it is best not to use Linux.