| yoco's profile水水的蓝PhotosBlogLists | Help |
|
November 03 amazing grace天籁就是这样被解释的
第一次听这首歌是在柯南里,一听就被感动了
就像小兰和新一在河边听到那首歌
那歌能浸到人的心坎里
最喜欢这首歌的Hayley Westenra 版本
amazing grace, how sweet the sound
that saved a wretch like me. i once was lost but now i'm found, was blind but now i see. t'was grace that taught my heart to fear and grace my fear relieved how precious did that grace appear, the hour i first believed. through many dangers, toils and snares we have already come t'was grace that brought us safe thus far and grace will lead us home. when we've been there ten thousand years bright shining as the sun; we've no less days to sing god's praise than when we first begun. 奇异恩典,乐声何等甜美 拯救了像我这般无助的人 我曾迷失,如今已被找回 曾经盲目,如今又能看见 神迹教我心存敬畏 减轻我心中的恐惧 神迹的出现何等珍贵 那是我第一次相信神的时刻 历经无数险阻、陷阱 我已走了过来 神迹保我安全无虞至今 神迹将指引我回到家 主耶稣的名字 在信徒的耳里听来多么甜美 那抚平了他的烦忧,治愈了他的伤 赶走了他的恐惧 耶稣必得独自背负十字架 以拯救全世界 但每个人的心里,包括我在内 都有着一副十字架 我们在此已一万年 光芒如太阳一样耀眼 和最初相比 我们能赞美上帝的时日已不多 June 07 我的爷爷和姥爷,你们好吗?爷爷和姥爷,你们好吗?
什么时候可以和爷爷一起喝茶,什么时候可以再看姥爷亮出那雪亮的指挥刀。
好想和爷爷一起喝茶聊天,我好不容易上大学了,能和爷爷说上话了,爷爷你怎么走了呢。
你们教我做人做事,教我要坚强勇敢。
想念你们...
我很幸运我太幸运了,每到一个地方都会遇到对我非常好的人。
真的很感谢你们~~ April 11 活着真好现在每天都对着计算机 只觉得自己傻掉了
QQ每天都上的 却一直隐身 很少讲话。。。似乎不知道怎么讲,讲什么 担心变的嘴笨的自己和老朋友生疏了。。
呵呵
今天上线看到了小姜。。看了几篇日志。。有种慢慢活回来的感觉。。
呵呵 以后还能常来看日志吗 不知道哎。。。
今天很开心,希望以后还能常来。。
活过来的感觉真好
October 20 米事回来看看米事回来看看,最近较少忙于blog了
或者是出于太懒了
从来都很PF每天更新日志得人...
我实在是很懒
懒到几个月都没有更新一次了
个人感觉
msn升级到live以后没有原来得界面好了
也许是我还没有仔细的研究过space的新特性
呵呵 July 26 SBC-2410系统烧写记录今天又去烧写开发版的系统
已经做到 Congratulations! Reboot and Enjoy Matrix V ! 可是重启之后液晶屏还是没有显示 我们从开始拿到一个空的版子 到现在烧写成功,液晶屏就没有显示过什么 奇怪啊,如果是已经烧好了文件系统 开始应该又显示啊 在minicom里面的显示都正常 但开发版的液晶屏没有显示 明天去问问老师 不能上传图片不能上传图片了
点击了下载控件之后 却下不到东东
有的人说是浏览器设置问题
具体是哪里问题呢
也没有人告诉我
为什么我上个系统可以下这个控件的
不满
也不给足够的提示信息
July 25 如何在SBC-2410X上安装嵌入式Linux在SBC-2410X上安装嵌入式Linux 所遇到的问题今天搞了半天
宿主机和开发版之间用nfs就是连不通
后来才想到防火墙的对应端口没有打开...
于是关掉防火墙~~OK~~~
考虑到我们今天是关掉防火墙做的,
应该还可以不关防火墙 ,同时打开对应的端口或者是允许某个ip
今天做的时候与互联网断开了,明天做的时候准备在保持internet连接的同时通过nfs与开发版连接;
如此 就要重新配置开发版的ip,并且修改param set的参数了
(又看了文档,好像还不可能这样做,再试了)
今天在配置好nfs之后 准备更新系统没有成功
在vivi提示符(我们实际做的时候这里是friendly-arm)模式输入以下命令参数, 使用nfs启动系统: param set linux_cmd_line "console=ttyS0 root=/dev/nfs nfsroot=192.168.0.1:/friendly-arm/root ip=192.168.0.69:192.168.0.1:192.168.0.1:255.255.255.0:matrix4.arm9.net:eth0:off" 然后使用"boot"命令启动系统 进入
[root@fa /]#
启动信息与文档提供的信息相同
如以上信息, 按回车进入系统, 然后运行"bk"命令更新系统内核.
执行bk
复位系统
便无法再次使用nfs启动系统了
(也许是操作过程有问题,最后这部分不是我做的,不甚清楚,明天再去做)
另找到一篇详细的文章,一并贴上来,文章有几处不符合我们实际操作的情况...一起修改了.. 宿主机LINUX安装注意事项及NFS的配置建议都采用REDHAT系列 目前华恒所有产品的宿主机平台以REDHAT9.0为标准平台。 宿主机配置中一个常见的问题就是NFS的配置,这里介绍一种较为直接简单的方法: 【注意】 (最好把上面一句写入/etc/rc.local文件中,这样每次计算机重新启动就省去每次都要执行上面的命令来启动NFS服务) 但实际上,REDHAT LINUX PC自己mount自己成功也不能完全说明NFS就可以工作了,因为还有一个防火墙的问题,一般的我们建议客户在安装REDHAT LINUX时就默认选择NO FIREWALL,但若客户没有这样选择的话,REDHAT 启动时会加载防火墙规则,这样你自己能 mount 自己,但其它PC和板子也无法mount这台PC。所以这时要运行setup关闭防火墙。注意!setup里面的防火墙显示永远都是HIGH,这个是REDHAT一直的一个小BUG,即使你安装时默认选择了NO FIREWALL,setup里面也照样会显示防火墙设置是HIGH的,这个可以不必理会。只要你选择了一次NO FIREWALL就可以了。关于防火墙等问题,请参见您的光盘里面的PDF手册。另外,建议对LINUX操作不是非常熟悉的客户,务必请阅读我们手册附录的“LINUX常用命令”。 还有,就是REDHAT还有这样一个问题,就是加入网关设置后,网络建立TCP链接非常慢,例如FTP/TELNET/NFS等都是,建立链接后,以太网通信还是很快的。若您安装网络时加入了网关,就会出现你在板子NFS mount REDHAT PC时,敲入mount -o nolock pcip:/ /mnt后非常长的时间不返回SHELL提示符,就一直停在那里,这就是建立连接的时间非常的长。一般的,遇到这种情况,建议在REDHAT LINUX PC上执行 route del default 即去掉网关,然后再进行NFS mount等操作就会非常快了。 当然了,测试NFS你必须用以太网将板子和REDHAT LINUX PC连接起来才行,连接的方式有两种:一是板子和PC都用普通的网线接到HUB或者交换机上;二是用交叉网线将板子和PC直连起来,注意!这种网线是特制的,内部收发交换的! 测试板子和PC网络是否连通的方式是:板子正常启动LINUX后,在minicom里面ping PC看是否能通即可,当然了,用PC来ping板子看是否通也是可以的。 注意:板子必须启动到LINUX后才能ping通,板子处在bootloader阶段一般是无法ping通的,即使这时板子的bootloader初始化了以太网也不行。 若板子跟PC的网络不通,mount报错信息为: # mount -o nolock 192.168.2.211:/ /mnt 关于tftp服务安装的问题 安装tftp 的方法: rpm -ivh foo-1.0-2.i386.rpm 其中foo-1.0-2.i386.rpm在Redhat9的第3张光盘里面。 弹出光驱的时候,要umount /mnt/cdrom后才可以操作, 否则光驱托盘不会弹出 July 13 mplayer在ARM9(s3c2410)上的移植(转)在S3C2410嵌入式开发平台上移植了几款linux媒体播放器,感觉播放效果不是很理想,320x240分辨率下的视频播放也不是很流畅,难道200M主频的速度就只能这样了?我开始有点失望了。上个月,当mplayer摘取了年度Linux world 博览会“新媒体”大奖的消息传来,激发了我再次移植mplayer 到2410的决心,尽管前几次移植的结果都不是很成功。
以前我刚开始在linux下做桌面开发时,就听说mplayer号称linux史上功能最强的媒体播放器,它在桌面上安装起来很方便,简单的configure,make一下,就装好了,和QT的GUI配合,界面还是蛮友好的。Mplayer对媒体格式的广泛支持,以及丰富的后期处理滤镜给我留下深刻印象,最新的版本更支持DIVX,H.264,MPEG4等最新的流媒体格式,可以实时在线播放视频流,这么优秀的播放软件把它移植到嵌入式设备上该多好啊! 公司里有一块2410的开发板,CPU是三星的S3C2410,arm9的内核,板子做工很精细,以前一直都用它来做开发,买的时候配的是10。4寸的sharp大屏,640X480的分辨率,不错,这样就可以测试在640X480分辨率下的视频播放速度了。硬件平台的问题解决了,下一步下载最新的mplayer源代码包,毕竟最新的源代码包才有最新的功能,当然了BUG估计也是不少的。打开mplayer的官方网站http://www.mplayerhq.hu的主页,可以看到“download”这个链接,点击一下,进入下载页面,在该页面里可以看到“daily CVS snapshot source”的下载部分,这部分链接都指向了每天提交到CVS服务器里最新的mplayer源代码包,鼠标点击一下开始下载! 1. 开始编译 下载下来的源代码一般都叫MPlayer-current.tar.bz2的名字,好,开始解包,在命令行下敲以下的命令 bunzip2 MPlayer-current.tar.bz2 | tar xv – 查看解包出来的README和INSTALL文件,看看有没有安装时特别声明的东西,这是我的习惯,因为同一个软件的不同版本,安装的方法有时并不一样。然后输入./configure --help看看有没有多出或减少什么选项,还好,没什么变化,于是把以前配置mplayer的命令拿出来,复制,粘贴在命令行上: ./configure --cc=arm-linux-gcc --target=arm-armv4-linux --enable-static --prefix=/tmp /mplayer --disable-win32 --disable-dvdread --enable-fbdev --disable-mencoder --disable-live --disable-mp3lib --enable-mad --enable-libavcodec --language=zh_CN 配置完毕,开始跨平台编译: make 眼睛盯着编译器反馈的每一个信息,老是担心在哪出错,mplayer的源代码太庞大了, 又使用到不少第三方的库,谁能保证编译不出问题呢.果然,没编译几下,就停下来了,说什么codec-cfg无法运行,产生不了某某头文件。检查了一下,发现codec-cfg这个可执行文件是最先编译产生的一个文件,这个文件是存在的啊,怎么会执行不了呢?于是手动执行了一下,系统提示“cannot execute binary file”,突然想起来,codec-cfg是按跨平台方式编译的啊,产生的是arm的代码,当然不能在x86上执行了,那就先用不用跨平台编译的方式,先把mplayer编译成x86的代码,于是重新配置,简单的 ./configure, make,然后将生成的 codec-cfg改名为codec-cfg.x86。然后再按跨平台方式配置,编译,等编译器出现错误停止编译时,将codec-cfg.x86该名为codec-cfg,再make,OK,编译就可以继续进行了。 在编译期间,还出现了几处错误,都是头文件引用的问题,特别提醒大家的是,在libmpcodecs和libavcodec这两个目录下,有一个疏漏,就是这两个目录的源文件都以 #incude “config.h” 的方式引用头文件“config.h”,但是在这两个目录下并不存在该头文件“config.h”,这些源文件实际是期望引用mplayer安装包根目录下的“config.h”头文件, 因此我们需要在libmpcodecs和libavcodec这两个目录下手动建立一个名为config.h的链接并指向mplayer安装包根目录下的“config.h”头文件,建立方法 $> cd libmpcodecs $> ln –s ../config.h config.h $> cd ../ $> cd libavcodec $> ln –s ../config.h config.h
经过几次的编辑修改,终于成功完成对mplayer的编译链接,一看mplayer文件的大小,10M,z这也太太夸张了吧,我还没编译成debug的呢。到目前为止这算是成功的第一步了。 2.开始调试 编译出来的代码能正常的在2410上跑吗?心中还是有许多疑问。给板子上电,然后用自己编写的一个网络传输工具将代码传到板子的ramdisk,接着再传上一个10M左右的视频,好了,先不带参数运行mplayer,不错,中文的帮助信息弹出来了,说明程序基本编译对了,这时输入命令 ./mplayer matrix.mpg , 眼睛直盯着屏幕,期待着画面的出现,可惜,在出现了一些视频剪辑的反馈信息后,程序再也不动了,没办法,按CTRL+C结束程序,然后就提示出现段错误。以前听说有linux嵌入式的爱好者移植时也出现这样的错误,但是如果不播放声音时,图像可以出现,于是输入命令 ./mplayer -nosound matrix.mpg,这时画面出来了,这个320x240大小的从网上下载的视频,播放起来相当流畅,好像比平时看的影碟机解码速度还快,那当然了,毕竟是320x240大小,又没声音解码的。 声音这块不解决,当然是不能说移植成功的,因为mplayer还支持那么多格式的音频解码。但是问题究竟出在哪里呢?用排除法吧!找一个未经任何音频压缩的WAV音频文件,其时就是PCM文件,上传到ramdisk,然后用mplayer播放,还是出现一样的问题,程序死了。好了,这就说明问题并非出现在音频解码部分,极有可能出现在音频流的播放部分。现在市面上大多数的嵌入式开发板的音频驱动是oss规范的驱动,以前自己做过oss的编程,对这块还是比较熟悉。于是开始查看mpalyer,c源文件,看看它是如何实现音频流播放的, 在音频播放部分它使用到了libao2库的音频播放/控制模块,通过进一步查看ao_oss.c源代码进一步获知mplayer是如何与音频的linux驱动工作的。这一步弄清楚后,重新编译mplayer,打开debug选项,打开调试字符串输出,并在音频播放处设置多处断点,并加上printf语句输出一些变量内容,最终发现在调用ao_oss.c的play()函数时出现除零出错, 这个问题产生的根源最终追溯到音频的驱动部分。现在大部分的嵌入式板子都使用菲利普uda1341音频芯片,因而也都使用了相同一个音频驱动,即MIZI公司拥有版权的linux uda1341音频驱动,这个驱动基本上符合了oss的规范,但是当使用到多段DMA音频数据传输时,出现了一个问题,即DMA缓冲的建立发生在第一次调用write()函数将音频数据传送到设备描述符的时候,然而oss驱动的调用者通常要在打开音频设备描述时候,就期望获取DMA缓冲的信息,然而因为缓冲尚未建立,因而返回缓冲大小为0这个结果。 解决的办法是在音频驱动源码的smdk2410_audio_open()函数体,加上如下一段代码, if (!output_stream .buffers && audio_setup_buf(&output_stream)) return -ENOMEM; 添加的位置具体见以下代码的粗体部分: static int smdk2410_audio_open(struct inode *inode, struct file *file) { int cold = !audio_active; DPRINTK("audio_openn"); if ((file->f_flags & O_ACCMODE) == O_RDONLY) { if (audio_rd_refcount || audio_wr_refcount) return -EBUSY; audio_rd_refcount++; } else if ((file->f_flags & O_ACCMODE) == O_WRONLY) { if (audio_wr_refcount) return -EBUSY; audio_wr_refcount++; } else if ((file->f_flags & O_ACCMODE) == O_RDWR) { if (audio_rd_refcount || audio_wr_refcount) return -EBUSY; audio_rd_refcount++; audio_wr_refcount++; } else return -EINVAL; if (cold) { audio_rate = AUDIO_RATE_DEFAULT; audio_channels = AUDIO_CHANNELS_DEFAULT; audio_fragsize = AUDIO_FRAGSIZE_DEFAULT; audio_nbfrags = AUDIO_NBFRAGS_DEFAULT; if ((file->f_mode & FMODE_WRITE)){ init_s3c2410_iis_bus_tx(); audio_clear_buf(&output_stream); // 加上以下这行代码 if (!output_stream .buffers && audio_setup_buf(&output_stream)) return -ENOMEM; } if ((file->f_mode & FMODE_READ)){ init_s3c2410_iis_bus_rx(); audio_clear_buf(&input_stream); } } MOD_INC_USE_COUNT; return 0; } 改完驱动后,重新编译内核。 3. 结论 mplayer因为直接使用缓冲帧,或者使用别的什么优化的算法,使得在ARM S3C2410视频播放速度得到显著提高,至少在320x240大小,解压mpeg1或2标准的视频时速度是相当流畅的,但是mpeg4解码速度仍显不足。Arm s3c2410的cpu属于精简指令,定点计算, 无MMX,无硬件浮点计算,因而对大尺寸多媒体编解码的能力仍显不足。业界的解决办法是在CPU外增加硬编解码的DSP,或者在SOC内增加协处理器以加强这方面的功能。 后记 在得知xscale PXA255面世后,我决定用将移植好的mplayer拿给他们在板子上测试。mpeg4编码,画面大小为320x240的视频播放已经相当流畅,这也许就是那些市面上用PXA255 CPU做的PDA播放DIVX视频的效果吧! July 12 写给所有的IT民工?今天看了一篇文章,来自------
http://searchexchange.techtarget.com.cn/itexpert/449/2478949.shtml 里面有一段话
平均年龄(这个开始我还用计算机算,很笨的说,后来用excel 直接就可以拿到)31,最小的25, 最大的42,跳槽的频率是2次,也就是4年跳一次,一般IBM, HP 的时间都有7-8的,不过其它的2年多的, 2年以下的很少,到经理级别的26-29最多,所以27(一般工作2-4年)是大家的一道坎, 这个时候跳一下,promote 到经理级,以后机会就不多了,然后是32—35 又一到坎 能promote 到director, 这关过不去,那么你在小经理这边呆着吧。。。慢慢熬时间拿点福利, 35也是一个Promote 到 VP, GM 的最好时间, 一般过了40猎头不会推荐你的, 除非你特牛(特牛的人年纪对他没有障碍。
想想我多大了 --||
想想虽然我多半是不适合做管理的 嘿嘿 April 26 数据库规范化技巧
|
|
|