2007年4月29日星期日

i386, i686 etc. means

Definition: i386: Most commonly seen as a suffix to binary packages (such as RPM packages) to be installed on a Linux system. It simply means that the package was designed to be installed on 386 based machines, ie. 386 class machines such as the 386 DX-33. A i386 package will run on any x86 class machine.

Definition: i486: Most commonly seen as a suffix to binary packages (such as RPM packages) to be installed on a Linux system. It simply means that the package was designed to be installed on 486 based machines, ie. 486 class machines such as the 486 DX4-100. Packages for this class of machine will run on later x86 based systems but there is no guarantee that they will run on i386 class machines if there have been too many processor based optimisations implemented by the developer.

Definition: i586: Most commonly seen as a suffix to binary packages (such as RPM packages) to be installed on a Linux system. It simply means that the package was designed to be installed on 586 based machines, ie. 586 class machines such as the 586 Pentium-100. Packages for this class of machine will run on later x86 based systems but there is no guarantee that they will run on i386 class machines if there have been too many processor based optimisations implemented by the developer.

Definition: i686: Most commonly seen as a suffix to binary packages (such as RPM packages) to be installed on a Linux system. It simply means that the package was designed to be installed on the 686 based machines, ie. 686 class machines such as the Celeron 766. Packages for this class of machine will run on later x86 based systems but there is no guarantee that they will run on i386 class machines if there have been too many processor based optimisations implemented by the developer.

最为普及的情况是作为二进制包的前缀(比如RPM)以安装在Linux系统上. 它的意思是包是被设计安装在基于686的机器上, 比如686级别机器想Celeron766. 这个机器的级别的包将运行在后来的基于x86系统, 但是不保证他们将运行在i386级别机子上, 如果有太多的开发中使用的基于优化应用进程.

A CPU History, http://www.pcmech.com/show/processors/35/, 这篇文章详细介绍了PC芯片发展的历史.

I686是一个统称, 指的是具有类似指令集的一类芯片. 这类芯片包括:

i686 Processors

Intel

l Pentium Pro

l Pentium II

l Pentium III

l Celeron

l Xeon

l Pentium 4

l Pentium M

l Centrino

l Pentium D

l Pentium Extreme Edition

l Core

l Core 2

AMD

l Opteron

l Athlon

l Athlon XP

l Athlon 64

l Athlon 64 X2

l Athlon FX

l Duron

l Sempron

l Turion 64

l Turion 64 X2

http://www.answers.com/topic/i686, 介绍了i686的大概含义.

http://www.redhat.com/archives/fedora-list/2005-February/msg05183.html, 介绍了i386, i586, i686Linux中的含义, 已经在GCC中对各处理器的定义.

CVS over Firewall

在公司防火墙后不能连接CVS服务器.
[frank@aladdin opensrc_cvs]$ cvs -d:pserver:anonymous@blob.cvs.sourceforge.net:/cvsroot/blob login
Logging in to :pserver:anonymous@blob.cvs.sourceforge.net:2401/cvsroot/blob
CVS password:
cvs [login aborted]: connect to blob.cvs.sourceforge.net(66.35.250.83):2401 failed: Connection refused


在http://www.denx.de/wiki/publish/DULG/DULG-tqm8xxl.html中有解决方法

Those poor people sitting behind a restrictive firewall may use http tunneling to access the repositories. Here is an example for cvsgrab, available from http://cvsgrab.sourceforge.net/, to access the U-Boot repository:

cvsgrab -quiet -proxyHost  -proxyPort  -proxyUser  \
-cvsRoot :pserver:anonymous@www.denx.de:/cvsroot \
-rootUrl http://www.denx.de/cvsweb/ -packagePath u-boot -packageDir u-boot
Of course you have to set http_proxy , proxy_port and proxy_user properly.

具体用法要参见cvsgrab主页.
在cvsgrab主页上没有要求设置proxy, 但是说有各限制
Disadvantages are that you have only read access to the repository, the repository needs to be public and have ViewCVS set up. 缺点是你只有版本库的读权限(不能commit), 版本库需要是public(在公网上?), 并且装有ViewCVS.
Also, it adds a more important load on the web server, so try to use this tool reasonably. 并且, 它增加了web服务器的更重大的负荷, 所以要慎重使用.

