QT_MPlayer移植到mini2440

发布者:GoldenDream最新更新时间:2024-06-24 来源: elecfans关键字:移植  mini2440 手机看文章 扫描二维码
随时随地手机看文章

(一)首先要建立交叉编译环境 

a)           首先搭建交叉编译环境

                       i.              将arm-linux-gcc-4.4.3.tar.gz解压到一个空文件夹中

#tar zvxf arm-linux-gcc-4.4.3.tar.gz –C / (C的后面有空格)

改变环境

#gedit  /root/.bashrc

将路径改为/opt/FriendlyARM/toolschain/4.4.3/bin

export  PATH=$PATH:/ opt/FriendlyARM/toolschain/4.4.3/bin

上面两行是同一条命令!

   保存退出之后,要重启一下机子命令如下

   #reboot

重启之后查看是否编译成功

# arm-linux-gcc –v

在最后一行如果出现了版本号就是编译成功了

修改编译调用的库链接

# strings /usr/lib/libstdc++.so.6 | grep GLIBC

   结果的最后一句话:

GLIBCXX_3.4      没有GLIBCXX_3.4.9

# ls -l  /usr/lib/libstdc++.so.6

结果链接(快捷方式)为

/usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8

# rm –rf /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.8

#ls -l  /usr/lib/libstdc++.so.6

出现:/usr/lib/libstdc++.so.6:没有那个文件或目录

把(资源)libstdc++.so.6.0.10放入/usr/lib中

重新做链接

#ln -s /usr/lib/libstdc++.so.6.0.10  /usr/lib/libstdc++.so.6

(二) QT 安装

一、            下载

qt-sdk-linux-x86-opensource-2010.05.1.bin

二、            增加权限

Chmod 777 qt-sdk-linux-x86-opensource-2010.05.1.bin

三、            安装QT

./ qt-sdk-linux-x86-opensource-2010.05.1.bin

四、            升级Linux5的fontconf库

a)  将fontconf-2.3.0.tar.gz放入/root/qt中

b)  #cd fontconf

c)  #./configure  --sysconfdir=/etc  --prefix=/usr  --mandir=/usr/share/man

d)  #make

e)  #make install

五、            升级freetype库

a)  将freetype-2.3.0.tar.gz放入/usr/local中

b)  #cd /usr/local

c)  #tar zxvf freetype-2.3.0.tar.gz

d)  #./configure

e)  #make

f)  #make install

六、            改变环境变量

vim ~/.bash_profile

添加如下:

QTDIR=/opt/qtsdk-2010.05/qt(安装路径一定要写对)

QTLIB=$QTDIR/lib

QTINC=$QTDIR/include

PATH=$QTDIR/bin:$PATH

保存退出之后

#source ~/.bash_profile

#which qmake

查看显示如果结果是à/opt/qtsdk-2010.05/qt/bin/qmake,表示设置正确

七、            把QT的库路径加入so的搜索路径.

   在调试QT程序时,QTCreator是在后台调用gdb来调试,因此必须要系统知道从哪里找QT的动态库.一般比较好的办法是将其加入到系统so的路径,方法是修改/etc/ld.so.conf

#vi  /etc/ld.so.conf

把/opt/qtsdk-2010.05/qt/lib作为一行写入这个文件.存盘后执行命令

# ldconfig   让路径生效

可以使用如下命令检查输出结果是否正确:

#env |grep QT

查看配置的四项内容是否挣钱

a)    将虚拟机汉化一下

打开汉化包有五个QM文件

1.将这些文件复制到QT安装目录下的share/qtcreator/translations和qt/translations文件夹,覆盖(overwrite)原来的内容

2.重新启动qt,就完成了汉化

如果汉化不成功,可以选择qt的toos->options,在环境配置窗口中,选择左侧的enviroment,在右侧找到language,选择其中的chinese。

b)    将虚拟机重启(reboot)或者注销一下

c)    检查QtCreator是否能找到Qmake

在主菜单tools-->Options-->Qt4.QtVersion,如果Auto-Dected能找到QT4.7的qmake则能正常编译.


都有√号


d)    可以直接在Xshell中运行qt!方法是在命令行输入:

#cd /opt/qtsdk-2010.05/bin   (这样可以直接在级别3下运行QT,速度快!省内存)

#./qtcreator

(三) 运行QT并创建一个项目

环境安装好后,就可以创建一个QT的应用程序.

1.用QtCreator程序向导几步就创建一个项目,而以前则是使用分散的工具来创建.

1.1选择主菜单File->newfileorproject->Qt4GUIApplication创建一个标准GUI程序.如下图↓↓↓

 

1.2点击下方的choose…设置项目目录,即可快速建立一个项目

 

1.3可以直接主界面的运行按键来运行QT的程序。也能按调试软件来进行调试


调试

运行


1.3.1图形界面的一些控件

      1、使用widget存放MP4播放时的视频位置

      2、horizontal Slider控件来调节视频的进度!

      3、再者就是push button 了

