qtopia

itop4412开发板添加开机启动程序

一笑奈何 提交于 2020-05-07 18:23:37
1. 先编写代码,以helloworld.c为例子 1 #include<stdio.h> 2 #include<unistd.h> // 这个文件是什么 3 main() 4 { 5 int i = 0 ; 6 while ( 1 ) 7 { 8 sleep( 2 ); 9 printf( " hell0 world!\n " ); 10 } 11 } 2. 在ubuntu14环境下,用交叉编译器编译一下,生成.o文件,下一个问题,怎么通过串口把.o文件传给开发板? 3. 在串口log中看到,是不是4核板子,没任务的时候,关闭了另外3个? 1 [ 63.520839 ] CPU1: shutdown 4. #vi root/etc/init.d/rcS这个文件在哪里,开发板和源码我都没找到?原来在根文件系统里面\4412_SCP精英版\linux-QT\root.tar.gz\etc\init.d\rcS,打开看一下,把/bin/int_helloworld &加入最后一行,讯为用的是nfs网络文件系统的方式。把根文件系统打包一下。开机即可看到输出。 1 #! /bin/ sh 2 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/ bin: 3 runlevel= S 4 prevlevel= N 5 umask 022 6

Qt的编译-迅为iMX6Q/D-非设备树源码

南楼画角 提交于 2020-04-30 13:07:01
4.1 uboot 编译 和 Android 的 uboot 通用,参考 5.3.2.1 小节。 5.4.2 kernel 编译 单独编译 kernel,则进入源码解压的到的“iTOP-iMX6_android4.4.2/kernel_imx”目 录,如下图所示。 如下图所示,使用命令“ ./build_qt_kernel.sh ”,开始编译内核。 如下图所示,开始编译。 如下图所示,编译完成。 如下图所示,在“iTOP-iMX6_android4.4.2/kernel_imx/arch/arm/boot”目录下生成 uImage,即是内核镜像。 5.4.3 文件系统 Qt 的系统生成新的镜像比较容易。 将光盘“05-镜像_Qt”目录下的压缩包“rootfs.tgz”拷贝到 Ubuntu 系统下解压。 作者将镜像“rootfs.tgz”拷贝到新建的“/home/imx6/qt”目录下,使用命令 “tar -vxf rootfs.tgz”解压,如下图所示。 进入上图所示的“opt”目录,如下图所示。 如上图所示,可以看到“qt-4.7.1”和“Qtopia”两个文件夹。“qt-4.7.1”和 “Qtopia”文件夹分别对应 QtE 系统和 Qtopia 系统,这两个文件夹具体的得到方法请参考 “第六章”和“第七章”。 用户可以使用新编译的的到的“qt-4.7.1”和“Qtopia

详解Linux内核编译配置(menuconfig)、文件系统制作

走远了吗. 提交于 2020-04-17 10:12:05
【推荐阅读】微服务还能火多久?>>> 详解Linux内核编译配置(menuconfig)、文件系统制作 Linux内核配置原理 Menuconfig主要功能选项介绍 编译配置内核步骤 制作文件系统步骤 文件系统和根文件系统区别联系 一、Linux内核配置原理 Linux内核的配置系统由三个部分组成,分别是: 1、Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linux 内核的编译规则; 2、配置文件(config.in):给用户提供配置选择的功能; 3、配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。 Linux 内核的编译菜单有3中方法: 1)make config:进入命令行,可以一行一行的配置,这不方便使用,但用命令执行一遍会对编译过程有更深了解,这里不具体介绍。 2) make menuconfig :进入我们熟悉的 menuconfig 菜单,图形化界面选择配置 3)make xconfig:在2.4.X 以及以前版本中 xconfig 菜单是基于 TCL/TK 的图形库的,没有接触过。。貌似淘汰了。

iTOP-4418开发板基于QtE4.7测试Led灯

自古美人都是妖i 提交于 2019-12-30 11:45:06
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 基于迅为iTOP-4418 开发板 QtE4.7 在超级终端输入 命令 “vi etc/init.d/rcS”切换成 qtopia 启动,如下图。 重新启动之后,在超级终端中使用命令“mknod /dev/sda1 b 8 1”创建 U 盘的设备节 点。 如下图,使用命令“mount /dev/sda1 /mnt/udisk/”挂载 U 盘。 如下图,修改 测试 程序的权限。在超级终端中,输入修改权限命令“chmod 777 LED s” 在超级终端中,输入运行命令“leds -qws”,如下图。 运行结果如下图,通过 LED1 可控制开发板 led 灯的亮灭。 来源: oschina 链接: https://my.oschina.net/u/3005926/blog/3150667

Qte程序执行到app.exec()时出现Segmentation Fault问题的解决

戏子无情 提交于 2019-12-07 15:10:25
昨天把Qtopia 2.2.0编译移植好了后,今天打算写一个hello world测试一下。拿到可执行文件后,下到板子上,加上-qws选项运行,结果直接Segmentation Fault。代码如下: #include "qapplication.h" #include "qpushbutton.h" #include <stdio.h> #include <unistd.h> int main(int argc, char *argv[]) { QApplication app(argc,argv); QPushButton *hello = new QPushButton("Hello World.",0); //printf("hello.\n"); hello->resize(640,480); //hello->move(100,100); //printf("hello.move.\n"); hello->show(); app.setMainWidget(hello); //printf("hello.show.\n"); while(0) { printf("show...\n"); sleep(1); } return app.exec(); } 检查代码,没问题,每一句后面加上printf语句,发现前面都没有问题,但只要执行到 return app.exec()

