Linux内核
文章平均质量分 77
Linux内核的认识
dz小伟
dz小伟
展开
-
内核启动过程分析
总结:start_kernel函数中调用了很多的xx_init函数,全都是内核工作需要的模块的初始化函数,这些初始化之后内核就具有了一个基本的可以工作的条件了。位置在:linux-rpi-4.14.y/init/main.c。start_kernel函数位于main.c中。原创 2022-12-20 10:51:12 · 759 阅读 · 0 评论 -
根文件系统
发行版=内核+rootfs根文件系统根文件系统是特殊用途的文件系统根文件系统也必须属于某种文件系统格式,如ext3,ext4,FAT文件系统是一些代码,是一套软件这套软件的功能就是对存储设备的块(扇区)进行管理将这些扇区的访问变成了对目录和文件名的访问上层访问一个文件时,文件系统会将这个目录+文件名转换成对扇区号的访问不同的文件系统的差异就在于对这些扇区的管理策略和方法不同,譬如坏块管理、碎片管理。原创 2022-11-17 20:16:43 · 1011 阅读 · 0 评论 -
内核概述及配置编译
make xxx_defconfig解决的问题是大部分的配置项(这一步结束后99%的配置项就已经正确了),下来就是对个别不同的针对我们的开发板进行细节调整,细节调整就通过make menuconfig来完成。tristate意思是三态(对应Y、N、M三种选择方式),bool是要么真要么假(对应Y和N)本配置项依赖于另一个配置项,如果那个依赖的配置项为Y或者M,则本配置项才有意义。如果依赖的哪个配置项本身被设置为N,则本配置项根本没有意义。并不要求依赖的配置项一定是一个,可以是多个,而且还可以有。原创 2022-11-11 14:56:45 · 1796 阅读 · 0 评论 -
树莓派内核驱动编写——控制GPIO的输出
目录一、地址一、地址总线地址原创 2021-01-17 16:51:57 · 880 阅读 · 0 评论 -
Linux内核结构
目录1、用户级2、内核级3、硬件级4、内核结构框图1、用户级1.应用程序:基础C+C库app:ftp,网络,界面,线程,文件等2.C库:提供应用程序支配内核的接口(系统调用接口)open,read,fork,socket等3.shell:命令解释器,提供用户与内核进行交互操作的一种接口ls,rm等2、内核级1.VFS:虚拟文件系统,C库调用系统调用接口支配内核sys_open sys_read sys_wride2.内核:线程,网络,进程,内存,设备驱动(支配硬件)3、硬件级1.C原创 2021-01-14 13:52:31 · 175 阅读 · 0 评论 -
树莓派内核驱动编写——添加与调用
目录1、应用驱动硬件的流程1、应用驱动硬件的流程APP-》C library调用open产生软中断系统调用,中断号0x80-》汇编sys_call-》VFS的sys_open-》内核空间,设备驱动的open-》硬件原创 2021-01-16 14:11:28 · 954 阅读 · 0 评论 -
树莓派Linux源码配置 内核编译
目录1、交叉编译工具链安装2、配置config3、编译内核4、挂载SD卡5、启动树莓派1、交叉编译工具链安装参考博文:交叉编译工具链安装2、配置config树莓派3的工程是bcm2709_defconfig使用源码里自带的configARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2709_defconfig用menuconfig配置需要的东西,配置内核ARCH=arm CROSS_COMPILE=arm原创 2021-02-09 13:52:40 · 379 阅读 · 1 评论