Linux Driver Development Learning route

Source: Internet
Author: User

This article is to communicate with the senior brother of the article, posted out, and you learn to discuss

Basic skills that need to be mastered:
    • c/c++/
    • Python
    • Shell
    • Makefile
    • Basic Linux Operations
   with Android phone as an example, I introduce the software structure of the products on the market. Mobile---> Hardware: CPU (ARM architecture microcontroller) + various sensors (display, distance sensor, temperature sensor, GMS module GPRS module, etc.). In essence, a mobile phone is a single-chip computer and a bunch of sensors, single-chip microcomputer control each sensor and people responsible for the interaction. (The driver engineer is the Linux bottom to let the sensor can work, and then provide control hardware interface to the Android layer, Android hardware logic control) software: A small number of assembly +linux kernel core layer +linux kernel framework of the driving layer + Framework C + + layer (provides interface to Java layer) + Java Android Logic Layer + android application layer. (Drive engineering is basically not to move the Linux kernel core layer, is kernel great god Linus and other people to change, the driver is basically to understand the Linux kernel architecture, in the framework of kernel drive each sensor)    Learning route: 1. Linux basic Operations (commands) are commonly used such as the operation of files, the operation of folders, the use of Vim/vi, folders/files, Linux permissions, basic shell syntax   here to learn: fast brother-to-man Linux video tutorial The inside is based on the CentOS explanation, it is recommended that the actual use of Ubuntu slow speed---brother's Linux private dishes This is very necessary, the internal strength to be solid.  2.C's further study to learn C again, at this time particularly concerned about the structure, pointers (especially function pointers, Linux architecture is implemented through pointer functions) again to learn C, recommended in the Linux environment, under the command terminal VIM+GCC, further familiar with the Linux use  3.makefile Learning Makefile Control This Linux the entire bottom of the compilation, do not need to know how deep before work, in "the further study of C", write C program try to use Makefile control compile results can  4. Shell's learning shell is an automated script, can be seen as a collection of commands, in the development of the drive everywhere, the work before the need to know too deep, in the look at the brothers even Linux video tutorials and bird brother's Linux private dishes will have, can read the line.  5.python's learning Python is also one of the scripts used to compile Linux, so you don't need to look at it before work.   Above five is a prerequisite for Linux drivers, which is the foundation, which will not, even if you can read the driver is just a programApes only.  6.linux-driven learning first to understand that the Linux drive framework is divided into many, the Linux sensor is divided into different types of equipment, Linux appears five subsystems, such as the input subsystem, the keyboard, touch screen, distance sensor, Fingerprint Identification module These are zoned in the input subsystem, so the driver development of these sensors should follow the requirements of the input subsystem and the system interface. So before learning to drive to understand your future to do the approximate direction, and then targeted to learn a subsystem. In the early days of learning, you can buy a development board, you add a button to the board, write a button drive (do not underestimate the key driver, not like a single-chip computer to read 1/0 on the line!!!) )。 The driver is getting started. Books: Linux device driver development in detail------------0 The foundation can not understand the bullet-bite to see a few times just fine. The code can be implemented on the Development Board. Linux device drivers------------have to be sent up to see this is not necessarily readable.     written at the end: this Tuesday and Madong chat, in said embedded things, last night Peng Mao brother asked me about the Linux driver related learning, and he chatted to know to find is driving the development of related work, feel the development of the studio a step forward, General driver Development is the work of graduate students or have many years of experience in the development of single-chip computer to do. At the beginning of their own to drive the industry has gone a lot of detours, but also into various groups, ask many years of experience of the colleague Linux how to learn, here write to communicate with you, above is just my past two years of thinking, if there are any doubts can be at any time to communicate with me. Studio 10 bought the Samsung 2440 Arm Development Board, in the studio for six years, because the threshold is relatively high, has no one to use her. Seeing the progress of the studio, I am also very happy.

Linux driver Development Learning Route

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.