aha60

aha60

0个粉丝

1

问答

0

专栏

1

资料

aha60  发布于  2017-08-30 17:56:44
采纳率 0%
1个问答
3127

hi3531a qt程序运行后,多次update后程序挂掉

 
本帖最后由 aha60 于 2017-8-30 17:56 编辑

我参考下面链接做的环境配置
http://blog.csdn.net/yhguo2008/article/details/51311356

运行自己的小程序(非常简单,就一个定时器33ms,在timerEvent里定时update),可以显示画面窗口,但只要多次update后程序就挂掉,程序的状态STAT变为DW
不知道问题在哪里,希望有人能帮我分析一下,谢谢啦

我来回答
回答4个
时间排序
认可量排序

aha60

0个粉丝

1

问答

0

专栏

1

资料

aha60 2017-09-04 15:03:37
认可0
鼠标、键盘接入后也会触发qt的界面刷新而引起崩溃
----------------------------------------------------------------------------------------
1.首先是交叉编译Qt,用海思的arm-hisiv300-linux-工具链,试了两个Qt版本(5.6.2和4.8.6),都会出现此异常
1.1我的Qt5.6.2 环境搭建主要过程(4.8.6过程大致相同)
1.1.1在Qt5.6.2源码目录下修改qmake.conf文件(电脑系统为Ubuntu 14.04)
cp qtbase/mkspecs/linux-arm-gnueabi-g++ linux-arm-hisiv300-g++ -a
vi qtbase/mkspecs/linux-arm-hisiv300-g++/qmake.conf
# modifications to g++.conf
QMAKE_CC                   = arm-hisiv300-linux-gcc
QMAKE_CXX                 = arm-hisiv300-linux-g++
QMAKE_LINK                = arm-hisiv300-linux-g++
QMAKE_LINK_SHLIB     = arm-hisiv300-linux-g++
# modifications to linux.conf
QMAKE_AR                 = arm-hisiv400-linux-ar cqs
QMAKE_OBJCOPY          = arm-hisiv400-linux-objcopy
QMAKE_NM                = arm-hisiv400-linux-nm -P
QMAKE_STRIP              = arm-hisiv400-linux-strip
1.1.2 Qt configure
./configure -prefix /home/workdir/nfs4.0/opt/hi3536/Qt5.6.2 -release -opensource -qt-libpng
-qt-libjpeg -plugin-sql-sqlite -widgets -qt-sql-sqlite -make libs -no-cups -no-iconv -no-dbus
-no-openssl -no-accessibility -no-sse2 -silent -xplatform linux-arm-hisiv400-g++ -nomake tools
-nomake examples -nomake tests -qt-freetype -no-glib -strip -linuxfb -plugindir
/home/workdir/nfs4.0/opt/hi3536/Qt5.6.2/plugins
Make -j4 && make install
1.1.3 在开发板上设置环境变量
export QTDIR=/opt/qt
export QT_QPA_PLATFORM="linuxfb:fb=/dev/fb1:size=1920x1080"
export LD_LIBRARY_PATH=$QTDIR/lib:/lib/:$LD_LIBRARY_PATH
export QT_QPA_EVDEV_MOUSE_PARAMETERS=libinput:/dev/input/event0
export QT_QPA_EVDEV_KEYBOARD_PARAMETERS=libinput:/dev/input/event1
export PATH=$QTDIR:$PATH
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTDIR/plugins
export QT_QPA_FONTDIR=$QTDIR/lib/fonts
----------------------------------------------------------------------------------------
2.通过nfs把qt程序到挂载开发板上
我的qt源码:

3.先在开发板上运行海思3531a,mpp/sample文件夹里的hifb(初始化vo和HDMI,我选择的为4:ARGB8888)

4.再运行我的Qt程序(程序只要不频繁update刷新界面就能正常运行)
但出现异常会导致我所说的DW状态

用dmesg查看得到的信息
其中有两行显示:
Unable to handle kernel paging request at virtual address 00b4e001
note: test[24514] exited with preempt_count 2

dmesg全部信息:




5.我的问题描述完毕,辛苦大家能看到这里,烦请大侠们分析分析,在下无以为报只【抱拳】感激,希望你能在忙忙帖海中多看此贴一眼,谢谢~\(≧▽≦)/~啦啦啦!




mengxp

0个粉丝

18

问答

0

专栏

1

资料

mengxp 2017-09-04 15:56:33
认可0
百度了下关键字copy_to_iter_bvec找到了这个文章
[url]http://blog.csdn.net/lizhu_csdn/article/details/54922769[/url]

简要概述下好像就是sdk里面的linux内核有bug

aha60

0个粉丝

1

问答

0

专栏

1

资料

aha60 2017-09-05 08:46:42
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=63333&ptid=23327]mengxp 发表于 2017-9-4 15:56[/url]
百度了下关键字copy_to_iter_bvec找到了这个文章
http://blog.csdn.net/lizhu_csdn/article/details/54922 ...[/quote]

【抱拳】:lol 非常感谢@memgxp,解决了我一个大问题,确实是内核源码有漏洞,测了一天目前没问题,哦也

也非常感谢写这个patch的人,附上patch包,以防丢失
附件:patch.zip

mengxp

0个粉丝

18

问答

0

专栏

1

资料

mengxp 2017-09-05 10:47:13
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=63361&ptid=23327]aha60 发表于 2017-9-5 08:46[/url]
【抱拳】 非常感谢@memgxp,解决了我一个大问题,确实是内核源码有漏洞,测了一天目前没问题,哦也
...[/quote]

:) 解决了就好呀
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区