012-第二代硬件选型

头图

第二代硬件选型

文章目录

  • 第二代硬件选型
    • 项目介绍
    • 重新换平台缘由
      • X86 && Arm 架构
      • 切换 ARM Linux
    • 硬件选型
    • 系统确定
    • Qt 版本确定
    • 总结一下

关键字: QtQmlArmX86linux

项目介绍

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。

在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。

在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。

无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!

重要说明☝

☀该专栏更新到第三代软件开发时将转为收费专栏

重新换平台缘由

这个东西和公司的历史遗留以及业务逻辑是分不开的,说说我们的历史情况,我们公司在这个项目开始的时候,就有两个中低端的项目在进行,他们的上位机开发环境就是基于Arm 的Linux 系统。(非常不推荐在产品中使用的平台,这就不点名了)

在我们项目完成第一代原理验证后,就有了统一开发平台的计划,第一开始想着是定制一套属于我们公司的Arm 架构的硬件设备,包括软件系统等,经过和多家公司的接洽,基本总结下,就是开发功能没有问题,但是要是搞医疗那些认证,那目前我们公司的用量,是达不到的,而我们内部有不想把大部分时间及精力都浪费这个板子的医疗认证上面,所有最终还是决定先用市场上成熟的产品,基本需求就是有证,不用我们单独过检。这个决定在经过后面实践,反过来再看确实是一个非常明智的决策。这里也建议前期刚开始搞项目的小伙伴们,还是把精力放在核心的业务上,像这种板子,前期虽然成本相对较高,但是能少走弯路,这省出来的钱和时间绝对能覆盖你前期的生产成本。

X86 && Arm 架构

x86(也称为x86-32或IA-32)和Arm(Advanced RISC Machine)是计算机处理器的两种不同架构。它们在许多方面有所不同,包括设计哲学、指令集和应用领域。以下是它们之间的一些主要区别:

  1. 设计哲学:

    • x86:x86架构是复杂指令集计算机(CISC)架构,其设计目标是提供功能丰富而灵活的指令集,以便直接执行复杂的操作。
    • Arm:Arm架构是精简指令集计算机(RISC)架构,其设计目标是通过精简指令集、优化执行流程和降低功耗来提高性能效率。
  2. 指令集:

    • x86:x86架构具有较大的指令集,包含了大量的指令和复杂的编码格式。这使得x86处理器能够在单个指令中完成复杂的操作,但也导致了较高的电路复杂度和功耗。
    • Arm:Arm架构具有较小的指令集,使用简单的指令和统一的编码格式。虽然每条指令的功能相对简单,但由于指令集更紧凑,可以更好地利用处理器内部的资源,从而提高性能效率。
  3. 应用领域:

    • x86:x86架构在个人计算机(包括台式机和笔记本电脑)上得到广泛应用。它通常用于运行桌面应用程序、游戏和复杂的任务,因为x86处理器具有较高的单线程性能。
    • Arm:Arm架构在移动设备(如智能手机和平板电脑)和嵌入式系统中得到广泛应用。由于其低功耗和高能效特性,Arm处理器在移动设备上具有重要优势。此外,Arm架构还在物联网(IoT)设备和嵌入式系统领域中得到广泛采用。
  4. 生态系统:

    • x86:x86架构拥有庞大的软件生态系统,有许多针对x86处理器优化的操作系统、编译器和应用程序。
    • Arm:Arm架构也拥有强大的软件生态系统,尤其在移动设备和嵌入式领域。随着Arm服务器处理器的发展,Arm生态系统在数据中心领域也逐渐扩大。

需要注意的是,这些是一般性的区别,并不代表每个特定情况下都成立。随着时间的推移,x86和Arm之间的差异也在逐渐缩小,例如,Arm架构的性能正在不断提高,同时x86架构也在努力降低功耗。

切换 ARM Linux

跟着上面的历史缘由,我们的第二代软件就要切到Linux下了,这里才是我正式的开始和挑战,因为在加入公司的前期沟通中,就明确,我是奔着Linux 软件开发来的,因为WIndows真的玩的不想玩了,哈哈哈。

硬件选型

其实选型这个东西,真的好考验一个人的经验和能力,所以第一代选型中,我也没有太多的经验,之前的经验基本都是基于X86架构,所以在Arm 上,我也只用过瑞星微的RK3288,那时候的仪表简单,而我们第一代中其实也没有太多的东西,所以在更多的是考虑了成本,所以选择了RK3399,综合一下,最终选择了 研华的 一款板子,其核心就是 Rk3399

RK3399 是一款由瑞芯微电子(Rockchip)推出的高性能嵌入式处理器。它采用了大核小核(big.LITTLE)架构,配备两个Cortex-A72 核心和四个Cortex-A53 核心,以及集成了ARM Mali-T860MP4 图形处理单元。这种设计使得 RK3399 在性能和功耗之间取得了良好的平衡。

