当前位置: 首页 > wzjs >正文

网站改版一般需要多久网站制作需要哪些东西

网站改版一般需要多久,网站制作需要哪些东西,深圳市高端网站建设,网站添加广告源码一、移植背景及意义 海思3519V200是一款基于ARM架构的嵌入式芯片,广泛应用于智能安防、工业控制等领域。在这些应用场景中,对设备的图形用户界面(GUI)有着越来越高的要求。Qt5.8.0作为一个功能强大、跨平台的GUI开发框架&#xf…

一、移植背景及意义

海思3519V200是一款基于ARM架构的嵌入式芯片,广泛应用于智能安防、工业控制等领域。在这些应用场景中,对设备的图形用户界面(GUI)有着越来越高的要求。Qt5.8.0作为一个功能强大、跨平台的GUI开发框架,能够帮助开发者快速开发出美观、高效的用户界面。将其移植到海思3519V200平台上,可以极大地提升嵌入式设备的人机交互体验,满足市场需求。

二、移植准备

1.硬件环境

准备海思3519V200开发板一台,并确保其能够正常启动运行。同时,还需要一台用于交叉编译的PC主机,通常配置为x86架构的Linux系统,如Ubuntu 16.04或更高版本。

2.软件环境

在PC主机上安装适合海思3519V200的交叉编译工具链,如arm-linux-gnueabi-gcc或arm-himix200-linux-g++等。安装必要的依赖库和工具,如build-essential、libgtk2.0-dev、libudev-dev、libssl-dev等,可以通过运行以下命令进行安装:

sudo apt-get install build-essential libgtk2.0-dev libudev-dev libssl-dev

从Qt官网(Index of /archive/qt)下载适合嵌入式Linux的Qt5.8.0版本的源码包,如qt-everywhere-opensource-src-5.8.0.tar.xz,并将其传输到开发主机上并解压。

三、交叉编译

1.配置Qt源码

进入Qt源码目录,根据海思3519V200平台的特点和需求,编写一个配置脚本(如configure.sh),常用的配置选项及其含义如下:

  • -prefix:指定Qt库的安装路径,如/home/qt-5.8.0

  • -release:指定生成发布版本的Qt库,提高性能和稳定性。

  • -opensource:声明使用开源版本的Qt。

  • -confirm-license:确认接受Qt的开源协议。

  • -static:生成静态库,便于程序在板端运行,减少对库加载路径的配置。

  • -qt-zlib-qt-libpng-qt-libjpeg-qt-freetype:使用Qt库自带的zlib、libpng、libjpeg、freetype等库,避免因系统缺少这些库而导致的编译或运行问题。

  • -no-pch:不使用预编译头文件,减少编译过程中的潜在问题。

  • -no-avx-no-openssl-no-cups-no-dbus-no-opengl-no-glib:根据海思3519V200平台的特点和需求,禁用一些不必要的功能和库,如AVX指令集、OpenSSL加密库、CUPS打印系统、DBus通信框架、OpenGL图形库、Glib库等。

  • -xplatform:指定交叉编译平台,如linux-arm-himix200-g++

  • -nomake examples-nomake tests:不编译示例和测试代码,减少编译时间和生成文件的大小。

2.运行配置脚本

在终端中进入Qt源码根目录,运行以下命令使配置脚本具有执行权限,并执行该脚本:

chmod +x configure.sh
./configure.sh

配置过程中可能会提示缺少一些依赖库或工具,根据提示安装相应的依赖。

3.编译和安装

配置完成后,运行以下命令进行编译和安装:

make -jN
sudo make install

其中N为编译线程数,可根据主机性能设置。编译完成后,Qt库将被安装到指定的路径下。

四、修改LinuxFB插件

海思3519V200使用Linux Frame Buffer(LinuxFB)作为图形后端。在使用LinuxFB之前,需要先初始化MPP(Media Processing Platform)系统以及VO(Video Output)模块,否则直接打开fb会报权限不允许的错误。具体步骤如下:

1.修改插件源码

进入qt-everywhere-opensource-src-5.8.0/qtbase/src/plugins/platforms/linuxfb目录,找到qlinuxfb.cpp文件。在文件中添加MPP和VO初始化的代码,确保在打开fb设备之前完成相关的初始化工作。例如,在QLinuxFbScreen::connectToFramebuffer函数中添加以下代码:

