poweroff
shutdown -h 立刻关机
shutdown -h 10 10分后关机
shutdown -h 20:25 什么时候定时关机
shutdown -r now
reboot
pwd 显示当前路径
cd .. 返回上一级
mkdir -p animal/dog 强制创建animal目录以及子目录dog
rm * 删除文件或者目录
rm -f * 强制删除
cat a.txt>>b.ini 将a.txt显示并追加到b.ini的末尾、
dmesg >dmesg.txt dmesg显示电脑启动信息
more a.txt 分屏的显示信息
cat a.txt|less 分屏显示,可以往上或者往下翻
tail -20 a.txt 显示文本末尾的20行数据
tail +20 a.txt 从20行到末尾的文件
mv a.txt ../ 把a.txt移动到上一级
mv a.txt b.txt 把a.txt改名为b.txt
mv animal animal_txt 将文件夹animal 改名为animal_txt
find / -name httpd.conf 从根下找name为 httpd.conf的文件
grep keyword file.txt 在file.txt中查找keyword关键字
ps -ef 显示所有的进程
ps -ef |grep ssh
stat 显示文件的属性
tar -xvf test.rar 将test.tar解压
tar -zxvf foo.tar.gz 解压缩
tar -tf a.tar 查看tar包中的内容
gzip test.txt 压缩文件
gzip -l test.txt.gz 显示压缩率
gunzip test.txt.gz解压缩
df 查看各个分区的占用率
df -H
......
1.Ubuntu
它的意思每一位Geek应该都知道,这是一个古非洲语单词,代表“人性”或者“我的存在是因为大家的存在”。
2.PCLinuxOS
PC + Linux + Operating System,用户界面很像Windows。
3.openSUSE
是Novell和AMD资助的SUSE社区项目,SUSE取德语单词首字母“Software- und System-Entwicklung” (软件和软件开发)。但也有人声称它是为了纪念计算机工程师 Konrad Zuse 。
4-Fedora
Fedora is a community Linux project sponsored by Red Hat. The name “fedora” is derived from the fedora that the shadowman is wearing in the Red Hat logo. (see below)
5-Mandriva
This Linux distro was the original Mandrake Linux distro, which was maintained by MandrakeSoft, however MandrakeSoft lost a legal battle against Hearst Corporation over the name “Mandrake”. MandrakeSoft later on bought Connectiva, the result of the fusion = Mandriva
6-Sabayon
Sabayon is a distro produced in Trentino, Italy and is named after an Italian dessert also called Sabayon. Sabayon (or Zabaglion ......
一、概述
谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个
普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。
第一种方法的好处(对应第二种方法的劣势)有:
● 思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。
第一种方法问题(对应第二种方法的好处)有:
● 要求工程师不仅要对I2C设备的操作熟悉,而且要熟悉I2C的适配器操作;
● 要求工程师对I2C的设备器及I2C的设备操作方法都比较熟悉,最重要的是写出的程序可移植性差;
● 对内核的资源无法直接使用。因为内核提供的所有I2C设备器及设备驱动都是基于I2C子系统的格式。I2C适配器的操作简单还
好,如果遇到复杂的I2C适配器(如:基于PCI的I2C适配 ......
一、概述
谈到在linux系统下编写I2C驱动,目前主要有两种方式,一种是把I2C设备当作一个
普通的字符设备来处理,另一种是利用linux I2C驱动体系结构来完成。下面比较下这两种驱动。
第一种方法的好处(对应第二种方法的劣势)有:
● 思路比较直接,不需要花时间去了解linux内核中复杂的I2C子系统的操作方法。
第一种方法问题(对应第二种方法的好处)有:
● 要求工程师不仅要对I2C设备的操作熟悉,而且要熟悉I2C的适配器操作;
● 要求工程师对I2C的设备器及I2C的设备操作方法都比较熟悉,最重要的是写出的程序可移植性差;
● 对内核的资源无法直接使用。因为内核提供的所有I2C设备器及设备驱动都是基于I2C子系统的格式。I2C适配器的操作简单还
好,如果遇到复杂的I2C适配器(如:基于PCI的I2C适配 ......
PCI是外围设备互联的简称(Peripheral Component
Interconnect)的简称,作为一种通用的总线接口标准,他在计算机系统中得到了广泛的使用。PCI的速度能够达到132M/s。在这里简单的介
绍一下 linux 下PCI驱动的实现。
在编写一个PCI驱动的时候我们先得确定系统中是否有我们的设备。我们可以通过lspci
查看PCI设备。
[root@localhost ~]# lspci
00:00.0 Host bridge: Intel Corporation
440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation
440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation
82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation
82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: In ......
在嵌入式平台上运行QTE时,使用的键盘通常不是标准键盘,而是嵌入式设备外扩的普通按键。那么实现QTE键盘输入的方
法大体上可以分为两类:
(1)编写一个普通按键驱动,然后开辟一个QT线程读取按键值,在通过信号把按键值发送出
去。需要接收键盘输入的目标,声明槽函数,接收键盘信号。
(2)将按键驱动编写成标准键盘驱动,让QTE感觉和标准键盘在打交道。
上述两种方法给有特点。我在一些项目中多数都是使用第1种方式,感觉比较直观容易控制。但
也有些情况要选用第2种方法。
第1种方法的实现比较容易,这里就不多说了。下面主要把第2种方法的实现过程描述一下。
具体实现标准键盘输入的过程可以分为两步:
(1) 找一个标准usb键盘,测试QTE能否正确设别标准键盘
(2) 编写按键驱动,模拟标准键盘输入
一、第1步的实现过程:
● 配置QTE支持标准USB键盘
配置qte库时,增加键盘支持的参数,如下:
......
FLASH驱动在嵌入式系统中有着举足轻重的位置,而目前市场上NAND FLASH的价格又要便宜与NOR
FLASH,随着越来越多的平台支持从NAND FLASH中启动,掌握NAND
flash的驱动编写有着重要的现实意义,由于内核已经完成了大部分的工作,实际工作中大部分工程师对NAND
FLASH驱动只是简单的修改,对其工作原理并不太清楚,下面我们来分析一下NAND FLASH的代码流程,从中体会块设备的代码之美。
在学习NAND FLASH驱动之前,我们需要对块设备中下面的重要2点有个认识:
1.gendisk: 描述块设备实体(一整个nandflash芯片)的结构体
整个块设备的注册过程都是围绕gendisk来开展的
2. add_disk() //
将一个分区信息(如/dev/mtdblock3)注册到内核列表中
下面我们来分析具体的驱动:
一、s3c2410nandflash控制器初始化步骤:
s3c2410_nand_init(&s3c2410_nand_driver)
->
driver_register->bus_add_driver()->driver_attach->bus_for_each_dev(__driver_att ......
FLASH驱动在嵌入式系统中有着举足轻重的位置,而目前市场上NAND FLASH的价格又要便宜与NOR
FLASH,随着越来越多的平台支持从NAND FLASH中启动,掌握NAND
flash的驱动编写有着重要的现实意义,由于内核已经完成了大部分的工作,实际工作中大部分工程师对NAND
FLASH驱动只是简单的修改,对其工作原理并不太清楚,下面我们来分析一下NAND FLASH的代码流程,从中体会块设备的代码之美。
在学习NAND FLASH驱动之前,我们需要对块设备中下面的重要2点有个认识:
1.gendisk: 描述块设备实体(一整个nandflash芯片)的结构体
整个块设备的注册过程都是围绕gendisk来开展的
2. add_disk() //
将一个分区信息(如/dev/mtdblock3)注册到内核列表中
下面我们来分析具体的驱动:
一、s3c2410nandflash控制器初始化步骤:
s3c2410_nand_init(&s3c2410_nand_driver)
->
driver_register->bus_add_driver()->driver_attach->bus_for_each_dev(__driver_att ......