星期五, 三月 28, 2008

Linux系统里有几根内存信息

Linux系统里有几根内存信息
dmidecode |grep -A16 "Memory Device$"

dmidecode -t memory

dmidecode -t 可以看到 可以显示的相关信息

如:dmidecode -t processor 就可以显示cpu的相关信息。

Read More...

Gentoo portage-utils常用选项 [转]

之前一直用的eix equery这些工具,结果上次当equery b 不听话的时候有人告诉我qfile,结果让我改变了对portage-utils的看法,所以就顺带整理了一下目的是方便自已看,各位高手看到下面有误的地方,请提示改正
#------------------------------------------------------------------------------
qlist <opts> <pkgname>
-I , --installed *仅显示已安装的包 等同于eix -I --names-only
-S, --slots *显示已安装的包时同时显示slots
-U, --umap   *显示已安装包的同时显示使用的USE标记
-D,--dups *仅显示包dups
-e, --expact *Exact match(only CAT/PN or PN without PV)
-a, --all *显示所有安装包
-d, --dir *仅显示包安装后的目录 equery files --filter=dir
-o, --obj *仅显示包安装后的obj
-s, --sym *仅显示包安装后的软链接
-v, --verbose *详细得你不想再详细
-q, --quiet *尽量的减少输出信息,并且连警告都不显示
-C, --nocolor *输出时不带颜色形式输出
-h, --help *打印帮助信息并退出
-V, --version *打印版本信息并退出
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
qpkg <opts> <misc args> 注意该命令需要管理员权限
Options: -[cpP:vqChV]
-c, --clean *清除无用的二进制文件目录,也就是 eclean-dist -d ??有待考证
-p, --pretend *用过emerge -p就会用这个了
-P, --pkgdir <arg> *alternate package directory不知如何解释
-V, --verbose *
-q, --quiet *
-C, --nocolor *
-h, --help
-V, --version
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
qfile <filename>
Options: -[ef:m:oRx:vqChV]
-e, --Exact *精确匹配,类似eix -e gcc只查到包名为gcc的包效果一样
-f, --from <arg> *Read arguments form file <arg> ("-" for stdio)
*将读入文件作为qfile的输入(有待考证)

-m, --max-args <arg> * Treat from file arguments by groups of args(默认为5000)
-o, --orphans *显示孤立文件 这个是显示孤儿文件,就是不包含在任何安装包里边的文件。(不是通过ebuild安装的,可能是你手工安装的程序,也可能是反删除时候留下的文件),这个一般用来清除系统垃圾文件。
-R, --root-prefix, Assume arguments are already prefixed by $ROOT
*假设已将参数前缀设置为$ROOT了(不知如何表达)

-x, --exclude <arg> * Don't look in package <arg>排除xxxx

<注>当equery b filename时未找到匹配时可以试试qfile,可能会给你带来惊喜
#------------------------------------------------------------------------------


#------------------------------------------------------------------------------
qlop <opts> <pkgname>
-g, --gauge * Gauge number of times a package has been merged
比较准确估算出一个包已merged的时间

-t, --time *计算一个指定包merge的时间
-H, --human *输出的是秒形式,所以用此参数转化为人性化的显示方式(需要-t参数的支持)
-l, --list *显示merge历史
-u, --unlist *显示unmerge 历史
-c, --current *显示当前正在emerging的包,相当于genlop -c

-f, --logfile <arg> *Read emerge logfile instead of /var/log/emerge.log
*用logfile的文件来代替/var/log/emerge.log
#------------------------------------------------------------------------------


#------------------------------------------------------------------------------
quse <opts> <useflag>
-e, --exact *精确比较,不使用正则表达式
-a, --all *Show annoying things in IUSE (不管3721全显)
-K, --keywords *Use the KEYWORDS vs IUSE
-L, --license *Use the LICENSE vs IUSE
-D, --describe *显示USE的描述信息,类似 euse -i xxx
-F, --format <arg> * Use your own variable formats. -F NAME=
-N, --name-only * Only show package name
#------------------------------------------------------------------------------


#------------------------------------------------------------------------------
qcheck <opts> <pkgname>
-e, --exact *Exact match (only CAT/PN or PN without PV)
-a, --all *显示所有包
-u, --update *更新包的缺失的文件,校验码和修改时间(不要乱用)
-A, --noafk *忽略缺失的文件
-H, --nohash *Ignore differing/unknown file chksums
-T, --nomtime *Ignore differing file mtimes
-v, --verbose
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
qsize <opts> <pkgname>
-f, --filesystem *显示已使用的磁盘空间(包占用大小)
-a, --all *显示所有安装包的大小
-s, --sum *Include a summary 还会显示一个总和
-S, --sum-only *仅显示总和
-m, --megabytes *用M方式显示 xMbytes
-k, --kilobytes *用K方式显示 Kbytes
-b, --bytes
-v, --version
#------------------------------------------------------------------------------

