"Some people have the leadership style that leads millions of people in their lives, while others are born to write software that subverts the world. The only one who can do both is Linus Torvalds ." This is what times weekly commented on Linus, the father of Linux. Linus is not only an IT wizards, but also an optimistic and humorous scholar. Next, let the reporter take you to the interview with the father of Linu
(kern_warning "Hello world!\n");//The preceding macro represents the level of printing
return 0;
}
static void Hello_exit ()
{
PRINTK (kern_warning "Hello exit!\n");
}
Module_init (hello_init);//Use a macro to specify that the load function is called when the import module is loaded
Module_exit (Hello_exit);
Three elements: Load module, unload module, header fileMakefile file[HTML]View PlainCopy
Obj-m : = helloworld.o
Kdir : =/home/
Go to Blog "Ti-davinci Development series of five CCS5.2 using Gdbserver remote Debugging Application"When using CCS5.2 to debug the kernel remotely, you simply import the Linux kernel source code without compiling the kernel, and you won't be using a cross-compilation chain
1. What is a kernel moduleThe kernel module has the following two features: 1. The module itself is not compiled into a kernel file (zimage or bzimage) and can be dynamically installed or uninstalled during kernel operation, as required.2. Why kernel modules are requiredCaus
The Linux Foundation released the 2016 Linux kernel Development Report, which coincided with the 25 anniversary of the Linux kernel (Tengyun technology ty300.com), so it is worth reading more than previous years for more retrospec
Mac module receives data from the network;
(4) The Mac module notifies the DMA module to fetch data;
(5) The DMA module extracts the appropriate BD from the BD table;
(6) The Mac module sends data to the cache corresponding to the current BD;
(7) the network device notifies the processor to start receiving data (in interrupted or polling mode );
(8) The protocol layer removes data from the current BD cache.
Step (3 )~ (6) The hardware is automatically completed without software intervention, wh
continuously, but the physical memory area is not necessarily contiguous. It is used by the page table to connect the pages of each spare, so the efficiency is much lower than the kmalloc . Only the address assigned by Vmalloc may be out of high-end memory, or it may be out of low memory.
Permanent Memory map Area (Pkmap region)
This area has access to high-end memory. The access method is to use alloc_page (_GFP_HIGHMEM) to allocate high-end memory pages or to map high-end memo
Embedded System Linux kernel Development Practice Guide (ARM platform) book reviews
I am deeply touched by the heavy book embedded Linux kernel Development Practice Guide (ARM platform. This book was finally published by my edito
I want to participate in the development of the Linux Kernel on the premise that I think I have a strong internal strength. There are two important tasks to do. If I have not touched the kernel source code, I can refer to this article, because almost all open source codes follow this method described in this article. T
depends on the current PHY module connected to the peer PHY State, if the peer set is self-negotiation mode, the PHY module on the side also needs to be set to self-negotiation, so that the results can be negotiated is the current link can support the maximum rate. Conversely, if the peer is set to mandatory mode, the local side also needs to be set to mandatory, and the force rate is the same as the mandatory rate set on the peer.MAC Module Interface modeMAC modules also have different interfa
(1) Linux hierarchy:(2) The Linux kernel consists of:It consists of 5 subsystems, such as process scheduling (SCHED), memory Management (MM), virtual file system (VFS), network Interface (NET), and interprocess communication (IPC).(3) Differences with UNIX:
Linux supports dynamic onboarding of
Compile the Linux kernel of the NanoPi2 Development Board and nanopi2linux
Compile the Linux kernel of the NanoPi2 Development Board.
1. Download The Linux4.4 kernel source code
Git
, so the efficiency is much lower than the kmalloc . However , the address assigned by Vmalloc may be out of high-end memory or low-end memory.
Permanent Memory map Area (Pkmap region)
This area has access to high-end memory. The access method is to use alloc_page (_GFP_HIGHMEM) to allocate high-end memory pages or to map High-end memory allocated to the zone using the Kmap function. Common global variables for the permanent map area:Pkmap_base : The starting address for the per
(mandatory 10m/100m/1g, etc.) and self-negotiation mode. Exactly which mode to choose depends on the current PHY module connected to the peer PHY State, if the peer set is self-negotiation mode, the PHY module on the side also needs to be set to self-negotiation, so that the results can be negotiated is the current link can support the maximum rate. Conversely, if the peer is set to mandatory mode, the local side also needs to be set to mandatory, and the force rate is the same as the mandatory
20,000 lines of driver code. (Not any porting requires new driver code .) After rough calculation, I estimate that a typical porting requires an average of 50,000 lines of code. This can be done within one programmer or at most one program group within one year. Although this requires more code than the transplantation of the microkernel, the Linux supporter will propose that such a Linux
(1) Linux hierarchy:(2) The Linux kernel consists of:It consists of 5 subsystems, such as process scheduling (SCHED), memory Management (MM), virtual file system (VFS), network Interface (NET), and interprocess communication (IPC).(3) Differences with UNIX:
Linux supports dynamic loading of
files in Linux?16) What are the system calls that create the process?17) How many different ways to call schedule () for process switching?is the Linux scheduler scheduling processes based on the dynamic or static priority of the process?19) which is the core data structure of the process scheduling?20) such as finer, unload a module?21) What space are the modules and applications running separately?Do flo
Linux Kernel development focuses on it!
Today, the Linux kernel development project is still dependent on the old email and email list. Greg Kroah-Harman, the stable kernel maintainer,
Compile the official linux-2.6.30.4 kernel download to the TQ2440 Development Board the solution for the ongoing restart Check the log information for the Development Board to start printing, and the official startup log pair is not consistent with the discovery Cross compiler version. The compiler version I used wa
This year, I plan to study the development of the Linux kernel. However, everything is hard to start with. The first step is to compile the kernel. After many tests, it will fail, the kernel was successfully upgraded on the Virtual Machine for the first time yesterday. Today
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.