Chapter 1 2: An Introduction to device driver building and running modules
1. Concurrent, security -- module writting notes
2. Kernel stack is small, normally one page (4 K). So don't create a lot of local variables and don't have a long call stack.
3. kernel can't handle float pointing computing.
4. Compiling Build:
OBJ-M: = module. o
Module-objs: = file1.o file2.o
Make-C ~ /Kernel-2.6 m = 'pwd' modules
5./proc/modules saves all modules load. lsmo
For details about item (long) * f_positemsize in the read method in chapter 3 of the third edition of linux device driver program-Linux general technology-Linux technology and application information, see below. One of your scull stores a linked list scull_qset. A linked lis
Linux general technology-Linux programming and kernel information. For more information, see the following section. When I first read the driver of the linux device, I downloaded the driver included in the book and tried to use the gcc command instead of makefile to compile the driver. As a result, I attended the issue
How to use the device tree of linux drivers and how to use the device tree of linux drivers
The Device Tree describes the hardware from the software perspective, and DTS is the
Control program.In addition, routing and address resolution are handled by the kernel.
Loadable Modules
The features provided by the Linux kernel can be extended at run time, that is, when the system is up and running, we can add or remove functionality from the kernel to the kernel.Code that can be added to the kernel at run time is called a "module."The Linux kernel supports several types o
Linux provides a set of functions to handle the PCI configuration block. Before a PCI device can be used, the Linux driver needs to determine the specific parameters of the device from the information in the PCI device configuration block, making the relevant settings so th
/** * Author:hasen * Reference: Linux device Driver Development Details * Introduction: Android small Novice Linux * device driver Development Learning Journey * Topic: Concurrency and race in Linux device
, process management, file management, storage management, equipment management, network and communication management, user interface, in which the processor management is actually process management. Because the processor is allocated and executed in a process-based unit. and storage management means memory management.Further, the computer has a network card, video card, sound card, etc., you can also external USB flash drive, printer and so on peripherals, so many devices have no classificatio
extended at execution time. Code that can be added to the kernel at execution time is called a "module."The Linux kernel supports several types of modules. Contains, but is not limited to, device drivers.Each module consists of the target code, which can be used to connect the module to the executing kernel using the INSMOD program, or to remove the connection using the Rmmod program.The
Using asynchronous notifications in device drivers can make access to the device accessible to the application by the driver when it is accessible. Therefore, applications that use nonblocking I/O do not need to poll the device for access, and blocking access can be superseded by asynchronous notifications like "break"
Brief introduction
A block device driver accesses a device primarily by transmitting a fixed-size random data
Linux kernel video block devices are basic device types that differ from character devices
The Linux block
Path for Linux Device Driver engineers-basic principles and framework of network device drivers
K-Style
Reprinted please indicate from Hengyang Normal College 08 electric 2 K-Style http://blog.csdn.net/ayangke,QQ:843308498 mailbox: yangkeemail@qq.com
1. Linux network subsys
be added to the kernel at run time is called a "module." The Linux kernel supports several types of modules, including but not limited to device drivers. Each module consists of the target code, which can be used to connect the module to the running kernel using the INSMOD program, or to remove the connection using the Rmmod program.The
kernel
unsigned long copy_to_user (void __user *to, const void * from, unsigned long count)
unsigned long copy_from_user (void *to, const void __user *from, unsigned long count);
Any function that accesses user space must be reentrant, must be able to execute concurrently with other driver functions, and must be in a state that can legally hibernate
Read method
If the return value is equal to the count parameter for passing the read
be added to the kernel at run time is called a "module." The Linux kernel supports several types of modules, including but not limited to device drivers. Each module consists of the target code, which can be used to connect the module to the running kernel using the INSMOD program, or to remove the connection using the Rmmod program.The
Notes for compiling Linux network drivers
3.1 interrupt sharing
In Linux, several devices run to share the same interrupt. If you need to share, specify the sharing method when applying. Definition of system-provided request_irq () call:
Int request_irq (unsigned int IRQ,Void (* Handler) (int irq, void * dev_id, struct pt_regs * regs ),Unsigned long flags,Const
To understand the Linux PCI device driver, first understand that the so-called Linux PCI device driver actually includesLinux PCI device drivers and Device
From: http://www.cnblogs.com/zhuyp1015/archive/2012/05/22/2514008.html bird1015 blog
When writing a Linux kernel driver, if you do not dynamically generate a device number, you need to manually allocate the device number. It is possible that the device number you allocate will be the same as the existing
When writing drivers, it is generally necessary to add node information to the device tree, which provides a way to add device information directly to the drive.The drive template for I²c is as follows#include The SPI driver template is as follows#include The SPI and IIC drivers under
Linux is a variant of the UNIX operating system, and the principle and idea of writing a driver in Linux is similar to that of other Unix systems, but it is very different for drivers in DOS or window environments. Design the driver in the Linux environment, the thought is concise, the operation is convenient, the func
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.