可以替代树莓派4(raspberry pi 4B)的tinker board 2

2023-05-16

          近几年,随着国产芯片的飞速发展,一批基于国产SOC的,性价比高,能运行Android/Linux的开发板在市场上出现,此前,如果要用到Android/Linux的开发板,很多人的第一选择是树莓派。那么相比起树莓派,基于国产SOC的开发板是否能在软硬件上面可以与之一战呢?本次评测的主角是著名PC厂商华硕推出的嵌入式单板计算机 tinker board 2/2S,对标的就是树莓派最新的树莓派4,本文从硬件,软件、支持力度以及供货等几个方面横向对比tinker board 2和树莓派4。

华硕tinker board 2 /2S

 开箱是这样的

 下面是接口图,和树莓派是很像的

 主要硬件配置如下

·瑞芯微RK3399双核Arm® Cortex®-A72 + 四核Arm® Cortex®A53处理器,搭载Arm® Mali™-T860 MP4 GPU(开发板主控的丝印为OP1,OP1是瑞芯微为Google改良的RK3399, A72大核默认超频到2.0GHz,普通的RK3399 A72大核为1.8GHz)

·2/4GB LPDDR4内存,内存芯片厂商为三星

·16GB EMMC(仅S版本有),EMMC芯片厂商为三星

·支持双屏异显,其中一个显示器可以支持4K,板上有3个显示接口,包括 HDMI、USB-C上的DisplayPort和DSI(可以同时使用两个)

·Micro SD (TF) 卡槽, 最大支持128GB

·USB 3.0 Host x3+USB 3.0 Type-C x1

·Wi-Fi 802.11ac / BT 5.0

·扩展GPIO,部分可复用为SPI,I2C,UART,兼容树莓派4

 补充一下,瑞芯微Rockchip稳定的品质及性能深受谷歌及其阵营硬件商青睐,Chrome OS平板电脑——Acer Chromebook Tab 10,该平板主要面向全球K-12教育市场,主控芯片采用瑞芯微Rockchip OP1既RK3399,所以上表中说OP1为谷歌改良的。

 

目前售价,2GB不带EMMC售价599,2GB带16GB EMMC售价699,4GB带EMMC售价799

淘宝或者京东上都有销售

硬件上对比树莓派4,它的优点如下

  1. ·国产芯片,性能强劲,最重要是供货稳定
  2. ·S版本带EMMC,相比SD卡速度更快,且抗振动能力好
  3. ·WiFi/BT模组支持外接天线,而且可拆卸,意味着只要驱动支持,可以更换性能更好的模组。树莓派4无法替换无线模组
  4. ·过了相关认证,有认证报告(目前是市场上认证最全的ARM主板,包括FCC,CE等认证都有)

性能对比

华硕官方团队为tinkerboard 2持续维护了两个系统,TinkerOS_Debian和TinkerOS_Android,都是持续有人在改进和维护的,稳定可靠,并能及时更新,目前最新支持到android11和Debian10,估件下载可以到

Tinker Boardicon-default.png?t=M276https://tinker-board.asus.com/download-list.html?product=tinker-board-2s

国内也有下载地址,找深圳风火轮他们有。

