Software development is quite popular, but what is embedded development?
Embedded Development
Is there a future? These questions are all questions from students who want to learn embedded development. Now we will introduce what is embedded development?
What is embedded development? Is there a future?
Embedded Development operating system refers to the application-centric, computer technology-based, software and hardware can be tailored to the application system functions
Dedicated computer systems with strict requirements on reliability, cost, accumulation, and power consumption. For example, the distribution control system and factory assembly line from large to oil fields, from VCD machines or mobile phones at home, or even a general PC terminal
The secondary keyboard, mouse, hard disk, and modem are all controlled by the embedded processor.
The advantage of engaging in embedded development is
(1) people at home and abroad are scarce. On the one hand, it is because this field has a high entry threshold, not only need to understand the underlying software (such as operating system-level, driver-level software), software
Professional level requirements are high (embedded systems have high requirements on the time and space efficiency of software design), and must understand the working principle of hardware, so it is difficult for non-professional IT staff to switch into this field; on the other hand,
This is because this field is relatively new and is developing too fast. Many software and hardware technologies are not long or are emerging (such as arm processors, embedded operating systems, and MPEG wireless communication protocols ), master these new
Of course, technical personnel are very interested. Embedded talents are scarce, and the value is naturally high. The more experienced, the higher the price. In fact, there are few embedded talents. The root cause may be the unconditional contact of most people.
Development Board and software. In addition, experienced people are required to guide the development process.
(2) Unlike enterprise computing and other application software, the work intensity of talents in the embedded development field is usually lower (but the income is not low ). IT enterprises engaged in enterprise application software have finished their systems,
The next user needs to be created, and each user's needs and completion time must be changed according to the customer's requirements, which is often exhausted and repetitive. In contrast, companies engaged in embedded systems all have their own product plans,
Act at your own pace. The products developed are generally generic and will not be modified by customers. After a product model is developed, there is often a long period of time (or only minor repairs to the software)
And have time to charge and take off. In addition, the scope of work for each person engaged in embedded software is relatively narrow, and the scope of professional technology involved is those (ARM, RTOS, MPEG, 802.11
And so on). After a long time, these things will become more experienced, sell old books, and give some guidance to those who are new to the store for half a year. For application software, the next customer may need to switch to a completely different software
Platform, it's hard.
(3) If you want to start a business and develop your own products, embedded development is a good idea, which is not as easy to be pirated as application software. The Civil Engineering Institute has a company named Qi Xing.
It seems like a PDA called "engineering e" (there is an advertisement at the entrance of the south campus). construction technicians can use this PDA to carry out the civil project budget and other civil engineering calculations on the spot. It is said that the sales are very good. A university teacher I know,
He developed a la carte PDA for restaurants (wince platform, which can be connected to the Internet via wireless connection). According to him, the sales volume is good. The restaurant's PDAs allow customers to order their dishes and show their preferred grades. I remember the year when I went to class 2, class 2, and class 2 at grade 00.
A group of students designed a very functional ordering system as a course project with VC plus when learning windows program design courses. At that time, I really wanted to suggest them make the software into a PDA, and it would probably be sold out.
Road (MacDonald at the South Square of Shanghai Railway Station uses a very beautiful PDA to order food for users, like a decent one ). The hardware design of these PDAs is generally customized by other companies.
OEM), all of which are general-purpose hardware. We just need to design the software and turn it into our own product.
Disadvantages of embedded development:
(1) The entry point is relatively high, and the technologies used are often difficult. If the hardware and software foundation is poor, especially the operating system software skills are not deep, it may not be suitable for this trip.
(2) The number of enterprises in this field is much smaller than that in enterprise computing. In particular, there are a large number of small enterprises engaged in Embedded Development (small enterprises need to start their own products) and fewer well-known large companies (engaged in embedded
Major companies include Intel, Motorola, Ti, Philip, Samsung, Sony, futjtum, bellalcatel, Italian FA semiconductor,
Microtek, advantech, Huawei, ZTE, and other manufacturing enterprises ). These enterprises are used to finding people in hard fields such as electronics and communication. Because our previous graduates are calculated
Therefore, our hospital has less contact with these enterprises. Our hospital is actively working hard and has established contact with its central branch office to seek internships or employment in these enterprises.
(3) There are a few companies that often require masters or above to engage in embedded systems, mainly based on the difficulty of embedded systems. But most companies do not have this requirement, as long as they have experience.
If we study embedded systems, we should focus on embedded software, especially embedded operating systems. For embedded developers, the most important thing is:
(1) master the structure and principle of mainstream embedded microprocessor
(2) An embedded operating system must be mastered.
(3) be familiar with the embedded software development process and have worked on at least one embedded software project.
The most important embedded development courses include:
(1) structure and application of embedded microprocessor: this is a basic course of embedded hardware. Our Institute uses this course to replace the traditional "Microcomputer principle and interface" course (currently there are a few colleges and universities in China)
The IT major has done this, because it is difficult to find the practical use of X86 microcomputer principles and interfaces, just for teaching ). We have said that embedded is a combination of hardware and software technologies. people engaged in embedded software should handle arm processing.
Has a full understanding of the working principle and interface technology, including Arm Assembly command system. If you do not know how the processor works, how can you control the hardware and write the optimal code (embedded
In-class software design, especially the time-space efficiency), how to write the driver (the driver is dealing with hardware) Many companies need to be familiar with arm processors when recruiting embedded software personnel.
If you are engaged in embedded software development in the company, the company will give you a specification (xxxspecification) for the hardware of the intended device. You must be able to understand the most basic information, such as the memory distribution and port usage.
This description (just like x86 assembly), or how to design the software. Some people think that the course of the embedded processor is boring. This is mainly because the hardware courses are abstract.
After completing the experiment in March October, you will be able to see and understand it. Some people are not interested in arm assembly and think that it is enough to use C language for embedded development. In fact, we should not just treat the assembly language as one
Programming Language, learning Assembly is mainly to grasp the working principle of the processor. How can an unfamiliar assembler write the optimal C language code on the processor. In some key aspects of embedded development,
Sometimes you must write an assembly, such as bootloader (or BSP ). Especially in scenarios with extremely high speed requirements (such as DSP processor's high-speed image acquisition and image decompression), currently
It mainly depends on compilation and writing programs (I have seen many companies doing this ). When you work in an embedded company and check the manual describing the principles, many of them may be described in assembly (I have met it ),
This is because many hardware designers only write or like to use the Assembly description. In this case, you must understand the assembly program. Otherwise, the software and hardware personnel may not be able to communicate with each other. Many embedded jobs require familiarity with assembly.
(2) embedded development embedded operating system courses
In addition to the poor real-time performance of wince, most embedded operating systems have strong real-time performance.
Operatingsystem. people engaged in embedded systems must master at least one embedded operating system (Of course, Master two better systems), which is the most critical of all embedded technologies. Currently, the most important RTOS mainly includes:
The first class of embedded development and the traditional classic RTOS: the most important is the VxWorks Operating System and Its tornado development platform. VxWorks appears earlier, real-time
Strong (it is said that external event requests can be responded within 1 ms), and the kernel can be very micro (it is said that the minimum can be 8 K), high reliability, so in North America, vxWorks occupies most of the embedded systems
Jiangshan district. Especially in systems with high real-time requirements such as communication devices, there is almost no such thing as VxWorks. Many concepts and technologies of VxWorks are similar to those of Linux, mainly for C language development.
Communication enterprises such as bell-Alcatel, Lucent, and Huawei use a lot of VxWorks in product development. However, due to the high price of VxWorks, some small companies or small products
Is often unavailable. At present, many companies are switching to embedded Linux (I heard Huawei is switching like this ). However, in any case, VxWorks remains unshakable for a long time. And
Real-time Operating Systems with a slight name like VxWorks include PSOs, QNX, and nucleus.
The second type of embedded development and the embedded Linux operating system: the future of Linux, in addition to serving as a server operating system, is the most successful application in the embedded field, because of course it is free, open
There are many sources, supporting software, and many callers, so the cost of embedded products will be low. Linux itself is not an embedded operating system, not a microkernel, and is not real-time. Embedded applications
There are two main types of Linux systems in the domain: one is a cut-down Linux system designed specifically for embedded systems, the most commonly used is uClinux (without MMU ), large Application shares
Amount, which can be run on arm7. the other type is run on ARM9. generally, the Linux 2.4.18 kernel is transplanted to it and more Linux functions can be used (of course, uClinux is more
Can run on ARM9 ). Many predict that embedded Linux will account for more than 50% of embedded operating systems, which is very important. The disadvantage is that there are too few people familiar with Linux, making development more difficult. Another
At present, we can find that many teaching materials and many universities use UCOS/II as the real-time operating system for teaching. This is mainly because UCOS/II is simple and open-source, suitable for beginners to learn real-time operations
System principle, but because UCOS/II has limited functions and less practical use, our hospital does not take it as the focus of teaching. To learn it, we should learn it directly and practically. For example, uClinux is very practical. More familiar
Linux development is not only useful in the embedded field, but also helpful for Developing Linux application software and deepening the understanding of the operating system.
As far as I know, Intel and Philip are currently engaged in armlinux embedded development, while Fujitsu is engaged in Linux development on its own processor. Currently
In the field of Embedded Linux, the following aspects are particularly difficult to find: first, users who can port Linux to a development version of a new model; second, users who can write Linux drivers; and third, users who are familiar
Linux Kernel Cutting and optimization personnel. The course series of this embedded Linux in our school is: the required course of the undergraduate operating system, then the Elective Course of Linux program design, and finally the embedded
Linux elective course. Our hospital has strong strength in Linux. Teacher Wei and Mr. Zhang are familiar with Linux development, and Mr. Jin and Mr. Tang are familiar with Linux system management.
Embedded Development Category 3, Windows
CE embedded operating system: Microsoft also looks at the huge embedded market. MS is always the most powerful. It has only been a few years since wince came out, but it has already occupied a large market.
Shares, especially when the PDA, mobile phone, display meter and other interface requirements are high or require rapid development, currently, WinCE is very popular (it is said that a company selling Industrial Computers sells very well
It is too late to reduce wince for the customer ). Currently, WinCE is mainly version 4.2 (. NET), and the development platform is wince platform.
Builder, sometimes using EVC environment to develop some upper-layer applications, because wince development is a VC environment that everyone is familiar with, so our school has learned the same Windows Programming Course
This is why wince is easy to accept. The Development Environment
China Union Market Research Network
The survey found that the embedded system products have been well developed in recent years and have been widely used in various industries around the world. Embedded Development is also popular. The development and application of embedded system products have become a new growth point of national economy in China's informatization drives industrialization and industrialization promotes informatization development.Research Report on Embedded Software Market Analysis
Submit
Embedded is even more important with the intelligence of consumer appliances. Mobile phones, PDAs, electronic dictionaries, videophone VCD/DVD/mp3player, digital cameras (DC), and numbers
Word camera (DV), udisk, set-top box (St
Box), hd TV (HDTV), game machines, smart toys, switches, routers, numerical control devices or instruments, automotive electronics, home appliance control systems, medical instruments, aerospace devices, etc, are typical
Embedded system. It is predicted that with the rapid development of Internet and the appearance of low-cost microprocessor, embedded systems will form a larger application field in daily life. Therefore, embedded development is promising.