13.全志H3-底板测试和测试记录

news2024/9/20 2:25:52

上面是我的微信和QQ群,欢迎新朋友的加入。

前段时间,做了一个H3的双DDR方案,记录一下测试过程。

1.硬件速率检测

1.取掉SD卡,不接调试串口,按住复位按键,上电

设备管理器会弹出USB设备,打开硬件测试工具,点击开始之后,重新插拔USB,这里建议用648M测试,客户是408M速度,测试标准应该更高

以下是720M环境下,10轮DDR测试

2.Memtester测试

主要用于检查内存的稳定性和健康状况,检测内存错误,通过写入和读取内存来检查内存数据的完整性。

主要用于检查内存的稳定性和健康状况,检测内存错误,通过写入和读取内存来检查内存数据的完整性。

apt-get install memtester   #安装测试软件
memtester 100M  #测试100M数据,不停止
memtester 1GB 4 #测试1G,循环4次
memtester -a 0x12345678 1GB 4 #指定地址测试

如果报错,htop查看是不是CPU占满了

测试结果

3.MBW测试

用于测量系统的内存带宽性能,通过复制内存块来测量内存带宽。

apt-get install mbw
apt-get install dmidecode

cat /proc/cpuinfo #查看CPU
cat /proc/meminfo  #查看内存
sudo dmidecode -t memory  #查看内存型号和频率等信息
cat /proc/cpuinfo |grep MHz|uniq #查看cpu内核频率命令

mbw -q -n 10 256

-n 10表示运行10次,256表示测试所用的内存大小,单位为MB。
  1. MEMCPY:使用标准的 memcpy() 函数进行内存复制。平均带宽为 257.739 MiB/s。
  2. DUMB:使用一个简单的循环复制内存的方法。平均带宽为 274.722 MiB/s。
  3. MCBLOCK:使用内存块拷贝的方式进行复制。平均带宽为 344.940 MiB/s。

4.SD卡镜像启动

1) 首先准备一张 8GB或更大容量的TF卡,TF卡的传输速度必须为class10 以上,建议使用闪迪等品牌的TF卡

2) 然后使用读卡器把TF卡插入windows电脑

3) 接着格式化TF卡

a. 可以使用SD Card Formatter 这个软件格式化TF卡,其下载地址为

https://www.sdcard.org/downloads/formatter/eula_windows/SDCardFormatterv5_WinEN.zip

b. 下载完后直接解压安装即可,然后打开软件

c. 如果电脑只插入了TF卡,则Select card一栏中会显示TF卡的盘符,如果电脑插入了多个USB存储设备,可以通过下拉框选择TF卡对应的盘符

d. 然后点击 Format,格式化前会弹出一个警告框,选择“是(Y)”后就会开始格式化

e. 格式化完TF卡后会弹出下图所示的信息,点击确定即可

4)找售后支持获取镜像文件,以“.img”结尾的文件就是操作系统的镜像文件,大小一般都在 1GB以上

5)使用Win32Diskimager烧录Linux镜像到TF卡

a. Win32Diskimager的下载页面为

http://sourceforge.net/projects/win32diskimager/files/Archive/

b. 下载完后直接安装即可,Win32Diskimager界面如下所示

a) 首先选择镜像文件的路径

b) 然后确认下TF卡的盘符和“设备”一栏中显示的一致

c) 最后点击“写入”即可开始烧录

d. 镜像写入完成后,点击“退出”按钮退出即可,然后就可以拔出TF卡插到开发板中启动

5.EMMC镜像启动

1) 烧录 linux 镜像到 eMMC 中需要借助 TF 卡来完成,首先将 linux 镜像烧录到 TF卡上,然后启动开发板进入 linux 系统

2) 然后运行 nand-sata-install 脚本

nand-sata-install

3) 然后选择 2 Boot from eMMC - sysytem on eMMC

4) 然后会弹出一个警告,脚本将会擦除 eMMC 上的所有数据,选择继续

5) 然后会提示选择文件系统的类型,支持 ext2/3/4、f2fs 以及 btrfs 五种文件系统