#------------------------------------------------------------------------------
qdepends <opts> <pkgname>
-d, --depend *显示依赖信息
-r, --rdepend *显示反向依赖信息
-p, --pdepend *显示PDEPEND信息 (未理解到)
-k, --key <arg> *User defined vdb key
-Q, --query <arg> *查询反向依赖
-N, --name-only *仅显示包名
-a, --all *显示所有依赖信息
-v, --verbose
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------

Usage: qtbz2 <opts> <misc args> : manipulate tbz2 packages

Options: -[jstxOvqChV]
-j, --join * Join tar.bz2 + xpak into a tbz2
-s, --split * Split a tbz2 into a tar.bz2 + xpak
-t, --tarbz2 * Just split the tar.bz2
-x, --xpak * Just split the xpak
-O, --stdout * Write files to stdout
-v, --verbose * Make a lot of noise
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit



Usage: qxpak <opts> <misc args> : manipulate xpak archives

Options: -[lxcd:OvqChV]
-l, --list * List the contents of an archive
-x, --extract * Extract the contents of an archive
-c, --create * Create an archive of a directory/files
-d, --dir <arg> * Change to specified directory
-O, --stdout * Write files to stdout
-v, --verbose * Make a lot of noise
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit

#------------------------------------------------------------------------------
Usage: qatom <opts> <pkg> : split atom strings
拆分原子字符串
Options: -[cvqChV]
-c, --compare * Compare two atoms
* 比较两个原子
-v, --verbose * Make a lot of noise
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit

#------------------------------------------------------------------------------
Usage: qgrep <opts> <misc args> : grep in ebuilds
Options: -[IiHNclLexJEsS:B:A:vqChV]
-I, --invert-match * Select non-matching lines
* 选择不匹配的行
-i, --ignore-case * Ignore case distinctions
* 忽略大小分
-H, --with-filename * Print the filename for each match
* 打印每个匹配的文件名
-N, --with-name * Print the package or eclass name for each match
* 打印每个匹配的包名或eclass名
-c, --count * Only print a count of matching lines per FILE
* 只显示每个文件匹配行总个数
-l, --list * Only print FILE names containing matches
* 只打印文件名里面包含的匹配
-L, --invert-list * Only print FILE names containing no match
* 只打印文件名里面不匹配的内容
-e, --regexp * Use PATTERN as a regular expression
* 使用正则表达式
-x, --extended * Use PATTERN as an extended regular expression
* 使用正则表达式的扩展语法
-J, --installed * Search in installed ebuilds instead of the tree
* 搜索已安装的ebuilds
-E, --eclass * Search in eclasses instead of ebuilds
* 搜索
-s, --skip-comments * Skip comments lines
* 跳过注释行 只要重要的信息
-S, --skip <arg> * Skip lines matching <arg>
* 跳过匹配<arg>的行
-B, --before <arg> * Print <arg> lines of leading context
* 打印
-A, --after <arg> * Print <arg> lines of trailing context
-v, --verbose * Make a lot of noise
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit

#------------------------------------------------------------------------------
Usage: qmerge <opts> <pkgnames> : fetch and merge binary package

Options: -[fFsKUpuyO5vqChV]
-f, --fetch * Fetch package and newest Packages metadata
* 获取包和最新的包metadata,等同emerge -f
-F, --force * Fetch package (skipping Packages)
* 获取包 (跳过包)
-s, --search * Search available packages
* 搜过有效包
-K, --install * Install package
* 安装包
-U, --unmerge * Uninstall package
* 卸载包
-p, --pretend * Pretend only
* 假打
-u, --update * Update only
* 仅更新
-y, --yes * Don't prompt before overwriting
* 直接代替你输入yes
-O, --nodeps * Don't merge dependencies
* 不emerge依赖包
-5, --nomd5 * Don't verify MD5 digest of files
* 不校验文件的MD5信息
-v, --verbose * Make a lot of noise
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit
#------------------------------------------------------------------------------
Usage: qsearch <opts> <regex> : search pkgname/desc

Options: -[acsSNHvqChV]
-a, --all * List the descriptions of every package in the cache
* 显示cache中每个包的描述信息
-c, --cache * Use the portage cache
* 使用portage cache
-s, --search * Regex search package basenames
* 用正则表达式搜索包的基本名字
-S, --desc <arg> * Regex search package descriptions
* 用正则表达式搜索包的基本描述信息
-N, --name-only * Only show package name
* 只显示包名
-H, --homepage * Show homepage info
* 显示主页信息
-v, --verbose * Make a lot of noise
* 详细
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit

#------------------------------------------------------------------------------
Usage: qcache <opts> <action> <args> : search the metadata cache

