SemiDrive X9H 平台 QT 静态编译

news2024/11/16 1:10:50

一、  前言

        芯驰 X9H 芯片,搭载多个操作系统协同运行,系统实现了仪表、空调、中控、副驾多媒体的四屏驱动控制,在人车智能交互上可以通过显示屏、屏幕触摸控制、语音控制、物理按键控制、车身协议的完美融合,使汽车更智能。让车主及乘客有更好的体验乐趣。在仪表的应用中很可能会用到 QT,本文介绍 QT 静态编译的方法,这种方法优势在于不依赖外部库文件,方便移植。 

 

二、  软件环境搭建

1.  软件基线下载

       本文使用 PTG4.1 版本基线,使用 X9HP_Ref_Isolation_AndroidUser_Linux_Serdes_8G_emmc_3200.json 配置文件。

  • 配置 key
  • 下载 buildsystem 文件夹
  • source lunch_sd.sh -c X9HP_Ref_Isolation_AndroidUser_Linux_Serdes_8G_emmc_3200.json -b X9_3.0.0_PTG4.1 -u customer_c
  • make sync_all 同步代码
  • make build_all 编译
  • make genpac 生成 pac 包

2.  软件烧录

       使用提供的 SdToolsBox 工具进行下载,验证基础功能完好。

 


 

3.  安装工具链

       下载并安装芯驰提供的工具链 cluster-qt-glibc-x86_64-semidrive-qt-sdk-aarch64-toolchain-2.5.3.sh。

查看交叉编译工具链
 

     



三、  QT 软件安装

1.  从官网下载 QT Linux 5.12.5

3.1.1 安装 QT
 


3.1.2 选择工程路径
 


3.1.3 选择安装选项
 


3.1.4 协议选择
 


3.1.5 开始安装
 


2.  QT 静态编译

3.2.1 解压 static_5.12.5_qt_env.7z 文件

3.2.2 修改 compiler-config.sh 中路径为 export CROSS_COMPILE_PATH=/opt/cluster-qt/2.5.3

 


3.2.3 设置环境变量

source /opt/cluster-qt/2.5.3/environment-setup-aarch64-sdrv-linux


3.2.4 编译核心库

        sudo ./qtbase-make.sh static 开始编译
 

      


3.2.5 编译其他库

         sudo ./qtsubmodules-make.sh static
 

 


3.  配置 QT

参考 《qt_window应用远程部署调试环境搭建》文档,配置 QT。
 

 


四、  测试验证

1.  建立 QT 测试工程

 


2.  编译工程

  • 执行 source /opt/cluster-qt/2.5.3/environment-setup-aarch64-sdrv-linux
  • 执行 source my.sh
  • 执行 export QTDIR PATH MANPATH LD_LIBRARY_PATH
  • 执行 qmake xxx.pro
  • 执行 make


3.  执行应用程序

  • 使用 adb 工具 push 进板子
  • 板端输入 export QT_QPA_EGLFS_INTEGRATION=none
  • 执行应用程序,可显示出画面


五、 总结

        经过以上几步,可以编译出 QT 应用程序,最基本的程序 12M 左右,在板子上执行后可以显示出界面,与工程中放置的 2 个 Button 一样,这样可以不依赖外部库独立移植。

六、 参考文档

  • 《SD_X9_SDK_User_Manual》
  • 《qt_window应用远程部署调试环境搭建.pdf》

欢迎关注大大通博主:汽车大牛,了解更多汽车相关应用知识!

有任何问题,欢迎登录大大通,在原博文下方留言评论,我们会及时回复您的问题。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1788676.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大型集团企业知识管理系统总体解决方案(38页PPT)

方案介绍: 通过本解决方案的实施,企业可以实现知识的全面管理和高效利用,提高员工工作效率和创新能力,降低企业运营成本,增强企业竞争力。同时,借助人工智能技术,企业可以更加精准地把握市场动…

国产SDI/功能与GV7600/GS2972类似

是一款传递数字标清和高清信号的数字视频发送器,功能与GV7600/GS2972类似,集成了线缆驱动器,可以使用 75 欧姆的同轴线缆传递525i,625i,720P,1080P。 支持的速率如下: 如需更多资料请留言哦&am…

Excel加密,记住4个方法,轻松保护数据!

“刚刚编辑完了一个Excel文档,为了防止数据泄露,我想将它加密。不知道大家有什么方法可以加密Excel呢?” 在当今信息高度发展的时代,数据的安全性显得尤为重要。对于企业而言,敏感数据的泄露可能导致严重的商业损失和声…

16. 最接近的三数之和 - 力扣

1. 题目 给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。 返回这三个数的和。 假定每组输入只存在恰好一个解。 2. 示例 3.分析 做这道题目前,先做这道:三数之和 &#x…

JavaScript 从入门到精通Object(对象)

文章目录 对象文本和属性方括号计算属性 属性值简写属性名称限制属性存在性测试,“in” 操作符“for…in” 循环像对象一样排序 总结✅任务你好,对象检查空对象对象属性求和将数值属性值都乘以 2 对象引用和复制通过引用来比较克隆与合并,Obj…

记录layui-table中操作列的宽度随着权限变化而变化

