Lazzarone 学习、生活、Linux

04 Jan

搬家啦

这个博客的速度真的太慢了,而且还会被墙的可能性比较大,可恶的河蟹。所以,决定转到CU上的博客。新博客地址:http://szufhc.cublog.cn,欢迎光临。

16 Dec

Qt Embedded 4.5.3 的移植和触摸屏校正

在进行Qt/E的移植和触摸屏校正的实践过程中,不得不感慨一下国内的学术文章真是天下一大抄,想找点有价值的资料还真得累个精疲力竭。可恶的是,转载的文章也不标明,搞得就像是自己原创的一样,其中有多少人真正实践过了,不得而知。废话就到此为止,牢骚也少发了,下面说说我的移植过程吧(前前后后一共耗时3天),既为了方便自己,也希望对“不幸”搜到这篇文章的读者有所帮助。
参考了下面几篇文章:
http://www.qtcn.org/bbs/read.php?tid=10373
http://blog.ifeng.com/article/1848021.html
http://blog.chinaunix.net/u2/86708/showart_1924834.html
http://www.cnblogs.com/wangtianxj/archive/2009/05/12/1454729.html
首先,有必要区分几个名词:Qt,Qt/E,Qtopia Core, Qtopia。(引用自Qt中文论坛

Qt泛指Qt的所有桌面版本,比如Qt/X11,Qt Windows,Qt Mac等。由于Qt最早是在Linux中随着KDE流行开来的,因此通常很多人说的Qt都指用于Linux/Unix的Qt/X11。

Qt/E(Qt/Embedded)是用于嵌入式Linux系统的Qt版本。Qt/E去掉了X Lib的依赖而直接工作于Frame Buffer上,因而效率更高,但它并不是Qt的子集,而应该是超集,部分机制(如QCOP等)不能用于Qt/X11中。

Qtopia是一个构建于Qt/E之上的类似桌面系统的应用环境。相比之下,Qt/E是基础类库。

Qtopia Core:就是原来的Qt/E,大概从Qt 4开始改名,把Qtopia Core并到Qtopia的产品线中去了。但实际上Qtopia Core就相当于原来的Qt/E,仍然作为基础类库。

另外,似乎奇趣最近又把Qtopia Core改名叫做Qt for Embedded Linux了,不知道是不是因为Qtopia Core搞得大家都很糊涂,没人来买的缘故。

Continue Reading »

16 Dec

ubuntu 8.04上搭建arm9交叉开发环境

参考:ubuntu7.10上搭建arm9交叉开发环境

首先说下我使用的环境:

操作系统:ubuntu 8.04桌面版 开发板:友善之臂mini2440

主机IP(我主机上安装了双网卡): eth0供我上外网查找资料用,eth1直接和开发板相连
eth0:192.168.179.205(dhcp) 网关:192.168.179.33 子网掩码:255.255.255.0 广播地址:192.168.179.255
eth1:192.168.1.2(static) 子网掩码:255.255.255.0 广播地址:192.168.1.255 (并没有设置网关)

开发板IP:192.168.1.230(static) 子网掩码:255.255.255.0 广播地址:192.168.1.255

第一步:连接主机和开发板

我选择了串口线和网线连接起了主机和开发板。由于我的主机上也没有串口,故需要一根RS232的串口转USB线分别连接开发板的串口和主机的一个USB口;用一根网线直接连接开发板的网卡接口和主机的eth1(注:直接连接就可以了,我之前一直郁闷不知道怎么用网线连接起开发板和主机)。
Continue Reading »

13 Dec

当代西方俗语:别跟我玩中国人那套!

转自百度帖吧:http://tieba.baidu.com/f?kz=681398568

作者:孤山飘雪

中国人的聪明是有名的,我们的“国粹”麻将牌即是一例。打麻将的乐趣绝非仅仅在赢钱,而在于打的时候,需要用尽各种心思骗上家盯下家,有时候要故意打好张,有时候又特意要喂一口,欲擒故纵,真真假假,羊头狗肉,声东击西,明修栈道,暗渡陈仓,上下其手,两面三刀……这哪里是打牌,完全是一种心理战。

据说老外一直学不会咱们的麻将,原因就在于,人家没有我们这么多花花肠子,这一套对他们来说太复杂了。他们最典型的赌博,就是轮盘赌,全凭运气或概率,最笨的就是,拿一把左轮手枪,里面装颗子弹,大家轮流向太阳穴射击,看谁命大。最最笨的还有,就是那种决斗,两个人直接用剑残杀,或站在一定距离开外,互相瞄准射击。天底下还有这么笨的人嘛。

看看我们的小小麻将,其中蕴含着多少机巧谋算,里面浓缩的可是我几千年的中华智慧啊!
Continue Reading »

11 Dec

Linux音频编程指南

原文地址:http://www.ibm.com/developerworks/cn/linux/l-audio/index.html
作者:肖文鹏 (xiaowp@263.net), 自由软件爱好者
2004 年 2 月 01 日

虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架。

一、数字音频

音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理。

数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重现,实现这一步骤的设备常被称为模/数转换器(A/D)。A/D转换器以每秒钟上万次的速率对声波进行采样,每个采样点都记录下了原始模拟声波在某一时刻的状态,通常称之为样本(sample),而每一秒钟所采样的数目则称为采样频率,通过将一串连续的样本连接起来,就可以在计算机中描述一段声音了。对于采样过程中的每一个样本来说,数字音频系统会分配一定存储位来记录声波的振幅,一般称之为采样分辩率或者采样精度,采样精度越高,声音还原时就会越细腻。

数字音频涉及到的概念非常多,对于在Linux下进行音频编程的程序员来说,最重要的是理解声音数字化的两个关键步骤:采样和量化。采样就是每隔一定时间就读一次声音信号的幅度,而量化则是将采样得到的声音信号幅度转换为数字值,从本质上讲,采样是时间上的数字化,而量化则是幅度上的数字化。下面介绍几个在进行音频编程时经常需要用到的技术指标:

  1. 采样频率
    采样频率是指将模拟声音波形进行数字化时,每秒钟抽取声波幅度样本的次数。采样频率的选择应该遵循奈奎斯特(Harry Nyquist)采样理论:如果对某一模拟信号进行采样,则采样后可还原的最高信号频率只有采样频率的一半,或者说只要采样频率高于输入信号最高频率的两倍,就能从采样信号系列重构原始信号。正常人听觉的频率范围大约在20Hz~20kHz之间,根据奈奎斯特采样理论,为了保证声音不失真,采样频率应该在40kHz左右。常用的音频采样频率有8kHz、11.025kHz、22.05kHz、16kHz、37.8kHz、44.1kHz、48kHz等,如果采用更高的采样频率,还可以达到DVD的音质。
  2. 量化位数
    量化位数是对模拟音频信号的幅度进行数字化,它决定了模拟信号数字化以后的动态范围,常用的有8位、12位和16位。量化位越高,信号的动态范围越大,数字化后的音频信号就越可能接近原始信号,但所需要的存贮空间也越大。
  3. 声道数
    声道数是反映音频数字化质量的另一个重要因素,它有单声道和双声道之分。双声道又称为立体声,在硬件中有两条线路,音质和音色都要优于单声道,但数字化后占据的存储空间的大小要比单声道多一倍。


Continue Reading »

© 2010 Lazzarone 学习、生活、Linux | Entries (RSS) and Comments (RSS)

GPS Reviews and news from GPS Gazettewordpress logo
Register Login