Options: -[p:c:idtansvqChV]
-p, --matchpkg <arg> * match pkgname
* 匹配包名
-c, --matchcat <arg> * match catname
* 匹配
-i, --imlate * list packages that can be marked stable on a given arch
* 显示可以
-d, --dropped * list packages that have dropped keywords on a version bump on a given arch
*
-t, --testing * list packages that have ~arch versions, but no stable versions on a given arch
*
-s, --stats * display statistics about the portage tree
-a, --all * list packages that have at least one version keyworded for on a given arch
*
-n, --not * list packages that aren't keyworded on a given arch.
*
-v, --verbose * Make a lot of noise
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit

#------------------------------------------------------------------------------

Read More...

星期一, 三月 24, 2008

使用Tor+Firefox+FoxyProxy访问被和谐的网站

作者:李延瑞 (lyanry@gmail.com)

2007年10月15日

版本:0.1

对于GFW,我痛恨但不指责

整 个中国,相互连接的计算机构成了一个超大的局域网,但是在这个局域网面向海外的出口那里有一堵墙,它的名字叫做“The Great Fire Wall of China”,它的简称就是传说中的GFW,目前对其比较时髦的称谓是“和谐”。就是因为这堵墙,我们才不会被国外那些反华、反共、淫秽的信息所荼毒;也 是因为这堵墙,我们经常难以访问许多优秀的网络站点,譬如维基百科全书、Google Blogger、Google Page等。

对于GFW这种“宁肯错杀一千,也不放过一万”的做法,我的个人态度是非常痛恨但不打算指责,只好努力通过一些技术手段来获取访问那些被GFW了的好网站,来满足自己获取知识的需求。

目 前,我所衷爱并正在使用的操作系统是Gentoo Linux,因此在这篇并不太长的文档中,我要讲述在Gentoo下如何使用Tor、Firefox+Foxyproxy扩展来访问这些被“和谐”了的健 康网站。当然,本文的大部分内容也适合其他Linux发行版。对于Windows用户而言,本文内容除了有关Tor的安装与配置方法有区别外,其他有关 Firefox+FoxyProxy配置的内容是可以作为参考的。

让Tor为你编织一些田间小路

战争年代,难民们要从一座城市到另一座城市,他们要是走大路,很容易被敌军设置的路卡拦截,所以他们会选择一些只有乡下人才知道的田间小路,以隐藏自己的踪迹。

现在,我们身处信息时代,虽然不像战争年代那样残酷,但是从我们计算机发出或接受的信息都有可能被居心叵测的网络“路卡”(包括GFW)所拦截。所以我们要寻找一些可以隐藏自己踪迹的“田间小路”,它就是Tor。

有关Tor的详细描述请参考 这里,本文主要专注于Tor的具体应用。

对于Gentoo用户,安装Tor是一件非常容易的事情,只需要:

# emerge -avt tor

下一步是配置Tor,首先将其一个配置文件示例中的内容作为其默认配置:

# cp /etc/tor/torrc.sample /etc/tor/torrc

然后启动Tor服务,以监听所有来访Tor端口的信息:

# /etc/init.d/tor start

如果不想每次都手动启动Tor服务,可以将其添加到系统启动过程中,这样每次启动Gentoo时,都会自动为你开启Tor服务。设置如下:

# rc-update add tor default

Firefox的FoxyProxy扩展

Firefox有一个扩展,唤作FoxyProxy,是用来为一些站点配置专门的代理服务访问的,它可以从 这里 下载安装。如果你对Firefox的扩展安装还处于懵懂无知的境地,可以参考 这里。我在这里只说一下安装完FoxyProxy扩展并重启Firefox之后的故事。

首先,重启Firefox后,会弹出这样的对话框:

对于这个对话框,嘛也别说了,点击 “是” 按钮,让FoxyProxy可以与Tor协同工作。

紧接着会弹出 :

Privoxy是Tor的黄金搭档,专门用于实现Tor的Web代理访问的一个工具,由于FoxyProxy无需要Privoxy的支持即可调动Tor为其工作,所以这里选择“不使用”,而且我们也没必要去安装Privoxy。

下面弹出的对话框是让你选择Tor的监听端口的,默认值为“9050”,我们使用这个默认值就好。

说实在的,我很不太满意FoxyProxy的安装过程,一个一个对话框的向外跳,很烦人呃。为啥就不能把这些设置放在一个对话框面板中让用户进行设定呢?无论你是否愿意,如果像我这样决定使用FoxyProxy了,还是耐心一些了。喏,下面又是一个对话框:

对于这个对话框所提出的问题,我也不知道如何选择,那么就按照它的提示,选择 “是”。听人劝,吃饱饭。

下 面跳出的这个对话框,不需要你选择什么,直接点击 “确定” 按钮即可。这个对话框实际上是FoxyProxy的配置面板,目前已经为你配置了使用Tor来访问你的 GMail 帐户,实际上在此你可以谢绝这个好意,将这项配置选中并删除。这个面板的用法,在下文中我们还要碰到,在此就略表即可。

下面弹出一个欢迎信息的对话框,祝贺你完成了FoxyProxy有关Tor的配置,点击 “确定” 即可。

