Embedded Linux operating System learning planning

Source: Internet
Author: User

Development boards with the friendly arm of the bar
mini2440 even 3.5-inch screen 500 dollars look
There are several DVD learning discs

This is a high reputation


Embedded Linux operating System learning planning
Arm+linux route, focuses on embedded Linux operating system and its application software development goals:
(1) Master the structure and principle of the mainstream embedded microprocessor (initially set as ARM9)
(2) must master an embedded operating system (initially set to Uclinux or Linux, version tbd)
(3) must be familiar with the embedded software development process and at least one embedded software project.
The benefits of engaging in embedded software development are:
(1) At present, people in this area are very scarce at home and abroad. The threshold for entry in this area is high, so it is difficult for non-professional IT staff to cut into this area, on the other hand, because this area is relatively new and is currently developing too fast for most people to contact unconditionally.
(2) Unlike application software such as enterprise computing, the job strength of embedded talent is usually lower (but the income is not low).
(3) which day if want to start a business, engage in their own products, embedded is not as easy as the application of software piracy. Hardware design is generally asked to other companies to order (this is called "OEM": OEMs), are general-purpose hardware, we just design software to become their own products.
(4) Where interest lies, this is the most important.
The disadvantages of engaging in embedded software development are:
(1) The starting point is higher, the technology used often has a certain difficulty, if the software and hardware foundation is not good, especially the operating system level of soft skills, it may not be suitable for this trip.
(2) The number of enterprises in this area is far less than enterprise computing enterprises.
(3) A few companies often want to master more than a person to engage in embedded, mainly based on the difficulty of embedded. But most companies do not have this requirement, as long as they have experience.
(4) Platform relying on strong, change the platform more hard.
Origin of Interest:
1, the concept of success is different, not wasted life, is my success.
2, like thinking, challenging logical thinking.
3, like C
C is a language which can exert the limit of thinking. Some aspects of the spirit of C can be summarized into the following sentences:
Trust the programmer.
Don't stop programmers from doing what they need to do.
Keep the language short and lean.
One way to do an operation.
Makes it run fast enough, although it is not guaranteed to be portable.
4, like the bottom development, hate the development of VB tools (not to say that VB is not good).
5, the development of good prospects, suitable for entrepreneurship, do not want to die when it is an engineer.
Method steps:
1. Basic knowledge:
Objective: To understand the principle of hardware, but focus on embedded software, especially operating system-level software, that will be my advantage.
Subjects: Digital circuit, computer composition principle, embedded microprocessor structure.
Assembly language, C + +, compiling principle, discrete mathematics.
Data structures and algorithms, operating systems, software engineering, networks, databases.
Methods: Although the subjects are numerous, they are relatively simple basis, and most of them have mastered. Not necessarily the whole study, may choose according to the need.
Main book: the C + + programming language (has no time to read), data structure-C2.

2. Learn Linux:
Objective: To gain an in-depth understanding of Linux systems.
Method: Develop and analyze the Linux kernel using the LINUX-〉LINXU system programming development-〉 driver. First look deep, the principle of the speaker. After a few times, look at the scene analysis, contrast, two cross, Deep is the outline, sentiment is the goal. Analysis is the 0.11 version, suitable for learning. Finally drill down into the code.
Main books: Full anatomy of the Linux kernel, advanced programming in the UNIX environment, deep understanding of the Linux kernel, scenario analysis, and source generation.
3. Learn Embedded Linux:
Objective: To master the embedded processor and its system.
Methods: (1) The structure and application of the embedded microprocessor: direct arm principle and assembly can, do not repeat x86.
(2) Embedded operating system class: Ucos/ii simple, open source, can be used to get started. Then in-depth study of uclinux.
(3) must have a block Development Board (ARM9 above), have the conditions to participate in training (progress fast, can meet some friends).
Main books: Maudeca's "embedded system" and other ARM9 manuals and arm assembly instructions.