1.3.2按键的程序连接使用

      选点按键à右键à转到槽(go to slot)

1.4  无程序调试运行

      当界面做好了之后

点击à运行按键

1.5  图形界面出来之后就可以给按键增加功能了右键go to

slot 进入程序首先在的头文件中添加一个库

在主窗口函数中添加指针

QProcess   *process;

 

然后在源文件MainWindow.cpp文件中的主窗口函数中添加一

线程的实例化    process=new QProcess();

 

然后开始编程

(1)开始播放的程序

void MainWindow::on_start_clicked()

{

    QString commend='/root/qt/mplayer '; // -slave -quiet -ac mad ' ;

    QString file='/root/qt/shi.avi ';

    QString canshu=' -slave -quiet -ac mad  -wid '+QString::number(ui->widget->winId());

    process->setProcessChannelMode(QProcess::MergedChannels);

    process->start(commend+file+canshu);

}

(2)视频暂停的程序

void MainWindow::on_stop_clicked()

{

    if(isplaying){

            process->write('pause/n');

            isplaying=false;

                 }

    else{

             process->write('pause/n');

             isplaying=true;

            }

}

(3)程序停止播放的程序

void MainWindow::on_exit_clicked()

{

    process->write('quit/n');

}

1.6  开始调试程序

点击run 按钮然后等待构建,如果出错修改,没错的话点击

试试

 

(四)、将在PC机上面的播放器修改为可在开发板上面运行的QT界面

1.       先要将4.6.3的QT编译包放到指定的位置/usr/local/Trolltech文件夹中,如果没有就创建

2.       进入4.7.1的QT开发环境打开要编译的项目,选择   项目 图标,然后点击 概要à第二行做好一个管理(manege)按键

3.       出现如下窗口,点击Qt4à右边的蓝色加号添加à浏览

 

选择/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin中的qmake  打开,会出现如下图像

 

如果没有出现√就点击右边的重新构建,然后点击应用à确认

4.       重新回到了项目页面

然后选择管理前面的小黑色三角

,选择 à4.6.3

拖动鼠标向下到 构建环境变量一行点击à详细

 

           找到PATH、QTDIR、QTLIB、QTINC将之修改为4.6.3所在的位置

      使用 系统环境变量 和

设置 PATH 为/usr/local/Trolltech/QtEmbedded-4.6.3-arm/bin:/opt/FriendlyARM/toolschain/4.4.3/bin:/opt/qtsdk-2010.05/qt/bin:/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/opt/FriendlyARM/toolschain/4.4.3/bin:/root/bin(红色的是添加的)

设置 QTDIR 为

            /usr/local/Trolltech/QtEmbedded-4.6.3-arm

设置 QTINC 为/usr/local/Trolltech/QtEmbedded-4.6.3-arm/include

设置 QTLIB 为

/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib

与此同时还要将生成文件的位置找好但别使用默认的

选定一个!

注:我命名的是MP7文件夹

然后点击run 按钮然后等待构建,又警告没事的,只要不是红色的感叹号就行其他的一切都不重要即使出现这个

也没事的!

然后进入构建目录找到可执行文件拷到开发板上

(五)在开发板上面

1.     将mplayer  test.wmv  MP7三个程序复制到开发板的和PC机上运行的相同的位置下

注:我命名的叫MP7的QT

2. 修改mplayer MP7的权限,使之可执行

3. 将下列配置内容加入到开发板的/etc/profile文件。建议采用粘贴方式。否则输入太慢!

#configure for tslib        

export TSLIB_ROOT=/usr/local

export TSLIB_TSDEVICE=/dev/input/event0

export TSLIB_CALIBFILE=/etc/pointercal 

export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf

export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts    

export TSLIB_CONSOLEDEVICE=none               

export TSLIB_FBDEVICE=/dev/fb0               

export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH                                                       

#configure for qt                                     

export QTDIR=/usr/local/Trolltech/QtEmbedded-4.6.3-arm

export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH    

export PATH=$QTDIR/bin:$PATH                          

export QWS_MOUSE_PROTO=tslib:/dev/input/event0

4. 将/etc/init.d/rcS中的如下行(倒数第三行)注释掉。即不启动默认界面!

  #/bin/qtopia &

5. 重新启动开发板后执行如下命令

   ./MP7 -qws


关键字:移植  mini2440 引用地址:QT_MPlayer移植到mini2440

上一篇:U-Boot-2011.03移植nandflash到mini2440
下一篇:混杂设备LED驱动程序(GPIO操作函数实现)

推荐阅读最新更新时间:2024-11-03 17:41

