硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1341|回复: 0
收起左侧

[华为海思] SS928/SD3403 —— 教你快速入门

[复制链接]

6

主题

0

回帖

18

积分

新手上路

积分
18
发表于 2023-8-4 18:19:28 | 显示全部楼层 |阅读模式
文章转载自易百纳技术社区
本片文章主要是对SS928评估板的使用讲解,为了帮助大家快速了解使用方法。
一、开发环境搭建
在开发软件之前,要先准备好一台性能足够高的 PC 主机,高效的主频和大容量的内存可以节省很多开发时间。
推荐 windows10 操作系统+虚拟机 linux 的搭配方式,做开发的同时,方便处理一些常用需求。
虚拟机软件:可以使用 VMware Workstation Pro 或者 VMware Workstation Player 等软件。【推荐 VMware 15 以上的版本】
linux 开发环境:推荐桌面版 Ubuntu 18 及以上的版本,本文以 Ubuntu 18.04 为例。
Ebaina 社区提供了已经完全搭建好开发环境的 Ubuntu18.04 虚拟机,建议用户使用该
虚拟机,节省繁琐的环境安装过程,直接进入板卡设备的学习和使用。
虚拟机用户:ebaina
虚拟机密码:1
二、开发资料
SDK 等开发资源,已经搭建于社区提供的 Ubuntu18.0 虚拟机中;
1.板卡资源包
社区提供的 EB-SS928-DC-393 型开发板资源包目录如下:
[C] 纯文本查看 复制代码
/home/ebaina/ebaina_resource_pack

该目录适配资源:
Uboot 源码: A393_ss928_u-boot-2020.01.zip
Kernel 源码: A393_ss928_linux-4.19.y.zip
Rootfs: A393_ss928_ubi_rootfs.zip
RTC 芯片控制: pcf8563
IO 拓展芯片控制: tca9535
sample 源码: sample.zip
出厂镜像: A393_SS928V100_SPINAND_IMAGE
2.板卡SDK
保留 ss928v100 原始 SDK 与交叉编译工具链压缩包;
提供已完成对 SDK 的初步展开与补丁安装的 SDK 目录,目录如下:
[C] 纯文本查看 复制代码
/home/ebaina/ss928v100_sdk

该目录适配资源:
SDK:SS928V100_SDK_V2.0.2.1
补丁包:SS928V100_REF_V2.0.2.1
补丁安装脚本:ref_patch.sh
交叉编译工具链:aarch64-mix210-linux
riscv 交叉编译工具链:cc-riscv32-cfg5-musl-20211008-elf
3.MindStudio
MindStudio 所需的开发环境已搭建完成,如需使用,根据官方安装步骤,安装MindStudio 与 CANN 即可;
目录如下:
[C] 纯文本查看 复制代码
/home/ebaina/Downloads