2007年4月26日星期四

Vcc, Vdd, Vss, etc.

http://encyclobeamia.solarbotics.net/articles/vxx.html


These notations are used in describing voltages at various common power supply terminals (at these points, only a wire lead exists between the point and a power source) of a given circuit. It turns out that these common voltage terms map to transistor technology as follows:

BJT
FET
"Vxx" meaning
Vcc
Vdd
Positive supply voltage
Vee
Vss
Negative supply, ground

Apparently this terminology originated in some way from the terminals of each type of transistor, and their common connections in logic circuits (i.e., Vcc is often applied to BJT collectors, Vee to BJT emitters, Vdd to FET drains, and Vss to FET sources). This notation then carries across to integrated circuits -- TTL ICs were originally based on BJT technology, and so often use the Vcc / Vee terminology; CMOS ICs are based on FET technology, and so often use the Vdd / Vss terminology.

The absolute distinctions between these common supply terms has since been blurred by the interchangeable application of TTL and CMOS logic families. Most CMOS (74HC / AC, etc.) IC data sheets now use Vcc and Gnd to designate the positive and negative supply pins.


http://bbs.ednchina.com/?url=http://bbs.ednchina.com/ShowTopic.aspx?id=19053

在电子电路中,常可以看到VCC、VDD和VSS三种不同的符号,它们有什么区别呢?

一、解释

VCC:C=circuit 表示电路的意思, 即接入电路的电压;

VDD:D=device 表示器件的意思, 即器件内部的工作电压;

VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压。

二、说明

1、对于数字电路来说,VCC是电路的供电电压,VDD是芯片的工作电压(通常Vcc>Vdd),VSS是接地点。

2、有些IC既有VDD引脚又有VCC引脚,说明这种器件自身带有电压转换功能。

3、在场效应管(或COMS器件)中,VDD为漏极,VSS为源极,VDD和VSS指的是元件引脚,而不表示供电电压。


2007年4月25日星期三

上善若水

上善若水。水善利万物而不争,处众人之所恶,故几于道。居善地,心善渊,与善仁,言善信,政善治,事善能,动善时。夫为不争,故无尤。
--老子《道德经》

zz:经典的十句大实话,请大家牢记

http://group.hexun.com/huaiyuan/Notice.aspx?articleid=393215&index=1

1.遇到乞讨者:遇到要钱的就给他(她)点饭,遇到要饭的就给他(她)点钱。


2.上车遇到老弱病残、孕妇:让座的时候别动声色,也别大张旗鼓。站起来用身体挡住其他人留出空位子给需要的人,然后装作下车走远点。人太多实在走不远,人家向你表示谢意的时候微笑一下。


3.雨雪的时候、天冷的傍晚或者是雪天的傍晚,遇到卖菜的、卖水果的、卖报纸的剩的不多了又不能回家,能全买就全买,不能全买就买一份,反正吃什么也是吃,看什么也是看,买下来让人早点回家。

4.遇到迷路的小孩和老头老太太,能送回家送回家,不能送回家的送上车、送到派出所也行,如果有电话的替老人或小孩打个电话就走,反正你也不缺那两个电话费。

5.遇到迷路的人打听某个地址,碰巧你又知道,就主动告诉一声。别不好意思,没有人笑话你。


6.捡到钱包就找找失主,如果你实在缺钱就把现金留下。打电话告诉失主就说你在厕所里捡到的。把信用卡、身份证、驾驶执照还给人家,一般人家也不会在乎钱了。把人家的地址记在你的笔记本上,以后发达了去找人家道个谦,把钱还给人家。

7.遇到学生出来打工的、勤工俭学的,特别是中学生、小姑娘。她卖什么你就买点,如果她不是家庭困难,出来打工也需要勇气的,鼓励鼓励她吧。


8.遇到夜里摆地摊的,能买就多买一些,别还价,东西都不贵。家境哪怕好一点,谁会大冷天夜里摆地摊。

