Platform设备驱动
🚀 Platform设备驱动简介很多设备虽然用途不同,但其接口定义都是一样的 ,因此很多时候我们不需要去为每个设备都写一个驱动 。
因此 Linux 2.6 及以后的内核中虚拟出来的一条总线 ,即 platform 总线。
平台总线模型将设备代码和驱动代码分离, 将和硬件设备相关的都放到 device.c 文件里面,驱动部分代码都放到 driver.c 文件里面。
这样做的好处是, 实现了此类设备和驱动的分离, 增强设备驱动的可移植性。
🚀 Platform 设备✈ platform_device 结构体在 platform 平台下用 platform_device 这个结构体表示 platform 设备。
如果内核支持设备树的话就不用使用 platform_device 来描述设备了, 因为改用设备树去描述了 platform_device。
具体定义在内核源码 /include/linux/platform_device.h 里面, 结构体内容如下:
1234567891011121314151617struct platform_device { ...
Linux杂项设备驱动
🚀 杂项设备驱动简介杂项设备是字符设备的一种,它比常规字符设备驱动更加简单。
杂项设备驱动可以自动生成设备节点,而且所有杂项设备的主设备号均为 10,可以有效节约内核资源。
可以用 cat /proc/misc 来查看系统当前的杂项设备。
🚀 miscdevice 结构体misc 设备用 miscdevice 结构体表示, miscdevice 结构体的定义在内核源码具体定义在 include/linux/miscdevice.h 中, 内容如下:
123456789101112// 一般只需要给 minor、name、fops 这三个成员变量赋值即可struct miscdevice { int minor; //次设备号 const char *name; //设备节点的名字 const struct file_operations *fops; //文件操作集 struct list_head list; struct device *parent; struct device *this_device; const struct attr ...
linux字符驱动
🚀 设备号✈ 设备号简述设备号由主设备号和 次设备号构成。主设备号用来表示一个特定的驱动程序。 次设备号用来表示使用该驱动程序的各个设备。 Linux 提供了一个名为dev_t 的数据类型表示设备号, dev_t 定义在文件 include/linux/types.h 里面, 定义如下:
12typedef __u32 __kernel_dev_t;typedef __kernel_dev_t dev_t
由 dev_t 类型的定义可知,设备号是一个32位的变量, 其中 前12 位用来表示主设备号(0-4095 ), 后20 位用来表示次设备号。
Linux 提供了几个宏定义来操作设备号:
12345#define MINORBITS20 //次设备号的位数, 一共是 20 位#define MINORMASK ((1U << MINORBITS) - 1) //次设备号的掩码#define MAJOR(dev) ((unsigned int) ((dev) >> MINORBITS)) //在 dev_t 里面获取我们的主设备号#define ...
linux开发环境搭建
🚀Ubuntu16固定IP地址打开网络设置,安装下图进行相应的设置即可。
ifconfig 命令查询一下当前IP
然后 ping 一下 baidu.com,如果可以 ping 通则说明设置成功。
🚀 SSH 服务开启开启 Ubuntu 的 SSH 服务以后我们就可以在 Windwos 下使用终端软件登陆到 Ubuntu,比如 使用 MobaXterm。
Ubuntu 下使用如下命令开启 SSH 服务:
1sudo apt-get install openssh-server
上述命令安装 ssh 服务,ssh 的配置文件为/etc/ssh/sshd_config,使用默认配置即可。
🚀 FTP 服务开启Windows 和 Ubuntu 下的文件互传我 们需要使用 FTP 服务.
设置方法如下:
1、 执行如下命令来安装 FTP 服务:
1sudo apt-get install vsftpd
2、使用 VI 命令打开/etc/vsftpd.conf,命令如下:
1sudo vi /etc/vsftpd.conf
打开以后 vsftpd.conf 文件以后找到如下两 ...
vim简易配置
Vim简易配置原则:简易实用方便,不装额外插件。
123456789101112131415161718192021222324252627282930313233343536syntax on "语法高亮"set number "显示行号"set cursorline "突出显示当前行"set showmatch "括号匹配"set showmode "在底部显示当前模式"set showcmd "命令模式下显示键入的指令"set t_Co=256 "启用256色"set textwidth=80 "设置行宽"set wrap "超过设定行宽时自动换行""set nowrap" "取消自动换行"set scrolloff=5 ...
vim常用命令总结
插入模式
快捷键
说明
i
在光标处进入插入模式
I
在行首进入插入模式
a
在光标后进入插入模式
A
在行尾进入插入模式
o
在下一行插入新行并进入插入模式
O
在上一行插入新行并进入插入模式
gi
进入到上一次插入模式的位置
<esc>
退出插入模式
缓存操作
快捷键
说明
:e <filename>
新建buffer打开文件
:bp
切换到上一个buffer
:bn
切换到下一个buffer
:bd
删除当前buffer
窗口操作
快捷键
说明
:sp <filename>
横向切分窗口并打开文件
:vsp <filename>
竖向切分窗口并打开文件
<c-w>h
跳到左边的窗口
<c-w>j
跳到下边的窗口
<c-w>k
跳到上边的窗口
<c-w>l
跳到右边的窗口
<c-w>c
关闭当前窗口
<c-w>o
关闭其他窗口
:onl ...