RK3399 处理器主要针对嵌入式系统和物联网设备应用,具有广泛的应用领域,包括智能电视盒子、个人电脑、工业控制、机器人、智能音箱等。它支持Android和Linux操作系统,并提供了丰富的接口和功能扩展选项,如USB 3.0、PCIe、HDMI、MIPI-CSI、MIPI-DSI等,使开发者可以根据实际需求进行灵活的扩展和定制。

RK3399 还具备强大的多媒体处理能力,支持4K视频解码和编码,以及各种音频格式的处理。此外,它还提供了较高的图形性能,适合于图形密集型应用和游戏。

总的来说,RK3399 是一款功能齐全、性能出色的嵌入式处理器,可以满足各种应用领域的需求。它的大核小核架构、丰富的接口和功能扩展选项,以及多媒体处理和图形性能的支持,使得它成为物联网设备和嵌入式系统开发者的理想选择之一。

其实在这里我们的性能就已经不够了,但是呢,又不是那么明显的不够,没有后期的对比,我们还真就以为是流畅了。

系统确定

我们有两个需求,第一就是Bios 需要定制成我们的公司的LOGO,这个已经是现在的基操了,剩下就是定制系统,但是研华吗,目前我们的体谅肯定是不够的,所以第二部就一直没有执行,一直是跑着研华提供的全功能的Debian 10.

其实可以有安卓系统,但是呢,你让我用Qt开发安卓,我认为应急还可以,单不是长久之计,所以还是选择了Debian 10.

Qt 版本确定

大家都知道哈,Linux 下的交叉编译,那基本就是一步一坑,坑坑不一样,你的问题百度都有解决方案,就是解决不了你的问题。所以在选择Qt时就是研华提供那个版本,我们就使用对应的那个版本,上位机也是,与研华Arm 下提供的Qt 一样。

总结一下

那么到这里,我们的硬件选型基本就确定了,就是等待最终的移植测试了。下一篇咱们唠唠上位机Debian开发环境的搭建。


博客签名2021

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

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

相关文章

判断一个整数是否回文

回文数字的定义:第一位和最后一位相等,第二位和倒数第二位相等...依次类推,比如1221,12321等等,也就是说一个数字如果是回文,那么将它反转之后,一定和原来的值相等 解法一:投机取巧&#xff0c…

学生管理系统

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言0. 准备0-0 头文件0-1 封装学生和结点数据0-2 创建头结点0-3 系统功能提示0-4 根据用户输入选择功能 1. 录入学生信息1-0 实现循环录入1-1 程序暂停和清空控制台…

【jvm--方法区】

文章目录 1. 栈、堆、方法区的交互关系2. 方法区的内部结构3. 运行时常量池4. 方法区的演进细节5. 方法区的垃圾回收 1. 栈、堆、方法区的交互关系 方法区的基本理解: 方法区(Method Area)与 Java 堆一样,是各个线程共享的内存区…

4.MySql安装配置(更新版)

MySql安装配置 无论计算机是否有安装其他mysql,都不要卸载。 只要确定大版本是8即可,8.0.33 8.0.34 差别不大即可。 MySql下载安装适合电脑配置属性有关,一次性安装成功当然是非常好的,因为卸载步骤是非常麻烦的 如果第一次安装…

医疗器械标准目录汇编2022版共178页(文中附下载链接!)

为便于更好地应用医疗器械标准,国家药监局医疗器械标准管理中心组织对现行1851项医疗器械国家和行业标准按技术领域,编排形成《医疗器械标准目录汇编(2022版)》 该目录汇编分为通用技术领域和专业技术领域两大类,通用…

NoSQL Redis

NoSQL Redis 1、数据库1.1关系型数据库1.2非关系型数据库1.3关系型和非关系型区别 2、非关系型数据库应用场景3、存储结构4、redis4.1redis概述4.2Redis 优点4.3Redis为什么这么快? 5、部署redis6、redis基础操作 1、数据库 1.1关系型数据库 关系型数据库是一个结…

互斥锁、条件变量、信号量以及适用场景

