Linux Device Driver Learning

Source: Internet
Author: User

preface: I have been in contact with arm-Linux for more than nine months. I have gone through the graduation design and the company's practice design, and have a certain understanding of arm-Linux, it also made me fall in love with arm-Linux and determined to work in Linux later. Beginning in August, I learned how to use arm-Linux from the ground up. The UP-NETARM2410-S and the friendly arm sbc2440v4 were transplanted successively, including U-Boot1.2.0, linux2.6.22.2, and U-boot and Linux driver transplantation were carried out for three Nic chips, A cramfs and NFS file system were created. It can be said that a network-based ARM-Linux development platform has been built. These work are not only necessary for future development, but I have further deepened my understanding of the arm-Linux system in these processes. Due to work needs, the driver porting of other peripherals on the two platforms has basically stagnated, now we are fully engaged in learning the Program driver for Linux devices. I have been reading the Linux Driver (version July) since the end of 3rd, but I found that the effect is not obvious. The reason is: lack of practice. Learning programming is the same as learning swimming, but it is impossible to learn it on paper. Without learning in practice, I soon forgot what I learned. In the end I learned only a rough idea. Starting from today, I will follow the path of "Linux Device Driver (version 3rd)", learn and program, and write this record at the same time to consolidate the learning effect. First of all, because I am learning arm-Linux, all the compilation I do is cross-compile and then run on the arm9-development board. As for the kernel version, I am using the main line standard kernel linux2.6.22.2 downloaded from the http://www.kernel.org. Reference the original statement of Linux Device Driver (version 3rd): " if you want to learn how to write the driver, the standard kernel is the best. "

· Linux Device Driver Learning (1)-character device driver · Linux Device Driver Learning (0)-Hello, world! Module · Linux Device Driver Learning (2)-debugging technology · Linux Device Driver Learning (3)-concurrent and competing formats · Linux Device Driver Learning (4) -Advanced Character driver operations [(1) IOCTL and llseek] · Linux Device Driver Learning (5)-advanced character driver operations [(2) blocking I/O and sleep]-Linux Device Driver Learning (6)-advanced character driver operations [(3) device File Access Control] · Linux Device Driver Learning (7)-kernel data type · Linux Device Driver Learning (9) -Communication with hardware · Linux Device Driver Learning (8)-memory allocation · Linux Device Driver Learning (10) -Linux Device Driver Learning (11)-Interrupt Processing-Linux Device Driver Learning (3) -circular buffer in Linux-Linux Device Driver Learning (12)-Linux Device Model (Basic Principles)-Linux Device Driver Learning (13) -Linux Device Model (bus, device, driver, and class) · Linux Device Driver Learning (14)-Linux Device Model (integration of various phases) · Linux Device Driver Learning (15)-Linux Device Model (hot swapping, mdev, and firmware)

 

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.