该目录适配资源:
MindStudio 安装包:MindStudio_5.0.RC2_linux.tar.gz
CANN 安装包:Ascend-cann-toolkit_6.0.RC1.alpha003_linux-x86_64.run
Python-3.7.6 插件包:Python-3.7.6
三、固件快速编译1.u-boot 编译
进入 u-boot 目录
[C] 纯文本查看 复制代码
cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/open_source/u-boot/u-boot-2020.01
执行
[C] 纯文本查看 复制代码
./build_uboot.sh
编译完成后将生成 u-boot 镜像“boot_image.bin”到 Ubuntu 系统桌面。
2.内核编译
进入 kernel 目录
[C] 纯文本查看 复制代码
cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/open_source/linux/linux-4.19.y
执行
[C] 纯文本查看 复制代码
./build_kernel.sh
编译完成后将生成内核镜像“fip.bin”到 Ubuntu 系统桌面。
3.文件系统编译
进入 rootfs 目录
[C] 纯文本查看 复制代码
cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/osdrv/rootfs_scripts/A393_ss928_ubi_rootfs
执行
[C] 纯文本查看 复制代码
./build_rootfs.sh
编译完成后将生成文件系统镜像“rootfs_ss928v100_2k_128k_128M.ubifs”到 Ubuntu系统桌面。
4.环境变量参考
查看环境变量配置,该配置将使用在固件烧写成功后,于 uboot 内设置;
[C] 纯文本查看 复制代码
cat /home/ebaina/ebaina_resource_pack/A393_SS928V100_SPINAND_IMAGE/环境变量.txt
四、固件烧写
本设备固件烧写步骤:
1.启动烧写工具
2.选择分区表
3.烧写固件
4.进入 Uboot 设置环境变量
5.进入系统
五、接口测试
成功烧写出厂固件后,进入系统,于设备/app/目录下能够找到所有设备外围接口的测试程序;
1.HDMI 输出测试
HDMI 的输出测试,使用海思 VDEC 解码模块进行测试;
测试视频用例,存放于/app/source_file,需要进入/app 目录执行测试程序;
命令操作:
[C] 纯文本查看 复制代码
cd /app
./sample_vdec 0 #测试 4K60 解码输出
./sample_vdec 1 #测试 1080P60 解码输出
2.音频测试
音频部分使用海思 sample 进行输入到输出的环出测试;
由 GPIO10_0 引脚对音频是否静音进行控制,在执行音频测试程序之前,需要取消音频禁用;
命令操作:
[C] 纯文本查看 复制代码
echo 0 > /sys/class/gpio/gpio80/value #0:静音
echo 1 > /sys/class/gpio/gpio80/value #1:取消静音
/app/sample_audio 0 #环出测试
3.RS232 自环测试
232 串口节点为/dev/ttyAMA4;
测试可以使用杜邦线对 232 TX RX 进行短接,运行板端测试程序进行测试,查看到消息循环打印,则串口收发正常;
命令操作:
[C] 纯文本查看 复制代码
/app/serial_test -d /dev/ttyAMA4 -s 115200 -l HiSerial:HelloWorld
4.485 测试
485 串口节点为/dev/ttyAMA3;
可以用 485 转 USB 模块接到电脑端,使用串口调试工具进行收发测试;
命令操作:
[C] 纯文本查看 复制代码
/app/serial_test -d /dev/ttyAMA3 -s 115200 -l HiSerial:HelloWorld
5.继电器测试
继电器使用 TCA9535 IO 扩展模块进行控制;
对其输出的电平发生变化能够听到切换响声,接口通断发生改变;
命令操作:
[C] 纯文本查看 复制代码
/app/tca9535_tool 1 3 1 #导通
/app/tca9535_tool 1 3 0 #断开
6.RTC 测试
RTC 芯片为 pcf8563,可以通过 I2C 对寄存器进行读写来完成测试;
命令操作:
[C] 纯文本查看 复制代码
date -s "2022-09-01 00:00:00"
/app/rtc_test -w #写入 RTC
/app/rtc_test -r #断电后重启后,查询 RTC 时间
7.按键测试
按键测试通过查询 TCA9535 IO 扩展模块中 IO 脚的电平,来确认状态是否正常;
按住或松开按键,查看当前按键电平;
命令操作:
[C] 纯文本查看 复制代码
/app/tca9535_tool 0 2 #查看 key1 当前电平状态
/app/tca9535_tool 0 1 #查看 key2 当前电平状态
8.USB 测速
USB 测试可以通过终端命令查看 USB 设备是否接入;
对速度的检测则通过 dd 命令进行读写测试;
命令操作:
[C] 纯文本查看 复制代码
fdisk -l #查看 USB 设备是否正确识别
#挂载 USB 设备进行测速
mount /dev/sda1 /mnt/
dd if=/dev/zero of=/mnt/testfile bs=64k count=24000 #测试写入速度
dd if=/mnt/testfile of=/dev/null bs=4k #测试读取速度
umount /dev/sda1
9.拓展电源口测试(J9)
拓展电源口,是预留给风扇的电源接口,其供电通过 TCA9535 IO 扩展芯片进行控制;
命令操作:
[C] 纯文本查看 复制代码
/app/tca9535_tool 1 0 0 #断电
/app/tca9535_tool 1 0 1 #通电
10.mini pcie (4G 测试)
Mini pcie 接口可使用 4G 模块 EC20 进行测试;
命令操作:
[C] 纯文本查看 复制代码
/app/tca9535_tool 1 7 0 #设置模块电压
/app/tca9535_tool 1 10 1 #选择 USB->4G
/app/quectel-CM & #拨号
ping -I wwan0 180.76.76.76 #PING 百度 IP 测试网络
ps:如果无法正常拨号请查询 SIM 卡状态
[C] 纯文本查看 复制代码
microcom -s 115200 /dev/ttyUSB2
AT+QCCID
<ctrl + x>
11.m.2 (5G 测试)
m.2 接口可使用 5G 模块 FM650 进行测试;
命令操作:
[C] 纯文本查看 复制代码
/app/tca9535_tool 1 7 0 #设置模块电压
/app/tca9535_tool 1 10 0 #选择 USB->5G
/app/tca9535_tool 1 5 1 #使能 5G 模块,等待 5G 模块启动
ifconfig usb0 up
udhcpc -i usb0 &
ping -I usb0 180.76.76.76 #PING 百度 IP 测试网络
/app/tca9535_tool 1 5 0 #关闭 5G 模块
ps:如果无法正常拨号请确认模块工作状态,0:不工作 1:工作
[C] 纯文本查看 复制代码
microcom -s 115200 /dev/ttyUSB0
AT+CFUN?
AT+CFUN=1
AT+CPIN?
<ctrl + x>
六、 sample 例程编译
适配 EB-SS928-DC-393 型开发板的例程 sample 已经更新至 sample 目录下;
进入 sample 目录
[C] 纯文本查看 复制代码
cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/smp/a55_linux/mpp/sample
执行
[C] 纯文本查看 复制代码
make
将编译所有 sample 例程,不同模块的例程均生成在对应模块的文件夹中。

文章转载自易百纳技术社区

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 18:00 , Processed in 0.152970 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表