最近做一个项目,某个页面因为角色不同,所以显示的的按钮有所不同。 管理员权限 普通人员权限 layui引入的table宽度是写死的,不能随着自动变化,查了一些资料,让写入css的方法 .layui-table th, .layui-table td { whi…

微信小程序-WXS脚本

一、概述 1.WXS WXS(WeiXin Script)是小程序独有的一套脚本语言,结合 WXML,可以构建出页面的结构。 2.wxs 的应用场景 wxml中无法调用在页面的.js 中定义的函数,但是,wxml 中可以调用 wxs 中定义的函数。因此,小程序…

容器项目之前后端分离

容器化部署ruoyi项目 #需要的镜像nginx、java、mysql、redis、 #导入maven镜像、Java镜像和node镜像 docker load -i java-8u111-jdk.tar docker load -i maven-3.8.8-sapmachine-11.tar docker load -i node-18.20.3-alpine3.20.tar #拉取MySQL和nginx镜像 docker pull mysql…

每日5题Day17 - LeetCode 81 - 85

每一步向前都是向自己的梦想更近一步,坚持不懈,勇往直前! 第一题:81. 搜索旋转排序数组 II - 力扣(LeetCode) class Solution {public boolean search(int[] nums, int target) {int n nums.length;if (n…

【Redis数据库百万字详解】命令操作

文章目录 一、连接命令二、键命令 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊 🌸愿您在此停留的每一刻,都沐浴在轻松愉悦的氛围…

Win10文件系统错误(-2147219196)

问题出现的原因: C盘快挤满了,导致电脑很卡,于是删掉了C盘用户下的一些文件C:\Users\DIY-PC,省了五六十G的内存,结果发现把一些系统文件也删掉了,导致图片预览报错 问题现象: (自…

9. MySQL事务、字符集

文章目录 【 1. 事务 Transaction 】1.1 事务的基本原理1.2 MySQL 执行事务的语法和流程1.2.1 开始事务1.2.2 提交事务1.2.3 回滚(撤销)事务实例1:一致性实例2:原子性 【 2. 字符集 和 校对规则 】2.1 基本原理2.2 查看字符集查看…

【保姆级图文教程】QT下载、安装、入门、配置VS Qt环境

【保姆级图文教程】QT下载、安装、入门、配置VS Qt环境-CSDN博客 0.QT介绍 QT 是一个跨平台的应用程序开发框架,它提供了丰富的工具和类库,用于开发图形用户界面(GUI)程序。Qt 提供了 C 编程语言接口,同时也支持其他…

考研回顾纪录--科软考研失败并调剂兰州大学软件工程专业复试经历

1.背景 本人工作一年后决定考研,遂于2023年4月底离职。5月到家后开始学习。本科东北大学软件工程专业,绩点3.2/5,按照百分制计算是82分。本科纯属混子,只有一个四级551,一个数学竞赛省二等奖,大创学校立项…

Vue3实战笔记(59)—从零开始掌握Vue3插槽机制,进阶与提高

文章目录 前言一、具名插槽二、高级列表组件示例总结 前言 接上文&#xff0c;接下来看一点稍微复杂的&#xff1a;具名插槽 一、具名插槽 子组件 MyComponent.vue&#xff1a; <template><div><slot name"header"></slot><slot><…

解决ESP-IDF工程里面C/C++找不到路径标红的问题

解决ESP-IDF工程里面C/C找不到路径标红的问题 教程 源文件 打开这一个文件 {"configurations": [{"name": "ESP-IDF","cStandard": "c11","cppStandard": "c17","compileCommands": "…

kafka-生产者拦截器(SpringBoot整合Kafka)

文章目录 1、生产者拦截器1.1、创建生产者拦截器1.2、KafkaTemplate配置生产者拦截器1.3、使用Java代码创建主题分区副本1.4、application.yml配置----v1版1.5、屏蔽 kafka debug 日志 logback.xml1.6、引入spring-kafka依赖1.7、控制台日志 1、生产者拦截器 1.1、创建生产者拦…

Precision和Recall

Precision&#xff08;精确率 / 查准率&#xff09;和 Recall&#xff08;召回率 / 查全率&#xff09;是分类任务中常用的两种性能度量&#xff0c;它们用于评估模型在处理二分类或多分类问题时的表现。 Precision&#xff08;精确率&#xff09; 精确率衡量的是模型预测为正…

linux内存缓存占用过高分析和优化

1、什么是buffer/cache &#xff1f; buffer/cache其实是作为服务器系统的文件数据缓存使用的&#xff0c;尤其是针对进程对文件存在read/write操作的时候&#xff0c;所以当你的服务进程在对文件进行读写的时候&#xff0c;Linux内核为了提高服务的读写速度&#xff0c;则将会…

Redis页面优化

文章目录 1.Redis页面缓存1.思路分析2.首先记录一下目前访问商品列表页的QPS1.线程组配置10000次请求2.请求配置3.开始压测1.压测第一次 平均QPS为6122.压测第二次 平均QPS为6153.压测第三次 平均QPS为617 3.然后记录一下访问商品详情页的QPS1.线程组配置10000次请求2.请求配置…