文章目录 互斥锁互斥锁实战过程中常用方法 条件变量条件变量实战过程中常用方法 信号量信号量的常用方法 生产者和消费者问题一个粗略版本的生产者消费者代码(如果只使用了互斥锁)一个改进版本的生产者消费者代码(使用了互斥锁和条件变量)一个最终版本的生产者消费者代码(使用了…

options.css 内容优化2 --chatPGT

问&#xff1a; options.css 内容优化,功能列表的li,设置成点击按钮的样式&#xff0c;需要有鼠标经过高亮&#xff0c;选中时按钮背景颜色和未选中时的背景色需要有肉眼可见的色差 gpt: 为了使左侧功能列表的每个 <li> 元素看起来像按钮&#xff0c;并且在鼠标经过时…

机械臂抓取的产业落地进展与思考

工业机械臂是一种能够模拟人类手臂动作的机械装置&#xff0c;具有高精度、高速度和高灵活性的特点。近年来&#xff0c;随着人工智能和机器人技术的快速发展&#xff0c;机械臂在工业生产、物流仓储、医疗护理等领域得到了广泛应用。机械臂抓取技术作为机械臂的核心功能之一&a…

广东省科学技术厅关于2023年度广东省科学技术奖提名工作的通知

粤科函区字〔2023〕1290号 各有关单位&#xff08;专家&#xff09;&#xff1a; 科技奖励制度是党和政府长期坚持的一项重要科技制度&#xff0c;为深入实施创新驱动发展战略&#xff0c;加快建设更高水平的科技创新强省和粤港澳大湾区国际科技创新中心&#xff0c;进一步体现…

tp5访问的时候必须加index.php,TP5配置隐藏入口index.php文件

PS&#xff1a;这里说的入口文件指的是public/index.php,配置文件就在这个目录下 可以去掉URL地址里面的入口文件index.php&#xff0c;但是需要额外配置WEB服务器的重写规则。 以Apache为例&#xff0c;需要在入口文件的同级添加.htaccess文件(官方默认自带了该文件)&#x…

基于Keil a51汇编 —— MPL 宏定义

MPL 宏 Ax51汇编程序支持的宏处理语言&#xff08;MPL&#xff09;是一种字符串替换工具&#xff0c;使您能够编写可修复的代码块&#xff08;宏&#xff09;并将其插入源文本中的一个或多个位置。 宏处理器查看源文件的方式与汇编程序不同。 对于汇编程序来说&#xff0c;源…

UniAD 论文学习

一、解决了什么问题&#xff1f; 当前的自动驾驶方案大致由感知&#xff08;检测、跟踪、建图&#xff09;、预测&#xff08;motion、occupancy&#xff09;和规划三个模块构成。 为了实现各种功能&#xff0c;智驾方案大致包括两种路线。一种是针对每个任务都部署一个模型&a…

Python Parser 因子计算性能简单测试

一直以来&#xff0c;Python 都在量化金融领域扮演着至关重要的角色。得益于 Python 强大的库和工具&#xff0c;用户在处理金融数据、进行数学建模和机器学习时变得更加便捷。但作为一种解释性语言&#xff0c;相对较慢的执行速度也限制了 Python 在一些需要即时响应的场景中的…

读取 yaml 文件

一、引入依赖 <dependency><groupId>org.yaml</groupId><artifactId>snakeyaml</artifactId><version>1.32</version> </dependency> 二、读取yaml内容工作代码 &#xff08;1&#xff09;上传yaml文件 读取yaml文件并校验…

知识图谱系列3:读论文-《中国鸟类领域知识图谱构建与应用研究》-面向知识图谱的智能服务研究(需求、管理、查询、推理)

5.1鸟类领域知识服务需求研究 本部分根据不同人群&#xff0c;对其需求进行了研究。 并总结需求类型如下。 知识型服务需求指用户学习鸟类相关知识&#xff0c;包括知识内容、知识学习等。知识内容 需求为构建鸟类领域知识库作为知识的来源&#xff1b;知识学习需求为用户通过…

gici-open示例数据运行(ground_truth坐标的转换)

1. 坐标系转换说明 涉及的两个坐标转换&#xff1a; nmea_pose_to_pose &#xff1a;激光IMU中心到数据集IMU中心&#xff0c;主要是杆臂误差&#xff0c;转换关系为&#xff1a; //坐标转换的主要步骤(若发现有错误的地方&#xff0c;请评论指出) //定义激光IMU和数据集IMU之…

好看的机制示意图绘制教程汇总

好看的机制示意图绘制教程汇总 蛋白翻译过程示意图&#xff0c;特别是其中的核糖体&#xff0c;需要很多绘制技巧。主要使用椭圆工具绘制两个椭圆&#xff0c;二者组合后使外形接近核糖体。接着通过路径查找器的合并功能&#xff08;并集&#xff09;将两个椭圆合并在一起。使…

使用HHDBCS管理MongoDB

1 连接MongoDB 打开HHDBCS&#xff0c;在数据库类型中选择mongodb&#xff0c;填入相关信息&#xff0c;点击“登陆”即可。 也可以使用SSH通道进行登陆。 2 命令窗口 点击命令窗口&#xff0c;可以对数据库发出指令。 可以根据个人习惯&#xff0c;对命令窗口进行设置…

矩阵的相似性度量的常用方法

矩阵的相似性度量的常用方法 1&#xff0c;欧氏距离 欧式距离是最易于理解的一种距离计算方法&#xff0c;源自欧式空间中两点间的距离公式。 (1)二维平面上的点 a ( x 1 , y 1 ) a(x_1,y_1) a(x1​,y1​)和点 b ( x 2 , y 2 ) b(x_2,y_2) b(x2​,y2​)的欧式距离为 d ( x …