0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于瑞芯微 RK3588 的 ARM 与 FPGA 交互通信实战指南

Tronlong创龙科技 来源:Tronlong创龙科技 作者:Tronlong创龙科技 2025-11-04 16:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

PCIe通信案例(DMA方式)

案例说明

案例功能:ARM端基于PCIe总线(开启PCIe DMA)对FPGABRAM进行读写测试。应用程序通过ioctl函数发送命令开启PCIe DMA传输数据后,等待驱动上报input事件;当应用层接收到input事件,说明DMA传输数据完成。

ARM端案例位于产品资料“4-软件资料Demoplatform-demosdma_memcpy_demo”目录下,FPGA端案例位于产品资料“4-软件资料DemoFPGA-demosbram_pcie”目录下,具体说明如下:

wKgZPGkJrzKAd2AEAAAug_SyJ2A161.png表 1

备注:dma_memcpy_demo案例同时支持使用CPU DMA对DDR进行读写测试,详情请查看“基于CPU DMA的DDR读写测试”小节。

程序流程如下图所示。

wKgZPGkJsCCAWIetAAHYMPW3o-A221.png图 1

程序原理说明:

ARM端:

采用PCIe DMA方式;

将数据写入至dma_memcpy/pcie_dma_memcpy驱动申请的连续内存空间(位于DDR);

配置PCIe DMA,如源地址、目标地址、传输的数据大小等;

写操作:通过ioctl函数启动PCIe DMA,通过PCIe总线将数据搬运至FPGA BRAM;

程序接收驱动上报input事件后,将通过ioctl函数获取PCIe DMA搬运数据耗时,并计算DMA传输速率(即写速率);

读操作:通过ioctl函数启动PCIe DMA,通过PCIe总线将FPGA BRAM中的数据搬运至dma_memcpy/pcie_dma_memcpy驱动申请的连续内存空间(位于DDR);

程序接收驱动上报input事件后,将数据从内核空间读取至用户空间,然后校验数据,同时通过ioctl函数获取PCIe DMA搬运数据耗时,并计算DMA传输速率(即读速率)。

FPGA端:

实现PCIeEndpoint功能;

处理PCIeRC端发起的PCIeBAR0空间读写事务;

将PCIeBAR0读写数据缓存至FPGA BRAM中。

案例测试

请将创龙科技TLZU-EVM评估板PCIe(CON25)接口连接至TL3588-EVM评估板PCIeRC(CON21)接口,硬件连接如下图所示。

wKgZO2kJsDCAdE6sABPKvDAwoqU340.png图 2

请将创龙科技TLZU-EVM评估板上电启动,加载运行FPGA案例"bram_pciebin"目录下的可执行程序。

请将案例"dma_memcpy_demodtsbin"目录下的boot-dma-memcpy.img内核镜像文件拷贝至评估板文件系统。执行如下命令,替换内核镜像文件至系统启动卡,评估板重启生效。

备注:如需固化至eMMC,请将设备节点修改为"/dev/mmcblk0p3"。

Target# dd if=boot-dma-memcpy.imgof=/dev/mmcblk1p3

Target# sync

Target# reboot

wKgZPGkJsLOAWpZrAAAY15uHaWQ574.png图 3

请将案例"bindma_memcpy_demo"可执行程序和"driverbinpcie_dma_memcpy.ko"PCIe DMA驱动程序拷贝至文件系统任意目录下。

wKgZO2kJsL-AXA5GAAAOmUqbDJ8376.png图 4

执行如下命令,赋予可执行程序dma_memcpy_demo执行权限。

Target# chmod a+x dma_memcpy_demo

wKgZPGkJsMiAEejUAAAodpRCBcQ334.png图 5

进入评估板文件系统,在可执行程序所在目录执行如下命令查看程序参数。

Target# ./dma_memcpy_demo -h

参数解析:

-a:设置DDR或PCIe地址;

-s:设置传输数据大小(单位:Byte);

-c:设置循环读写次数;

-d:设置输入设备;

-v:显示版本信息;

-h:显示帮助内容。

wKgZO2kJsPmAZzbUAAAkFEpuy40526.png图 6