Qtopia 2.2.0的编译和移植(二):编译脚本

随声附和 提交于 2019-12-07 01:07:02
前文提到了qtopia 2.2.0源代码编译移植的一些问题和注意事项,为了提高编译效率和可重复性,我编写了两个Shell脚本来实现自动修复源码错误和代码编译安装。 源码错误修正脚本,参照前文中指出的错误,如发现有其它错误请自行在脚本中添加修改命令 #! /bin/bash # modify qtopia source files to fix some compile errors. QT_ROOT_DIR=$PWD/qtopia-free-2.2.0 pushd $QT_ROOT_DIR # 1: pthread_yield --> sched_yield pushd qtopia/src/3rdparty/plugins/codecs/libffmpeg sed -i 's/pthread_yield/sched_yield/g' mediapacketbuffer.h popd # 2: fix ptrdiff_t is not a name type error pushd dqt/src/tools/ sed -i '52i\ #include <cstddef>\n #include "stddef.h" ' qvaluelist.h popd # 3:append ,remove function add object pushd qt2/src/tools sed

Qtopia 2.2.0的编译和移植(一)

一曲冷凌霜 提交于 2019-12-06 10:20:26
新项目中需要做界面,决定使用Qt框架开发,刚好我在前一个项目中是做这个的,就接手了。由于上一个项目我选用的是Qt-4.7的版本,包括PC版本和嵌入式版本,而这次项目打算用半现成的Qtopia2.2.0版本,考虑到库的存储空间大小和性能需求,不得不说Qt4.7的嵌入式版本编出来的库很占用空间。因为Qtopia2.2.0是别的公司 弄好的,不过还是需要自己理清整个编译、移植的步骤过程,不然以后开发会很麻烦,还好有点经验,只是Qtopia2.2.0确实有点旧了,2005的版本,我现在都找不到官方的版本了。整了两天,基本是搞定了它的编译和移植过程,顺便写了个自动化脚本,自我感觉良好。 开发环境 PC机:Ubuntn 12.10 Server(Linux 3.5.0),gcc-4.7.2(g++) 目标机:ARM9, Linux 2.6.24 编译前环境准备 X11库 Qtopia编译过程中需要使用X11 里面的一些头文件来生成一些工具,主要是qt2的编译,当然里面的dqt编译肯定是需要用到X11的头文件和库的。使用以下命令即可安装需要X11的环境: <!-- lang: shell --> sudo apt-get install libx11-dev libxext-dev libxtst-dev uuid库和xmu库 编译过程中会使用到这些库,安装命令: <!-- lang:

iTOP-4412开发板系统运行后QtE4.7和Qtopia2.2.0的切换

与世无争的帅哥 提交于 2019-12-04 13:25:39
基于:迅为iTOP-4412开发板 输入切换命令的时候如果已经打开过一个文件系统,则需要先关闭已启动文件系统的进 程。 下面举例说明,如何关闭文件系统的进程。 如下图,已经运行了 Qtopia2.2.0 文件系统。 如下图,输入命令“ps”,查看系统进程。 如下图,在超级终端中找出和 Qtopia2.2.0 文件系统相关的 ID 号,这里的进程 ID 号是 935、1027 以及 1028。 如下图,使用 kill 命令将 Qtopia2.2.0 的进程关掉, 然后输入切换命令“qt4”,就可以切换到 Qt/E4.7。 Qt/E4.7 文件系统启动后,再切换到 Qtopia2.2.0,也是使用和上面类似的方法,这里就 不再重复讲解了。 来源: https://my.oschina.net/u/3005926/blog/3129977

Qt/Qte/Qtopia三者的区别

*爱你&永不变心* 提交于 2019-11-29 15:55:34
Qt 泛指 Qt software的所有版本的图像界面库,包括 Qt/X11(Unix/Linux),Qt Windows, Qt Mac 等,但这只是相对于二进制来说的。Qt作为一个跨平台的GUI 框架,在源码上对所有平台都是一致的。Unix/Linux上最流行的桌面环境之一KDE就是采用Qt来写的。 Nokia 在2008年收购 Trolltech 后,将 Qt 更名为 Qt Software,随后改为 Qt Development Frameworks。而后 Nokia 开发了 IDE 工具 Qt Creator,于是Qt FrameWork + Qt Creator = Qt SDK。 Qte:Qt/Embeded for linux 它是用于嵌入式 Linux 系统的 Qt 版本,也是一套界面库,Qt/Embeded 也简称 Qte 或 Qt/E,Qte 去掉了 X Lib 的依赖而直接工作在 Framebuffer 上,而且Qte在此基础上实现了自己的窗口管理系统QWS(Qt Windows System),这是Qte与Qt/X11最大的区别。因此Qte可以在嵌入式Linux系统中没有X11库的环境下构建独立的图形用户界面,而且不会占用太多的嵌入式系统资源。 Qte为方便嵌入式Qt应用的开发,还提供qvfb工具和makeqpf工具