9.如果钱还宽裕,别养二奶,偷偷养几个贫困山区的学生。别让人家知道你是谁,要不然见面了多尴尬,多不好意思。但是你心里一定会觉得舒坦,比包二奶提心吊胆的要好得多。如果真想包也可以包一个,好事坏事一起做。人吗,本来就复杂。


10.如果时间还宽裕,而且碰巧觉得我说的在理,那就顶一下我的贴子,总比去顶看了没什么收获的贴子舒服。时间宽裕不少就请把这几句话多转几个地方,毕竟好人多了咱们心里也舒坦。


点击数: 795 | 回复数:61 | 时间:2007-4-25 12:34:48

2007年4月24日星期二

音频的频率范围及表现力度

音频的频率范围及表现力度

音频的频率范围、音质的评价标准一般认为20Hz20kHz是人耳听觉频带,称为声频。这个频段的声音称为可闻声,高于20kHz的称为超声,低于20Hz的称为次声

所谓声音的质量,是指经传输、处理后音频信号的保真度。目前,业界公认的声音质量标准分为4级,即:

数字激光唱盘CD-DA质量,其信号带宽为10Hz~20kHz

调频广播FM质量,其信号带宽为20Hz~15kHz

调幅广播AM质量,其信号带宽为50Hz~7kHz

电话的话音质量,其信号带宽为200Hz~3400Hz

可见,数字激光唱盘的声音质量最高,电话的话音质量最低。

除了频率范围外,人们往往还用其它方法和指标来进一步描述不同用途的音质标准。 音频频率范围一般可以分为四个频段,即:

低频段(30150HZ);

中低频段(30150HZ);

中低频(150500HZ);

中高频段(5005000HZ);

高频段(500020kHZ)。

30150HZ频段:能够表现音乐的低频成分,使欣赏者感受到强劲有力的动感。

150500HZ频段:能够表现单个打击乐器在音乐中的表现力,是低频中表达力度的部分。5005000HZ频段:主要表达演唱者或语言的清淅度及弦乐的表现力。

500020kHZ频段:主要表达音乐的明亮度,但过多会使声音发破。

2007年4月19日星期四

Linux软件安装之RPM的安装技巧(转)

如果有弟兄找来,可以直接在本帖后面回帖,我是在uBuntu Powerpc中运行 apt-get install rpm* 得到了一个rpm.txt~的文件。至于为什么出来一个这样的文件,我也不知道。

今天一个网友问了一个问题,没有想到,自己忘记知识的能力倒很强.....把一些常用的放在这里,大家需要也可以拷贝过去,基础的东西还 是不要丢,唉....三天不练手生啊

1.如何安装rpm软件包
rmp软件包的安装可以使用程序rpm来完成。执行下面的命令
rpm -i your-package.rpm
其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。
安装过程中可能出现下面的警告或者提示:
... conflict with ... 可能是要安装的包里有一些文件可能会覆盖现有
的文件,缺省时这样的情况下是无法正确安装的可以用
rpm --force -i 强制安装即可
... is needed by ...
... is not installed ... 此包需要的一些软件你没有安装可以用
rpm --nodeps -i 来忽略此信息
也就是说,rpm -i --force --nodeps 可以忽略所有依赖关系和文件问题,什么包
都能安装上,但这种强制安装的软件包不能保证完全发挥功能

2.如何安装.src.rpm软件包
有些软件包是以.src.rpm结尾的,这类软件包是包含了源代码的rpm包,在安装时
需要进行编译。这类软件包有两种安装方法,
方法一:
1.执行rpm -i your-package.src.rpm
2. cd /usr/src/redhat/SPECS
3. rpmbuild -bp your-package.specs 一个和你的软件包同名的specs文件
4. cd /usr/src/redhat/BUILD/your-package/ 一个和你的软件包同名的目录
5. ./configure 这一步和编译普通的源码软件一样,可以加上参数
6. make
7. make install

方法二:
1.执行rpm -i you-package.src.rpm
2. cd /usr/src/redhat/SPECS
前两步和方法一相同
3. rpmbuild -bb your-package.specs 一个和你的软件包同名的specs文件
这时,在/usr/src/redhat/RPM/i386/ (根据具体包的不同,也可能是i686,noarch等等)
在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。
执行rpm -i new-package.rpm即可安装完成。