6) 然后会开始格式化 eMMC

7) 格式化完 eMMC 后就会开始烧录 linux 镜像到 eMMC 中

8) 烧录完后会提示下面的选项,可以选择直接关机

9) 然后拔出 TF 卡,再重新上电,就会启动 eMMC 中的 linux 系统了

6.4G模组联网

不是主要支持方案,这里只做参考

sudo apt-get install ppp
mkdir -p /etc/ppp
mkdir -p /etc/ppp/peers

vi /etc/ppp/gprs-connect-chat

# vi /etc/ppp/gprs-connect-chat
# 移动: at+cgdcont=1,"ip","cmnet"
# 联通: at+cgdcont=1,"ip","3gnet"
# 电信: at+cgdcont=1,"ip","ctnet"
# 
# 拨号:
# 移动:    *99***1#或*98*1#
# 联通: *99#
# 电信: ATD*99***1#
# Chat script for China Mobile, used SIMCOM sim4100 TD module.
TIMEOUT 15
ABORT "DELAYED"
ABORT "BUSY"
ABORT "ERROR"
ABORT "NO DIALTONE"
ABORT "NO CARRIER"
TIMEOUT 40
'' \rAT
OK ATS0=0
OK ATE0V1
OK AT+CGDCONT=1,"IP","CTNET"
OK AT+CGEQREQ=1,2,128,384,,,0,,,,,,
OK ATD*99***1#
CONNECT

连接网络

注意:在这个过程中可能出现错误

pppd: The remote system is required to authenticate itself
pppd: but I couldn’t find any suitable secret (password) for it to use to do so.

解决方法:在配置文件/etc/ppp/options末尾添加上noauth即可。

7.WIFI联网

查看网络设备列表

nmcli dev

注意,如果列出的设备状态是 unmanaged 的,说明网络设备不受NetworkManager管理,你需要清空 /etc/network/interfaces下的网络设置,然后重启.

开启WiFi

nmcli r wifi on

扫描附近的 WiFi 热点

nmcli dev wifi

连接到指定的 WiFi 热点

nmcli dev wifi connect "yan" password "cj13397597688" ifname wlan0

如果你的USB WiFi无法正常工作, 大概率是因为文件系统里缺少了对应的USB WiFi固件。对于Debian系统, 可以在Debian-WiFi里找到并安装USB WiFi芯片的固件。而对于Ubuntu系统, 则可以通过下列命令安装所有的USB WiFi固件:

apt-get install linux-firmware

以下是联网正常状态

8.485收发测试

确认USB被正常检测

测试端子485发送

stty -a -F /dev/ttyUSB4 echo -e "hell 485 test\r\n" > /dev/ttyUSB4

测试端子485发送。记得杀掉之前得程序

cat /dev/ttyUSB4

记得要加回车换行

9.GPIO输入输出测试

1.LED测试

确定IO编号

下面是LED和按键测试

# 导出GPIO引脚GPIOA18  GPIOA21  GPIOA19  GPIOL3
echo 18 > /sys/class/gpio/export
echo 21 > /sys/class/gpio/export 
echo 19 > /sys/class/gpio/export
echo 355 > /sys/class/gpio/export

# 设置GPIO引脚方向
echo out > /sys/class/gpio/gpio18/direction
echo out > /sys/class/gpio/gpio21/direction
echo out > /sys/class/gpio/gpio19/direction
echo in > /sys/class/gpio/gpio355/direction

# 控制LED状态 全部熄灭
echo 1 > /sys/class/gpio/gpio18/value
echo 1 > /sys/class/gpio/gpio21/value
echo 1 > /sys/class/gpio/gpio19/value

# 红灯 
echo 1 > /sys/class/gpio/gpio18/value
echo 0 > /sys/class/gpio/gpio18/value
# 绿灯 
echo 1 > /sys/class/gpio/gpio18/value
echo 0 > /sys/class/gpio/gpio21/value
# 蓝灯 
echo 1 > /sys/class/gpio/gpio21/value
echo 0 > /sys/class/gpio/gpio19/value

