2009年3月23日星期一

带看门狗、实时时钟的I2C总线铁电存储器FM31256

摘 要  FM31256是一种基于I2C总线、采用铁电体技术的多功能存储芯片。除了非易失存储器外,该器件还具有实时时钟、低电压复位、看门狗计数器、非易失性事件计数器、可锁定的串行数字标识等多种功能。文章主要介绍了FM31256的基本功能、原理,并结合实例给出了其在电磁铸轧电源控制装置中的具体应用方法。

关键词 I2C总线 铁电体技术 RTC MSP430F
  FM31256是由Ramtron公司推出的新一代多功能系统监控和非易失性铁电存储芯片。与其他非易失性存储器比较,它具有如下优点:
读/写速度快,没有写等待时间;功耗低,静态电流小于1 mA,写入电流小于150mA;擦写使用寿命长,芯片的擦写次数为100亿次,比一般的EEPROM存储器高10万倍,即使每秒读/写30次,也能用10年;读/写的无限性,芯片擦写次数超过100亿次后,还能和SRAM一样读/写。
  铁电存储器(FRAM)的核心技术是铁电晶体材料。这一特殊材料使铁电存储器同时拥有随机存取存储器(RAM)和非易失性存储的特性。本文介绍了FM31256的主要功能,并具体给出了基于嵌入式C语言编写的存储器读/写程序。
1 FM31256的基本结构及原理
  FM31256由256 KB存储器和处理器配套电路(processor companion)两部分组成。与一般的采用备份电池保存数据不同,FM31256是真正意义上的非易失(truly nonvolatile)存储器,并且用户可以选择对不同的存储区域以软件方式进行写保护。

  FM31256器件将非易失FRAM与实时时钟(RTC)、处理器监控器、非易失性事件计数器、可编程可锁定的64位ID号和通用比较器相结合。其中,通用比较器可提前在电源故障中断(NMI)时发挥作用或实现其他用途。采用先进的0.35μm制造工艺,这些功能通过一个通用接口嵌入到14个引脚的SOIC封装中,从而取代系统板上的多个元件。存储器的读/写以及其他控制功能都通过工业标准的I2C总线来实现。

  图1为FM31256的原理图。其中,SDA和SCL引脚用于与CPU进行数据交换和命令写入,数据输出部分均具有施密特触发器,以提高抗干扰性能;同时,SDA作为二线接口中的双向信号线,集电极开路输出,可与二线总线上其他器件进行"线或"。A1~A0为器件地址选择信号,即总线上可同时使用4个同类器件。正常模式下,PFI引脚分别为比较器的输入(不可悬空),CAL/PFO引脚输出PFI引脚的输入信号与1.2V参考电压之间的比较结果;校准模式下,CAL/PFO引脚将输出512 Hz的方波用于时钟校准。CNT2~CNT1是通过备份电池支持的事件计数器的两路输入端,通过边沿触发启动计数器,触发沿由用户自由选择。

                                     

                                                图1 FM31256原理图
2 FM31256功能及使用方法
  在FM31256中,有25个特殊功能寄存器(SFR)00H~18H。通过对这些功能寄存器进行操作,可以实现各种功能。
2.1 特殊功能寄存器
(1) 实时时钟和比较器
  实时时钟包括晶体振荡器、时钟分频器和寄存器系统。它分割32.768Hz的时基信号以提供1 s(1Hz)的分辨率,寄存器(02H~08H)以BCD格式提供秒、分、时、星期、日、月、年信息,用户可对其进行读/写访问。启动时钟前须将SFR中01H地址的OSCEN位(D7)置位,振荡器起振;同时将00H地址的R位(D0)置位,可将时钟数据写入寄存器用于读出。若此时正处于时钟刷新阶段,则由于刷新操作优先于写入寄存器的操作,因而保证了时钟的准确性。重新设置时钟时,只须设定00H地址的W位。
  FM31256的时钟精度可通过软件校准,将00H地址的CAL位(D2)置位,时钟进入校准模式,比较器输出512Hz的频率信号,并可通过设置01H地址的CAL4~CAL0位(D4~D0)确定校准值。当00H地址的CAL位(D2)为0时,进入比较器模式。