3.如何卸载rpm软件包
使用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀.rpm
比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:
rpm -e proftpd-1.2.8-1
rpm -e proftpd-1.2.8
rpm -e proftpd-
rpm -e proftpd
不可以是下列格式:
rpm -e proftpd-1.2.8-1.i386.rpm
rpm -e proftpd-1.2.8-1.i386
rpm -e proftpd-1.2
rpm -e proftpd-1
有时会出现一些错误或者警告:
... is needed by ... 这说明这个软件被其他软件需要,不能随便卸载
可以用rpm -e --nodeps强制卸载

4.如何不安装但是获取rpm包中的文件
使用工具rpm2cpio和cpio
rpm2cpio xxx.rpm | cpio -vi
rpm2cpio xxx.rpm | cpio -idmv
rpm2cpio xxx.rpm | cpio --extract --make-directories
参数i和extract相同,表示提取文件。v表示指示执行进程
d和make-directory相同,表示根据包中文件原来的路径建立目录
m表示保持文件的更新时间。

5.如何查看与rpm包相关的文件和其他信息
下面所有的例子都假设使用软件包mysql-3.23.54a-11
1.我的系统中安装了那些rpm软件包
rpm -qa 讲列出所有安装过的包
如果要查找所有安装过的包含某个字符串sql的软件包
rpm -qa |grep sql

2.如何获得某个软件包的文件全名
rpm -q mysql 可以获得系统中安装的mysql软件包全名,从中可以获得
当前软件包的版本等信息。这个例子中可以得到信息mysql-3.23.54a-11

3.一个rpm包中的文件安装到那里去了?
rpm -ql 包名
注意这里的是不包括.rpm后缀的软件包的名称
也就是说只能用mysql或者mysql-3.23.54a-11而不是mysql-3.23.54a-11.rpm。
如果只是想知道可执行程序放到那里去了,也可以用which,比如
which mysql

4.一个rpm包中包含那些文件
一个没有安装过的软件包,使用rpm -qlp ****.rpm
一个已经安装过的软件包,还可以使用rpm -ql ****.rpm

5.如何获取关于一个软件包的版本,用途等相关信息?
一个没有安装过的软件包,使用rpm -qip ****.rpm
一个已经安装过的软件包,还可以使用rpm -qi ****.rpm

