Linux
文章平均质量分 72
Linux学习
shaolin.wang
这个作者很懒,什么都没留下…
展开
-
SCSI子系统(一)
一、概述1. Linux SCSI 子统分层的架构高层: 代表各种SCSI设备类型的驱动,高层 “认领” 低层驱动发现的SCSI设备,为他们分配设备名,将对设备的I/O转换为SCSI命令,交由低层驱动处理;中间层: 接下来的是中间层,也称为公共层或统一层,在这一层包含SCSI堆栈的高层和低层的一些公共服务函数。高层和低层通过调用中间层的函数来实现其功能,而中间层在执行过程中,也需要调用高层和低层注册的回调函数做一些个性化处理。低层: 代表的是适用于SCSl的物理接口的实际驱动器,例如各个厂商为其原创 2021-12-26 01:16:18 · 1834 阅读 · 1 评论 -
linux内核中的内存分配
一、内核启动过程中,关于内存的信息1. 内核分区[ 0.000000] Memory: 1024MB = 1024MB total ---->内存的大小是1GB[ 0.000000] Memory: 810820k/810820k available, 237756k reserved, 272384K highmem[ 0.000000] Virtual kernel memory layout:[ 0.000000] vector : 0xffff0原创 2021-10-31 22:49:13 · 1776 阅读 · 0 评论 -
Ubuntu网卡驱动安装
一、背景新装系统,系统无对应网卡的驱动,导致无法配置网络,此时需手动安装网卡驱动。二、查看网卡查看网卡参数:$ lspci | grep -i ETH03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 8125 (rev 04)查看是否有r8125驱动,如果没有则需安装。$ lsmod三、下载gcc和make等相关软件包deb安装包下载链接搜索关键字打开链接下载四、gcc和make安装:将xx原创 2021-09-02 20:31:25 · 27650 阅读 · 6 评论 -
net-tools安装
安装包下载:安装包下载链接安装:#sudo dpkg -i net-tools_1.60+git20161116.90da8a0-1ubuntu1_amd64.deb验证:#ifconfig原创 2021-09-02 10:54:27 · 6366 阅读 · 0 评论 -
linux 下安装 Beyond Compare
Linux Installation InstructionsBC3 logo BC version 3 or 4Debian, UbuntuBeyond Compare 4.1 and newer require matching package and OS architecture (amd64.deb or i386.deb). Beyond Compare 3 - 4.0.7 require the i386.deb package on all supported versions of转载 2021-06-30 13:53:34 · 545 阅读 · 0 评论 -
Linux 扩大虚拟磁盘
一、Linux关机,调节磁盘容量二、新建分区1. 新建分区# fdisk /dev/sdaWelcome to fdisk (util-linux 2.27.1).Changes will remain in memory only, until you decide to write them.Be careful before using the write command.命令(输入 m 获取帮助): mHelp: DOS (MBR) a toggle a b原创 2021-05-25 21:19:15 · 113 阅读 · 0 评论 -
Ubuntu安装包操作命令
一、dekg 命令root@wsl-VirtualBox:/home# dpkg --help用法:dpkg [<选项> ...] <命令>命令: -i|--install <.deb 文件名> ... | -R|--recursive <目录> ... --unpack <.deb 文件名> ... | -R|--recursive <目录> ... -A|--record-av原创 2021-05-13 23:31:11 · 1791 阅读 · 0 评论 -
Linux interrupt
一、linux中中断的实现#include <linux/interrupt.h>linux系统针对底层的中断处理过程做了封装,使用linux提供函数,可以实现中断的响应和处理。1. 申请中断int __must_check request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, const char *name, void *dev)参数说明:unsigned int irq .原创 2021-05-09 17:03:36 · 352 阅读 · 0 评论 -
驱动程序编译进内核
一、驱动程序存在的形式1. 将驱动成编译成一个ko,ko是一个独立的module驱动程序安装:#insmod led_drv.ko驱动程序卸载:#rmmod led_drv.ko每次重启后需手动安装。2. 如何开机自动安装驱动,运行应用程序。1)将驱动程序下载到 /test目录下:/test/led_drv.ko2)修改/etc/profile:#vi /etc/profilecd /testinsmod led_drv.kocd /每次重启自动安装。3. 将驱动程序编译到linu原创 2021-05-05 20:00:20 · 1371 阅读 · 0 评论 -
混杂设备(miscdevice)
一、什么是混杂设备混杂设备也叫杂项设备,是普通字符设备驱动(struct cdev)的一个封装,可以简化一个普通字符设备驱动的设计流程。混杂设备的特点:1)主设备号10,次设备号不同。2)简化cdev的设计流程3)使用上和cdev是没有差异。二、查看一下系统中的混杂设备[root@GEC6818 /]#cat /proc/devicesCharacter devices: 1 mem 5 /dev/tty 5 /dev/console 5 /dev/ptmx 5 ttyp原创 2021-05-05 15:08:19 · 781 阅读 · 0 评论 -
GPIO的标准接口函数
一、什么是GPIO的标准接口函数在chrdev章节中访问GPIO的方法:需自己编写地址映射的版本:request_mem_region()申请GPIO寄存器的物理内存区---->ioremap()IO内存的动态映射,得到虚拟地址---->访问虚拟地址。需要查找CPU的使用手册。内核封装的标准接口函数,简单的GPIO访问方法:GPIO是嵌入式平台最常见的一个硬件模块,所以linux内核将GPIO的访问过程封装成了标准的接口函数,这些接口函数在调用的时候和平台无关的。二、GPIO标准接口原创 2021-05-05 00:59:19 · 730 阅读 · 0 评论 -
ioctl
一、IOCTL函数的原型1.应用程序的ioctl()—>linux的系统IO函数#include <sys/ioctl.h>int ioctl(int fd, unsigned long request, ...);// 经常使用的函数原型:int ioctl(int fd, unsigned int cmd, unsigned long args);int ioctl(int fd, unsigned int cmd);应用程序的ioctl()会系统调用驱动程序的ioc原创 2021-05-04 17:31:01 · 228 阅读 · 0 评论 -
字符设备(chrdev)
一、linux设备驱动的分类1、字符设备—c 应用程序和驱动程序之间进行数据读写的时候,数据是以 “字节” 为单位。数据交互的时候,是按照固定的顺序传输的;数据是实时传输的,是没有缓存的。字符设备是没有文件系统的。绝大部分设备驱动是字符设备:LED、BEEP、按键、键盘、触摸屏、摄像头、液晶屏、声卡、IIC、SPI、…应用程序访问字符设备的接口:// 应用程序:系统IO函数open("/dev/led_drv", O_RDWR) // 打开设备read() // 读write(原创 2021-05-02 18:31:51 · 624 阅读 · 0 评论 -
linux kernel module
一、什么是内核模块1.linux kernel module驱动程序在内核中,都是独立的模块,例如:beep驱动和LED驱动,beep和led之间没有任何联系,可以通过应用程序将两个驱动联系在一起。beep驱动和led驱动各自是独立的module。说明:每个驱动程序都是一个独立的模块,每设计一个驱动程序,首先设计一个module,驱动程序是包含在module中的。2、module编译后会生成一个*.ko驱动程序:可以安装、可以卸载的安装驱动:#insmod led_drv.ko卸载驱动:#rm原创 2021-05-01 23:04:18 · 546 阅读 · 0 评论 -
如何制作启动卡
一、Linux下SD卡设备示例:插上读卡器,在linux下找到sd卡及读卡器设备:root@wsl-VirtualBox:~# cat /proc/partitionsSD卡的设备文件节点是:/dev/sdb二、删除sd卡分区root@wsl-VirtualBox:~# sudo fdisk /dev/sdb输入:d, 删除所有分区:三、给sd卡进行分区安装gparted 工具:root@wsl-VirtualBox:~# sudo apt-get install gparted原创 2021-04-29 00:46:58 · 505 阅读 · 0 评论 -
linux内核的编译
一、准备工作下载源码包后,拷贝到home目录下root@wsl-VirtualBox:cp 6818.tar.gz /home/Tmp/解压源码包:root@wsl-VirtualBox:chmod 777 6818.tar.gz /home/Tmp/root@wsl-VirtualBox:tar -zvxf 6818GEC.tar.gz解压出来的文件:二、编译1.编译uboot编译命令:root@wsl-VirtualBox:/home/Tmp/6818GEC# ./mk -原创 2021-04-28 00:09:51 · 506 阅读 · 1 评论 -
Virtual Box Ubuntu 网络配置
一、Virtual Box配置选择网卡,如下:二、配置Ubuntu1.查看网卡信息root@wsl-VirtualBox:~# ifconfig2.修改配置文件根据主机ip修改interfaces文件root@wsl-VirtualBox:~# vim /etc/network/interfaces<font color=#999AAA ># interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo原创 2021-04-24 18:39:37 · 931 阅读 · 1 评论