Linux内核中断之获取中断号

Linux内核中断之获取中断号,第1张

Linux内核中可使用 platform_get_irq() 函数获取 dts 文件中设置的中断号。

函数原型: int platform_get_irq(struct platform_device *dev, unsigned int num)

定义文件: drivers\base\platform.c

中断号获取函数 platform_get_irq() 调用流程如下:

rk3399 使用的是 GICv3 ,对应 irq_domain->name 。

文件: drivers/irqchip/irq-gic-v3.c 。

translate() 函数实现如下:

以 RockPI 4A 单板 Debian 系统Linux 4.4内核中的获取 HDMI 中断号为例。

1、查找中断号

从手册“Rockchip RK3399 TRM V1.3 Part1.pdf”中,可以查到 HDMI_IRQ 中断号,即55。

2、 dts 配置

文件: arch/arm64/boot/dts/rockchip/rk3399.dtsi

hdmi 使用的是 GIC_SPI 中断,按照 gic_irq_domain_translate() 函数中处理,需要将中断号55减去32,得到 dts 中的中断号23。

注: interrupts = <中断类型 中断号 中断触发类型 中断分区(对应哪个CPU cluster,PPI类型中断特有)>

3、驱动函数

文件: drivers\gpu\drm\rockchip\dw_hdmi-rockchip.c

此时, irq 返回值为55。

后续会介绍 GIC 和中断注册等实现函数。

1. 对rm命令做一点改变,在~/.bashrc配置文件里面加上如下内容:

alias rm='rm -i'

这样每一次rm *** 作都会给出提醒,要选择yes or no。

2. 定义一个自己的删除命令,比如删除命令定义del命令,同样在~/.bashrc里面加上

alias del='source ~/script/del'

这样del *** 作就执行del脚本一次,自己编写一个del实现文件的“删除”。del脚本是将需要删除的文件或目录move至一个临时文件夹(隔一段时间手动清空一次即可),如果发现误删,从临时文件夹恢复即可。

del脚本如下:

#!/bin/bash

TRASH=~/.trash # TRASH是自己建立的用来存放删除文件的临时文件夹

if [ "$1" = "" ]

then

echo "Usage: del F (F is the argument of the target files or directories you want to delete)"

else

echo "$1 is moved to temporary trash in ~/.trash"

mv $1 $TRASH --backup=numbered -fi #移动被删除文件至临时文件夹,如同名,则自动编号备份

fi

Linux *** 作系统概述

Linux是一套可以免费使用和自由传播的,类似于UNIX风格的 *** 作系统。Linux最早是由芬兰人托瓦兹(Linus Torvalds)设计的。下面是关于Linux *** 作系统概述,希望大家认真阅读!

Linux系统的起源与发展

由于UNIX的商业化,很遗憾,它一般只运行在昂贵的工作台上,普通人难得一见。后来Andrew Tannebaum教授开发了Minix *** 作系统,发布在网上,供人们免费使用,因为Minix具有UNIX的特点,但是由与UNIX不完全兼容,所以1991年10月托瓦兹自己动手写了一个UNIX PC版本,同年11月,在很多热新的支持者的帮助下开发和推出了第一个稳定的'Linux0.10工作版本。

后来1994年的3月,Linux1.0版本出现,在Linux设计过程中,借鉴了很多UNIX的思想,但是源代码都是重写的。 后面发展迅速并有很多的IT公司的加入开发,这时Linux迅速发展并普及并进入了商业领域。在1995年6月,发布了Linux 2.0版本,强大的它已经支持很多处理器,而且具有了强大的网络功能,并增强了系统的文件与虚拟内存的性能,同时可以为文件系统提供独立的高速缓存设备。

如今它已经受到了更多企业用户的重视,Linux正日益成为一个令人生畏的对手。

linux系统

Linux系统的组成

*** 作系统是一台计算机必不可少的系统软件,是整个计算机系统的灵魂。Linux *** 作系统由内核(Kernel),外壳(shell)和应用程序三大部分组成。硬件平台是Linux *** 作系统运行的基础。

linux系统的内核:内核是linux系统的心脏,是运行程序和管理硬件设备的 核心程序,负责控制硬件设备,管理文件系统,程序流程以及其他工作。

linux系统的外壳:外壳程序是系统的用户界面,提供用户与内核进行交互 *** 作的一种接口。它接收用户命令,传达给内核处理,内核处理并把结果传送到界面。

linux系统的应用程序:1.文本处理工具。2.X Window。3.编程语言和开发工具。4.Internet工具软件。5.数据库。

linux系统的组成

Linux系统的特点

Linux *** 作系统以它的安全性,高效性和灵活性著称,它能够实现几乎全部UNIX的特性,还具有多任务,多用户的能力。

特点:

自由软件,源码公开多用户多任务并发可靠的安全系统良好的可移植性丰富的网络功能设备的独立性良好的用户界面


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7351441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存