// 初始化MPP系统
if (mpp_component_init() != 0) {qFatal("Failed to initialize MPP system");
}
// 初始化VO模块
vo_cfg_t voCfg;
voCfg.ePixFormat = VO_PIXEL_FORMAT_ARGB8888; // 根据实际需求设置像素格式
voCfg.eDynamicRange = VO_DYNAMIC_RANGE_SDR;
voCfg.eWorkMode = VO_WORK_MODE_NORMAL;
voCfg.eOutputType = VO_OUTPUT_TYPE_FB;
if (vo_init(&voCfg) != 0) {qFatal("Failed to initialize VO module");
}

2.重新编译插件

修改完成后,重新编译LinuxFB插件:

make
make install

此时,LinuxFB插件将适配海思3519V200平台,能够正确地与设备的图形硬件进行交互。

五、开发板移植

1.复制文件

将安装好的Qt库和相关文件复制到海思3519V200开发板的文件系统中对应的位置,一般为/usr/local/qt5.8.0

2.配置环境变量

在开发板的/etc/profile文件中添加以下环境变量配置:

export QTDIR=/usr/local/qt5.8.0
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

执行source /etc/profile命令使环境变量生效。

六、测试

1.运行示例程序

在开发板上运行Qt的示例程序进行测试。可以使用以下命令启动示例程序:

export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1920X1080
/usr/local/qt5.8.0/examples/widgets/widgets/mainwindow

如果程序能够正常显示图形界面并响应用户操作,说明Qt移植成功。

2.编写和编译自己的程序

自行编写一个简单的Qt应用程序,在.pro文件中添加海思相关的库和头文件。使用qmake生成Makefile,然后编译生成可执行文件,并将其复制到开发板上运行。例如,编写一个简单的main.cpp文件:

#include <QApplication>
#include <QWidget>int main(int argc, char *argv[])
{QApplication app(argc, argv);QWidget window;window.resize(800, 480);window.show();return app.exec();
}

创建一个test.pro文件:

QT       += core gui
TARGET = test
TEMPLATE = app
SOURCES += main.cpp
HEADERS  += 

使用以下命令生成Makefile并编译:

/usr/local/qt5.8.0/bin/qmake test.pro -o Makefile
make

将生成的test可执行文件复制到开发板上,并运行:

export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=1920X1080
./test

如果能够正常显示一个窗口,说明Qt移植成功。

七、总结与展望

在海思3519V200 ARM Linux下成功移植Qt5.8.0,为嵌入式设备开发丰富的图形界面提供了强大的支持。通过合理的配置和编译,以及对LinuxFB插件的修改,可以确保Qt在海思3519V200平台上稳定运行。在后续的开发工作中,可以基于移植好的Qt开发各种嵌入式应用,如智能安防监控界面、工业控制操作面板等。同时,随着Qt和海思技术的不断发展,需要持续关注新技术和新特性,以进一步提升嵌入式系统的性能和用户体验。

http://www.dtcms.com/wzjs/840145.html

相关文章:

  • app网站开发成功案例深圳优化网站公司
  • 重庆欧勒精细有限公司网站策划书wordpress情侣博客模板下载
  • 网站建设与管理多选题计算机网络技术就业公司
  • 网站网站在国外百度收录查询
  • 做厂房出租有那些推广网站设计个网站多少钱
  • 青岛 机械 中企动力提供网站建设淮安市住房和城乡建设局网站首页
  • 发布网站的空间wordpress 内存占用
  • ASP做旅游网站代码最流行的网站设计风格
  • 中国著名设计建筑seo有哪些网站
  • 广告网址wordpress配置搜索引擎优化
  • 中国网站建设公司有哪些方面买到域名怎么做网站
  • 怎样怎样优化网站建设面试学校网站开发
  • 网页制作与网站管理东莞技术支持 骏域网站建设
  • 哪个网站seo做的最好三星做号网站
  • 济南网站建设与维护旅游网站建设毕业设计
  • 安利的网站谁做的浏览器打不开网页但能上网
  • 如何做网站描述ue4培训
  • 有没有做网页的兼职网站好一点网站建设公司
  • 医疗公司网站建设项目背景网站制作网站建
  • 中国石化工程建设公司网站第一模板网站上的模板怎么下载
  • 响应式网站 图片居中wordpress 正版插件吗
  • 江西建设工程质量管理网站小程序开发商
  • 做网站的报价wordpress内存缓存无插件
  • ui做网站实例山东住房与城乡建设网站
  • 2012服务器做网站app推广注册从哪里接单
  • 曲靖建设局网站广州专业网站改版
  • 2017流行的网站风格模板工
  • 免费建站系统免费网站入口网站免费进
  • 淄博网站设计公司做游戏模型参考的网站
  • 广州电商网站建设友情链接的作用有哪些