顺便提一下他们的tinkerboard 1代(RK3288 CPU https://item.taobao.com/item.htm?&id=558596262859)目前也是市面上唯一更新到android 7.0的RK3288主板了,其他都还停留在Android5.1顶多到android6的,这就是大厂的魄力与实力。

对于运行Android/Linux的设备,我们使用UnixBench作为性能评价工具,此工具开源,体积小。

下载UnixBench对应源码

 wget https://github.com/aliyun/byte-unixbench/releases/download/v5.1.6/UnixBench-5.1.6.tar.gz

解压得到源码后,进入源码目录,执行

make

即可编译得到可执行程序

 

然后执行

./Run

即可开始进行性能测试

单核测试结果

多核测试结果

 

tinkerboard2单核测试分数为612.5,多核分数为1228.5

横向对比一些其他的开发板

树莓派4单核测试分数为300左右,多核测试分数为800左右

Orange Pi Zero2(全志H616) 单核测试分数320左右,多核测试分数810左右

可以看出tinkerboard2比市面上主流的开发板还是要强不少的。树莓派上面能运行的工程,在tinkerboard2不会存在性能不足的问题。

 

外设接口使用

目前在树莓派上面,有一套很成熟的,控制外设的库,被称为wiringpi,这个库是树莓派的一大特色,对于只关注应用开发的人来说,它可以很方便地控制外设,而不需要知道底层的工作原理。目前,在tinkerboard2系列的Android和Debian系统里面,都已经自带了wiringpi库, 下面介绍其使用方法。

通过ssh或者桌面打开终端,其中ssh默认用户名和密码都是linaro

然后输入命令

gpio readall

可以看到40 PIN GPIO的功能

下面以控制单个IO为例,介绍wiringPI下外设API使用方法

比如控制GPIO4C6作为输出,这个引脚在wiringPI中代号为23,控制GPIO3D5作为输入,这个引脚在wiringPI中代号为22.编写如下测试代码,源文件名为test_wiringpi.c

这里进行一个板上的测试,将PIN 22和PIN23用跳线帽接起来,然后PIN23输出高低电平,PIN22读取此电平

 

 

编译命令为

gcc test_wiringpi.c -o test_wiringpi –lwiringPi

最终测试结果如下

 

其开发流程,与在树莓派4上面基本一致,因此,对于这些需要使用到硬件外设的项目,其代码可以直接从树莓派4移植到tinkerboard2上面,重新编译即可使用。

还有这几个功能没有去试用,希望下次有空玩玩,估计会挺不错

 

 

结语

     华硕的tinkerboard2S的设计无论在硬件上还是软件上,都参考了树莓派,但是又更接地气一些,它更适合用来做产品,而不仅仅是创客玩的,板载了EMMC,更稳定,还支持android系统,这是树莓派所不具备的优势。

在设计中使用tinkerboard2S替代树莓派4,有两大优势,一是价格稳定,且供货充足,目前tinkerboard2开发板,价格在600-800左右,而相比之下,树莓派4的供货非常紧张,由于树莓派4使用的博通芯片产能不足,且价格高,树莓派4 2GB版本的价格在700RMB左右,4GB版本的价格达到850RMB,都不带EMMC。二是,tinkerboard2S有大量RK原厂提供的资料,RK在github上面开放了所有的使用说明,有中英文版本,且内核驱动全开源。树莓派4的主控博通BCM2711没什么原厂资料,目前能找到的使用说明都是开发板厂家给的。

因此,如果是新产品设计,tinker board 2S无疑是一个很好的选择。

不过,如果是小白入门,则不建议选择tinkerboard2S,因为这款开发板问世不久,目前还没有那种非常适合小白入门的教程。相信随着未来使用的人越来越多,教程也会逐步完善。

装载自https://blog.csdn.net/ok138ok/article/details/123598451

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

可以替代树莓派4(raspberry pi 4B)的tinker board 2 的相关文章

  • Ajax 简单购物车工程

    工程结构图 xff1a index jsp lt 64 page language 61 34 java 34 contentType 61 34 text html charset 61 utf 8 34 pageEncoding 61
  • Oracle scott账户被锁定,scott默认密码,sys,system默认密码

    oracle帐号scott被锁定如何解锁 具体操作步骤如下 xff1a C gt sqlplus 请输入用户名 xff1a sys 输入口令 xff1a sys as sysdba 注意 xff1a 在口令这里输入 的密码后面必须要跟上 a
  • Linux将输出放到文件中

    一 xff0c 如何把命令运行的结果保存到文件当中 这个问题太简单了 xff0c 大家都知道 xff0c 用 gt 把输出转向就可以了 例子 lhd 64 hongdi ls gt ls txt lhd 64 hongdi cat ls t
  • 理解interrupt()方法

    java interrupt 方法只是设置线程的中断标记 xff0c 当对处于阻塞状态的线程调用interrupt方法时 xff08 处于阻塞状态的线程是调用sleep wait join 的线程 xff0c 会抛出InterruptExc
  • 泛型二 泛型和数组

    数组和泛型容器有什么区别 要区分数组和泛型容器的功能 xff0c 这里先要理解三个概念 xff1a 协变性 xff08 covariance xff09 逆变性 xff08 contravariance xff09 和无关性 xff08 i
  • 浏览器缓存

    阅读目录 1 浏览器缓存基本认识 2 强缓存的原理 3 强缓存的管理 4 强缓存的应用 5 协商缓存的原理 6 协商缓存的管理 7 浏览器行为对缓存的影响 浏览器缓存 xff0c 也就是客户端缓存 xff0c 既是网页性能优化里面静态资源相
  • ubuntu有线无线一起连

    在做嵌入式开发 xff0c 有线连开发板 xff0c 无线上网 一直都是连了有线无线就掉线 设置如下 xff1a 对于开发板的有线网络 xff0c 在设置里选上Use this connection only for resources o
  • jstat用法

    jstat的用法 用以判断JVM是否存在内存问题呢 xff1f 如何判断JVM垃圾回收是否正常 xff1f 一般的top指令基本上满足不了这样的需求 xff0c 因为它主要监控的是总体的系统资源 xff0c 很难定位到java 应用程序 J
  • A warning - comparison between signed and unsigned integer expressions [-Wsign-compare]的解决方法

    源程序是 span style font size 14px 产生观测模型 void ProRobotics GenObservations float sd Generate observations 假设传感器能观察到机器人周围sd米内
  • QT调试时提示Signal name: SIGSEGV - Signal meaning: Segmentation Fault

    最初我在运行QT时 xff0c 点击某个功能的按钮时 xff0c 界面一下就消失了 我找到这个按钮相关的函数 xff0c 设置断点 xff0c 分步调试 xff1a 在下面这个程序处显示 xff1a Signal name SIGSEGV
  • ROS中的CMakeLists.txt

    在 ROS的编程过程中 xff0c 如果 CMakeLists txt如果写不好 xff0c 编译就很难成功 如果看不懂 CMakeLists txt那么很多错误你也不知道时什么回事 所以深入了解它是很右必要的 现在我们就来看看它 我们使用
  • ROS中QThread的使用(同时进行topic的订阅)

    最近在进行利用socket将一个topic上的位姿消息发送给UR5机器人的实验 由于socket时刻都处于接听的状态 xff0c 类似一个死循环 xff0c 另外由于只要接听的topic上一有消息来 xff0c 就会调用callback函数
  • 使用qtcreator时出现The specified source space "/home/xxx/src" does not exist的错误

    今天新安装了ubuntu xff0c ros和qtcreator xff0c 进行编译时出现 22 42 45 Starting 34 opt ros hydro bin catkin make 34 Base path home xxx
  • 串行通讯与并行通讯区别

    1 串行通讯 一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯 串行通讯的特点是 xff1a 数据位传送 xff0c 传按位顺序进行 xff0c 最少只需一根传输线即可完成 xff0c 成本低但送速度慢 串行通讯的距离可以从几米到几
  • Eigen的使用

    xff11 Eigen在ROS中的配置 xff1a 在CMakeLists txt中必须加上 xff1a find package Eigen REQUIRED span class hljs keyword span include di
  • Travis CI

    第一次使用Travis CI xff0c 下面说说他的使用 xff1a xff11 激活GitHub的代码库 一旦使用GitHub登陆Travis CI之后 xff0c 会自动从GitHub同步你的代码库 xff0e 点击你右上角的账户名
  • const修饰类的成员函数

    Effective C 43 43 里面说 xff0c 尽量使用const xff0c const修饰变量一般有两种方式 xff1a const T a xff0c 或者 T const a xff0c 这两者都是一样的 xff0c 主要看
  • STM32入门教程——串口通讯

    目录 1 认识串口 2 stm32串口介绍 2 1 查询方式 2 1 中断方式 2 2 DMA方式 3 使用stm32串口实现printf 串口作为嵌入式设备最常用的外设之一 xff0c 被广泛的应用 本文介绍STM32串口的如何使用 从以
  • C++ :全局变量(extern int a;)、全局函数【可跨文件/模块使用】【只在头文件中做“声明”】

    我们在编译模块中的任意一个文件中书写的变量 函数在此模块中其他文件中都可以被访问到 xff0c 但是其他编译模块的文件是没有访问此变量的权限的 那么如何跨模块共享变量 函数呢 答案就是使用 span style background col
  • C++:类名::函数名【单独引用某个类中的函数,或者在类外部定义类中的函数void classA::Func(){...}】

    是c 43 43 的域操作符 xff0c 可以单独引用某个类中的函数 xff0c 或者在外部定义类中的函数 如定义 void classA Func 就是在classA的外部定义Func函数 xff0c 作为classA的一部分 是 作用域

随机推荐