(2) 处理器伴侣
  处理器伴侣包括CPU通常需要的功能。系统监测由低电平状态或看门狗计数溢出的中断输出信号。
  当系统电源电压低于设定的阈值或看门狗计数器溢出时,FM31256将输出低电平复位脉冲,复位信号持续100ms。改变0BH地址的VTP1~VTP0位(D1~D0),可以设定电平检测的阈值;改变0AH地址的WDT4~WDT0位(D4~D0),看门狗的溢出时间可以在100ms到3s之间选择,其中0AH地址的WDE位(D7),用于看门狗启动或停止;09H地址用于监视复位信号来源(看门狗计数器、上电复位或后备电源电压)以及控制看门狗计数器清零。系统软件须在要求的时间周期内,向09H地址的WR3~WR0位(D3~D0)写入1010,使计数器清零。
(3) 事件计数器
  FM31256有2个独立的后备电池支持的16位事件计数器CN1和CN2,位于寄存器0DH~10H中。若将SFR中0CH地址的CC位(D2)置位,则可以组成一个32位的计数器。CIN1和CIN2是事件计数器信号输入端,在32位计数器模式下CIN2无效。计数采用可编程边沿触发方式,若0CH地址的C1P位(D0)置位,则CIN1采用上升沿触发,否则是下降沿触发;0CH地址的C2P位(D1)用于控制CIN2。
(4) 串行数据标识区
  FM31256的SFR中的11H~18H地址串行标识区中可以保存8字节(64位)数据。该存储区为非易失性存储区,可对其进行无限次的读/写操作,但如果将0BH地址的SNL位(D7)置位,则不能再对该存储区进行操作,且这种操作是不可逆的。
2.2 FM31256的读/写操作
  FM31256作为从机,集成了两个功能不同的部件,每个部件都可以被独立访问。一个是存储器,访问时从机地址的位7~4必须被设置为1010B;若要访问实时时钟/处理器伴侣,则从机地址的位7~4必须被设置为1101B。该器件采用二线制的I2C接口,二线协议由SDA和SCL两个引脚的状态确定。共有4种状态:开始、停止、数据传输及应答。其通信基本格式如图2所示。

                                  

                                              图2 I2C总线通信基本格式
  FM31256严格按I2C总线的时序和数据格式操作,其访问操作过程可描述为如下步骤:
启动—从机地址—应答—目标地址—应答—(启动—从机地址—应答)—数据(单或多字节)—应答—停止(注:从机地址中包含了读写命令;括号中的步骤为当前地址读和连续地址读命令所特有的)。这里对应答信号作些说明。应答脉冲发生在第8个数据位传送之后。在这个状态下,发送方须释放SDA让接收方驱动;当接收方发出低电平时,表示正常应答,当发出高电平时,表示无应答。不应答有两种情况:
一是数据传送出错,无应答使发送方终止当前操作,以便重新寻址;二是接收方有意不作应答,以结束当前操作。
  在对SFR操作时,首先发送的命令字节为"1 1 0 1 X A1 A0 R/W",目标地址为单字节范围(00H~18H)。FM31256的32KB存储单元地址为0000H~7FFFH,对其进行操作时,首先发送的命令字节为"1 0 1 0 X A1 A0 R/W",目标地址长度为双字节,即RAM区的寻址能力为0~65
535。FM31系列存储器具有内部地址锁存和自动累加功能,当对连续地址区进行读/写操作时,只须发送存储区首地址。
3 FM31256在电磁铸轧电源控制中的应用
  将FM31256应用在电磁铸轧电源控制装置当中,实现主控系统的看门狗复位、给定参数、实时时钟及故障记录保存的功能。
  作为一种解决微处理器因干扰而死机问题的有效方法,看门狗的作用是必不可少的。针对控制对象,需要对A、B、C三相控制装置进行调节,包括设定正弦波的频率和幅值、反馈系数、PID参数、过流延时、开放延时和关断延时等;将这些给定的参数及时写入铁电存储器FM31256的存储单元中,使之掉电后仍能保存。当系统发生故障时,例如控制装置中晶闸管周围温度超过额定温度,装置就会发出报警信号,并将发生故障的准确时间、实际温度值记录在FM31256的存储单元中,以便系统查询;同时,FM31256的事件计数器加1计数。同样,利用串行标识区可锁定的功能,可将电磁铸轧电源控制装置的序列号写入其中,非常安全可靠。