执行如下命令,查看PCIeBAR空间地址。从下图可见,PCIeBAR空间映射至0xf0200000地址,大小为128KByte,并查看PCIe设备连接状态。

备注:若打印信息与"Speed 5GT/s(ok),Width x4(ok)"不一致,可能是接触不良导致,需断电后擦拭金手指部分,重新插拔。

Target# lspci -s 01:00.0 -vv

wKgZO2kJsQKAamUtAADqzlM5YWE889.png图 7

进入评估板文件系统执行如下命令,加载PCIe DMA驱动程序。

Target# insmod -f pcie_dma_memcpy.ko

wKgZO2kJsQqAIZSRAADiOfbFxGA254.png图 8

执行如下命令,查看事件号。

Target# cat /proc/bus/input/devices

wKgZPGkJsRGACQwwAAAGJdnOBXg691.png图 9

wKgZPGkJsReAFC8cAAAeOXGf3HY273.png图 10

执行如下命令,调整打印级别,避免调试串口终端打印内核信息影响观察测试结果。

Target# echo 1 4 1 7 > /proc/sys/kernel/printk

wKgZO2kJsR-AaiaPAAAIctMwPsE980.png图 11

执行如下命令,使能PCIe设备。

Target# echo 1 > /sys/class/pci_bus/0000:01/device/0000:01:00.0/enable

wKgZPGkJsSeALC-KAAAKvI7gRu8294.png图 12

执行如下命令,将随机数据先写入FPGABRAM,再从FPGABRAM读出。测试完成后,程序将会打印最终测试结果,包含读写平均传输耗时、读写平均传输速率、读写错误统计等信息。

Target# ./dma_memcpy_demo -a 0xf0200000 -s 131072-c 100-d /dev/input/event8

wKgZO2kJsS-AfqCZAAActhS5hV4405.png图 13

wKgZPGkJsTeASYdqAAAzOEGzZJ0235.png表 2

PCIeGen2编码开销为8b/10b,PCIeGen2传输数据的开销如下:

(1)物理层:Start(1Byte)、End(1Byte)

(2)数据链路层:Sequence(2Byte)、LCRC(4Byte)

(3)传输层:Header(12Byte或16Byte)、ECRC(4Byte)

PCIe理论带宽计算如下:

写速率:rate = 5Gb/s x num-lanes x 编码开销x (MPS/ (MPS + 传输数据的开销))

读速率:rate = 5Gb/s x num-lanes x 编码开销x (RCB/ (RCB + 传输数据的开销))

MaxPayload为128Byte,RCB为64Byte,为了计算协议消耗更高的理论带宽,取TLP header size =16Byte,因此可计算到PCIeGen2传输数据的开销为28字节。

若num-lanes为2,则计算得到理论速率为:

写速率:rate = 5Gb/s x 2x 8/10 x (128 / (128 + 28)) ≈840.20MB/s

读速率:rate = 5Gb/s x 2x 8/10 x (64 / (64 + 28)) ≈712.34MB/s

若num-lanes为4,则计算得到理论速率为:

写速率:rate = 5Gb/s x 4x 8/10 x (128 / (128 + 28)) ≈1640.4MB/s

读速率:rate = 5Gb/s x 4x 8/10 x (64 / (64 + 28)) ≈1424.68MB/s

案例编译(ARM端)

请将产品资料“4-软件资料Demoplatform-demosdma_memcpy_demo”案例源码拷贝至Ubuntu工作目录。

(1)应用程序编译

进入案例应用程序源码目录,执行如下命令,配置应用程序交叉编译工具链环境变量,然后进行编译,编译完成将会在当前目录下生成dma_memcpy_demo可执行程序。

Host# export PATH=/home/tronlong/RK3588/rk3588_linux_release_v1.2.1/extra-tools/gcc-linaro-10.2.1-2021.01-x86_64_aarch64-linux-gnu/bin/:$PATH

Host# make

wKgZO2kJsUCACu6TAAIQGaGcmEw443.png图 14

(2)驱动程序编译

