l 待办事宜
qt(UI)
C++
linux
Emacs
Makefile
Vmware
Automake
Autoconf
l 开发环境安装:
linux iso
VirtualPC_v5.2H
交叉编译环境的建立:
//192.168.10.150/shareFile2/G2/Au1200/montavista.rar
产品市场调查
//192.168.10.150/shareFile2/MediaTerminator
//192.168.10.150/shareFile2/oldG2/Embeded System Team
Samba 服务器.
Ifconfig 192.168.10.209 up
Ifconfig 192.168.10.209
ftp 192.168.10.209
montavista.tgz
ftp 192.168.10.209
get *.tar.gz
ls
df
mv montavista.tgz /opt
cd /opt; ls
Tar zxvf montavista.tgz
kersrc
tar zxvf kersrc.tar.gz
mv .config old_config
cp config_mt1550 .config
Make menuconfig
Make bzImage
Export
Mv kersrc /
如果你是使用VMware,那么你可以这样
首先在vmWare的VM->Install VMware tools选择install
在执行
1.mount /dev/cdrom /mnt/cdrom
2.cd /mnt/cdrom 有一个文件vmware-linux*.tar.gz
3.cp vmware-linux*.tar.gz /tmp
4.cd /tmp
5.tar zxvf vmware-linux*.tar.gz
6.进入解压目录 cd vmware-tools-distrib
7.进入解压后的目录运行安装命令./vmware-install.pl 就ok了
8.等待Vmware-insall运行完成后,重启Linux,我们就可以看到漂亮的Linux图形界面了
Unix/X11 Linux、Sun Solaris、HP-UX、Compaq True64Unix、IBM AIX、SGI IRIX和很多其它X11平台;
http://www.amd.com.cn/CHCN/ConnectivitySolutions/ProductInformation/0,,50_2330_6625_6010,00.html
AMD Alchemy™ Au1500 处理器 为互联网边缘设备市场提供了一个高性能、低功耗的片上系统(SOC)。这些设备包括瘦客户端、Web服务器、路由器、打印机、有线和无线网关、无线接入点 (WAP)、手持计算设备、Web手写板、机顶盒和多媒体应用等。
Au1500 处理器 的特性包括:
AMD Alchemy™ DBAu1500™ 开发板让您可以评估Au1500 处理器 的运行和性能。这个功能极为丰富的系统可以用于:
http://www.amd.com.cn/CHCN/ConnectivitySolutions/ProductInformation/0,,50_2330_6625_6010%5E6651,00.html
VWEB2010 is an MPEG codec chip developed by Vweb company.
1. 简介
以VW2010作为MPEG-4解码芯片
VW2010 PCI编 解码卡
VW2010是即時MPEG1、MPEG2和MPEG4音視訊系統編解碼晶片(同時壓縮、解壓或編碼、解碼),完全相容ISO/IEC-11172-2、 ISO/IEC-13818-2、ISO/IEC-14496-2和ITU-T H.263(基線)。視訊編碼部份接收未壓縮的ITU-R.BT.656數位視訊訊號。它將輸入和壓縮的視訊轉換為MPEG-1、-2、-4或H.263 格式。音訊編碼部份接收雙通道分離的I2S數位音訊格式數據並具有輸入濾波功能。它可將每路音訊轉換為MPEG-1、MPEG- 2、MP3、AAC或AC-3音訊格式。VW2010為網路應用輸出傳輸流或為儲存應用輸出節目流。視訊解碼部份接收MPEG串流並輸出ITU- R.BT.656數位視訊。音訊解碼器接收MPEG-1、MPEG-2、MP3、AAC或AC-3串流並輸出I2S、S/P-DIF或IEC-61937壓縮音訊。VW2010是該DVR系統中完成音視訊編解碼的主晶片。
VW2010不但可以產生MPEG-2格式的數據碼流,而且可以產生MPEG4格式的數據碼流。它可以對壓縮數據的碼率可在128Kbps到6Mbps之 間可調,以適應各種用戶的需要。低碼率的文件適合網路傳播並節省儲存空間,而高碼率的文件具有最佳的音視覺播放效果。而且,VW2010可以單獨編碼音訊 數據並能實現MP3的功能特性。
操作系统要有支援VW2010的驅動程式,並能對各部份週邊設備進行識別與響應。
2. OSD
OSD菜单功能
OSD是on-screen display的简称,即屏幕菜单式调节方式。一般是按Menu键后屏幕弹出的 显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色彩、模式、 几何形状等进行调整,从而达到最佳的使用状态。
encode the data(for video, it is YUV. for audio, it is PCM)
YUV(亦称YCrCb)是被欧洲电视系统所采用的一种颜色编码方法(属于PAL)。YUV主要用于优化彩 色视频信号的传输,使其向后兼容老式黑白电视。与RGB视频信号传输相比,它最大的优点在于只需占用极少的带宽(RGB要求三个独立的视频信号同时传 输)。其中“Y”表示明亮度(Luminance或Luma),也就是灰阶值;而“U”和“V”表示的则是色度(Chrominance或 Chroma),作用是描述影像色彩及饱和度,用于指定像素的颜色。“亮度”是通过RGB输入信号来创建的,方法是将RGB信号的特定部分叠加到一起。 “色度”则定义了颜色的两个方面—色调与饱和度,分别用Cr和CB来表示。其中,Cr反映了GB输入信号红色部分与RGB信号亮度值之间的差异。而CB反 映的是RGB输入信号蓝色部分与RGB信号亮度值之同的差异。
encode the data(for video, it is YUV. for audio, it is PCM)
脉码调制 (Pulse Code Modulation)。是一种对模拟信号数字化的取样技术,特别是对于音频信号。PCM 对信号每秒钟取样 8000 次;每次取样为 8 个位,总共 64 kbps。取样等级的编码有二种标准。北美洲及日本使用 Mu-Law 标准,而其它大多数国家使用 A-Law 标准。
converts the analog video and audio into digital signal (video: standard BT.656 digital video stream; audio: standard I2S signal)
标准的ITU-R BT.656格式的数字视频流
ITU-R BT.656视频数据
ITU-R.BT.656数字视频信号
http://www.edisc.com.cn/bike/viewnews.btml?id=227
converts the analog video and audio into digital signal (video: standard BT.656 digital video stream; audio: standard I2S signal)
I2S数字音频接口
I2S(Inter-IC Sound Bus)是飞利浦公司为数字音频设备之间的音频 数据传输而制定的一种总线标准
ATA/ATAPI(AT Attachment/AT Attachment Packet Interface,AT嵌入式接口/AT附加分组接口)是计算机内并行ATA接口的扩展。ATA也被称为IDE接口,ATAPI是CD/DVD和其它驱 动器的工业标准的ATA接口。ATAPI是一个软件接口,它将SCSI/ASPI命令调整到ATA接口上,这使得光驱制造商能比较容易的将其高端的 CD/DVD驱动器产品调整到ATA接口上。
ATA/ATAPI接口的驱动器也习惯上叫增强IDE(EIDE)接口驱动器,它是在IDE接口上的扩展。IDE接口是光存储产品最具性价比的产品,也是市场中应用最为广泛的光储接口,绝大多数的光驱都是通过ATA/ATAPI接口连接在主机上的。
http://www.mov99.com/dvd/newbie/914.html
简单的说,NTSC和PAL属于全球两大主要的电视广播制式,但是由于系统投 射颜色影像的频率而有所不同。NTSC是National Television System Committee的缩写,其标准主要应用于日本、美国,加拿大、墨西哥等等,PAL 则是Phase Alternating Line的缩写,主要应用于中国,香港、中东地区和欧洲一带。这两种制式是不能互相兼容的,如果在PAL制式的电视上播放NTSC的影像,画面将变成黑白,NTSC制式的也是一样。
实时传送协议(RTP)为一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。
网络流媒体技术规范
H.264标准是ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像专家组)的联合视频组(JVT,Joint Video Team)开发的标准,也称为MPEG-4 AVC,它作为MPEG-4 Part10,是“高级视频编码”。 H.264/MPEG-4的应用范围是非常广阔的,它可以适用于多种网络,其高效的编码性能,H.264/MPEG-4可满足多种应用的需求,目前主要应 用在以下领域;基于电缆、卫星、Modem、DST等信道的广播;视频数据在光学或磁性设备上的存储,基于ISDN、以太网、DSL无线及移动网络的公话服务、视频流服务、彩信服务等,除了以上介绍的应用,基于H.264/MPEG-4的平台,还会拥现很多新的应用。
AV是英文的AUDIO和VIDEO两字的缩写, 中文的意思即是声音和影像之结合。
什么是AV端子? 答:现在电视都有AV端子,它指音频和视频的输入,输出接口。分三个 接口,视频一个,音频两个(L+R)
是一种在宽带数字网中使用的,以信元为单位, 在设备间进行信息传输的一种方式。在信元载体内可携带任何类型的信息 (如视频、语音、图像等多媒体数据),可在高速下进行操作。通过ATM交换机 建立源与目的之间设备的连接。当连接建立后,设备之间可进行任何通信。
示波器、万用表
DVR可以实现追时功能和录象功能。使用追时功能可以很方便根据需要观看已经播放的节目,进行快看(即跳跃收看)、 快退、慢放及暂停播放等操作,但是需要注意,目前追时电视的追时长度为2小时,超过2小时机器将自动清除以前的内容,并重新追时新的内容。追时功能不能对 相关的节目进行存储,如果要进行存储,就要用到我们的录象功能。使用DVR录象功能,可以将所需要的节目及时录制到硬盘中,以便于反复观看。
增强或扩展电视机功能的一种信息设备
电子节目指南系统(Electronic Program Guide,简称EPG)是指利用MPEG-2和DVB
中定义的用于数字电视接收机自动配置的SI信息(Service Information); 下发SI信息的 几种分段: SDT(Service Description Table)、NIT(Network Information Table)、 EIT (Event Information);从这些分段中提取出节目提供商播出节目的列表和播出参数, 以直 观的形式显示给数字电视用户,使得用户可以方便地接收、选择数字电视节目。
主要包括节目信息制作器、节目信息编排器、节目信息播出器和节目信息数据库。
它是一种连续可变的信号,如人的语音、音乐和电视图像等信号。 早期的卫星通信系统基本上是传输的模拟信号。
电视摄像机、卫星电视接收机或录像机输出的6MHz带宽的信号。 只有监视器才能显示基带信号。
http://www.nitv.cn/jhsy.htm
http://www.enet.com.cn/eschool/includes/zhuanti/shuyu/info/6/02/1504.shtml
什么是Analog,什么是blue tooth,随着新技术的不断出现,许多专业术语,一般字典根本没有。怎么办?现在好了,本人搜集了大量网络、电视、通信技术等方面的专业术语,方便您随时查找
RASCAL(Relocatable Active Stream Capture Abstraction Layer)是关于数字电视播放、 图像传输、图像流的表示以及控制,使得应用软件开发起来更加简便的中间件(SDK)。
将DirectShow封装
VLC(VideoLAN Client) Media Player可 真是个非常棒的媒体播放器啊,难怪下载量都已经破10000000了!
它的优势就在于,和RealOne一样的强大但却又小巧,比Windows Media Player更好用,比Winamp & Foobar 2000更强大,比Media Player Classic更漂亮。
l http://linux.chinaunix.net/doc/embedded/2005-01-13/764.shtml
uClinux只需要极少的硬件资源就可运行起来,以ARM7TDMI为例,只需要以下硬件: 1.CPU ? Samsung S3C4510B
2.SDRAM 8M以上 3.一个简易的串口 4.2M Flash 5.一个以太网接口(可选)
目前各嵌入式微处理器的厂商在推出每款处理器的同时都会提供一个Demo板,供用户来测试微处理器的性能。Samsung公司对S3C4510B处理器提供了一款SNDS
100的Demo板。Demo板的原理图可以从Samsung公司的网站上免费下载,对这个原理图作一些修改,只保留上面列出的5个部分,去掉其他多余的部分。修改以后的
原理图就是一个能够运行uClinux的ARM7目标板原理图,然后根据这个原理图去加工几张PCB板,焊上相应的元件,一块能运行uClinux的ARM7开发板就做成
了(这款开发板相应得原理图、PCB图可以从http://www.dailzh.net上免费下载得到)。
慢着,虽然这块开发板已经焊接完成,但目前它只是一堆电子零件的简单组合,要在它上面跑uClinux,还需要相应的软件来管理这些硬件。
l 用JTAG,S3C4510B上集成了一个JTAG,通过JTAG我们可以控制S3C4510B上所有管脚,这样可以通过向JTAG接口
输入相应的指令和数据,用软件的方法在S3C4510B的数据、地址和控制总线上产生出Flash器件的读写操作时序,将uClinux的内核映像文件烧写到Flash中
(关于S3C4510B的JTAG接口电缆的制作和下载烧写uClinux映像文件到Flash中的程序可执行文件和源代码请参阅http://www.dailzh.net
上相关内容)。
l 如何开发uClinux下的应用程序呢?和在普通计算机上开发Linux程序一样,首先编写应用程序的源代码,只不过编译的
时候不能用gcc编译,需要用arm-elf-gcc编译。编译以后的可执行文件必须下载到ARM7开发板上才能运行,下载程序到目标板上可以通过在uClinux中启用
tftpd程序,在开发主机端用tftpcmd
程序来下载,然后在uClinux的控制台窗口键入可执行文件名的方法来运行。如果想要应用程序在uClinux启动时自动运行,可以修改uClinux
系统中/etc/rc文件的内容来来实现。
全球三大嵌入式Linux供应商之一MontaVista Software公司的最新版MontaVista Linux3.0。它使用的是最标准Linux内核2.4.2,是针对嵌入式设备度身定制的实时的、专业的嵌入式操作系统。考虑到嵌入式设备处理器、存储器资源有限的情况,在不减少新内核对嵌入设备有利特性的基础上, MontaVista公司对内核部分进行了高度裁减、配置,使MontaVista Linux 3.0系统性能具备稳定、突出等特点,同时还为MontaVista Linux 3.0配备了一个由优先级驱动的实时调度器(RealTime Scheduler),从而使客户对实时性的要求得到更大的满足。
最近,由美国著名嵌入式Linux操作系统提供商MontaVista公司开发的、并由其中国地区总代理的博利思公司独家代理的Hard Hat Linux 2.0采用了QT/Embedded GUI,成功并稳定地在Intel的StrongARM SA-1110 32位RISC运行。
要使MiniGUI运行在入式目标板PPC上,需在MontaVista Linux 3.0的交叉开发环境下移植该图形包。
http://www.xsbase.com/dispbbs.asp?boardid=39&id=520
在嵌入式Linux的内核定制和编译阶段,已经加入了对Video4Linux模块以及OV511设备的支持,所以运行在Linux下的视频图像采集程序,可以通过Video4Linux模块提供的编译接口(API)从OV511设备中获取图像帧。
http://www.xsbase.com/dispbbs.asp?boardid=39&id=520
对xvidcore-1.0.1进行交*编译比较简单,有以下主要步骤。
①解压缩xvidcore源代码:tar-zxvf xvidcore-1.0.1.tar;
②设置环境变量:export xvidcore="the path of xvidcore";cd $xvidcore/build/generic;
③生成makefile:./configure-host=localhostbuild=arm-linux-gcc;
④编译源代码:make;make install;
⑤将交*编译生成的库文件libxvidcore.so.*拷贝到交*编译器工作目录的lib子目录中,该库文件为系统的其它模块提供了编程接口。
l 可以说Qt与Windows下的Mfc的实质是一样的
Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具有下列优点:
Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
Qt 包括多达 250 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理 功能。
l http://www.zirong.net/software/linux/02272125954.shtml
Qt/Embedded是著名的Qt库开发商Trolltech公司开发的面向嵌入式系统的Qt版本。因为Qt是KDE等项目使用的GUI支持库, 许多基于Qt的X Window程序因此可以非常方便地移植到Qt/Embedded上。Qt/Embedded同样是Server/Client结构。
Qt/Embedded延续了Qt在X上的强大功能,在底层摒弃了X lib,仅采用framebuffer作为底层图形接口。同时,将外部输入设备抽象为keyboard和mouse输入事件,底层接口支持键盘、GPM鼠标、触摸屏以及用户自定义的设备等。
Qt/Embedded类库完全采用C++封装。丰富的控件资源和较好的可移植性是Qt/Embedded最为优秀的一方面。它的类库接口完全兼容于同版本的Qt-X11,使用X下的开发工具可以直接开发基于Qt/Embedded的应用程序QUI界面。
与 前两种GUI系统不同的是,Qt/Embedded的底层图形引擎只能采用framebuffer。这就注定了它是针对高端嵌入式图形领域的应用而设计 的。由于该库的代码追求面面俱到,以增加它对多种硬件设备的支持,造成了其底层代码比较凌乱,各种补丁较多的问题。Qt/Embedded的结构也过于复 杂臃肿,很难进行底层的扩充、定制和移植,尤其是用来实现signal/slot机制的moc文件。
Qt/Embedded当前的最新版本为3.3.2,能够支持Trolltech的手持应用套件Qtopia的Qt/Embedded最高版本为2.3.8。Trolltech公司将于2004年末推出的Qt/Embedded 3为基础的Qtopia 2应用套件。
ftp://ftp.trolltech.com/qt/source/
我是在rh9.0下面安装的
一.安装qt-x11-free-3.3.2.tar.gz
1. 我把qt-x11-free-3.3.2.tar.gz拷贝到/usr/local/qt目录下
cd /usr/local/qt
tar zxvf qt-x11-free-3.3.2.tar.gz
mv qt-x11-free-3.3.2 qt
2. vi /etc/profile ,添加环境
export QTDIR=/usr/local/qt
export PATH=$QTDIR/bin:$PATH
export MANPATH=$QTDIR/doc/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
3.检查一下环境是否存在
#echo $QTDIR
应该返回 /usr/local/qt
4.#./configure
5.# make
6.qt的启动,/usr/local/qt/bin目录下面执行
#./designer
你就可以看到qt的界面了!
如果在make时候报错:
In file included from kernel/qtaddons_x11.cpp:25:
kernel/qt_x11_p.h:66:22: X11/Xlib.h: 没有那个文件或目录
kernel/qt_x11_p.h:71:23: X11 til.h: 没有那个文件或目录
kernel/qt_x11_p.h:72:21: X11/Xos.h: 没有那个文件或目录
kernel/qt_x11_p.h:73:23: X11/Xatom.h: 没有那个文件或目录
make[2]: *** [.obj/release-shared/qtaddons_x11.o] Error 1
make[2]: Leaving directory `/usr/local/qt/src'
make[1]: *** [sub-src] Error 2
make[1]: Leaving directory `/usr/local/qt'
make: *** [init] Error 2
这个问题我搞了半天,最后才知道
这个错是因为没有安装X11的开发包,在添加和删除里面添加上X11开发包
二.安装qt-embedded-free-3.3.2.tar.gz
1.解压qt-embedded-free-3.3.2.tar.gz
我放在/root/qt下面
#tar zxvf qt-embedded-free-3.3.2.tar.gz
#cd qt-embedded-free-3.3.2
#export QTDIR=/root/qt/qt-embedded-free-3.3.2
#export LD_LIBRARY_PATH=/root/qt/qt-embedded-free-3.3.2/lib:$LD_LIBRARY_PATH
#./configure
# make
然后就是一个漫长的过程
①编译Qt/X11,Qt/X11是运行在IBM兼容PC中标准Linux这上的,这主要为Qt/Embedded及其应用程序提供图形编译环境及仿真运行环境;
②编译Qt/Embedded,Qt/Embedded为在嵌入式Linux平台上运行的图形界面系统及应用程序提供一系列的函数库;
③编译Qtopia,通过使用Qt/X11提供的编译工具以及Qt/Embedded提供的函数库,编译出最终基于嵌入式Linux平台的图形界面系统及该环境下的应用程序。
http://www.niuren.com/bbs/Dispbbs.asp?boardid=6&ID=179
在Qt中编程,利用Signal和Slot进行对象之间的通信是Qt的主要特征。它与Windows中的消息机制非常类似,但是Signal和Slot机 制真正实现了一种消息的封装。当对象的状态改变时,发出Signal,通知所有的Slot接受Signal,尽管它不知道哪些函数是Slot,Slot一 开始也不知道哪些Signal可以接收。Signal和Slot之间不是一一对应的关系,一个Signal可以发给多个Slot, Slot也可以接收多个Signal。Slot除了可以接收Signal以外,与其它的成员函数没有区别。这种机制比使用回调函数要灵活,但是会减慢程序 的运行速度。不过在现在高速CPU的面前,这种损失是无足轻重的,而且它还能保证程序的简明性和灵活性,非常便利。
GUI具有高度的可移植性。这要求GUI对两类设备抽象做的很好:基于图形显示设备(如VGA卡)的图形抽象层GAL(Graphic Abstract Layer),基于输入设备(如键盘,触摸层等)的输入抽象层IAL(Input Abstract Layer)。
Implement value-added service:
instant message, game, distant control.
n C++的标准类
n vwosdlib提供的一些类
n Qt4的一些非gui类
n qmake :自动生成Makefile文件
n make : 自动编译工具