6.某个程序是哪个软件包安装的,或者哪个软件包包含这个程序
rpm -qf `which 程序名` 返回软件包的全名
rpm -qif `which 程序名` 返回软件包的有关信息
rpm -qlf `which 程序名` 返回软件包的文件列表
注意,这里不是引号,而是`,就是键盘左上角的那个键。
也可以使用rpm -qilf,同时输出软件包信息和文件列表

7.某个文件是哪个软件包安装的,或者哪个软件包包含这个文件
注意,前一个问题中的方法,只适用与可执行的程序,而下面的方法,不仅可以
用于可执行程序,也可以用于普通的任何文件。前提是知道这个文件名。
首先获得这个程序的完整路径,可以用whereis或者which,然后使用rpm -qf例如:
# whereis ftptop
ftptop: /usr/bin/ftptop /usr/share/man/man1/ftptop.1.gz
# rpm -qf /usr/bin/ftptop
proftpd-1.2.8-1
# rpm -qf /usr/share/doc/proftpd-1.2.8/rfc/rfc0959.txt
proftpd-1.2.8-1

总结:
获得软件包相关的信息用rpm -q,q表示查询query,后面可以跟其他选项,比如
i 表示info,获得软件包的信息;
l 表示list,获得文件列表;
a 表示all,在所有包中执行查询;
f 表示file,根据文件进行相关的查询;
p 表示package,根据软件包进行查询
需要的查询条件可以使用grep产生,或者从"` `"中的命令行产生

6.关于rpm软件包的一些相关知识
1.什么是rpm
rpm 即RedHat Package Management,是RedHat的发明之一

2.为什么需要rpm
在一个操作系统下,需要安装实现各种功能的软件包。这些软件包一般都有各自的
程序,但是同时也有错综复杂的依赖关系。同时还需要解决软件包的版本,以及安装,
配置,卸载的自动化问题。为了解决这些问题,RedHat针对自己的系统提出了一个
较好的办法来管理成千上百的软件。这就是RPM管理系统。在系统中安装了rpm管理系统
以后,只要是符合rpm文件标准的打包的程序都可以方便的安装,升级,卸载

3.是不是所有的linux都使用rpm
任何系统都需要包管理系统,因此很多linux都使用rpm系统。但rpm系统是为RH专门
但是TL,Mandrake等系统也都使用rpm。由于rpm的源程序可以在别的系统上进行编译,
所以有可能在别的系统上也使用rpm
除了rpm,其他一些系统也有自己的软件包管理程序,例如debian的deb包,
slakware也都有自己的包管理系统

4.rpm包的文件名为什么那么长
rpm包的文件名中包含了这个软件包的版本信息,操作系统信息,硬件要求等等。
比如mypackage-1.1-2TL.i386.rpm,其中mypackage是在系统中登记的软件包的名字
1.1是软件的版本号,2是发行号,TL表示用于TL操作系统,还可能是RH等。i386表示
用于intel x86平台,还可能是sparc等。

5.软件包文件名中的i386,i686是什么意思
rpm软件包的文件名中,不仅包含了软件名称,版本信息,还包括了适用的硬件架构
的信息。
i386指这个软件包适用于intel 80386以上的x86架构的计算机(AI32)
i686指这个软件包适用于intel 80686以上(奔腾pro以上)的x86架构的计算机(IA32)
noarch指这个软件包于硬件架构无关,可以通用。
i686软件包的程序通常针对CPU进行了优化,所以,向后兼容比较用以,i386的包在
x86机器上都可以用。向前一般不兼容。不过现在的计算机,奔腾pro以下的CPU已经很少
用,通常配置的机器都可以使用i686软件包

6.不同操作系统发行的rpm包可否混用?
对于已经编译成二进制的rpm包,由于操作系统环境不同,一般不能混用。
对于以src.rpm发行的软件包,由于需要安装时进行本地编译,所以通常可以在不同
系统下安装。

7.使用rpm时遇到的一些特殊问题
Q 我用rpm -e **.rpm无法删除rpm包
A 包名不要包括rpm,
rpm -e 包名,可以包含版本号等信息,但是不可以有后缀.rpm

Q 在MS的系统下有没有读RPM文件的工具?
A wincmd with rpm plugins.....

Q 是否可以通过ftp安装安装升级rpm包?
A 可以。rpm -ivh ftp://xxxxxxxx/PATH2SomeRPM

Q rpm安装时已有的包版本过高怎么办?
A 有时由于安装的软件包太老,而系统中相关的软件包版本比较新,所以可能需要
安装的包依赖的一些文件会找不到。这时有两种解决办法,
第一是在系统文件中找到和需要的文件功能相同或相似的文件,做一个符号链接到
需要的目录下。

2007年4月18日星期三

NRE Expense

所 謂NRE(NonRecurring Engineering) Expense 或 Cost, 是指新產品開發過程中所發生的一次性費用﹐例如人力支出﹑治具支出﹑產品測試支出等﹐這些費用有賴大量生產後之利潤賺回﹐對於國內某些ODM/OEM廠商 而言﹐有些客戶會同意支付此一NRE費用﹐尤其是那些開發中途停止﹐或是完成後沒有生產的開發產品﹐通常客戶會支付此一NRE費用!

2007年4月17日星期二

grub reference

http://www.linuxsir.org/main/?q=node/129#1

2007年4月16日星期一

居家安全訣竅

很多人都在假日時到外地去渡假,這裡有一些居家安全訣竅可以避免您的家在假日時遭到盜賊的光顧,提供給您參考。
1. 鎖緊門窗。
2. 將貴重的物品收藏到隱密的地方。
3. 停止郵件及包裹的寄送或是請您信任的鄰居每天幫您收好寄送來的信件及包裹。
4. 不要在電話答錄機裡留下你不在家中這類的留言,留言的內容應是您目前無法接聽電話之類的訊息。

5. 不要將備用的鑰匙留在郵箱或是門外的踏腳墊下或是其他容易被小偷發現的地方。
6. 貼上受到保安系統監控的標籤也是很有幫助的,但是光只是這樣做並不代表您的家就是安全的。當您不在家時,您應該打開您的保安系統並且通知我們的ADT監控中心,告知我們您將會不在家還有您是將鑰匙留給什麼人及他的連絡方式,以確保有警報發生時我們能夠即時反應。
7. 當您開心地去渡假時,請記得:
請攜帶足夠您渡過這個假期的現金,並將它們存放在飯店房間裡的保險箱中。在假期中請盡量使用旅行支票或是信用卡。
8. 請盡量讓自己穿著輕鬆避免穿得太華麗,身上戴著名貴的裝飾是會引起注意的。
9. 要將您飯店房間裡的行李都上鎖。
10. 如果發生以下的事情,請您要特別留意:

. 您被某人碰撞到時
. 您被某些不知名的液體噴濺到時
. 您被一群小孩子圍繞著時
. . 有人在製造引人注意的事端

职场秘籍:如何规划自己的职业生涯

如果你对自己的职业规划不够确定,或者你认为工作中没有太多机会让你进步,不要失望。要知道,很多像你这样的人正在经历同样的状况。

BlessingWhite公司发布的一份新研究成果《2007年职业发展报告》指出,只有50%的雇员认为他们目前的雇主可以给他们一个不错的职业发展机会,而有超过1/3的人则希望他们的下一份工作能让他们换一个环境。

在这份调查中,知道自己想要从下一份工作中获得什么的人不到一半,认为自己凭借清晰的职业发展目标来主动地掌控自身事业的人也刚过50%。

当被问到选择下一份工作最重要的标准是什么时,将近有1/3的人认为必须是“有意思的工作”,这是人数最多的,人数第二多的则是认为必须“有意义”以及“工作和生活有很好的平衡”的人。

这份报告建议说,制定并实施一份良好的职业规划的第一步,就是要抛除之前对于职业的任何预先的想法。

了解你自己,判断你自己的价值和利益,这将帮助你找到一个能符合这些要求的角色。

了解你自己的能力:当你了解了自己的天赋和不足时,你可以让你的才能去适应职位或者公司的需要。这样的自我意识可以战略性地为你的学习和技能建立起发展框架。

知道你自己的选择:你必须分析你的知识、热情和技能适合于那个市场,当你发现你的公司中有这么一个适合你的职位时,那就赶紧告诉你的经理,然后让你公司的人力资源部为你调换职位。

BlessingWhite公司CEO Chris Rice说:“如果你明白什么对你是重要的,你能给与什么,以及你能给你的雇主带来怎样的不同,你就能更好地作出正确的选择,并成为能够完成工作的正确人选。”

2007年4月12日星期四

PTZ Control Protocol

http://www.232analyzer.com/RS232_Examples/CCTV/Pelco_D_Pelco_P_Examples_Tutorial.HTM#1

2007年4月9日星期一

Linux Kernel Compile Error

arm-linux-ld -p -X -T arch/arm/vmlinux.lds arch/arm/kernel/head-armv.o arch/arm/kernel/init_task.o init/main.o init/version.o init/do_mounts.o \
--start-group \
arch/arm/kernel/kernel.o arch/arm/mm/mm.o arch/arm/mach-dm320/dm320.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o arch/arm/common/nopci.o \
drivers/serial/serial.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/media/media.o drivers/net/net.o drivers/mtd/mtdlink.o drivers/media/media.o \
net/network.o \
arch/arm/nwfpe/math-emu.o arch/arm/lib/lib.a /home/frank/ipcam/svn_ipcam/ipcam/trunk/LR3615_BII/kernel/linux-2.4.26/lib/lib.a \
--end-group \
-o vmlinux
kernel/kernel.o(.text+0x2a10): In function `$a':
: undefined reference to `memc_update_mm'
mm/mm.o(.text+0xc8f0): In function `$a':
: undefined reference to `memc_clear'
fs/fs.o(.text+0x9db8): In function `put_dirty_page':
: undefined reference to `memc_update_addr'
make: *** [vmlinux] Error 1