原创 SS928/SD3403 —— 教你快速入门

2023-8-4 18:11 992 5 5 分类: MCU/ 嵌入式

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

    本片文章主要是对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 型开发板资源包目录如下:

    1. /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 目录,目录如下:

    1. /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 即可;
    目录如下:

    1. /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 目录

    1. cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/open_source/u-boot/u-boot-2020.01

    执行

    1. ./build_uboot.sh

    编译完成后将生成 u-boot 镜像“boot_image.bin”到 Ubuntu 系统桌面。

    2.内核编译

    进入 kernel 目录

    1. cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/open_source/linux/linux-4.19.y

    执行

    1. ./build_kernel.sh

    编译完成后将生成内核镜像“fip.bin”到 Ubuntu 系统桌面。

    3.文件系统编译

    进入 rootfs 目录

    1. cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/osdrv/rootfs_scripts/A393_ss928_ubi_rootfs

    执行

    1. ./build_rootfs.sh

    编译完成后将生成文件系统镜像“rootfs_ss928v100_2k_128k_128M.ubifs”到 Ubuntu系统桌面。

    4.环境变量参考

    查看环境变量配置,该配置将使用在固件烧写成功后,于 uboot 内设置;

    1. 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 目录执行测试程序;

    命令操作:

    1. cd /app
    2. ./sample_vdec 0 #测试 4K60 解码输出
    3. ./sample_vdec 1 #测试 1080P60 解码输出

    2.音频测试

    音频部分使用海思 sample 进行输入到输出的环出测试;

    由 GPIO10_0 引脚对音频是否静音进行控制,在执行音频测试程序之前,需要取消音频禁用;

    命令操作:

    1. echo 0 > /sys/class/gpio/gpio80/value #0:静音
    2. echo 1 > /sys/class/gpio/gpio80/value #1:取消静音
    3. /app/sample_audio 0 #环出测试

    3.RS232 自环测试

    232 串口节点为/dev/ttyAMA4;

    测试可以使用杜邦线对 232 TX RX 进行短接,运行板端测试程序进行测试,查看到消息循环打印,则串口收发正常;

    命令操作:

    1. /app/serial_test -d /dev/ttyAMA4 -s 115200 -l HiSerial:HelloWorld

    4.485 测试

    485 串口节点为/dev/ttyAMA3;

    可以用 485 转 USB 模块接到电脑端,使用串口调试工具进行收发测试;

    命令操作:

    1. /app/serial_test -d /dev/ttyAMA3 -s 115200 -l HiSerial:HelloWorld

    5.继电器测试

    继电器使用 TCA9535 IO 扩展模块进行控制;

    对其输出的电平发生变化能够听到切换响声,接口通断发生改变;

    命令操作:

    1. /app/tca9535_tool 1 3 1 #导通
    2. /app/tca9535_tool 1 3 0 #断开

    6.RTC 测试

    RTC 芯片为 pcf8563,可以通过 I2C 对寄存器进行读写来完成测试;

    命令操作:

    1. date -s "2022-09-01 00:00:00"
    2. /app/rtc_test -w #写入 RTC
    3. /app/rtc_test -r #断电后重启后,查询 RTC 时间

    7.按键测试

    按键测试通过查询 TCA9535 IO 扩展模块中 IO 脚的电平,来确认状态是否正常;

    按住或松开按键,查看当前按键电平;

    命令操作:

    1. /app/tca9535_tool 0 2 #查看 key1 当前电平状态
    2. /app/tca9535_tool 0 1 #查看 key2 当前电平状态

    8.USB 测速

    USB 测试可以通过终端命令查看 USB 设备是否接入;

    对速度的检测则通过 dd 命令进行读写测试;

    命令操作:

    1. fdisk -l #查看 USB 设备是否正确识别
    2. #挂载 USB 设备进行测速
    3. mount /dev/sda1 /mnt/
    4. dd if=/dev/zero of=/mnt/testfile bs=64k count=24000 #测试写入速度
    5. dd if=/mnt/testfile of=/dev/null bs=4k #测试读取速度
    6. umount /dev/sda1

    9.拓展电源口测试(J9)

    拓展电源口,是预留给风扇的电源接口,其供电通过 TCA9535 IO 扩展芯片进行控制;

    命令操作:

    1. /app/tca9535_tool 1 0 0 #断电
    2. /app/tca9535_tool 1 0 1 #通电

    10.mini pcie (4G 测试)

    Mini pcie 接口可使用 4G 模块 EC20 进行测试;

    命令操作:

    1. /app/tca9535_tool 1 7 0 #设置模块电压
    2. /app/tca9535_tool 1 10 1 #选择 USB->4G
    3. /app/quectel-CM & #拨号
    4. ping -I wwan0 180.76.76.76 #PING 百度 IP 测试网络

    ps:如果无法正常拨号请查询 SIM 卡状态

    1. microcom -s 115200 /dev/ttyUSB2
    2. AT+QCCID

    11.m.2 (5G 测试)

    m.2 接口可使用 5G 模块 FM650 进行测试;

    命令操作:

    1. /app/tca9535_tool 1 7 0 #设置模块电压
    2. /app/tca9535_tool 1 10 0 #选择 USB->5G
    3. /app/tca9535_tool 1 5 1 #使能 5G 模块,等待 5G 模块启动
    4. ifconfig usb0 up
    5. udhcpc -i usb0 &
    6. ping -I usb0 180.76.76.76 #PING 百度 IP 测试网络
    7. /app/tca9535_tool 1 5 0 #关闭 5G 模块

    ps:如果无法正常拨号请确认模块工作状态,0:不工作 1:工作

    1. microcom -s 115200 /dev/ttyUSB0
    2. AT+CFUN?
    3. AT+CFUN=1
    4. AT+CPIN?

    六、 sample 例程编译

    适配 EB-SS928-DC-393 型开发板的例程 sample 已经更新至 sample 目录下;

    进入 sample 目录

    1. cd /home/ebaina/ss928v100_sdk/SS928V100_SDK_V2.0.2.1/smp/a55_linux/mpp/sample

    执行

    1. make

    将编译所有 sample 例程,不同模块的例程均生成在对应模块的文件夹中。


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

    PARTNER CONTENT

    文章评论0条评论)

    登录后参与讨论
    EE直播间
    更多
    我要评论
    0
    5
    关闭 站长推荐上一条 /3 下一条