# 读取按键状态
cat /sys/class/gpio/gpio355/value

状态正常

2.输入输出测试

下面是输入输出端口测试

# 导出GPIO引脚GPIOA
echo 8 > /sys/class/gpio/export
echo 9 > /sys/class/gpio/export 
echo 15 > /sys/class/gpio/export
echo 16 > /sys/class/gpio/export

# 设置GPIO引脚方向
echo out > /sys/class/gpio/gpio8/direction
echo out > /sys/class/gpio/gpio9/direction
echo in > /sys/class/gpio/gpio15/direction
echo in > /sys/class/gpio/gpio16/direction


# 控制状态为1
echo 1 > /sys/class/gpio/gpio8/value
echo 1 > /sys/class/gpio/gpio9/value
# 控制状态为0
echo 0 > /sys/class/gpio/gpio8/value
echo 0 > /sys/class/gpio/gpio9/value

# 读取按键状态
cat /sys/class/gpio/gpio15/value
cat /sys/class/gpio/gpio16/value

继电器正常

对外12V正常

外部输入正常

10.RTC时钟芯片

linux5.4 系统在 dts 中默认关闭了 40pin 中的 i2c 控制器,如果需要使用 i2c,首先需要先打开 i2c 的配置,在 /boot/orangepiEnv.txt 中设置 overlays=i2c0 i2c1 就可以同时打开 i2c0和 i2c1 的配置

overlays=i2c0

测试 i2c,首先安装 i2c-tools

apt update
apt install i2c-tools
i2cdetect -y 0

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

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

相关文章

Python|日志记录详解(1)

引言 作为一名Python程序员,记录程序运行时的关键信息是一种有益的做法,这有助于深入理解你的代码。这种记录行为被称作日志记录,它是一个非常实用的工具,是编程工具箱中不可或缺的一部分。日志记录能够帮助你捕捉到在开发过程中可…

哈里和梅根的批评者似乎并不理解“不可征服运动会”的全球影响力

哈里王子和梅根马克尔的批评者似乎无法理解为什么这对夫妇继续像王室之旅一样环游世界。答案很简单:不可征服运动会。苏塞克斯夫妇通过这项体育赛事获得了成功,它为“国际受伤、受伤和生病的军人和女性提供了康复之路”。各国正在争夺未来运动会的主办权…

Photoshop用户必备:PS全套插件分享(PS插件全家桶)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 PS全套插件 📒🎈 获取方式 🎈⚓️ 相关链接 ⚓️📖 介绍 📖 你是否时常为Photoshop中复杂的操作流程感到困扰,渴望拥有一把钥匙,能瞬间解锁设计效率与创意的新世界?今天,我将给大家分享一款让众多设计师梦寐以求的…

Elasticsearch用法

💥 该系列属于【SpringBoot基础】专栏,如您需查看其他SpringBoot相关文章,请您点击左边的连接 目录 一、初识elasticsearch 1. 安装Elasticsearch和Kibana 2. 倒排索引 3. IK分词器 4. 基础概念 二、索引库操作 1. Mapping映射属性 2…

IM项目:进阶版即时通讯项目---语音识别和验证码服务

文章目录 语音识别基本功能模块划分流程图实现逻辑解析proto文件 验证码服务 本篇主要是对于该项目的语音识别和验证码服务模块的一个梳理,项目会直接使用部分封装好的内容,可以查看前面的文档或在本文档中进行查看和学习 由于这两个模块非常相似&#…

模型 卡茨管理模型

系列文章 分享 模型,了解更多👉 模型_思维模型目录。技术、人际、概念:管理技能三支柱。 1 卡茨管理模型的应用 1.1 产品经理能力模型:基于卡茨管理模型的应用 在现代企业管理中,产品经理的角色越来越受到重视。根据…

HTML简单了解和基础知识记录

参考视频 html的用途 超文本标记语言(英语:HyperText Markup Language,简称:HTML),用来显示网页的文字和框架结构,可以认为是网页的骨架。 标签/元素 用于定义文字图片连接等,分…

