驱动程序_驱动linux版_linux 驱动

一、Linux基础1、任意3种网路操作的Linux命令,并说明她们的涵义1.ifconfig命令

ifconfig 用于查看和配置 Linux 系统的网络接口。
查看所有网络接口及其状态:ifconfig -a 。
使用 up 和 down 命令启动或停止某个接口:ifconfig eth0 up 和 ifconfig eth0 down 。

2.iptables命令

iptables,是一个配置Linux内核防火墙的命令行工具。功能十分强悍linux 驱动,对于我们开发来说,主要把握怎么开放端口即可。

3.netstat命令

Linuxnetstat命令用于显示网路状态。

借助netstat指令可让你得悉整个Linux系统的网路情况。

4.ping命令

Linuxping命令用于测量主机。

执行ping指令会使用ICMP传输合同,发出要求回应的信息,若远端主机的网路功能没有问题,还会回应当信息,从而得悉该主机运作正常。

5.telnet命令

Linuxtelnet命令用于远端登录。

执行telnet指令开启终端机阶段作业,并登陆远端主机。

2、Linux支持的文件类型二、Linux系统编程1、嵌入式操作系统进程间有什么同步通讯服务?

Linux进程间通讯方法主要有

讯号(signal)

讯号量

管线(pipe)、流管线(s_pipe)、有名管线(FIFO)。

消息队列

共享显存

套接字(本地的还有域套接字)

三、ARM1.请问ARM支持哪几种异常类型?异常源分类

要步入异常模式,一定要有异常源,ARM规定有7种异常源:

异常源描述

Reset

上电时执行

Undef

当流水线中的某个非法指令抵达执行状态时执行

SWI

当一个软中断指令被执行完的时侯执行

Prefetch

当一个指令被从显存中预取时,因为某种缘由而失败,假若它能抵达执行状态这个异常才能形成

Data

假如一个预取指令企图存取一个非法的显存单元,这时异常形成

IRQ

一般的中断

FIQ

快速中断

2、请详述哪些是中断?中断发生后,CPU做了什么操作

中断:是指CPU在执行程序的过程中,出现了个别突发风波时CPU必须暂停执行当前的程序linux 下载工具,转去处理突发风波,处理完毕后CPU又返回源程序被中断的位置并继续执行。

中断发生后,ARM核的操作步骤可以总结为4大步3小步。

linux 驱动_驱动程序_驱动linux版

4大步3小步

保存执行状态:将CPSR复制到发生的异常模式下SPSR中;

模式切换:

保存返回地址:将下一条指令的地址(被打断程序)保存在LR(异常模式下LR_excep)中。

坠入异常向量表:强制设置PC的值为相应异常向量地址,跳转到异常处理程序中。

3、什么是GPIO?

general purpose input/output  

GPIO是相对于芯片本身而言的,如某个管脚是芯片的GPIO脚,则该脚可作为输入或输出高或低电平使用,其实某个脚具有复用的功能,即可做GPIO也可做其他用途。

也就是说你可以把这种引脚用来用作任何通常用途的输入输出linux 驱动,比如用一根引脚连到led的一极来控制它的亮灭,也可以用一根(一些)引脚连到一个传感上以获得该传感的状态,这给cpu提供了一个便捷的控制周边设备的途经。假如没有足够多的gpio管脚,在控制一些外围设备时才会力有不逮,这时可采取的方案是使用CPLD来帮助管理。

4、IIC引脚名称及功能?5、IIC的S、P讯号怎样发出?

驱动linux版_驱动程序_linux 驱动

每次通讯都必须由主设备发起,当主设备决定开始通信时linux运维博客,须要发送开始(S)讯号,须要执行以下动作;

空闲时SCL默认是高电平;

将SDA线从高压电平切换到低压电平;

之后将SCL从高电平切换到低电平。在主设备发送开始条件讯号然后,所有从机虽然处于睡眠模式也将变为活动状态,并等待接收地址位。当双方决定结束通信时,须要发送停止(P)讯号,须要执行以下动作;

先将SDA、SCL设置为低电平;

之后将SCL从低电平切换到高电平;

将SDA从低电平切换到高电平。在停止条件讯号然后,I2C总线即处于空闲状态。

6、SPI引脚名称及功能?

串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI从机选择线SS

(有的SPI插口芯片带有中断讯号线INT或INT、有的SPI插口芯片没有主机输出/从机输入数据线MOSI)

linux 驱动_驱动linux版_驱动程序

四、驱动1、查看驱动模块中复印信息应当使用哪些命令?怎样查看内核中已有的字符设备的信息?怎样查看正在使用的有什么中断号?

 dmesg

lsmod

早已分配的字符设备块设备号信息可以查看下边文件

cat /proc/devices

内核会为每一个驱动模块构建一个文件夹,如下:

驱动linux版_linux 驱动_驱动程序

ls /sys/module/

cat /proc/interrupts

2、如何自动创建字符设备?并阐述主设备号和次设备号的用途。

创建字符设备命令如下:

mknod chartest c 4 64,

mknod : 创建设备节点
chartest :设备节点名字
c : 字符设备,
4 : 主设备号
64: 次设备号

1)主设备号:主设备号标示设备对应的驱动程序。其实现代的linux内核允许多个驱动程序共享主设备号,但我们看待的大多数设备依然根据“一个主设备对应一个驱动程序”的原则组织。

次设备号:次设备号由内核使用,用于正确确定设备文件所指的设备。依赖于驱动程序的编撰方法,我们可以通过次设备号获得一个指向内核设备的直接表针,也可将此设备号当成设备本地链表的索引。

例如:

 硬件平台可能又4个串口,他们驱动非常类似,区别仅仅是个字对应的SFR基地址不同,
 那么我们可以让着几个串口共用同一个串口设备驱动
 通过次设备号来区别具体是哪一个串口

3、内核中使用共享资源时,为了使之满足互斥条件,一般有什么方式?

原子操作,载流子锁,讯号量,互斥锁

4、Linux内核包括那几个子系统?

Linux内核主要由进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络插口(NET)和进程间通讯(IPC)5个子系统组成

程序员专属长裤

商品直购链接

Tagged:
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。

发表回复