New School: learning and planning for embedded Linux operating systems

Source: Internet
Author: User
The ARM + LINUX route focuses on the embedded Linux operating system and its application software development goals: (1) master the structure and principles of mainstream embedded microprocessor (initially set as arm9.) (2) must master

The ARM + LINUX route focuses on the embedded Linux operating system and its application software development goals:

(1) master the structure and principle of mainstream embedded microprocessor (initially set as arm9)

(2) you must master an embedded operating system (the initial version is uclinux or linux, and the version is to be determined)

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

The benefits of developing embedded software are:

(1) at present, there are very few people at home and abroad, and there is a high entry threshold in this field, 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 currently growing too fast, and most people are unconditionally engaged.

(2) unlike enterprise computing and other application software, the work intensity of talents in the embedded field is usually lower (but the income is not low ).

(3) If you want to start a business and build your own products, embedded systems are not as vulnerable to piracy as application software. hardware design is generally customized by other companies (this is called "OEM ), they are all general-purpose hardware. we just need to design the software and turn it into our own product.

(4) interest. this is the most important thing.

Disadvantages of developing embedded software are:

(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.

(3) There are a few companies that often require master's degree or above to engage in embedded systems, mainly based on embedded difficulty, but most companies do not have this requirement, as long as they have experience.

(4) it is difficult to change the platform because of its strong reliance.

Origin of interest:

1. the concept of success is different. if you don't trust your life, it is my success.

2. I like thinking and challenge logical thinking.

3. C

C is a language that gives full play to the limits of thinking. some aspects of C's spirit can be summarized as follows:

Trust programmers.

Do not stop programmers from doing what they need.

Keep your language short and lean.

One method is used for one operation.

Make it run fast enough, although it cannot be guaranteed to be portable.

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

5. the development prospects are good. it is suitable for start-ups and an engineer who doesn't want to die.

Procedure:

1. basic knowledge:

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

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

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

Data Structures and Algorithms, operating systems, software engineering, networks, and databases.

Method:Although there are many subjects, it is a simple Foundation and most of them are mastered. You can select an optional course based on your needs.

Main books:The c ++ programming language (no time to read), data structure-C2.

2. learn linux:

Purpose:Gain an in-depth understanding of the linux system.

Method:Use linux-> linxu system programming and development-> driver to develop and analyze the linux kernel. Let's take a look at the principle of deep learning. After reading the analysis several times, you can see the situation analysis in comparison. The two documents are cross-cutting. the depth is the outline, and the emotion is the goal. Analytics is the 0.11 version, suitable for learning. Finally, go deep into the code.

Main Books: Completely profiling of Linux kernel, advanced programming of unix environment, deep understanding of Linux kernel, scenario analysis and source generation.

3. learning embedded linux:

Purpose:Master the embedded processor and its system.

Method:(1) embedded microprocessor structure and application: Directly arm principle and assembly, do not repeat x86.

(2) embedded operating system: ucOS/II is simple and open-source for entry. Then we will study uClinux in depth.

(3) You must have a Development Board (later than arm9.). If you have the necessary skills, you can participate in the training (improving rapidly and meeting some friends ).

Main books:Mao decao's "embedded system" and other arm9-manual and arm assembly instructions.

4. Deep Learning:

A. digital image compression technology: Master MPEG, mp3, and other encoding and decoding algorithms and technologies.

B. communication protocol and programming technology: TCP/IP protocol, 802.11, Bluetooth, GPRS, GSM, CDMA, etc.

C. Network and Information Security Technology: such as encryption technology and digital certificate CA.

D. DSP technology: Digital Signal Process. the DSP processor implements Digital Signal processing algorithms through hardware.

Note:Too many details are not described and can be adjusted according to the actual situation. The focus is on 1 and 3, which do not have to be done in order. The reason for learning c ++ is that c ++ is not just a language, a tool, but also an art and a culture, it is a philosophical concept, but it is not used to show off things. For the Linux kernel, it is also necessary to learn programming and read some excellent code.

Note:We need to learn how to give it a lot and have a powerful foundation. we can simply look at a lot of things. To be a qualified programmer, you must be proficient in at least one programming language and have a good logical thinking. We must combine theory with practice.

Do not study technology. although it is difficult to squeeze out time, you still need to leave some room to improve other hobbies, such as the universe, sketch, machinery, and management, psychology, games, science fiction movies. There are some other things that do not want to do but must be done!

The technology is programmed and programmed. Never dream of entering the sky in one step, do not be impetuous, do not feel that the road is long. Instead, we need to program and program again. after programming, we can program again! Wait for the opportunity to start a business (do not believe that there is a miracle, blindly start a business is difficult to succeed, even if the development space is not necessarily great ).

Related Article

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.