超简单Java邮件发送-为你的小程序实现邮箱验证码登录

本项目基于Apache Commons Email for Jakarta开发。 超简单实现邮箱发送,并以此扩展出邮箱验证码功能(请读者扩展实现)。 构建工具:Maven 演示邮箱:outlook 准备 请确保你的邮箱开启了SMTP服务,并获取相关参数,类似…

51单片机——模块化编程

1、模块化编程介绍 传统方式编程:所有的函数均放在main.c里,若使用的模块比较多,则一个文件内会有很多的代码,不利于代码的组织和管理,而且很影响编程者的思路。 模块化编程:把各个模块的代码放在不同的.…

诊断知识:agedDTCLimit的使用

文章目录 前言agedDTCLimit的定义agedDTCLimit的使用图解agedDTCLimit总结 前言 ECU中的存储空间一般无法将所有的DTC同时记录故障数据,所以故障发生之后记录的数据,需要在一段时间后未出现故障则自动清除,以保证新的故障出现时,…

苍穹外卖-day05(SpringBoot+SSM的企业级Java项目实战)

苍穹外卖-day05 课程内容 Redis入门 Redis数据类型 Redis常用命令 在Java中操作Redis 店铺营业状态设置 功能实现:营业状态设置 效果图: 选择营业中,客户可在小程序端下单: 选择打烊中,客户无法在小程序端下单&…

【Docker】Docker学习04 | dockerfile的编写

本文首发于 ❄️慕雪的寒舍 dockerfile是构建docker镜像的基础,它规定了一系列语法,让我们可以在某个基础镜像之上,添加自己需要的操作,打包出一个自己的镜像。 1. dockerfile基本语法 下面是dockerfile的基本语法和其对应的功能…

【算法进阶2-动态规划】斐波那契数列(递归调用、动态规划)、钢条切割问题(自定而下实现、自底向上、切割方案)

1 斐波那契数 2 钢条切割问题 2.1 最优解情况 2.2 钢条切割问题之自定而下实现 2.3 钢条切割问题之自底向上实现 2.4 钢条切割问题-重构解-切割方案 1 斐波那契数 # 1 子问题的重复计算 def fibonacci(n: int) -> int:"""使用递归方式计算第 n 个斐波那契数…

计算机毕业设计选题推荐-法律援助平台-Java/Python项目实战

✨作者主页:IT毕设梦工厂✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

有限差分学习笔记

有限差分介绍 ​ 在数学中,有限差分法(finite-difference methods,简称FDM),是一种微分方程数值方法,是通过有限差分来近似导数,从而寻求微分方程的近似解。 由泰勒展开式的推导 显式方…

给Go+Sciter开发的桌面客户端软件添加系统托盘图标

在桌面端软件开发中,系统托盘图标是提升用户体验的重要元素。托盘图标不仅能提供直观的状态反馈,还能让软件在后台运行时依然保持与用户的交互。通过托盘图标,用户可以轻松最小化软件、退出程序,甚至弹出通知,从而避免…

【海外EI 会议合集】电网系统/绿色能源/新材料主题均可

第五届电网系统与绿色能源国际学术会议(PGSGE 2025) 2025 5th International Conference on Power Grid Systems and Green Energy 重要信息 会议官网:www.pgsge.org 会议时间:2025年1月10-12日 会议地点:马来西亚…

Linux 部署 MinIO(远程服务器)

1. 下载安装 进入 Linux 内 cd /usr/local/ # 新建目录 mkdir minio # 进入目录 cd minio # 下载地址 wget https://dl.min.io/server/minio/release/linux-amd64/minio# 授权 chmod x minio 2. 自定义配置 自定义账号与登录密码,直接在本目录 默认登录账号和…

【吊打面试官系列-Memcached面试题】memcached 能够更有效地使用内存吗?

大家好,我是锋哥。今天分享关于 【memcached 能够更有效地使用内存吗?】面试题,希望对大家有帮助; memcached 能够更有效地使用内存吗? Memcache 客户端仅根据哈希算法来决定将某个 key 存储在哪个节点上,而…