4, in-depth study:
A, Digital Image compression technology: Mainly should master MPEG, MP3 and other codec algorithms and technology.
B, communication protocol and Programming Technology: TCP/IP protocol, 802.11,BLUETOOTH,GPRS, GSM, CDMA and so on.


2010-8-21 16:46 reply.
2/F 122.90.173.*

C, network and information security technology: such as encryption technology, digital certificate CA and so on.
D, DSP technology: Digital Signal PROCESS,DSP processor through the hardware to realize the processing algorithm.
Description: Too much detail is not stated, can be adjusted according to the actual situation. The focus is 1, 3, not necessarily in order. For C + +, the reason is that C + + is not just a language, a tool, she is an art, a culture, a philosophical idea, but not to show off things. For the Linux kernel, it is also necessary to learn to program and read some good code.
Note: To learn to raise a counter-many, there is a strong foundation, a lot of things simple to see can be. To be a qualified programmer, the prerequisite is to be proficient in at least one programming language and have good logical thinking. We must combine practice with theory.
Do not blindly study technology, although the squeeze time is difficult to do, but still have to leave some room to improve other hobbies, such as the universe, drawing, machinery, management, psychology, games, science fiction movies. There are some things that you don't want to do but have to do!
Technology is programmed and programmed in programming. Never dream skyrocketing rise, do not do impetuous people, do not feel the road diffuse on. But to program programming in programming, finished in programming, in programming! And so the opportunity to start a business (do not believe that there are miracles, blind business is difficult to succeed, even if the success of the development of space is not necessarily very large).

Embedded books recommended
Linux Basics
1, Linux and UNIX Shell Programming Guide
C language Basics
1, "C Primer plus,5th Edition" "Beauty" Stephen Prata
2, "The C programming Language, 2nd Edition" "Mei" Brian W. Kernighan David M. Rithie (K & R) with
3, advanced programmin G in the UNIX environment,2nd Edition (apue)
4, "Embedded Linux application Development details"
Linux kernel
1, "deep understanding of the Linux kernel" (third edition)
2, "Linu X Core Source Scenario analysis Maudeca Hu Himing
Research and development Direction
1, "UNIX Network Programming" (UNP)
2, "TCP/IP detailed"
3, "Linux kernel Programming"
4, "Linux device Drive Development "(LDD)
5," Linux Advanced Program Design "Yang Zongde the Hardware Foundation
1," ARM architecture and Programming ", Du Thunder
2, s3c2410 Datasheet
English Foundation
1," Computer and communication professional English
System Tutorial
1, "Embedded systems-architecture, programming and Design"
2, "Embedded systems-using open source code and Strongarm/xscale processor" Maudeca Hu Himing
3, Building Embedded Linu X Systems "
4," embedded Arm system principles and case development "Yang Zongde
Theoretical basis
1," Introduction to the Algorithm "
2," Data structure (c language Edition) "
3," Computer Organization and architecture? "
4," in-depth understanding Computer system "Beauty" Randal E. Bryant David O ' Hallaron with
5, "Operating system: Essence and Design Principle"
6, "Compiling principle"
7, "Data Communication and computer network"
8, "the principle and application of compression"

C Language Books recommended
1. The C programming language "C programming language"
2. Pointers on C "C and hands"
3. C Traps and pitfalls "c pitfalls and pitfalls"
4. Expert C Lanuage Program
5. Writing Clean Code-----Microsoft techiniques for developing bug-free C Programs
"Programming essence--microsoft Writing high quality error-free C program Secret"
6. Programming Embedded systems in C and C + + "Embedded System Programming"
7. "C Language Embedded system programming discipline"
8. "High quality C++/C Programming Guide" Lin Rui
As much coding as possible, to learn C well, you can't just focus on C itself. Algorithms, architecture, etc. are important.

Here a lot of books are recommended only, do not care too much, the key is the foundation, is the most important!!!

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.