3.1 硬件原理
  电磁铸轧电源控制装置应用FM31256的硬件接口电路如图3所示。从图3中可以看出,系统以超低功耗MSP430系列芯片MSP430F149作为控制器;FM31256作为参数存储单元,与处理器之间采用I2C总线进行通信。由于MSP430F149没有I2C总线接口,所以任取2个I/O口模拟。实时时钟在VDD掉电以后自动切换到后备电源VBAK。

图3 FM31256与MSP430F149的硬件接口电路
  32.768 kHz晶振等效于6pF电容。若将SFR的01H单元对应的OSCEN位设为0,同时置00H单元的CAL位为1,使CAL引脚输出512Hz的脉冲信号,则可检测晶振工作是否正常,因为512
Hz是晶振频率的64分频。制PCB板时须注意:
X1和X2晶振引脚均为高阻引脚,两引脚之间的距离须小于5mm;即使信号位于板内层,也不允许信号线靠近X1和X2引脚。在晶振引脚周围使用接地保护环,内部或板反面使用接地保护敷铜。

3.2 存储区访问程序设计
  对FM31256存储器访问操作过程中,微处理器处于主机地位,器件始终处于从机地位。根据上述对FM31256的分析,可以把所有的通信过程归纳为3种类型:
① 单脉冲,如Start、Stop、Ack、Nack;②字节发送,如从机地址、目标地址和数据传送;③字节接收,如读操作中的数据传送。因此只要把这些操作以子程序的形式编写好,所有的通信操作就可通过调用这些子程序来完成。这里以MSP430F149微处理器的嵌入式C语言编写。设微处理器端口P6.6为数据线(SDA);P5.4为时钟线(SCL)。
  限于篇幅,本文不作详细介绍,只给出模拟I2C总线及字节写入、读出的部分C语言程序:
  #defineRTC_SDABIT6
  #defineRTC_SCLBIT4
  void FM31256_Start(void) {/*FM31256启动程序*/
    P6OUT |=RTC_SDA;// SDA=1
    P5OUT |=RTC_SCL;// SCL=1
    delay(IIC_DELAY);
    P6OUT &=~ RTC_SDA;// SDA=0
    delay(IIC_DELAY);
    P5OUT &=~ RTC_SCL;// SCL=0}
  void FM31256_Stop( void ) {/*FM31256停止程序*/
    P6OUT &=~ RTC_SDA;// SDA=0
    delay(IIC_DELAY);
    P5OUT |=RTC_SCL;// SCL=1
    delay(IIC_DELAY);
    P6OUT |=RTC_SDA;// SDA=1
    delay(IIC_DELAY);}
  void FM31256_Send_Ack( void ) {/*FM31256应答程序*/
    P5OUT &=~ RTC_SCL;// SCL=0
    P6OUT &=~ RTC_SDA;// SDA=0
    P5OUT |=RTC_SCL;// SCL=1
    delay(IIC_DELAY);
    P5OUT &=~ RTC_SCL;// SCL=0}
  void FM31256_Send_noAck( void ) {/*FM31256不应答程序*/
    P5OUT |=RTC_SCL;// SCL=1
    delay(IIC_DELAY);
    P5OUT &=~ RTC_SCL;// SCL=0}
  说明:SCL线是高电平时,SDA线从高电平向低电平切换,表示起始条件;当SCL是高电平时,SDA线由低电平向高电平切换,表示停止条件。相关的确认时钟脉冲由主机产生,在确认的时钟脉冲器件发送方释放SDA(高电平),在此期间接收方须将SDA拉低。
  void FM31256_transfByte_to_IIC( unsigned char tran_byte ) {/*
CPU字节发送程序*/
    unsigned char i , current_bit =0x80;
    P5OUT &=~ RTC_SCL;
    delay(IIC_DELAY);
    for( i=0; i <=7; i++ ) {
      if ( tran_byte & current_bit )
      P6OUT |= RTC_SDA;
    else
      P6OUT &=~ RTC_SDA;
    current_bit >>=1;
    delay(IIC_DELAY);
    P5OUT |=RTC_SCL;//SCL=1
    delay(IIC_DELAY);
    P5OUT &=~ RTC_SCL;//SCL=0
    delay(IIC_DELAY);
    }
  }
  unsigned char FM31256_receByte_from_IIC( void ){/*CPU字节接收程序*/
    unsigned char mvalue, i, rece_data =0;
    P6DIR &=~ RTC_SDA;//设置为输入方向
    P5OUT &=~ RTC_SCL; //SCL=0
    delay(IIC_DELAY);
    for(i=0;i<8;i++) {
      rece_data = rece_data<<1;
      P5OUT |=RTC_SCL;//SCL=1
      delay(IIC_DELAY);
      mvalue = P6IN & RTC_SDA;//当前位的值
      if( mvalue )//接收位为高
        rece_data = rece_data | 0x01;
      else//接收位为低
        rece_data = rece_data & 0xFE;
      P5OUT &=~ RTC_SCL;//SCL=0
      delay(IIC_DELAY);
    }
    P6DIR |=RTC_SDA;//P6.6输出
    return(rece_data);//返回收到的字节
  }
  说明:发送到SDA线上的每个字节须为8位。tran_byte为CPU要发送的字节,CPU读入的数据存储在rece_data中。对FM31256存储器可以直接对当前地址进行"读"操作,也可以连续"读/写"多个字节而无须逐一指定地址。依据上述一般步骤,对存储器的访问操作可归纳为3种基本操作:
① 设置当前操作目标地址; ② 写入数据; ③ 读出数据。
  访问存储器操作有多种,如内存"写"、当前地址或顺序连续"读"和随机地址"读"操作。在控制程序中,需要向FM31256内存中写入并读出给定参数、故障信息等数据。内存读/写的方法如下:
  内存写操作,首先由CPU发送从机地址,然后是内存16位地址,主机通过设置从机地址字节的最低位为0声明一个写操作;接收应答信号后,CPU向FM31256发送数据的每个字节,之后器件又产生应答信号,任何数量的连续字节可以被写入,以停止信号结束传输。有两种类型的读操作:当前地址读操作和随机地址读操作。读操作同样先由CPU发送从机地址,主机通过设置从机地址字节的最低位为1声明一个读操作。当要进行随机读操作时,还要在读取数据之前,发送16位内存地址之后读取任意个字节,每个字节后应跟随应答信号,以停止信号结束传输。
  在电磁铸轧电源控制装置的主控程序中,还将调用时钟刷新函数Flash_time()、时钟写入函数Write_time()、寄存器写入函数Register_write()和寄存器读出函数Register_read()。
  启动RTC和WatchDog的流程图如图4所示。

                                               

                                    图4 启动RTC和WatchDog的流程图
结语
  将铁电存储器用于电磁铸轧电源控制装置中,与MSP430系列单片机相结合,充分发挥了其强大的功能;同时取代了传统的EEPROM和实时时钟芯片,既降低了硬件成本,又简化了软件设计。实践证明,FM31256具有良好的推广应用前景。

SunPinyin: Linux下好用的拼音输入法

项目主页:http://www.opensolaris.org/os/project/input-method/
Sunpinyin貌似是很NB的,基于统计语言模型(SML)的输入法。
编译安装:
http://mentors.debian.net/debian/pool/main/s/sunpinyin/
把三个包包下下来。
$ dpkg-source -x sunpinyin_1.0~hg20090201-1.dsc
$ cd sunpinyin-1.0~hg20090201/
$ sudo dpkg-buildpackage

最后得到:
$ ls *.deb
iiimf-le-sunpinyin-chinese_1.0~hg20090201-1_i386.deb
scim-sunpinyin_1.0~hg20090201-1_i386.deb
sunpinyin-data-be_1.0~hg20090201-1_all.deb
sunpinyin-data-le_1.0~hg20090201-1_all.deb

四个deb包。其中scim开头那个是scim用的,sunpinyin-data-le开头那个是x86这样
little-endian的平台用的。安装它们两个就可以了。

当然咯,你可以下载我自己编译好的deb包包:
注意下这三个deb文件安装是需要按顺序的:
首先安装 sunpinyin-data-le_1.0_hg20090201-1_all.deb
然后安装 scim-sunpinyin_1.0_hg20090201-1_i386.deb
最后安装 iiimf-le-sunpinyin-chinese_1.0_hg20090201-1_i386.deb

2009年3月22日星期日

Linux下类似微软拼音输入法的SunPinyin输入法

项目链接
http://opensolaris.org/os/project/input-method/announcements/
编译安装方法
你需要先安装build-essential,libtool,automake,autogen,autoconf这几个常用的编译工具, 以及下载源代码需要的Mercurial包
然后使用这个命令签出源码
代码:
hg clone ssh://anon@hg.opensolaris.org/hg/nv-g11n/inputmethod
不要直接去下载,直接下载的包里没有数据文件
解压后进入inputmethod/sunpinyin/ime目录,输入下面这个命令。
代码:
./autogen.sh --prefix=/usr --disable-cle --enable-scim
会自动进行configure,如果有缺少的库,就新立得一下。
补充:
如果你在输入编译该输入法时遇到如下问题,
代码:
No package 'scim' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables SCIM_CFLAGS
and SCIM_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

可能是由于你没有安装scim的开发包导致的。
这时请输入代码:
sudo apt-get install scim-dev
之后重新编译。

成功configure后make,sudo make install就可以了。重启x后就能在scim里找到SunPinyin了。
还有一件事情。你需要改一下输入风格,这里摘录原作者的介绍:
Sunpinyin支持两种输入风格,"经典风格"和"及时转换风格"。"及时转换风格"和微软拼音的风格类似,用户在输入拼音时,只在preedit区域中显示当前的最佳句子,可以通过左右键,对其中任意不满意的部分进行编辑(即用户选择,user selection)。
"经典风格"和紫光拼音(以及后来的搜狗拼音、Google拼音)的风格类似。用户在输入拼音时,preedit区域中显示的是输入的拼音串(或用户选择),候选区中显示当前的最佳句子,以及拼音串开始部分的拼音可能得到的词和字。但这种风格下,第一次用户选择只能从拼音串的起始部分开始。
然后就可以体验SunPinyin输入法了。

编译好的deb包下载:
http://forum.ubuntu.org.cn/viewtopic.php?f=8&t=191016&p=1181922#p1181922

ubuntu 字符界面下看电影(打开framebuffer)

  在网上胡乱的逛,看到有的朋友说能在字符下看电影,也想试下!很简单,这里只是记录一下过程和配置:
  一、打开framebuffer
  判断framebuffer是否打开的办法,看/dev下是否有fb之类的文件。ls了一下,没有!看menu.lst也没有vga参数!
  网上大多数说的都是在menu.lst中kernel后加上vga参数!重启后,在/dev下就自动产生了fb文件,我这里产生的是fb0!
  这个值可能会对你的splash画面产生影响,我的桌面分辩率是1280x800,这里vga我设置成为866(为什么用这个值参考下表),splash画面就不会变形了!
  vga的可设置的值用fbset,/etc/fb.modes,或hwinfo
--framebuffer参考!大家推荐的好像都是hwinfo!没有可以用sudo apt-get
install安装!
  常用的这里列一下:
# FRAMEBUFFER RESOLUTION SETTINGS
# +----------------------------------------------------------------+
# | 640x480 |800x600 |1024x768 |1280x1024|1280x800 |1600x1200
# ----+-------------------------------------------------------------
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775 0x31C=796
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793 0x360=864 0x31D=797
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794 0x361=865 0x31E=798
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795 0x362=866 0x31F=799
# +----------------------------------------------------------------+
  进入系统后,再进入终端(Crtl+Alt+F1...6),字体显示很正常,效果也最好!

  二、现在就可以在字符下看电影了,只要一个命令:
  mplayer -vo fbdev -zoom -x 1024 -y 800 电影文件名
  -zoom -x 1024 -y 800参数可以不要,会在左上角开始,以原始大小显示的!

  附:关于ubuntu打开framebuffer的几种说法,没有测试过!
  想在Ubuntu中启用FrameBuffer,这样不进入X直接在字符界面下也
能有比较好的视觉效果,甚至能看看电影什么的。不过Ubuntu中似乎不能直接在/boot/grub/menu.lst的内核参数中直接加入
vga=xxx来开启FrameBuffer。需要做一些额外的工作。

  打开/etc/initramfs-tools/modules文件,在末尾加上:

  fbcon

  打开/etc/modprobe.d/blacklist-framebuffer,找到"blacklist
vesafb"一行,在这一行前面加上"#"把它注释掉。

  打开/boot/grub/menu.lst,找到相应的kernel一行,加上vga参数。例如我把分辨率设置为1024x768,对应的vga数值就是0x317。

  kernel /boot/vmlinuz-2.6.22-14-generic
root=UUID=3c51a0d7-d373-473b-830e-225b6d7aafdf ro quiet splash vga=0x317

  最后执行:sudo update-initramfs
-u更新,重启一下。如果你禁用了图形界面登陆,应该就能看到漂亮一些的字符界面了;如果没有禁用,可以在桌面环境中按Ctrl
Alt F1 ~ F6看看效果,按Ctrl Alt F7返回桌面环境。

    我并没有按照上面的过程,修改除menu.lst以外的文件!
    事后,也看了一下以上各文件的内容,倒是blacklist-framebuffer内容关注了一下,这好像是个黑名单!我的显卡是本本集成的950,系统使用的是i810驱动,而这个i810正好在这个黑名单中!

ubuntu下Google Earth的安装与问题解决(转)

  UBUNTU论坛上的地址为:http://forum.ubuntu.org.cn/viewtopic.php?f=122&t=189624

  近日安装google earth,出了不少问题,看到坛子上也有不少兄弟,在说,但是答案都很分散,要不就是把简单的问题说的复杂了!
  我的思想是:尽量不要去更改系统的,共用的东西!单个软件有问题,就仅在这个软件的小范围内(自身)修改!
  好了,不说费话了!

  一、UBUNTU安装google earth的问题
 
   不少朋友都说UBUNTU的源里有googleearth,源里也确实有个googleearth-package,但这只是一个安装了一个make-googleearth-package程序。所以不会在系统菜单里发现googleearth,也没有运行google earth的命令!
    make-googleearth-package的位置在/usr/bin中,运行这个命令后,发现这个命令也是现从网上下载google earth!那我们还不如从http://earth.google.com/直接下载一个
    英文的网页?右上角的Change language:里不是有个简体中文嘛!
    下载下来的GoogleEarthLinux.bin是没有可执行权限的,我们需要
    chmod +x GoogleEarthLinux.bin
    为它加上可执行权限,然后:
    ./GoogleEarthLinux.bin
    一路"下一步"下来!会默认安装到你的HOME文件夹中的google-earth文件夹下!"应用程序"的"互联网"中也会出现"Google Earth"了!

    附:google-earth的配置文件放在HOME文件夹的.config/Google/中(我们这里不需要用到这个文件,只是提一下)

  二、启动问题
    经过上面,我们已经安装好google earth了,可是运行起来,一闪而过!
    这有二种可能:
    一是google earth所需要的库没有安装全(他是.bin文件,也没提示我要那些库呀,不能怪我)。
    二是(在终端下运行)提示lib文件错误信息!
    就是运行起来了,也是中文乱码(在你系统本身中文字体安装正确的情况下,建议安装文泉驿)
    这些问题其实都是因为google earth自带了一套库,正是这些库搞出了问题!如下解决:
    1、安装google earth所需要的库:
    sudo apt-get install libqt4-webkit libqt4-gui libqt4-network
libqt4-core
    2、删除google earth自带的库(为了防止以后出问题,我们不用rm来删除,而是使用将这些库从本来的位置移走,使google earth找不到,就相当于删除了)
    这些文件全在HOME下的google-earth文件夹下,执行:
    cd ~/google-earth
    mkdir old
    mv libcrypto.so.0.9.8 old (可解决"窗口一闪而过,什么窗口都没有了,如果从终端运行的,可以看到提示lib文件相关错误信息"问题)
    mv libQt*.so.4 old    (可解决"中文乱码")

    好了,现在再运行google earth应该可以进去了,并且中文也显示正确了!

    附:如果说地图上显示的中文不正确,你可以通过调节google earth菜单中"选项"里的字体就行了!

  三、运行问题
    运行google earth后可能感觉速度很慢,如果本身你打开了3D桌面效果,还可能出现花屏!这也是可以解决的:
    1、速度慢
    速度慢只要把菜单中"视图"中的"大气层"勾掉,速度可以快很多!

    2、使用3D桌面效果后花屏
    如果你使用了3D桌面,会出现花屏或屏闪的问题,这一个问题直得不到解决!
    这里提示一种治标不治本的办法,治本的办法当然还要交给GOOGLE了!
    在HOME的google-earth文件夹下建一脚本runge.sh,内容如下:

    #!/bin/bash
    # runge.sh
    metacity --replace &
    /home/你的目录/google-earth/googleearth %f
    compiz --replace &

    给予运行权限:
    chmod +x runge.sh

    然后,在系统菜单的"应用程序"上点右键,点"编辑菜单",选中"互联网"中的"Google
Earth",点"属性",将命令中最后的googleearth %f换成runge.sh
    作用是将应用程序中google earth的运行命令指向这个脚本!

    这个脚本的作用是运行google earth时,关闭3D效果,结束google earth后,再打开3D效果!

    OK,至此Google Earth的主要几个问题已经全部得已解决!

优秀的project管理软件 -- OpenProj

OpenProj是一款免费+开源+跨平台的项目管理软件,基于Java,支持windos、Linux、Unix、Mac。安装文件很小,只有6M多,不过需要JRE才能运行。

同时,该公司还出品一款商用项目管理软件,两者的项目管理引擎相同,质量应该可以保证。这款软件支持格式有Projity (.pod), MS Project(.mpp, .mpx), .xml, Gnome Planner(*.planner),默认就可以关联打开.MPP文件,还能进行制作和编辑。
Windows下面我以前就在用,有中文版,对中文的支持也非常好,直接安装即可使用。今天要安装linux版本,费了点儿周折。首先需要安装java环境jdk,然后才能安装openproj,装好打开之后,显示字体是一个一个白板,估计是字体的原因。查了下,java下面没有中文字体,切换到你的jre安装路径下面,我的为/usr/lib/jvm/java-6-sun-1.6.0.10/jre/lib/fonts/,然后新建fallback文件夹,把中文字体拷贝到fallback里面即可。再重新打开openproj就可以看到正常的中文显示了。
 其实,还可以用一条命令解决这个问题。将Linux系统的字体目录作为JDK下面的一个字体目录连接。
 ln -s $FONTS_PATH/FONT_DIR $JAVA_HOME/jre/lib/fonts/fallback
我的具体命令是:sudo ln -s /usr/share/fonts/truetype/   /usr/lib/jvm/java-6-sun-1.6.0.10/jre/lib/fonts/fallback

openproj软件主页:http://www.openproj.org/
下载页面:http://sourceforge.net/project/showfiles.php?group_id=199315

极力推荐!

Linux下值得推荐的应用软件

  使用ubuntu8.10以来,在社区及IRC里慢慢了解到一些LINUX的应用软件,现记录在此,方便以后查找:
  一、Tilda Yakuake
  Tilda 可用于 GNOME、Xfce 桌面,而 Yakuake 主要用于 KDE 桌面。Tilda 和
Yakuake十分类似,它们除却终端程序本来所应有的特性之外,还具有其特色功能。在我看来,这些特色功能真的有些酷:
  * 热键控制。这能够让你若用即显,不用则隐,非常方便。以前我无论是用
Gnome Terminal,还是用 rxvt-unicode,都需要使用 Alt - Tab来切换,远不如这种热键的控制来得灵活。
  *能够嵌入桌面。我曾让其他的终端程序达到同样的目的,但往往无法直接实现,需要借助于第三方的工具。Tilda 和 Yakuake 都可以直接嵌入桌面。
      * 背景透明。这个特性连同上一个特性,能够使你的终端与整个桌面融为一体。
  *动画效果。在显示或隐藏终端窗口时具有动画效果,我觉得这能使人感到更平滑、自然一些,而不是突然弹出来把人吓一跳。
  *具有标签功能。这可以让你不必同时启动多个终端实例程序,一个不够,再开标签即可。不过,我现在更愿意与 screen 结合使用。
  * 可定制性。对于窗口的大小、位置都可以定制,这更能满足个人的需要。
  二、FreeMind
项目及下载地址(有DEB包):FreeMind项目主页http://freemind.sourceforge.net/
  mindmap:思维导图,一种整理思路的方法:将思路按照树状的结构进行线索的清理。
  FreeMind就是一个专门用于画mindmap的一个免费的桌面画图工具。
网上有好多都说菜单中的"首选项"不能打开,0.8.0的是有这个问题,但现在官方已经到0.8.1了,安装jre1.6也可以正常使用了!
由于这个包不在源里,所以只有下载安装,其中会提示少包。没关系,你双击打开这些包,系统会自动提示你少那些包的!
  三、Dia LINUX下的Viso
  四、FBreader LINUX下的READ BOOK
  五、OpenProj LINUX下的项目管理软件
  六、ChmViewer LINUX下CHM查看器
  七、XPDF LINUX下PDF查看、编辑器
  八、DownThemALL Firefox的下载插件
  九、Code::Blocks和Geany
LINUX的编程IDE,对C/C++默认支持,其中Code::Blocks中"运行控制台程序的终端"如果使用gnome-terminal则参数应该为:gnome-terminal -t $TITLE -x
  十、Zim桌面WiKi 可以当资料库用