下面会弹出最后一个对话框,提示你现在重新启动一下Firefox,请点击 “是”按钮。

埃,傻瓜式的配置过程终于结束了。这个过程让我心里有好多恶心的感觉,感觉那熟悉的Windows风格又回来了。

FoxyProxy安装完后,会在Firefox的任务栏上显示出任务图标:

狐假狐威的FoxyProxy

本节主要介绍如何配置FoxyProxy,以便让Firefox畅通无阻地访问经常被和谐的Google Page、Google Blogger站点。

在Firefox任务栏上左键单击FoxyProxy图标,即可弹出FoxyProxy配置对话框,在该对话框中你可以新建、删除特定站点的代理服务器配置。

点击FoxyProxy配置对话框上的“新建代理服务器”按钮,打开下面的代理配置对话框,并在其“常规”页面上填写一些可以让自己明白所设置代理服务器意义的信息:

在FoxyProxy代理配置对话框的“代理服务器细节”页面上作以下设置,给出代理服务器地址、端口等信息:

在FoxyProxy 代理配置对话框的“模板”页面上设定使用这一代理服务器访问的站点模板。所谓的站点模板实际上就是所访问网站的域名匹配字串,该字串有两种形式:通配符与 正则表达式。这样,Firefox将会根据此处设置的字串去匹配地址栏中你所输入的网址,如果匹配成功,那么就自动使用前面所设定的代理服务器访问相应站 点。

在“模板”配置页面上,点击“添加新模板”按钮,即可打开用于配置新模板的对话框。下图在该对话框中配置了匹配Google Page Creator的模板:

