Linux内核中ARM中断实现详解request_irq()
在linux内核中用于申请中断的函数是request_irq(),函数原型在Kernel/irq/manage.c中定义:
int request_irq(unsigned int irq, irq_handler_t handler,
unsigned long irqflags, const char *devname, void *dev_id)
irq
是要申请的硬件中断号。
handler
是向系统注册的中断处理函数,是一个回调函数,中断发生时,系统调用这个函数,dev_id参数将被传递给它。
irqflags
是中断处理的属性,若设置了IRQF_DISABLED
(老版本中的SA_INTERRUPT,本版zhon已经不支持了),则表示中断处理程序是快速处理程序,快速处理程序被调用时屏蔽所有中断,慢速处理程
序不屏蔽;若设置了IRQF_SHARED
(老版本中的SA_SHIRQ),则表示多个设备共享中断,若设置了IRQF_SAMPLE_RANDOM(老版本中的
SA_SAMPLE_RANDOM),表示对系统熵有贡献,对系统获取随机数有好处。(这几个flag是可以通过或的方式同时使用的)
dev_id
在中断共享时会用到,一般设置为这个设备的设备结构体或者NULL。
devname
设置中断名称,在cat /proc/interrupts中可以看到此名称。
request_irq()返回0表示成功,返回-INVAL表示中断号无效或处理函数指针为NULL,返回-EBUSY表示中断已经被占用且不能共享。
相关文档:
手头有个ep9315的板,今天突然想起跑一下adsl上网。晚上回来就开始搞。
从10点到现在,终于能够跑起来。
给大家借鉴一下。
1.编译内核,把ppp的那些选项选上。 (我用2.6.8.1的kernel,cirrus 的patch)
2.libpcap-0.9.1 这个包是pppd需要的。
./configure CC=arm-linux-gcc CFLAGS=-msoft-float --target=arm-linu ......
Linux下软件的安装与卸载
在Windows下安装软件时,只需运行软件的安装程序(setup、install等)或
者用zip等解压缩软件解开即可安装,运行反安装程序(uninstall、unware、“卸载”等)就能把软件清除干净,完全图形化的操作界面,简单
到只要用鼠标一直点击“下一步”就可以了。而
Linux ......
在 linux 下配置 ITK
1. 下载 CMake:http://www.cmake.org/cmake/resources/software.html
为方便安装,这里下载二进制文件,选择下载: cmake-2.6.4-Linux-i386.sh
2. 安装 CMake, 到 cmake-2.6.4-Linux-i386.sh 存放的目录,输入,可用 TAB 键方便补齐命令
#./ cmake-2. ......
Oracle Database 10g Release 2 (10.2.0.1) Installation On Red Hat Enterprise Linux 5 (RHEL5)
一安装需求
1.swap 分区不低于2G
2.selinux 状态disable
3.物理内存不低于512M
系统组件
GNOME Desktop Environment
Editors
Graphical Internet
Text-based Internet
Development Libraries
Development Tools
......
Linux下高并发的Squid服务器,TCP TIME_WAIT套接字数量经常达到两、三万,服务器很容易被拖死。通过修改Linux内核参数,可以减少Squid服务器的TIME_WAIT套接字数量。
vi /etc/sysctl.conf
增加以下几行:
引用
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_syncookie ......