易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : linux

Linux USB驱动框架分析(转)

Linux USB驱动框架分析(一)
    初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,还会顺带提一下其他的驱动程序写法。
       事实上,Linux的设备驱动都遵循一个惯例——表征驱动程序(用driver更贴切一些,应该称为驱动器比较好吧)的结构体,结构体里面应该包含了驱动程序所需要的所有资源。用术语来说,就是这个驱动器对象所拥有的属性及成员。由于Linux的内核用c来编写,所以我们也按照这种结构化的思想来分析代码,但我还是希望从OO的角度来阐述这些细节。这个结构体的名字有驱动开发人员决定,比如说,鼠标可能有一个叫做mouse_dev的struct,键盘可能由一个keyboard_dev的struct(dev for device,我们做的只是设备驱动)。而这次我们来分析一下Linux内核源码中的一个usb-skeleton(就是usb驱动的骨架咯),自然,他定义的设备结构体就叫做usb-skel:
struct usb_skel { ......

Linux 2.6下SPI设备模型


Linux 2.6下SPI设备模型
--------基于AT91RM9200分析
       Atmel公司的ARM AT系列,其SPI驱动在kernel 2.6.23里已经包含。如果你打了at91-patch补丁的话,则在内核配置时要小心。在Device Drivers---- > Character devices ---- >取消选中SPI Driver(legacy) for at91rm9200 processor 。同时Device Drivers---- >SPI Support ---- > 选中SPI Support ,Atmel SPI Controler,同时选中 User mode SPI device driver support 。
SPI Driver(legacy) for at91rm9200 processor是保留选项,为了兼容以前版本。如果同时选中SPI Driver(legacy) for at91rm9200 processor,则在/sys里无法注册类spidev,也就无法将设备和驱动联系在一起。与现有atmel spi驱动发生冲突。
 
各选项对应的编译情况如下:
       [*]SPI support ---- Config_SPI  开启SPI功能
       [*]Debug support for SPI drivers ---- config SPI_DEBUG   开启SPI debug调试
       ----SPI Master Controller Drivers ---- depends on SP ......

很多程序死在linux 服务进程中

今天发现很多程序死在linux 服务进中
问个问题 今天发现很多程序死在linux 服务进中
已经死了好多天了。用crontab 都定在 凌晨0点跑。
想知道如何查看 服务器哪方面的资源太少导致进程死在里面?
ps -ef|grep load/script | awk '{print $2}' 把死进程的 ID 打印出来
......

Linux系统dameon程序的core dump设置

To enable dumps for every daemon:

ulimit -c unlimited >/dev/null 2>&1 (-c maximum size of core files)
ulimit -S -c ${DAEMON_COREFILE_LIMIT:-0} >/dev/null 2>&1

Dump for system
:
DAEMON_COREFILE_LIMIT='unlimited'

The same for every daemon (in /etc/sysconfig/_daemon_): DAEMON_COREFILE_LIMIT='unlimited'

Dump for SUID programs:
echo 1 > /proc/sys/kernel/suid_dumpable

In /etc/sysctl.conf:
kernel.core_uses_pid = 1
kernel.suid_dumpable = 1

and sysctl -p ......

How to: Linux flush or remove all iptables rules

 
Here is small script that does this. Debian or Ubuntu GNU/Linux does
not comes with any SYS V init script (located in /etc/init.d directory)
.
You create a script as follows and use it to stop or flush the iptables rules.
Please don't type rules at command prompt. Use the script to speed up work.
Procedure for Debian / Ubuntu Linux
A) Create /root/fw.stop /etc/init.d/fw.stop script using text editor such as vi:
#!/bin/sh
echo "Stopping firewall and allowing everyone..."
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
(B) Make sure you can execute the script:
# chmod +x /root/fw.stop
(C) You can run the script:
# /root/fw.stop
A note for RedHat and friends Linux user
Please note that RedHat enterprise Linux (RHEL) and Fedora / Centos
Linux comes with pre-installed script, which can be used to stop the
firewa ......

初学Linux积累。

2009-10-27
1,重启 reboot
2009-10-28
1,忘记了root用户密码的解决帮
启动后按esc进入修复模式,选择修复,并选择最后一个。root,进去后,更改密码:passwd root
然后根据提示输入两次密码就行了。
2009-10-29
1,ls
    ls -a 查看所有文件
    ls -l 查看详细的属性
  
2,lsattr
    查看文件的扩展属性,
    如果文件被 chattr +i   添加了写保护,
    用lsattr可以看到添加的属性
3,file
查看文件的类型
4,stat
    查看文件的状态
5,打包
tar -zcvf xx.tar.gz / www/ a b 多个打包文件已空格分开。注意:/ www之间要有空格
6,备份
 tar czvf - /root/code > /tmp/code_bak.tgz   (将/root/code目录下的所有程序文件打包备份到/tmp/code_bak.tgz)
    tar xzvf /tmp/code_bak.tgz /root/code  (将备份的目录文件恢复到指定目录)
......
总记录数:5772; 总页数:962; 每页6 条; 首页 上一页 [863] [864] [865] [866] 867 [868] [869] [870] [871] [872]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号