mini2440 按键驱动POLL机制实验
Makefile KERN_DIR = /home/grh/kernel_source_code/linux-2.6.32.2 all : make -C $(KERN_DIR) M=`pwd` modules arm-linux-gcc key_interrupt_app.c -o key_interrupt_app clean : make -C $(KERN_DIR) M=`pwd` modules clean rm -rf modules.order obj-m += test_driver.o obj-m += key_poll.o obj-m += key_interrupt.o copy
[单片机]
<font color='red'>mini2440</font> 按键驱动POLL机制实验
ARM-Linux一移植必杀技
去年终结了ARM-wince 移植的必杀技,几个简单的要点,现在总结了linux 的关键要点如下,希望大家抛砖。把自己以前移植的wince 和linux 移植的一些简单要点都罗列了,希望大家提出更好的意见,或者指出我笔记的错误。 1.uboot传递给linux内核的nfs启动命令行: setenv bootargs mem=64M console=ttyS0,57600 root=/dev/nfs rw nfsroot=192.168.1.6:/home/linucos/ newmsg/nfsroot nfsaddrs=192.168.1.8:192.168.1.6:192.168.1.1:255.255.255.0
[单片机]
u-boot-2015.04 在tq2440上的移植(使用spl引导u-boot)
本次移植跟以往的不同之处是采用了spl来引导u-boot,参考了博客 http://blog.csdn.net/fulinus/article/details/42738641 下载链接: http://pan.baidu.com/s/1bnlRKgn 使用方法: 1、 编译   make tq2440_defconfig   make 2、 然后会在u-boot根目录下生成u-boot.bin,在spl目录下会生成u-boot-spl.bin,目前的分区是: u-boot-spl.bin (1M) u-boot.bin (1M) kernel (3M) rootfs (剩余) 自己可以改动,在arc
[单片机]
S3C2440移植uboot之支持NORFLASH
上节S3C2440移植uboot之支持NAND启动修改了代码支持了NAND启动。这节我们分析uboo使其支持NORFLASH的操作。 目录 1.分析启动错误 2.修改代码 3.在匹配数组中添加我们的NORFLASH 4.然后重新烧写 5.解决栈设置错误的问题 1.分析启动错误   上一节启动uboot出现如下所示,我们搜索下错误代码Flash:   上面的Flash: *** failed *** 是属于uboot第二阶段函数board_init_r()里的代码, 代码如下所示(位于arch/arm/lib/board.c): /*第二阶段*/ void board_init_r(gd_t *id, ulong
[单片机]
S3C2440<font color='red'>移植</font>uboot之支持NORFLASH
移植U-Boot.1.2.0到友善之臂S3C2440 (2)
8、在个文件中添加“CONFIG_S3C2440”,使得原来s3c2410的代码可以编译进来。 (1)/include/common.h文件的第454行: #if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || defined(CONFIG_LH7A40X) || defined(CONFIG_S3C2440) (2)/include/s3c24x0.h文件的第85、95、99、110、148、404行: #if defined(CONFIG_S3C2410) || defined (CONFIG_S3C2440) (3)/cpu/arm920t/s3c24x0/inte
[单片机]
ARM笔记:U-Boot之移植 nand-flash 驱动
1、增加nand_flash.c 文件:cpu/arm920t/s3c24x0/nand_flash.c #include #if (CONFIG_COMMANDS & CFG_CMD_NAND) && !defined(CFG_NAND_LEGACY) #include #include DECLARE_GLOBAL_DATA_PTR; #define S3C2410_NFSTAT_READY (1 0) #define S3C2410_NFCONF_nFCE (1 11) #define S3C2440_NFSTAT_READY (1 0) #define S3C2440_NFCONT_nFCE (1 1) st
[单片机]
S3C2440 音频解码芯片WM8976声卡驱动移植 (三十一)
本节学习: 分析linux中的OOS声卡系统 修改s3c2410-uda1341.c的控制部分,移植wm8976声卡 使用madplay应用程序播放mp3 本节常用英语单词: volume:音量,dsp:数字信号处理(Digital Signal Processing),mixer:混音器,unit:单位,个体 1、声音三要素 采样频率 音频采样率是指录音设备在一秒钟内对声音信号的采样次数,常用的采样率有: 8KHz ---电话所用采样率,对于人的说话已经足够清楚 22.05KHz ---无线电广播所用采样率 32KHz ---miniDV数码视频、DAT所用采样率 44.1KHz ---音频CD,也常用于
[单片机]
S3C2440 音频解码芯片WM8976声卡驱动<font color='red'>移植</font> (三十一)
Linux移植之内核启动过程引导阶段分析
在Linux移植之make uImage编译过程分析中已经提到了uImage是一个压缩的包并且内含压缩程序,可以进行自解压。自解压完成之后内核代码从物理地址为0x30008000处开始运行。下面分析在进入C之前内核做的一些工作,以下是内核启动过程中打印出来的信息,其中Uncompressing Linux就是在自解压代码。make uImage编译的最后也给出了链接脚本arch/arm/kernel/vmlinux.lds,以及链接的顺序arch/arm/kernel/head.o 是第一个。 分析arch/arm/kernel/vmlinux.lds可以知道程序入口的地址是stext,并且是.text.head段 277
[单片机]
Linux<font color='red'>移植</font>之内核启动过程引导阶段分析
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved