Linux入门
文章平均质量分 92
都教授_
走自己的路,让别人去说吧
展开
-
树莓派基于Linux内核驱动开发入门指南
写驱动是为了操作IO口,实现自己的wiringpi库,跟硬件打交道。原创 2023-04-23 13:36:44 · 1242 阅读 · 2 评论 -
linux内核结构介绍(面试可能会问)
在没有图形界面之前,shell充当了用户的界面,当用户要运行某些应用时,通过shell输入命令,来运行程序。内核是一个很厉害的超级逻辑,把硬件底层的东西抽象化,对用户来说只需要调API就好了,根本不需要管寄存器,协议,总线…如今,由于图形化界面的普及,终端往往就像下图一样,是一个图形化的窗口。你可以通过这个窗口输入或者输出文本,这个文本直接传递给shell进行分析解释,然后执行,本质就是提供和内核交互的程序。一个操作系统,以及基于操作系统的应用,都不可能实现超越系统调用的功能。原创 2023-04-16 15:45:08 · 92 阅读 · 0 评论 -
linux文件系统、文件系统目录结构、虚拟文件系统
文件系统是操作系统用于明确存储设备的文件和数据结构,即在存储设备上组织文件的方法。根分区/根目录。原创 2023-04-15 23:06:15 · 155 阅读 · 0 评论 -
树莓派Linux源码配置,内核编译以及内核更换
编译完成后,可以看到源码树目录多了vmlinux这个文件,如果编译失败则没有此文件,成功后,目标zImage镜像在arch/arm/boot目录下(此步ARM架构的芯片都是类似)(vmlinux是未压缩的liunx,zImage是压缩好的liunx)。我们工作的时候,需要进行驱动代码编写,紧接着对驱动代码进行编译,但驱动代码的编译需要一个提前编译好的内核,编译内核就必须配置。驱动代码的编译需要一个提前编译好的内核,所以需要先编译内核,而编译内核又必须提前完成相关的源码配置;原创 2023-04-11 21:23:58 · 1570 阅读 · 0 评论 -
Linux交叉编译
编译:是在一个平台上生成在该平台上的可执行代码交叉编译:是在一个平台上生成另一个平台上的可执行代码。● 我们在windows上面编写C51代码,并编译成可执行代码,如xx.hex,是在c51上面运行,不是在windows上面运行● 我们在ubuntu上面编写树莓派的代码,并编译成可执行代码,如a.out,是在树莓派上面运行,不是在ubuntu linux上面运行的。原创 2023-04-10 22:47:28 · 2684 阅读 · 0 评论 -
【Linux】静态库和动态库的生成与使用
实现一个项目需要实现很多的功能,那么这些功能不可能在一个".c"文件下实现,需要多个".c"文件来共同实现,但是程序的入口只有一个,就体现了分文件编程的重要性。:把生成的动态库文件libtest.so拷贝到/usr/lib/这个路径下,因为它会默认去/usr/lib/下去寻找动态库文件。1,mv xxx.c ~ 将原先的功能文件和生成的.o文件移至工作目录,只留下.h头文件和主函数文件,还有生成的静态库文件。1,将 xxx.c 文件生成 xxx.o 文件:gcc xxx.c -c;原创 2023-04-04 16:53:34 · 682 阅读 · 1 评论