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

上面是我的微信和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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值