进入案例驱动程序源码目录,执行如下命令,配置驱动程序交叉编译工具链环境变量,然后进行编译,编译完成将会在当前目录下生成dma_memcpy.ko、pcie_dma_memcpy.ko驱动程序。

Host# export PATH=/home/tronlong/RK3588/rk3588_linux_release_v1.2.1/extra-tools/gcc-linaro-10.2.1-2021.01-x86_64_aarch64-linux-gnu/bin/:$PATH

Host# make KDIR=/home/tronlong/RK3588/rk3588_linux_release_v1.2.1/kernel/

wKgZO2kJsUeAXk3BAAHD116I5WA840.png图 15

(3)设备树编译

请将案例"dtssrctl3588-evm-dma-memcpy.dts"设备树源文件拷贝至LinuxSDK源码目录"kernel/arch/arm64/boot/dts/rockchip/"。

wKgZPGkJsVCAUhRLAABcs2KzPfI332.png图 16

备注:案例"armdtssrctl3588-evm-dma-memcpy.dts"设备树源文件主要新增dma_memcpy节点,用于加载dma_memcpy或pcie_dma_memcpy驱动,具体如下图所示。内核镜像文件"armdtsbinboot-dma-memcpy.img"已包含tl3588-evm-dma-memcpy.dts编译生成的设备树镜像文件。

wKgZO2kJsViADkcPAABOIHEWHR4785.png图 17

由于tl3588-evm-dma-memcpy.dts设备树源文件需要引用reserved-mempcy节点,因此需要新增reserved-mempcy节点别名。进入LinuxSDK源码目录,执行如下命令,修改"rk3588-evb7-lp4.dtsi"文件。

Host# vi kernel/arch/arm64/boot/dts/rockchip/rk3588-evb7-lp4.dtsi

wKgZO2kJsV-AJldaAABJ-itMZC0616.png图 18

修改内容如下:

reserved_memory:reserved-memory { //新增内容

wKgZPGkJsWWAQck3AADIIWn13os997.png图 19

修改完成后,保存退出,请按照《Debian系统使用手册》文档Debian系统镜像编译、生成章节,替换设备树并重新编译内核,将生成的内核镜像文件拷贝至评估板文件系统进行固化。该内核镜像已包含tl3588-evm-dma-memcpy.dts对应的设备树镜像文件。

关键代码说明(ARM端)

(1)打开设备节点。

wKgZO2kJsWuAcw6SAADwq9P4K6A680.png图 20

(2)写数据操作。

wKgZPGkJsXeAP8X6AAH6QGjAvgo551.png图 21

wKgZO2kJsXeAGaMeAAEzqB6oJkg794.png图 22

wKgZPGkJsXeAeXYzAADGtKYp5W0440.png图 23

(3)读取数据操作。

wKgZO2kJsqCAar5JAAIGrFwyyyw984.png图 24

wKgZPGkJsqCAITcyAAHXXkIkEIQ283.png图 25

基于CPU DMA的DDR读写测试

本小节使用dma_memcpy_demo案例,通过CPU DMA对DDR进行读写,并计算传输速率。

备注:本次测试由CPU对DDR进行读写,未使用PCIe总线。

请将案例"bindma_memcpy_demo"可执行程序和"driverbindma_memcpy.ko"驱动程序拷贝至文件系统任意目录下。

wKgZPGkJsrKANEEgAAALzN939HM610.png图 26

执行如下命令,赋予可执行程序dma_memcpy_demo执行权限。

Target# chmod a+x dma_memcpy_demo

wKgZPGkJsMiAEejUAAAodpRCBcQ334.png图 27

进入评估板文件系统执行如下命令,加载CPU DMA驱动程序。

Target# insmod -f dma_memcpy.ko

wKgZPGkJssOAS-auAADXtSmRje4138.png图 28

执行如下命令,查看事件号。

Target# cat /proc/bus/input/devices

wKgZPGkJsRGACQwwAAAGJdnOBXg691.png图 29

wKgZPGkJsReAFC8cAAAeOXGf3HY273.png图 30

执行如下命令,调整打印级别,避免调试串口终端打印内核信息影响观察测试结果。

Target# echo 1 4 1 7 > /proc/sys/kernel/printk

wKgZO2kJsR-AaiaPAAAIctMwPsE980.png图 31

执行如下命令,进行DDR读写测试。测试完成后,程序将会打印最终测试结果,包含读写平均传输耗时、读写平均传输速率、读写错误统计等信息。其中,写速率为2575.41MB/s,读速率为2583.04MB/s。

Target# ./dma_memcpy_demo-a 0x80000000-s 4194304 -c 100-d /dev/input/event8

wKgZO2kJsuSASaUkAAAeq2S_HQU975.png图 32

wKgZPGkJs-KAK7-tAAAz81NknWY661.png表 3

备注:0x80000000为预留的DDR地址空间,如下图所示,大小为128MByte。

wKgZO2kJs_KAEdYpAABvz7V8i2M025.png图 33 tl3588-evm-dma-memcpy.dts

PCIe通信案例(非DMA方式)

案例说明

案例功能:ARM端通过PCIe总线(非DMA方式)对FPGABRAM进行数据读写测试,同时校验数据和计算读写速率。

ARM端案例位于产品资料“4-软件资料Demobase-demosdevmem_rw”目录下,FPGA端案例位于产品资料“4-软件资料DemoFPGA-demosbram_pcie”目录下,具体说明如下:

wKgZPGkJtAOAMA4_AAAUX-ESMKI781.png表 4

程序流程说明:

(1)ARM端通过PCIe总线将数据写入FPGA BRAM;

(2)ARM端通过PCIe总线从FPGA BRAM读取数据;

(3)判断写入与读取数据的正确性,并计算读写速率。

wKgZPGkJtAuAS9sXAABXozdfZAY394.png图 34

案例原理说明:

ARM端:

ARM端使用mmap函数对物理地址进行转换;

可根据指定的访问操作类型按字节(Byte)、按半字(Halfword)进行访问。

FPGA端:

实现PCIeEndpoint功能;

处理PCIeRC端发起的PCIeBAR0空间读写事务;

将PCIeBAR0读写数据缓存至FPGA BRAM中。

案例测试

请将创龙科技TLZU-EVM评估板PCIe(CON25)接口连接至TL3588-EVM评估板PCIeRC(CON21)接口,硬件连接如下图所示。

wKgZO2kJsDCAdE6sABPKvDAwoqU340.png图 35

请将创龙科技TLZU-EVM评估板上电启动,加载运行FPGA案例"bram_pciebin"目录下的可执行程序。

评估板默认内核镜像未支持PCIe RC接口测试,请将产品资料“4-软件资料DebianKernelimagelinux-5.10.160-[版本号]-[Git序列号]”目录下boot-enable-pcie.img文件(支持PCIe RC接口测试)拷贝至评估板文件系统,执行如下命令将其固化至系统启动卡。

备注:若从eMMC启动系统,请将设备节点"mmcblk1p3"修改为"mmcblk0p3"。

Target# dd if=boot-enable-pcie.img of=/dev/mmcblk1p3

Target# sync

Target# reboot

wKgZPGkJtByAYg8xAAAUpgXDkno107.png图 36

执行如下命令,查看PCIeBAR空间地址。从下图可见,PCIeBAR空间映射至0xf0200000地址,大小为128KByte,并查看PCIe设备连接状态。

备注:若打印信息与"Speed 5GT/s(ok),Width x4(ok)"不一致,可能是接触不良导致,需断电后擦拭金手指部分,重新插拔。

Target# lspci -s 01:00.0 -vv

wKgZO2kJsQKAamUtAADqzlM5YWE889.png图 37

请将ARM端案例"devmem_rwbin"目录下的可执行程序devmem_rw拷贝至文件系统任意目录,在devmem_rw可执行程序所在目录执行如下命令,查看程序参数。

Target# ./devmem_rw-h

参数解析:

-t:表示测试模式。先写后读,并检验数据的准确性。

-r:读模式,从参数"-a

"指定的内存空间地址处,读出参数"-s "指定长度的数据(以字节为单位)。

-w:写模式,从参数"-f "指定的文件获取数据,写入参数"-a

"指定的内存空间地址。

-a

:指定内存空间地址。

-s :指定数据的长度,以字节为单位。

-o:以字节或半字方式访问内存空间。

-f :指定文件。用于写模式测试。

wKgZPGkJtC2ACKlHAAArtf5qyNo267.png图 38

执行如下命令,使能PCIe设备。

Target# echo 1 > /sys/class/pci_bus/0000:01/device/0000:01:00.0/enable

wKgZO2kJtDSAfv1MAAAQvrvEkf0292.png图 39

执行如下命令,将随机数据先写入FPGABRAM,再从FPGABRAM读出,校验数据并统计读写速率。

Target# ./devmem_rw -t -a 0xf0200000-s 131072 -o halfword

wKgZPGkJtDyAQyH2AAA48tKQhIA653.png图 40

重复三次测试,调试串口终端打印"Testpass!"信息,表示读写测试通过。

备注:由于本案例采用非DMA方式对FPGA BRAM进行数据读写测试,可能会出现速率波动较大的情况。

案例编译(ARM端)

请将产品资料“4-软件资料Demobase-demosdevmem_rwsrc”案例源码拷贝至Ubuntu工作目录。进入案例源码目录,执行如下命令进行编译,编译完成将会在当前目录下生成可执行程序。

Host# source /home/tronlong/RK3588/rk3588_linux_release_v1.2.1/debian/sysroots/environment

Host# make CC=aarch64-linux-gnu-gcc

wKgZO2kJtEOACf9SAADAMOAv_EE675.png图 41

关键代码(ARM端)

(1)将内存设备地址映射至虚拟地址。

wKgZPGkJtEqAJFy4AAEQfrxeeNM391.png图 42

(2)根据指定的操作方式进行数据读取。

wKgZO2kJtFSAEbeLAAHH1hjNmRE400.png图 43

(3)根据指定的操作方式进行数据写入。

wKgZO2kJtF-AAwuLAAHBrWPJPL8150.png图 44

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1664

    文章

    22504

    浏览量

    639316
  • ARM
    ARM
    +关注

    关注

    135

    文章

    9588

    浏览量

    393693
  • 瑞芯微
    +关注

    关注

    27

    文章

    855

    浏览量

    54669
  • RK3588
    +关注

    关注

    8

    文章

    589

    浏览量

    7559
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RK3588 RKNN模型推理环境部署与功能测试技巧(上)

    触觉智能(RK方案商)分享RK3588RKNN端侧模型的开发环境搭建方法与测试方法。【测试环境说明】开发板系统:Ubuntu22.04
    的头像 发表于 04-21 10:37 311次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3588</b> RKNN模型推理环境部署与功能测试技巧(上)

    RK3588 Type-C一线通,DP显示输出实战指南

    使用扩展坞连接显示器。一、方案概述RK3588旗舰级高性能处理器,其Type-C接口内置了USB3.1+DPAltMode双模支持能力。通过简单的软件配置
    的头像 发表于 04-03 08:33 1.2w次阅读
    <b class='flag-5'>RK3588</b> Type-C一线通,DP显示输出<b class='flag-5'>实战</b><b class='flag-5'>指南</b>

    全面拆解RK3588:一款撑起8K、AI与边缘计算的高端ARM芯片

    ARM 架构处理器领域,(Rockchip)RK3588 始终是高端嵌入式场景的 “全能选手”—— 从 8K 智能电视、边缘计算服
    的头像 发表于 02-09 16:38 4274次阅读
    全面拆解<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3588</b>:一款撑起8K、AI与边缘计算的高端<b class='flag-5'>ARM</b>芯片

    RK3588采集Cameralink图像快速搭建系统办法

    : CL-U3,便携式应用。 RK3588开发板很多,种类各式各样。如何快速搭建一套自己的基于RK3588的嵌入式Cameralin
    发表于 12-19 10:07

    【NPU实战】在迅为RK3588上玩转YOLOv8:目标检测与语义分割一站式部署指南

    【NPU实战】在迅为RK3588上玩转YOLOv8:目标检测与语义分割一站式部署指南
    的头像 发表于 12-12 14:30 6408次阅读
    【NPU<b class='flag-5'>实战</b>】在迅为<b class='flag-5'>RK3588</b>上玩转YOLOv8:目标检测与语义分割一站式部署<b class='flag-5'>指南</b>

    【技术分享】RK3588如何搭建xenomai3+ethercat

    说明使用的RK3588的分支版本是linux-6.1-stan-rkr6内核版本是6.1.99把的SDK更新到linux-6.1-stan-rkr6这个版本即可。编译xenoma
    的头像 发表于 12-11 17:26 1391次阅读
    【技术分享】<b class='flag-5'>RK3588</b>如何搭建xenomai3+ethercat

    一文搞懂 RK3588 PCIe:从硬件资源到拆分配置 + 避坑指南(含脑图)

        RK3588  作为旗舰级  SoC ,其  PCIe  控制器凭借灵活的链路拆分能力与丰富特性,成为连接  NVMe 、 WiFi 、 AI  加速卡等外设的核心桥梁。
    的头像 发表于 11-20 18:18 4814次阅读
    一文搞懂 <b class='flag-5'>RK3588</b> PCIe:从硬件资源到拆分配置 + 避坑<b class='flag-5'>指南</b>(含脑图)

    RK3588 平台 Debian 系统开发案例与使用说明

    本文围绕创龙科技研发的 RK3588 平台评估板,详解 Debian 系统使用方法,涵盖 LinuxSDK 安装、系统镜像编译生成、根文件系统修改、系统文件替换、U-Boot 配
    的头像 发表于 11-05 14:28 858次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b> <b class='flag-5'>RK3588</b> 平台 Debian 系统开发案例与使用说明

    国产嵌入式核心板如何选?众达科技RK3588 COMe模块背后的14年专注史

    嵌入式核心板(主要产品:RK3588全国产COMe模块)
    的头像 发表于 10-10 16:47 1488次阅读

    RK3588RK3576技术参数详解

    电子发烧友网报道(文/李弯弯)不久前表示,2025年上半年AIoT市场延续蓬勃发展趋势,因应AI在端侧应用发展需求,公司旗舰产品RK3588、次新产品
    的头像 发表于 09-23 08:20 9176次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b><b class='flag-5'>RK3588</b>与<b class='flag-5'>RK</b>3576技术参数详解

    揭秘算力协处理器,RK3576/RK3588强大算力搭档

    算力协处理器-Gongga1(简称“贡嘎”),是针对旗舰芯片平台
    的头像 发表于 07-17 10:00 1558次阅读
    揭秘<b class='flag-5'>瑞</b><b class='flag-5'>芯</b><b class='flag-5'>微</b>算力协处理器,<b class='flag-5'>RK</b>3576/<b class='flag-5'>RK3588</b>强大算力搭档

    迅为RK3588开发板Linux安卓麒麟国产工业AI人工智能

    迅为RK3588开发板Linux安卓麒麟国产工业AI人工智能
    发表于 07-14 11:23

    RK这2款旗舰芯片RK3588 PK RK3576,谁是最优选

    在 AI 边缘计算领域,RK3588RK3576 都是备受瞩目的处理器。在中国半导体产业的版图中,
    发表于 07-10 18:24

    干货分享 | RK3588 Ubuntu系统Docker容器使用指南

    前言:在RK3588高性能AIoT平台上运行Ubuntu系统时,Docker容器技术能极大提升开发部署效率。通过轻量级虚拟化实现环境隔离与快速迁移,本文将从零开始详解
    的头像 发表于 06-27 12:01 4209次阅读
    干货分享 | <b class='flag-5'>RK3588</b> Ubuntu系统Docker容器使用<b class='flag-5'>指南</b>

    RK3588参数与主要特性 RK3588数据手册解读

    RK3588参数与主要特性 RK3588数据手册解读
    的头像 发表于 05-19 18:34 1.5w次阅读
    <b class='flag-5'>RK3588</b>参数与主要特性  <b class='flag-5'>RK3588</b>数据手册解读