在mini2440上移植QtEmbedded遇到的问题

原创 2012年03月26日 11:52:13

1.移植完成执行程序出现的经典的Segmentation fault问题

        此错误其实是图形缓冲区linuxfb的问题(http://blog.163.com/luoyi07040125@126/blog/static/832084512010112594719899/),

两种解决方法:

1)修改qt-embedded-linux-opensource-src-4.5.0/src/gui/embedded/qscreenlinuxfb_qws.cpp

函数connect()中:
/*   // del start
    canaccel = useOffscreen();
    if(canaccel)
        setupOffScreen();
*/  //del end
    canaccel = false;

函数initDevice()中:
/*   //del start
    if (canaccel) {
        *entryp=0;
        *lowest = mapsize;
        insert_entry(*entryp, *lowest, *lowest);  // dummy entry to mark start
    }
*/     //del end
canaccel = false;

来自:http://www.arm9home.net/read.php?tid-2993-fpage-0-toread--page-2.html

该解决方法其实是来自友善之臂提供的Qtopia源码。

2)可以尝试使用openmoko(一个开源手机项目)提供的编译器,同样是EABI,版本为4.1.2

http://www.qtopia.net/modules/mydownloads/singlefile.php?lid=38 

使用方法:

安装新的交叉编译器:
# tar zxvf arm920t-eabi.tgz -C /
会安装至 /opt/toolchains/arm920t-eabi/ 目录。
把 "/opt/toolchains/arm920t-eabi/arm-angstrom-linux-gnueabi/lib" 目录下的 libz.so libz.so.1 libz.so.1.2.3 三个动态链接库文件拷贝至开发板 /lib 目录,因为 Qt 要用到!
换个新的终端执行:
# export PATH=/opt/toolchains/arm920t-eabi/bin/:$PATH

2.字体大小问题(字体无法改变大小)

1)编程时用另一种方法设置字体大小

例子:

QFont font = QFont("Helvetica");
font.setPixelSize(12);
this->setFont(font);

在嵌入式系统中,要用setPixelSize来设置字体大小才有效果。

来自:http://www.qtcentre.org/threads/26993-font-size-difference-in-embedded-QT?highlight=font+size+in+arm+target

2)字体库修改

上面一种方法,要修改源码,比较麻烦。下面介绍一种只需修改字体库即可。

在一直后的 QtEmbedded-x.x.x-arm/lib/fonts下,将其他的字体文件都删掉,只留下unifont_160_50.qpf 即可。

或者将全部字体文件都删掉,到网上找文泉驿的字体库放进去也可以。


3.参考

Fedora12下搭建Qt Creator的ARM开发环境 并 移植Qt4.6.2到Micro2440



mini2440-qt移植的具体步骤和方法

  • 2012年03月30日 09:36
  • 24KB
  • 下载

移植较新(Linux3.19)内核至mini2440开发板(一)

最新内核移植
  • winter_evening
  • winter_evening
  • 2015-04-24 23:13:05
  • 2095

移植Android 到mini2440

1 移植环境: Target:友善之臂mini2440 HOST OS:Fedora 8 kernel Version:Linux-2.6.25 编译器:mini2440光盘所提供的编译器 ...
  • wavemcu
  • wavemcu
  • 2012-02-18 12:44:12
  • 2412

友善之臂MINI2440移植Linux内核“Kernel panic”的解决方法

Failed to execute /linuxrc. Attempting defaults... Kernel panic - not syncing: No init found. Try ...
  • zl199203
  • zl199203
  • 2016-03-23 14:05:29
  • 484

apache2+php5+mysql5在arm2440上的移植

  • 2014年02月10日 10:44
  • 69KB
  • 下载

基于mini2440嵌入式linux上整合一套Domoticz智能家居系统(八)使用domoticz+mosquitto+Android客户端实现控制mini2440上的LED(一)

本篇将在上一篇交叉编译paho.mqtt.embedded-c官方的源代码例程基础上,稍作修改,尝试实现domoticz+mosquitto联合做服务器,使用Android客户端APP或浏览器对min...
  • sqshining
  • sqshining
  • 2017-04-16 04:24:44
  • 509

U-BOOT 移植到友善之臂mini2440

U-BOOT 移植到友善之臂mini2440 开发环境:ubuntu 10.10 编译器:友善之臂mini2440光盘自带arm-linux-gcc 4.4.3 一. 在denx...
  • YAOZHENGUO2006
  • YAOZHENGUO2006
  • 2011-09-08 18:33:19
  • 8894

Telnet 在 mini2440 上的移植

mini2440 内核以及根文件系统分别是通过tftp、NF方式加载的,为了解决开发板串口不够用的问题,给开发板安装一个telnet是一个不错的解决方案,毕竟如果用超级终端是必须占用一个串口的。 1....
  • xy010902100449
  • xy010902100449
  • 2015-04-16 10:43:25
  • 1887

Linux-2.6.32.2内核在mini2440上的移植(四)---根文件系统制作(2)

移植环境(红色粗字体字为修改后内容,蓝色粗体字为特别注意内容) 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-l...
  • yuesichiu
  • yuesichiu
  • 2014-08-31 09:03:23
  • 1399

移植 DHCP 客户端 到ARM

1.下载udhcp-0.9.8.zip源码(http://www.verysource.com/udhcp-0-9-8-68457.html) 2.解压源码包 3.修改Makefile文件   ...
  • van38686061
  • van38686061
  • 2015-07-24 16:58:56
  • 241
收藏助手
不良信息举报
您举报文章:在mini2440上移植QtEmbedded遇到的问题
举报原因:
原因补充:

(最多只允许输入30个字)