Current location - Education and Training Encyclopedia - Education and training - What equipment is embedded in Japan? And development platform? Now studying in Japan wants to learn the embedded direction! Please master the advice! Show me the learning steps.
What equipment is embedded in Japan? And development platform? Now studying in Japan wants to learn the embedded direction! Please master the advice! Show me the learning steps.
Learning planning of embedded Linux operating system

ARM+LINUX route, focusing on embedded LINUX operating system and its application software development goals;

(1) Master the structure and principle of the mainstream embedded microprocessor (tentatively named arm9).

(2) Must master an embedded operating system (initially designated as uclinux or linux, version to be determined).

(3) Must be familiar with the development process of embedded software and do at least one embedded software project.

The advantages of engaging in embedded software development are:

(1) At present, people in this field are scarce at home and abroad. The entry threshold of this field is high, and IT is difficult for non-professional IT personnel to cut into this field; On the other hand, because this field is relatively new and developing too fast at present, most people have unconditional contact.

(2) Different from application software such as enterprise computing, the work intensity of talents in embedded field is usually low (but their income is not low).

(3) If one day you want to start a business and make your own products, embedded software is not as easy to be pirated as application software. Hardware design is usually customized by other companies (this is called "OEM"), which are common hardware. We just design software and become our own products.

(4) Interest, which is the most important thing.

The disadvantages of engaging in embedded software development are:

(1) has a high starting point, and the technology used is often difficult. If the software and hardware foundation is not good, especially the operating system-level software foundation is not deep, it may not be suitable for this trip.

(2) The number of enterprises in this field is far less than that of enterprise computing enterprises.

(3) A few companies often require people with master's degree or above to engage in embedded technology, mainly based on the difficulty of embedded technology. But most companies don't have this requirement, as long as they have experience.

(4) Strong platform support makes it difficult to change platforms.

The origin of interest:

1, different concepts of success, not wasting my life, is my success.

2. Like to think and challenge logical thinking.

3. for example, c

C is a language that can exert the limit of thinking. Some aspects of the spirit of C can be summarized as the following short sentences:

Trust programmers.

Don't stop programmers from doing what needs to be done.

Keep the language concise and clear.

The method of operation.

Let it run fast enough, although it can't guarantee portability.

4, like the underlying development, hate vb development tools (not to say that vb is not good).

5, good development prospects, suitable for entrepreneurship, dying and not wanting to be an engineer.

Method steps:

1, basic knowledge:

Goal: I can understand the working principle of hardware, but focusing on embedded software, especially operating system-level software, will be my advantage.

Subject: digital circuit, computer composition principle, embedded microprocessor structure.

Assembly language, C/C++, compilation principle, discrete mathematics.

Data structure and algorithm, operating system, software engineering, network, database.

Methods: Although there are many subjects, they are all simple foundations, and most of them have been mastered. You don't have to study all of them, but you can take elective courses as needed.

Main books: c++ Programming Language (I haven't had time to read it) and Data Structure-C2.

2. Learn linux:

Objective: To master the linux system deeply.

Methods: linux kernel was analyzed by using linux-> LINXU system programming development-> driver development. Look deep first and then explain the principle. I have read it several times, looking at the situation analysis and comparing the depth. The two books cross, the depth is the key point and the emotion is the purpose. The analysis is 0. 1 1 version, which is suitable for learning. Finally, go deep into the code.

Main books: Full Analysis of linux Kernel, Advanced Programming in unix Environment, Deep Understanding of linux Kernel, Scenario Analysis and Source Code Generation.

3. Understand embedded linux:

Objective: To master the embedded processor and its system.

Methods: (1) The structure and application of embedded microprocessor: only the principle and assembly of arm are discussed, and x86 is not repeated.

(2) Embedded operating system class: ucOS/II is simple, open source and can be used for getting started. Then study uClinux in depth.

(3) You must have a development board (above arm9) and have the conditions to participate in training (you can make rapid progress and make some friends).

Main works: Mao's embedded system and other arm9 manuals and arm assembly instructions.

4. In-depth study:

1. Digital image compression technology: We should master the encoding and decoding algorithms and technologies such as MPEG and mp3.

B communication protocol and programming technology: TCP/IP protocol, 802. 1 1, bluetooth, GPRS, GSM, CDMA, etc.

2010-8-2116: 46 reply

122.90. 173.* Second floor

C. Network and information security technologies: such as encryption technology and digital certificate CA.

D, DSP technology: digital signal processing, DSP processor realizes digital signal processing algorithm through hardware.

Note: Too many details are not explained, which can be adjusted according to the actual situation. The key points are 1 and 3, and you don't have to do it all in sequence. The reason for learning c++ is that c++ is not only a language, a tool, but also an art, a culture and a philosophy, but it is not something to show off. For linux kernel, you also need to learn programming and read some excellent codes.

Note: learn to draw inferences from others and have a solid foundation. You can learn a lot simply by observing. To be a qualified programmer, you must be proficient in at least one programming language and have good logical thinking. We must combine theory with practice.

Don't blindly delve into technology. Although it is difficult to find time, we should also leave some space to perfect other hobbies, such as the universe, sketching, machinery, management, psychology, games and science fiction movies. There are still some things you don't want to do but have to do!

Technology is programmed by programming. Don't dream of reaching the sky in one step, don't be an impetuous person, and don't feel that the road is long and Xiu Yuan is Xi. Programming, programming, programming, programming! Start a business when the opportunity comes (don't believe in miracles, blind success is difficult, and even if you succeed, there may not be much room for development).