照 葫芦画瓢,我们可以再建立两个模板:1)用于匹配“*googlepages.com/*”域名的模板,可用于访问Google Page Creator创建的页面;2)用于匹配"*blogspot.com/*"域名的模板,用于访问Google Blogger。新模板配置完毕后,点击配置新模板对话框的“确定”按钮,回转到FoxyProxy代理配置对话框的“模板”页面,在模板列表栏里可以看 到刚才所设定的模板了:

最后点击确认按钮,可以回转到在FoxyProxy代理配置对话框,在代理服务器列表栏里可以看到相应的代理服务器信息。

最 后,点击FoxyProxy代理配置对话框中的确认按钮结束配置任务。现在,Firefox应该可以访问Google Page Creator、Google Blogger等站点了。如果不放心,可以重新启动一下Firefox。要确认所设定的代理是否可用,可以访问一些Google Page或Google Blogger站点测试一下,比如访问我的 Google Page

这 一节的内容至此已经结束,但是你也许会奇怪,为什么这一节的标题叫做“狐假狐威”的FoxyProxy呢?这是因为Firefox本身就具备这种专用的代 理服务器配置功能,这一功能是通过代理服务器自动配置脚本来实现的,也就是“.pac”文件,譬如上面FoxyProxy中的Google Servers代理配置过程可以写成一个“google-servers.pac”文件,其内容如下:


function FindProxyForURL(url,host){
if(dnsDomainIs(host, ".blogspot.com")){
return "PROXY 72.14.219.190:80";
}
if(dnsDomainIs(host, ".googlepages.com")){
return "PROXY 72.14.219.190:80";
}
if(dnsDomainIs(host, "pages.google.com")){
return "PROXY 72.14.219.190:80";
}
return "DIRECT";
}

这种自动代理配置脚本代码是javascript代码,Firefox与IE中都可以使用它来控制某一网站的代理服务访问模式。有关它的具体用法,可以google到更为详细的资料,此处略表不提。

FoxyProxy与Tor的配合

上一节讲了FoxyProxy怎样狐假狐威地作为Google Servers代理服务器的,其实FoxyProxy还是有一些真才实学的,譬如它与Tor的配合使用。

前文已经提到过将Tor用户网络代理访问工具的黄金搭档是Privoxy,但是对于我们仅仅使用Tor来访问一些被GFW的网站而言,使用FoxyProxy即可。下面通过在FoxyProxy中配置一个Tor代理来访问 http://zh.wikipedia.org作为示例,演示一下FoxyProxy与Tor的配合使用方法。

首先,点击Firefox任务栏上FoxyProxy的图标,打开配置对话框。在“代理服务器”配置页面上的列表栏中显示已配置的代理服务器,如下图所示。

由 于前文在安装FoxyProxy时,已经配置了一个默认的Tor代理服务器,现在用鼠标左键双击列表栏中的Tor服务器条目,即可打开该代理服务器配置页 面,并作出如下图所示的设定。注意,此处对于代理服务器地址与端口的设定,必须与Tor配置文件中的代理服务器地址与端口信息相一致。Tor的配置文件即/etc/tor/torrc(见前文安装Tor的内容)。对于本文而言,/etc/tor/torrc文件中Tor的代理服务器地址与端口是与此处FoxyProxy中的设定是一致的。

完成Tor代理服务器配置之后,就可以访问 维基中国网站了。

你也可以使用Tor来访问其他一些被GFW的内容健康的网站,但是你一定会抱怨访问速度怎么这么慢。这时,你应当好好了解一下Tor的工作原理,只有如此,你才能心里上略加安慰,并积极地使用Tor,甚至把自己的网络也融为Tor的一部分。

Read More...

星期三, 三月 19, 2008

emerge tips

quickpkg portage 备份当前的portage包,以便出现问题恢复

quickpkg bash 备份当前的bash包,以便出现问题恢复

emerge -uO portage O就是不考虑依赖关系

emerge -uDNpv world D=--deep N=--newuse

Read More...

星期四, 三月 13, 2008

今天辞职了

今天辞职了,心理还是怪怪的,这大半年发生了太多的事,希望留在那里的弟兄能够有个好的未来,也希望自己再次考研成功,哎 算了 不写了
改天吧

Read More...

星期三, 三月 12, 2008

10个你所不知道的杀手级FireFox扩展【转】

最为重要的是,这些精彩的扩展几乎都不是我们所熟知的著名产品,它可以有效地提升您的浏览体验.

1. PicLens

PicLens可以立即将你的浏览器变成全屏3D视角,形成一个3D浏览墙,可以通过拖放,点击,缩放等操作来加强浏览体验.

2. Snap Links

通过拖动快速收集超级链接

3. Tab Scope

类似于Windows Vista的任务栏预览.

4. Reminder Fox

FireFox的提醒软件,贵人从此少忘事

5. Download Statusbar

显示下载的进度,再也不用点菜单来浏览下载情况

6. HyperWords

将FireFox变成专业级的文字处理工具,挺酷吧!

7. Foxmarks Bookmark Synchronizer

将书签同步到网上,就算到了另一台机器也可以轻松获取到

8. Tab Effect

3D Cube功能

9. Cooliris Previews

快速预览一个站点,并且通过图形的方式直接引导访问.

10. StumbleUpon

对网上的内容进行评分,这样你可以参考大家的意见做出自己的选择.

Read More...

星期二, 三月 11, 2008

《在路上》---自勉

将这首《在路上》送给自己
希望能在路上,披荆斩棘,一往无前!

Read More...

星期一, 三月 10, 2008

s3c2410 LCD图片显示【转】

最近研究了s3c2410下LCD控制器的相关知识,主要的参考资料就是 三星s3c2410数据手册(arm920T),英文版,看的不是非常明白,后来参考了WinCE下的部分代码,似有所领悟。于是写了此程序,用以在LCD上显示图片。
本程序可以在LCD上居中显示小于800×480的任意大小的图片。用到的辅助工具就是上篇文章中的RGB分量提取器.
关键模块如下:

0、全局变量的定义:

#define DMA_BUFFER_BASE 0xAC000000
#define DMA_PHYSICAL_BASE 0x35000000 // S3C2410X01 0x30000000

#define FRAMEBUF_BASE (DMA_BUFFER_BASE + 0x00100000)
#define FRAMEBUF_DMA_BASE (DMA_PHYSICAL_BASE + 0x00000000)//0x00100000

#define IOP_BASE 0x56000000 // 0x56000000

typedef struct {
unsigned int GPACON; // 00
unsigned int GPADAT;
unsigned int PAD1[2];
...................
}IOPreg;

// Define LCD type of S3C2400X01
#define TFT24BPP 3
#define LCDTYPE TFT24BPP // define LCD type as upper definition.
//
// Registers : LCD Controller
//

#define LCD_BASE 0x4D000000 // 0x4D000000
typedef struct {
unsigned int LCDCON1; // 00
unsigned int LCDCON2; // 04
unsigned int LCDCON3; // 08
.....................
}LCDreg ;

// LCD register value

#define MODE_TFT_24BIT (224)
#define LCD_XSIZE_TFT (800)
#define LCD_YSIZE_TFT (480)
#define ARRAY_SIZE_TFT_24BIT (SCR_XSIZE*4*SCR_YSIZE)
#define HOZVAL_TFT (LCD_XSIZE_TFT-1)
#define LINEVAL_TFT (LCD_YSIZE_TFT-1)
#define MVAL (13)
#define MVAL_USED (0)
#define VBPD ((32-1)&0xff)
#define VFPD ((11-1)&0xff)
#define VSPW ((2-1) &0x3f)
#define HBPD ((88-1)&0x7f)
#define HFPD ((40-1)&0xff)
#define HSPW ((128-1)&0xff)
#define CLKVAL_TFT (1)
#define M5D(n) ((n) & 0x1fffff)

U32* pLCDBuffer24=(U32*)FRAMEBUF_DMA_BASE;
U32* picData;

volatile LCDreg *s2410LCD = (LCDreg *)LCD_BASE;

volatile IOPreg *s2410IOP= (IOPreg *)IOP_BASE;

int nCol = 800;//象素列数
int nRow = 480;//象素行数
U32* picDataT=NULL;

1、入口函数,其中包括了相应端口、寄存器初始化的入口,aa,bb,cc,dd,ee是可选择的5幅预定义图片的GRB码数组,具体代码如下

void lcd_Main(void)
{
char sel;
Uart_Printf("Lcd_Driver ");

lcd_port_init();
lcd_regs_init();

Uart_Printf("select one Picture to show(1 2 3 4 5 0) ");

while((sel = Uart_Getch()) != 'e')
{
Uart_Printf("%c ",sel);
switch(sel)
{
case '1':
picData = (U32*)aa;break;
case '2':
picData =(U32*)bb;break;
case '3':
picData = (U32*)cc;break;
case '4':
picData = (U32*)dd; break;
case '5':
picData = (U32*)ee;break;
default:
Uart_Printf("Input 1 2 3 4 5 0 ");
}

lcd_display();

Uart_Printf("select one Picture to show(1 2 3 4 5 0) ");
}
Uart_Printf("Exit");
//lcd_close();
}

2、相应端口设置,包括GPC,GPD,GPG的相应位的设置:


void lcd_port_init(void)
{

// LCD port initialize.
s2410IOP->GPCUP = 0xFFFFFFFF;
s2410IOP->GPCCON = 0xAAAAAAAA;

s2410IOP->GPDUP = 0xFFFFFFFF;
s2410IOP->GPDCON = 0xAAAAAAAA;

s2410IOP->GPGCON &= ~(3 <<>GPGCON |= (1 <<>GPGDAT |= (1 <<>LCDCON1 = (1 << vclk =" HCLK"> About 7 Mhz
(MVAL_USED <<>LCDCON2 = (VBPD <<>LCDCON3 = (HBPD <<>LCDCON4 = (MVAL <<>LCDCON5 = 0x00000000;
/**//*
s2410LCD->LCDCON5 = (0 <<>LCDSADDR1 = ((FRAMEBUF_DMA_BASE >> 22) <<>> 1)) << lcdbank =" ((FRAMEBUF_DMA_BASE">> 22) << lcdbaseu =" ((M5D(FRAMEBUF_DMA_BASE)">> 1) <<>LCDSADDR2 = (M5D(FRAMEBUF_DMA_BASE) >> 1) + ( (LCD_XSIZE_TFT*2) + 0 )*(LINEVAL_TFT+1);
//LCDBASEL = s2410LCD->LCDSADDR2

s2410LCD->LCDSADDR3 = (((LCD_XSIZE_TFT - LCD_XSIZE_TFT) / 1) << offsize =" (((LCD_XSIZE_TFT" pagewidth =" (LCD_XSIZE_TFT)">TPAL = 0x0;
s2410LCD->LCDCON1 |= 1;

#endif
}

4、居中显示图片:

void lcd_display(void)
{
int y;
int pw, ph;
int sw=800, sh=480;
U32* pdata;
U32* pBt=NULL;

lcd_clear();

get_XY();//获得图片的宽与高,以保存在RGB数组的头两个字节。
pw = nCol, ph = nRow;

pBt = pLCDBuffer24 + sw*(sh/2-ph/2) + (sw/2-pw/2);//定位图片显示的起始位置

pdata = (U32*)picDataT;
for(y=0; yLCDCON1 |= 0;

}

5、每次显示都要获得图片的宽度和高度,并且清除前面的屏幕,所谓清屏就是显示背景图片(蓝色):

void lcd_clear()
{
int y=0;
U32* pdata = (U32*)(bgData+2);
for(y=0; y<480; ++y)
{
memcpy((pLCDBuffer24+800*y),(char*)pdata,800*4);
pdata = (U32*)(pdata+800);
}
}

void get_XY(void)
{
nCol = picData[0];
nRow = picData[1];

picDataT =(U32*) (picData + 2);
}

Read More...

Linux系统的开机程序执行顺序

开机的程序是这样的:

1. 加载 BIOS 的硬件信息,并取得第一个开机装置的代号;

2. 读取第一个开机装置的 MBR 的 boot Loader (亦即是 lilo, grub, spfdisk 等

等) 的开机信息;

3. 加载 Kernel 操作系统核心信息, Kernel 开始解压缩,并且尝试驱动所有硬件装

置;

4. Kernel 执行 init 程序并取得 run-level 信息;

5. init 执行 /etc/rc.d/rc.sysinit 档案;

6. 启动核心的外挂模块 (/etc/modprobe.conf);

7. init 执行 run-level 的各个批次档( Scripts )

Read More...

星期六, 三月 08, 2008

2007,十张欧美唱片推荐

Playing My Game Lene Marlin

lene marlin

静谧的空气里,却不能忽略这样一副好嗓音,一份迷茫,一缕落寞
曲目推荐:Sitting Down Here

Konvicted Akon

akon

至终都充满了节奏音感,精炼的blues接踵而至,涌入耳膜。如果你喜欢蓝调 嘻哈,怎能错过这位饶舌天才的音乐呢。
曲目推荐:Dont Let Up

Metamorphosis Hilary Duff

hilary duff

初次听她的歌完全是冲于专辑封面,略带轻摇滚的音乐风格,自然,甜美却不失张力
曲目推荐:Where Did I Go Right


Back To Basics
Christina Aguilera

christina

爵士不是我喜欢的音乐 但是在这张专辑里,我听出了不同的味道。珠,玉,野心 迸裂,如果你想跳
曲目推荐:save me from myself

Trust Me CRAIG DAVID

craig david

太多的优点 太多的惊艳 太多的……归于兀自。07,我庆幸听到了他的音乐,trust me。你,还想说什么
曲目推荐:Hot Stuff-Let’s Dance

we are one Kelly Sweet

kelly sweet

清新 空灵 脱俗 如同精灵一般,用天使的嗓音吟唱着凡间的音乐,用娓约的声音诉说着那股抛不开的淡淡悲伤
曲目推荐:we are one

Music for Tourists Chris Garneau

chris garneau

游离在中音区的情感诉说,辅以钢琴与大提琴作为旋律表达。用心去听,或许,你会有种想哭的感觉。
曲目推荐:black and blue

breakaway Kelly Clarkson

kelly clarkson

可爱的封面包装确实不同味道的风格。发酵的音乐旋律,搭配着摇滚味儿的唱腔,破茧而出。
曲目推荐:BeautifulDisaster

Not Going Anywhere Keren Ann

keren ann

一个人呼吸 低调 飘渺的雾气充斥在生活之中 适合于清静的环境 一个人慢慢得思绪 回味 享受
曲目推荐:End Of May

Naughty But Nice Sarah Connor

sarah connor

独有质感的嗓音 磅礴 大气 听她的歌,总能将情感空间提升到一个思绪澎湃的境界 投入 亦无法平静 欲罢不能。
曲目推荐:Living To Love You

Read More...

emerge error on which-2.19

make[2]: Entering directory `/var/tmp/portage/sys-apps/which-2.19/work/which-2.19/tilde'
source='tilde.c' object='tilde.o' libtool=no \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -mtune=pentium-m -march=pentium-m -O2 -pipe -fomit-frame-pointer -msse2 -msse -mmmx -mfpmath=sse -c tilde.c
source='shell.c' object='shell.o' libtool=no \
DEPDIR=.deps depmode=none /bin/sh ../depcomp \
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I.. -mtune=pentium-m -march=pentium-m -O2 -pipe -fomit-frame-pointer -msse2 -msse -mmmx -mfpmath=sse -c shell.c
Unknown depmode none
make[2]: *** [tilde.o] Error 1
make[2]: *** Waiting for unfinished jobs....
Unknown depmode none
make[2]: *** [shell.o] Error 1
make[2]: Leaving directory `/var/tmp/portage/sys-apps/which-2.19/work/which-2.19/tilde'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/sys-apps/which-2.19/work/which-2.19'
make: *** [all] Error 2
*
* ERROR: sys-apps/which-2.19 failed.
* Call stack:
* ebuild.sh, line 49: Called src_compile
* environment, line 2050: Called die
* The specific snippet of code:
* emake || die "emake failed";
* The die message:
* emake failed


when use this
am_cv_CC_dependencies_compiler_type=gcc3 emerge which
all things goes well

Read More...

星期五, 三月 07, 2008

Love In December - Club 8

Read More...

星期三, 三月 05, 2008

fcitx主体颜色

其一

[界面]
候选词个数=10
主窗口使用3D界面=0
输入条使用3D界面=0
主窗口隐藏模式=1
是否自动隐藏输入条=1
显示虚拟键盘=0
输入条居中=1
首次显示输入条=1
# 输入条固定宽度(仅适用于码表输入法),0表示不固定宽度
输入条固定宽度=0
输入条偏移量X=0
输入条偏移量Y=67108880
序号后加点=1
显示打字速度=0
显示版本=0
光标色=92 210 131
主窗口背景色=255 255 255
主窗口线条色=229 229 229
主窗口输入法名称色=191 191 191 80 220 150 30 160 250
输入窗背景色=255 255 255
输入窗提示色=250 40 200
输入窗用户输入色=250 40 200
输入窗序号色=250 40 200
输入窗第一个候选字色=30 160 250
# 该颜色值只用于拼音中的用户自造词
输入窗用户词组色=250 40 200
输入窗提示编码色=100 100 255
# 五笔、拼音的单字/系统词组均使用该颜色
输入窗其它文本色=30 160 250
输入窗线条色=229 229 229
输入窗箭头色=30 240 170
虚拟键盘窗背景色=255 255 255
虚拟键盘窗字母色=250 40 200
虚拟键盘窗符号色=30 160 250

其二

粉色

光标色=102 159 66
主窗口背景色=255 255 255
主窗口线条色=203 202 186
主窗口输入法名称色=153 153 153 102 159 66 56 134 230
输入窗背景色=255 255 255
输入窗提示色=2 89 196
输入窗用户输入色=255 0 132
输入窗序号色=0 66 200
输入窗第一个候选字色=0 99 200
#该颜色值只用于拼音中的用户自造词
输入窗用户词组色=0 99 200
输入窗提示编码色=255 0 132
#五笔、拼音的单字/系统词组均使用该颜色
输入窗其它文本色=56 134 230
输入窗线条色=203 202 186
输入窗箭头色=193 227 151
虚拟键盘窗背景色=220 220 220
虚拟键盘窗字母色=80 0 0
虚拟键盘窗符号色=0 0 0

其三

ubuntu主题
[界面]
候选词个数=10
主窗口是否使用3D界面=1 #
输入条使用3D界面=1
主窗口隐藏模式=1 #0-->一直显示在顶层;1-->只有在中文输入状态下才显示;2--> 不显示
显示虚拟键盘=0
是否自动隐藏输入条=1
输入条是否居中=0
首次显示输入条=0
#输入条固定宽度(仅适用于码表输入法),0表示不固定宽度
输入条固定宽度=0
输入条偏移量X=0
输入条偏移量Y=12
序号后加点=1
显示打字速度=0
显示版本=0
光标色=160 446 46
主窗口背景色=240 240 240
主窗口输入法名称色=153 153 153 200 200 200 240 153 50
主窗口线条色=245 154 49
输入窗背景色=240 240 240
输入窗提示色=48 132 240
输入窗用户输入色=255 0 255
输入窗序号色=239 104 49
输入窗第一个候选字色=238 103 48
#该颜色值只用于拼音中的用户自造词
输入窗用户词组色=241 154 49
输入窗提示编码色=255 0 255
#五笔、拼音的单字/系统词组均使用该颜色
输入窗其它文本色=245 154 49
输入窗线条色=237 104 48
输入窗箭头色=193 227 151
虚拟键盘窗背景色=219 211 188
虚拟键盘窗字母色=245 154 49
虚拟键盘窗符号色=238 103 48

其四

黑色主题
[界面]
候选词个数=10
主窗口是否使用3D界面=1 #
输入条使用3D界面=1
主窗口隐藏模式=1 #0-->一直显示在顶层;1-->只有在中文输入状态下才显示;2--> 不显示
显示虚拟键盘=0
是否自动隐藏输入条=1
输入条是否居中=0
首次显示输入条=0
#输入条固定宽度(仅适用于码表输入法),0表示不固定宽度
输入条固定宽度=0
输入条偏移量X=0
输入条偏移量Y=12
序号后加点=1
显示打字速度=0
显示版本=0
光标色=160 446 46
主窗口背景色=30 34 35
主窗口线条色=29 123 213
主窗口输入法名称色=153 153 153 170 170 170 255 255 0
输入窗背景色=30 34 35
输入窗提示色=1 154 232
输入窗用户输入色=255 0 255
输入窗序号色=255 255 255
输入窗第一个候选字色= 85 255 85
#该颜色值只用于拼音中的用户自造词
输入窗用户词组色=255 255 0
输入窗提示编码色=255 0 255
#五笔、拼音的单字/系统词组均使用该颜色
输入窗其它文本色=255 255 0
输入窗线条色=1 183 255
输入窗箭头色=193 227 151
虚拟键盘窗背景色=30 34 35
虚拟键盘窗字母色=255 255 255
虚拟键盘窗符号色=255 255 255

其五

白玉色主题
候选词个数=10
主窗口使用3D界面=0
输入条使用3D界面=0
主窗口隐藏模式=1
是否自动隐藏输入条=1
显示虚拟键盘=0
输入条居中=1
首次显示输入条=1
# 输入条固定宽度(仅适用于码表输入法),0表示不固定宽度
输入条固定宽度=0
输入条偏移量X=0
输入条偏移量Y=67108880
序号后加点=1
显示打字速度=0
显示版本=0
光标色=92 210 131
主窗口背景色=255 255 255
主窗口线条色=229 229 229
主窗口输入法名称色=191 191 191 80 220 150 30 160 250
输入窗背景色=255 255 255
输入窗提示色=250 40 200
输入窗用户输入色=250 40 200
输入窗序号色=250 40 200
输入窗第一个候选字色=30 160 250
# 该颜色值只用于拼音中的用户自造词
输入窗用户词组色=250 40 200
输入窗提示编码色=100 100 255
# 五笔、拼音的单字/系统词组均使用该颜色
输入窗其它文本色=30 160 250
输入窗线条色=229 229 229
输入窗箭头色=30 240 170
虚拟键盘窗背景色=255 255 255
虚拟键盘窗字母色=250 40 200
虚拟键盘窗符号色=30 160 250

Read More...

星期一, 三月 03, 2008

vitas-The star

Read More...