电子说
文章转载自易百纳技术社区
本片文章主要是对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 型开发板资源包目录如下:
/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 目录,目录如下:
/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 即可;
目录如下:
/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 目录
cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/open_source/u-boot/u-boot-2020.01
执行
./build_uboot.sh
编译完成后将生成 u-boot 镜像“boot_image.bin”到 Ubuntu 系统桌面。
2.内核编译
进入 kernel 目录
cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/open_source/linux/linux-4.19.y
执行
./build_kernel.sh
编译完成后将生成内核镜像“fip.bin”到 Ubuntu 系统桌面。
3.文件系统编译
进入 rootfs 目录
cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/osdrv/rootfs_scripts/A393_ss928_ubi_rootfs
执行
./build_rootfs.sh
编译完成后将生成文件系统镜像“rootfs_ss928v100_2k_128k_128M.ubifs”到 Ubuntu系统桌面。
4.环境变量参考
查看环境变量配置,该配置将使用在固件烧写成功后,于 uboot 内设置;
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 目录执行测试程序;
命令操作:
cd /app ./sample_vdec 0 #测试 4K60 解码输出 ./sample_vdec 1 #测试 1080P60 解码输出
2.音频测试
音频部分使用海思 sample 进行输入到输出的环出测试;
由 GPIO10_0 引脚对音频是否静音进行控制,在执行音频测试程序之前,需要取消音频禁用;
命令操作:
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 进行短接,运行板端测试程序进行测试,查看到消息循环打印,则串口收发正常;
命令操作:
/app/serial_test -d /dev/ttyAMA4 -s 115200 -l HiSerial:HelloWorld
4.485 测试
485 串口节点为/dev/ttyAMA3;
可以用 485 转 USB 模块接到电脑端,使用串口调试工具进行收发测试;
命令操作:
/app/serial_test -d /dev/ttyAMA3 -s 115200 -l HiSerial:HelloWorld
5.继电器测试
继电器使用 TCA9535 IO 扩展模块进行控制;
对其输出的电平发生变化能够听到切换响声,接口通断发生改变;
命令操作:
/app/tca9535_tool 1 3 1 #导通 /app/tca9535_tool 1 3 0 #断开
6.RTC 测试
RTC 芯片为 pcf8563,可以通过 I2C 对寄存器进行读写来完成测试;
命令操作:
date -s "2022-09-01 00:00:00" XXXXX(见原文) #写入 RTC /app/rtc_test -r #断电后重启后,查询 RTC 时间
7.按键测试
按键测试通过查询 TCA9535 IO 扩展模块中 IO 脚的电平,来确认状态是否正常;
按住或松开按键,查看当前按键电平;
命令操作:
/app/tca9535_tool 0 2 #查看 key1 当前电平状态 /app/tca9535_tool 0 1 #查看 key2 当前电平状态
8.USB 测速
USB 测试可以通过终端命令查看 USB 设备是否接入;
对速度的检测则通过 dd 命令进行读写测试;
命令操作:
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 扩展芯片进行控制;
命令操作:
/app/tca9535_tool 1 0 0 #断电 /app/tca9535_tool 1 0 1 #通电
10.mini pcie (4G 测试)
Mini pcie 接口可使用 4G 模块 EC20 进行测试;
命令操作:
/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 卡状态
microcom -s 115200 /dev/ttyUSB2 AT+QCCID < ctrl + x >
11.m.2 (5G 测试)
m.2 接口可使用 5G 模块 FM650 进行测试;
命令操作:
/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:工作
microcom -s 115200 /dev/ttyUSB0 AT+CFUN? AT+CFUN=1 AT+CPIN? < ctrl + x >
六、 sample 例程编译
适配 EB-SS928-DC-393 型开发板的例程 sample 已经更新至 sample 目录下;
进入 sample 目录
cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/smp/a55_linux/mpp/sample
执行
make
将编译所有 sample 例程,不同模块的例程均生成在对应模块的文件夹中。
文章转载自易百纳技术社区
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !