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.hqwc.cn/news/125593.html

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

相关文章

IntelliJ IDEA配置Cplex12.6.3详细步骤

Cplex12.6.3版IntelliJ IDEA配置详细步骤 一、Cplex12.6.3版下载地址二、Cplex安装步骤三、IDEA配置CPLEX3.1 添加CPLEX安装目录的cplex.jar包到项目文件中3.2 将CPLEX的x64_win64文件夹添加到IDEA的VM options中 四、检查IDEA中Cplex是否安装成功卸载Cplex 一、Cplex12.6.3版下…

Seata 源码篇之AT模式启动流程 - 下 - 04

Seata 源码篇之AT模式启动流程 - 下 - 04 全局事务提交分支事务全局提交全局事务回滚分支事务全局回滚小结 本系列文章: Seata 源码篇之核心思想 - 01Seata 源码篇之AT模式启动流程 - 上 - 02Seata 源码篇之AT模式启动流程 - 中 - 03 上一篇文章,我们看了Seata AT…

前端JavaScript入门到精通,javascript核心进阶ES6语法、API、js高级等基础知识和实战 —— Web APIs(四)

思维导图 一、日期对象 1.1 实例化 实例化&#xff0c;默认得到当前时间&#xff0c;也可以指定时间 1.2 日期对象方法 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible&q…

GPX可视化工具 GPX航迹预览工具

背景 当我们收到别人分享的航迹文档&#xff0c;即gpx文档时&#xff0c;如何快速的进行浏览呢&#xff1f;我们可以使用GIS软件来打开gpx文档并显示gpx中所记录的航迹&#xff0c;例如常用的GIS软件有googleEarth&#xff0c; Basecamp&#xff0c; GPXsee&#xff0c; GPX E…

ffmpeg之去除视频水印

ffmpeg去除水印使用delogo视频滤镜。 delogo参数: x,y,w,h分别表示logo区域的左上角位置及宽度和高度&#xff1b; show:0表示不显示logo区域&#xff0c;1表示显示logo区域。 执行下面的命令&#xff1a; ffmpeg -i 1.mp4 -vf delogox300:y10:w80:h30:show0 out.mp4 效果…

华为云云耀云服务器L实例评测|基于canal缓存自动更新流程 SpringBoot项目应用案例和源码

前言 最近华为云云耀云服务器L实例上新&#xff0c;也搞了一台来玩&#xff0c;期间遇到各种问题&#xff0c;在解决问题的过程中学到不少和运维相关的知识。 在之前的博客中&#xff0c;介绍过canal的安装和配置&#xff0c;参考博客 拉取创建canal镜像配置相关参数 & …

克服网络安全压力:如何掌控无限的云数据

管理云中的数字风险比以往任何时候都更加重要。数字化转型引发的云数据呈指数级增长&#xff0c;为安全分析师创造了一个更大的威胁环境。随着威胁行为者继续危害组织最敏感的数据&#xff0c;这一挑战将会加剧。 预计未来五年全球网络犯罪成本将激增&#xff0c;从 2022 年的…

3D 毛玻璃晶质见证卡

效果展示 页面结构 从上面的效果展示来看&#xff0c;页面主要成员是一张卡片&#xff0c;并且卡片上有三个小矩形&#xff0c;而小矩形上会展示对应的内容。 当鼠标悬停在卡片上时&#xff0c;卡片会随着鼠标的移动而改变视角。 CSS3 知识点 transform-style 属性的 prese…

linux入门---信号的理解

目录标题 如何理解计算机中的信号如何查看计算机中的信号初步了解信号的保存和发送如何向目标进程发送信号情景一&#xff1a;使用键盘发送信号情景二&#xff1a;系统调用发送信号情景三&#xff1a;硬件异常产生信号情景四&#xff1a;软件条件产生信号 核心转储信号的两个问…

Elasticsearch基础篇(二):Elasticsearch在windows和liunx上的安装部署

Elasticsearch简介 前言1. Windows环境部署Elasticsearch1.1 下载并解压Elasticsearch压缩包1.2 命令行启动elasticsearch1.3 验证是否成功启动elasticsearch1.4 关闭Elasticsearch1.5 在Windows上安装Elasticsearch作为服务 2. Liunx环境部署Elasticsearch安装 Elasticsearch …

逆变器下垂控制单机

仿真控制参数 主电路 坐标变换 功率计算 下垂控制 电压电流双闭环控制 结果变量监控 断路器闭合&#xff0c;负载突增 负载突增&#xff0c;有功和无功突增 有功增加&#xff0c;频率减小 无功增加&#xff0c;参考电压减小

基于JavaWeb技术的在线考试系统设计与实现

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 考试统计管理 专业列表管理 忘记密码人员登记管理 修改密码 试卷信息 考试信息管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理…