第3章〓昉·星光 2(VisionFive 2) RISCV单板计算机 昉·星光 2(VisionFive 2)是上海赛昉科技有限公司开发的集成GPU的高性能RISCV单板计算机,它搭载一个RISCV四核64位RV64GC ISA SoC(JH7110)处理器,工作频率最高可达1.5 GHz。 赛昉科技成立于2018年,是一家具有独立自主知识产权的本土高科技企业,提供基于RISCV指令集的CPU IP、SoC、开发板等系列产品和解决方案,是我国RISCV软硬件生态的领导者。 成立至今,赛昉科技已相继推出了多款基于RISCV的产品,如全球已交付性能较高的处理器内核昉·天枢,全球量产的高性能多媒体处理器JH7110,全球性能较高的量产单板计算机VisionFive 2。这些产品覆盖了云电脑、平板电脑、台式/笔记本计算机、网关路由等设备,涉及边缘计算、工业显示等场景,可应用在智慧家庭、智慧零售、智慧能源等行业。 3.1JH7110(昉·惊鸿7110)处理器 JH7110是一款基于64位高性能四核RISCV CPU的SoC处理器芯片,具有高性能、低功耗、高安全性的特点。 3.1.1JH7110处理器简介 JH7110 SoC处理器芯片具有2 MB的二级缓存。根据实测,JH7110 稳定工作频率达1.5 GHz,Coremark跑分达到5.09,是目前市场上RISCV量产芯片中性能较优的产品。 此外,JH7110集成GPU,具有更强大的图像处理能力。在400 MHz的GPU工作主频下,使用业界标准的GPU benchmarkGLmark2测试,相比单板计算机领域应用广泛的主控芯片,JH7110的实测数据超过其4倍。 JH7110拥有强大的多媒体支持能力。JH7110集成了赛昉科技自研的低功耗ISP兼容主流摄像头传感器,内置图像/视频处理子系统,提供强大的H.264/H.265编解码能力,支持双路1080P@30fps编码,1路4K@60fps或4路1080P@30fps解码; 支持JPEG编解码; 显示输出可支持2路4K双屏显,6种图层叠加显示; 集成的GPU渲染能力可达2400 MPixels/s。 功耗方面,JH7110被划分为8个可独立开关的电源域,CPU频率可通过软件调节,客户可完全按照应用场景和性能需求设置最有效的芯片工作场景,以实现性能、功耗和面积(Performance,Power and Area,PPA)平衡。休眠状态下,JH7110功耗为120 mW; 在单板计算机应用场景,JH7110满负荷工作,动态功耗为4100 mW; 在软路由、网络附属存储(Network Attached Storage,NAS)的应用场景,用户不需要GPU和视频编码,而需要双网口工作,用户可通过软件控制模块开关,此时实际功耗会下降到3100 mW。 JH7110凭借其高性能和对OpenCL、OpenGL ES、Vulkan的支持,更加智能、高效。JH7110既能完成一系列复杂的图像/视频处理和智能视觉计算,又能满足多种边缘视觉实时处理需求。JH7110处理器可以应用在以下应用领域中。 (1) 商务电子产品: 个人单板计算机、家用NAS、路由器等。 (2) 智慧家居产品: 扫地机器人、智能家电等。 (3) 工业智能: 工业机器人、无人商店、物流机器人、智能无人机等。 (4) 公共安全: 视频监控、交通管理等。 3.1.2JH7110处理器内部各模块介绍 JH7110处理器的内部各模块如下。 1) 处理器子系统 JH7110有两个RISCV处理器核: 四核64位高性能RISCV处理器(U74),支持RV64GC指令集,4个内核都有32 KB的指令和数据L1缓存,CPU工作频率最高可达1.5 GHz; 具有16 KB指令缓存的32位的RV32IMFC 指令集处理器内核(E24)。 RV64IMAC协处理器,带ECC 16 KB的L1指令缓存,带ECC的8 KB DTIM,8 region物理内核保护。 2 MB的L2缓存,支持最多16+4个通道的双DMA控制器。 支持内核版本5.10和5.15的Linux操作系统。 2) 存储子系统 支持最高256 KB的RAM。 双倍速率(Double Data Rate,DDR)控制器支持1×32通道,最高8 GB的DDR,支持DDR4/3和2800 Mb/s的LPDDR4/3,支持2个×16或1个×32设备。 四线串行外围接口(Quad Serial Peripheral Interface,QSPI)闪存控制器支持XIP模式和Page模式,独立的1/2/4数据宽度,支持容量高达16 MB的SPI NOR Flash和2 GB的SPI NAND Flash。 3) GPU子系统 GPU IMG BXE432。 支持OpenCL 3.0。 支持OpenGL ES 3.2。 支持Vulkan 1.2。 4) 视频处理子系统 摄像头MIPI接口: 1×2lane MIPI CSI接口 MIPI CSI2 RX DPHY。 最高支持1080P@30fps。 多达6个1.5 Gb/s通道。 支持1×4D1C MIPI传感器。 支持2×2D1C MIPI传感器,两个独立的CSIRX控制器,每个控制器支持高达4KPixel的接口。 图像信号处理(Image Signal Processing,ISP): 支持1个 MIPI CSI通道和1个数字视频端口(Digital Video Port,DVP)输入通道; 支持高达1080p@30fps CMOS RGB图像传感器; ISP核心支持。 坏点修复。 R/G/B LUT,AE/AWB/AF。 直方图分析。 镜头暗角校正。 crosstalk remove。 Global tonemapping。 2D denoise。 从1/4倍到1倍的无缝数字缩放。 视频编码器: 提供JPEG编解码,视频编码H.265,支持1080p@30fps编码; 视频解码 (H.264/H.265)最高达4K@60fps; 支持多路解码; 支持I/P型切片; 高性能CABAC编码; 支持感兴趣区域(Region of Interest,ROI)。 5) 显示子系统 支持视频输入: 1×DVP、1×4D2C MIPICSI,最高达4K@30fps。 支持视频输出: 4D1C MIPI显示输出最高达1080p@60fps,数据速率最高达2.5 Gb/s。 支持一路高达4K@30fps的HDMI 2.0接口显示。 支持高达1080P@30fps的24位RGB并行接口。 支持2个显示面板(屏幕),共享6个图像图层。 支持1/64倍到64倍(1/64未覆盖)缩放器。 6) 连接子系统 2个集成物理层(Physical Layer,PHY)的PCIe 2.0控制器: 支持2个单通道PCIe 2.0接口,X1 PCI Express核心, 支持每条通道5 GT/s的链路速率。 支持High Speed和Full Speed USB 2.0主机/设备模式。 通过使用YT8521DH/DC和YT8531DH/DC两种PHY模式,以太网GMAC支持10/100/1000 Mb/s自动协商的数据传输速率。 通过仅使用其他PHY模式,以太网GMAC支持1000 Mb/s的数据传输速率。 2个SDIO 3.0/eMMC 5.0主机控制器。 2个CAN2.0 B,数据速率高达5 Mb/s。 7) 安全子系统 加密引擎: 移动行业处理器接口(Mobile Industry Processor Interface,MIPI); 摄像头串行接口(Camera Serial Interface,CSI)。 支持256位随机数生成。 8) 音频DSP子系统 用于传统的音频/语音数据算法处理。 32位音频DSP,支持浮点指令。 96 KB DTCM,96 KB ITCM。 16 KB Icache,32 KB Dcache。 支持内部DMA。 支持片上调试(Open onChip Debugger,OCD)。 32个中断计数。 9) 音频接口子系统 8通道的内置音频(InterIC Sound,I2S)总线,支持playback和record功能,支持master/slave模式,带DMA接口,可用于HDMI Audio 播放音频。 8通道的PCM TDM,支持playback和record功能,支持master/slave模式,带DMA接口。 提供2通道的SPDIF,仅支持playback功能。 用于数字MIC应用的4通道PDM输入。 10) 其他系统外设 6× UART,7×I2C,7×SP,2×SDIO,1×DPI(并行RGB显示),7×32位计时器,1×温度传感器,2×INTC,8×PWM输出,1×32位WDT复位输出,64×GPIO,1×DVP传感器输入接口,3×GPCLK输出。 3.1.3JH7110处理器地址映射 本小节介绍JH7110处理器的存储空间映射关系。表31是U74核存储映射表,表32是E24核存储映射表,表33是音频DSP存储映射表,表34是NoC存储映射表。 1) U74核存储映射 表31U74核存储映射表 起 始 地 址 结 束 地 址 大小 属性 设备 0x00_0000_00000x00_0000_00FF调试 0x00_0000_01000x00_0000_2FFF保留 0x00_0000_30000x00_0000_3FFFRWX A错误设备 0x00_0000_40000x00_015F_FFFF保留 0x00_0110_10000x00_0110_1FFF8 KBRWX AS7 Hart0 DTIM 0x00_0170_00000x00_0170_0FFFRW AS7 Hart0总线错误单元 0x00_0170_10000x00_0170_1FFFRW AU7 Hart1总线错误单元 0x00_0170_20000x00_0170_2FFFRW AU7 Hart2总线错误单元 0x00_0170_30000x00_0170_3FFFRW AU7 Hart3总线错误单元 0x00_0170_40000x00_0170_4FFFRW AU7 Hart3总线错误单元 0x00_0170_50000x00_01FF_FFFF保留 0x00_0200_00000x00_0200_FFFFRW ACLINT 0x00_0201_00000x00_0201_3FFFRW AL2高速缓存控制器 0x00_0201_40000x00_0203_1FFF保留 0x00_0203_20000x00_0203_3FFFRW AU7 Hart1 L2预取器 0x00_0203_40000x00_0203_5FFFRW AU7 Hart2 L2预取器 0x00_0203_60000x00_0203_7FFFRW AU7 Hart2 L2预取器 0x00_0203_80000x00_0203_9FFFRW AU7 Hart4 L2预取器 0x00_0203_A0000x00_07FF_FFFF保留 0x00_0800_00000x00_081F_FFFFRWX AL2 LIM 0x00_0820_00000x00_09FF_FFFFRW A保留 0x00_0A00_00000x00_0A1F_FFFFRWX I AL2零点装置 0x00_0A20_00000x00_0BFF_FFFF保留 0x00_0C00_00000x00_0FFF_FFFFRW APLIC 0x00_0000_00000x00_0FFF_FFFFU74内部 0x00_1000_00000x00_1FFF_FFFF256 MB外设端口 0x00_2000_00000x00_3FFF_FFFF512 MBRWX A系统端口 0x00_4000_00000x04_3FFF_FFFF16 GB内存 0x04_4000_00000x08_3FFF_FFFF16 GBRW A系统端口 0x09_0000_00000x09_7FFF_FFFF2 GBRWX A系统端口 0x09_8000_00000x09_FFFF_FFFF2 GBRWX APCIE配置空间+内存空间 2) E24核存储映射 表32E24核存储映射表 起 始 地 址 结 束 地 址 大小 属性 设备 0x0000_00000x0000_00FF调试 0x0000_01000x0000_2FFF保留 0x0000_30000x0000_3FFFRWX A错误设备 0x0000_40000x015F_FFFF保留 0x0200_00000x0200_FFFFRW ACLINT 0x1000_00000x3FFF_FFFF896 MBRW A外设 0x4000_00000xFFFF_FFFF3 GBRWX C ADDR,可以通过SYSCON重新映射到其他3 GB空间 3) 音频DSP存储映射 表33音频DSP存储映射表 起 始 地 址 结 束 地 址 大小 属性 设备 0x0000_00000x0FFF_FFFF128 MB保留 0x1000_00000x3FFF_FFFF256 MBRW A外设和内存 0x4000_80000x4000_FFFF32 KBRWX C A数据RAM1 0x4001_00000x4001_FFFF64 KBRWX C A数据RAM0 0x4002_00000x4002_FFFF64 KBRWX C A指令RAM0 0x4003_00000x4003_7FFF32 KBRWX C A指令RAM1 0x4100_00000xFFFF_FFFFRWX C ADDR,可以通过SYSCON重新映射到其他3 GB空间 4) NoC存储映射 表34NoC存储映射表 起 始 地 址 结 束 地 址 大小 属性 设备 0x1500_00000x1500_FFFF64 KBRW ACNODE_MST00.CR 0x1502_00000x1502_FFFF64 KBRW ARTMON_MST00.CR 0x1504_00000x1504_FFFF64 KBRW ACNODE_MST01.CR 0x1506_00000x1506_FFFF64 KBRW ARTMON_MST01.CR 0x1507_00000x1507_FFFF64 KBRW AEVMON_MST01.CR 0x1508_00000x1508_FFFF64 KBRW ACNODE_MST03.CR 0x150a_00000x150a_FFFF64 KBRW ARTMON_MST03.CR 0x150e_00000x150e_FFFF64 KBRW ABEMON_MST17.CR 0x1510_00000x1510_FFFF64 KBRW ACNODE_MST02.CR 0x1511_00000x1511_FFFF64 KBRW AFIRDR_MST02.CR 0x1512_00000x1512_FFFF64 KBRW ARTMON_MST02.CR 0x1513_00000x1513_FFFF64 KBRW AEVMON_MST02.CR 0x1514_00000x1514_FFFF64 KBRW ACNODE_MST04.CR 0x1516_00000x1516_FFFF64 KBRW ABEMON_MST04.CR 0x151b_00000x151b_FFFF64 KBRW AEVMON_MST09.CR 0x152d_00000x152d_FFFF64 KBRW AFIRDR_MST06.CR 0x152e_00000x152e_FFFF64 KBRW ARTMON_MST06.CR 0x152f_00000x152f_FFFF64 KBRW AEVMON_MST06.CR 0x1536_00000x1536_FFFF64 KBRW ABEMON_MST08.CR 0x1537_00000x1537_FFFF64 KBRW AEVMON_MST08.CR 0x153a_00000x153a_FFFF64 KBRW ABEMON_MST09.CR 0x1542_00000x1542_FFFF64 KBRW AFIRDR_MST10.CR 0x1543_00000x1543_FFFF64 KBRW AEVMON_MST10.CR 0x1546_00000x1546_FFFF64 KBRW AFIRDR_MST11.CR 0x1547_00000x1547_FFFF64 KBRW AEVMON_MST11.CR 0x1549_00000x1549_FFFF64 KBRW AFIRDR_MST12.CR 0x154a_00000x154a_FFFF64 KBRW ARTMON_MST12.CR 0x154b_00000x154b_FFFF64 KBRW AEVMON_MST12.CR 0x154c_00000x154c_FFFF64 KBRW AFIRDR_MST13.CR 0x154e_00000x154e_FFFF64 KBRW ARTMON_MST13.CR 0x154f_00000x154f_FFFF64 KBRW AEVMON_MST13.CR 0x1551_00000x1551_FFFF64 KBRW AFIRDR_MST14.CR 0x1552_00000x1552_FFFF64 KBRW ARTMON_MST14.CR 0x1553_00000x1553_FFFF64 KBRW AEVMON_MST14.CR 0x1555_00000x1555_FFFF64 KBRW AFIRDR_MST15.CR 0x1556_00000x1556_FFFF64 KBRW ARTMON_MST15.CR 0x1557_00000x1557_FFFF64 KBRW AEVMON_MST15.CR 0x1560_00000x1560_FFFF64 KBRW AEVMON_SLV00.CR 0x1561_00000x1561_FFFF64 KBRW ASNODE_SLV00.CR 0x1568_00000x1568_FFFF64 KBRW AINTRRPT_DDR.CR 0x156a_00000x156a_FFFF64 KBRW ASNODE_SLV01.CR 0x156c_00000x156c_FFFF64 KBRW AINTRRPT_SYS.CR 0x156d_00000x156d_FFFF64 KBRW ASNODE_SLV02.CR 0x156f_00000x156f_FFFF64 KBRW AINTRRPT_ISP.CR 0x1570_00000x1570_FFFF64 KBRW A操作维护中心(Operation and Maintenance Center,OMC)配置和DDR控制器I 3.2VisionFive 2 RISCV单板计算机简介 VisionFive 2是集成3D GPU的高性能量产RISCV单板计算机。该单板计算机在处理器工作频率、多媒体处理能力、可扩展性等方面均为业界领先水平,其优越的性能和合理的价格使VisionFive 2成为有史以来性价比较高的RISCV开发板。 VisionFive 2搭载四核64位RV64GC ISA的芯片平台,工作频率最高可达1.5 GHz,集成IMG BXE432 MC1,支持OpenCL 3.0、OpenGL ES 3.2和Vulkan 1.2。VisionFive 2提供2/4/8 GBLPDDR4 RAM选项,外设I/O接口丰富,包括M.2接口、eMMC插槽、USB 3.0接口、40pin GPIO header、千兆以太网接口、TF卡插槽等。VisionFive 2不仅配有板载音频处理和视频处理能力,还具有多媒体外设接口MIPICSI和MIPIDSI。开源的VisionFive 2具有强大的软件适配性,支持Debian操作系统及该系统上运行的各种软件。 3.2.1VisionFive 2 RISCV单板计算机组成 VisionFive 2 RISCV单板计算机的组成和组成单元分别如图31、表35所示。 图31VisionFive 2 RISCV单板计算机的组成 表35VisionFive 2 RISCV单板计算机的组成单元 编号 描述 编号 描述 1JH7110 RISCV 四核64位RV64GC指令集架构(Instruction Set Architecture,ISA)芯片平台142×以太网接口(RJ45) 2有源以太网(Power Over Ethernet,PoE)Header15HDMI 2.0接口 3启动模式pin163.5 mm音频插孔 440pin通用编程I/O端口(General Purpose Input/Output Ports,GPIO)Header172×USB 3.0接口 52 GB/4 GB/8 GB LPDDR4 SDRAM182×USB 3.0接口 6Reset键194lane MIPI DSI 7EEPROM20USB 3.0主机控制器 8USBC接口 可用于供电和数据传输212lane MIPI DSI 92lane MIPI CSI22eMMC插槽 10PMIC23TF卡插槽 112pin风扇接口24QSPI Flash 12GMAC0 PHY25M.2 MKey 13GMAC1 PHY-- 3.2.2VisionFive 2 RISCV单板计算机外设 1) GPIO接口 VisionFive 2提供了40pin 引脚,这些引脚既有电源、接地,也有常用的GPIO口。所有GPIO口都可以通过设置将其复用为其他功能引脚,包括CAN总线、SDIO、音频、DMIC、 I2C、I2S、PWM、SPI、UART等。具体的引脚分布如图32所示。 图32VisionFive 2引脚分布 2) eMMC插槽 VisionFive 2为eMMC模块提供高速eMMC插槽,作为操作系统和数据存储。eMMC插槽兼容工业标准的pin分布和外形尺寸。 3) 摄像头和显示接口 摄像头: VisionFive 2提供1个双通道MIPI CSI摄像机接口,支持最高1080P@30fps。 显示接口: 1×2lane MIPI DSI显示接口(最高1080p@30fps); 1×4lane MIPI DSI显示接口,在单屏显示和双屏显示模式下支持最高2K@30fps; 1×HDMI 2.0,支持最高4K@30fps或2K@60fps。 4) USB Host 提供4个USB 3.0接口(通过JH7110的PCIe 2.01×lanes复用)。 5) USB Device接口 1个USB Device接口和USBC接口复用。 6) HDMI 提供1个HDMI接口,支持HDMI 2.0,支持最高4K@30fps或2K@60fps。 7) 音频插孔 通过4环3.5 mm耳机插孔输出模拟音频。 8) M.2连接器 提供带有1个PCIe 2.0接口的M.2 MKey SSD插槽,支持高速存储设备。 9) 千兆以太网接口 提供2个RJ45千兆以太网接口。 10) 启动模式pin 提供专门的pin帮助用户在上电前配置启动模式。有四种启动模式可供选择: 1 bit QSPI NOR Flash,SDIO 3.0,eMMC,UART。 11) 4pin PoE Header 提供PoE功能。PoE在给网络设备供电的同时能传输数据、简化布线。启用PoE功能需要另行购买PoE拓展版。 12) 风扇接口 提供1个2pin风扇接口。需要散热时,可将风扇(2pin,5 V)连接到相应接口处。 13) Reset按钮 提供1个Reset按钮。需要重置VisionFive 2时,长按Reset键3秒以上,以确保重置成功。 3.3快速使用 VisionFive 2 RISCV单板计算机 3.3.1将操作系统烧录到MicroSD卡上并扩展分区 将Debian Linux烧录到MicroSD卡上,以便它可以在VisionFive 2上运行。本小节介绍将Debian烧录到MicroSD卡上的步骤。 按照以下步骤,在Linux系统或Windows系统上烧录镜像。 (1) 使用MicroSD卡读卡器将MicroSD卡连接至计算机。 (2) 下载最新Debian镜像。 (3) 解压.bz2文件。 (4) 下载BalenaEtcher。 (5) 安装并运行BalenaEtcher(如图33所示)。 图33安装balenaEtcher (6) 单击Flash from file,选择解压后的镜像文件starfiveJH7110VF2.img, 其中的表示Debian镜像的版本号。 (7) 单击Select target,并选择连接好的MicroSD卡。 (8) 单击Flash!开始烧录。 登录Debian后,为充分利用SD卡上未使用的空间,执行以下步骤,扩展VisionFive 2的分区。 (1) 执行以下命令,列出可使用的磁盘空间。 df -h 输出示例如下所示。 root@starfive:~# df -h Filesystem Size Used Avail Use% Mounted on udev 1.7G 0 1.7G 0% /dev tmpfs 390M 1.7M 388M 1% /run /dev/mmcblk1p3 4.8G 3.2G 1.6G 68% / tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 390M 32K 390M 1% /run/user/111 tmpfs 390M 24K 390M 1% /run/user/0 (2) 以磁盘名作为参数运行parted命令。 parted /dev/mmcblk1 示例输出如下所示。 root@starfive:~# parted /dev/mmcblk1 GNU Parted 3.5 Using /dev/mmcblk1 Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) resizepart 3 100% Warning: Partition /dev/mmcblk1p3 is being used. Are you sure you want to continue? Yes/No? Y (parted) q Information: You may need to update /etc/fstab. root@starfive:~# (3) 执行resize2fs命令调整/dev/mmcblk1p3分区的大小,以充分利用未使用的块。 示例命令和输出如下所示。 root@starfive:~# resize2fs /dev/mmcblk1p3 resize2fs 1.46.5 (30-Dec-2021) Filesystem at /d[ 192.744328] EXT4-fs (mmcblk1p3): resizing filesystem from 1280507 to 31186944 blocks ev/mmcblk1p3 is mounted on /; on-line resizing required old_desc_blocks = 1, new_desc_blocks = 15 [ 196.934822] EXT4-fs (mmcblk1p3): resized filesystem to 31186944 The filesystem on /dev/mmcblk1p3 is now 31186944 (4k) blocks long. 执行df h命令以验证分区的新大小,并验证扩展分区(/dev/mmcblk1p3)的步骤是否成功。以下输出表示修改成功。 root@starfive:~# df -h Filesystem Size Used Avail Use% Mounted on udev 1.7G 0 1.7G 0% /dev tmpfs 390M 1.8M 388M 1% /run /dev/mmcblk1p3 118G 3.3G 114G 3% / tmpfs 2.0G 0 2.0G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 390M 32K 390M 1% /run/user/0 3.3.2更新SPL和UBoot 本小节提供更新VisionFive 2的第二阶段程序加载器(Secondary Program Loader,SPL)和UBoot的两种方法,分别是通过tftpboot命令更新SPL和UBoot,通过flashcp命令更新SPL和UBoot。其中第二种方法仅支持镜像版本为VF2_v2.5.0或高于该版本的镜像。 1) 通过tftpboot命令 通过tftpboot命令更新SPL和UBoot,执行以下步骤。 (1) 部署简单文件传输协议(Trivial File Transfer Protocol,TFTP)服务器。以下是用于Ubuntu发行版上执行的示例命令。 sudo apt install tftpd-hpa (2) 打开VisionFive 2,等待它进入UBoot命令行界面。 (3) 执行以下命令设置环境变量。 setenv ipaddr 192.168.120.222;setenv serverip 192.168.120.99 (4) 使用ping命令,检查主机与VisionFive 2的连接情况。 (5) 初始化SPI Flash。 sf probe (6) 更新SPL二进制文件。 tftpboot 0xa0000000 ${serverip}:u-boot-spl.bin.normal.out sf update 0xa0000000 0x0 $filesize (7) 更新UBoot二进制文件。 tftpboot 0xa0000000 ${serverip}:VisionFive 2_fw_payload.img sf update 0xa0000000 0x100000 $filesize 2) 通过flashcp命令 通过flashcp命令更新SPL和UBoot,执行以下步骤。 (1) 执行以下命令,安装mtdutils安装包。 apt install mtd-utils (2) 通过安全复制(Secure Copy,SCP)将最新的ubootspl.bin.normal.out和VisionFive 2_fw_payload.img文件移植到Debian系统上。 (3) 执行以下命令,查看内存技术设备(Memory Technology Device,MTD)分区。 cat /proc/mtd QSPI Flash里的数据分区如下。 dev: size erasesize name mtd0: 00020000 00001000 "spl" mtd1: 00300000 00001000 "uboot" mtd2: 00100000 00001000 "data" (4) 根据不同分区的内容,分别通过flashcp更新SPL和UBoot。 更新SPL的示例命令如下所示。 flashcp -v u-boot-spl.bin.normal.out /dev/mtd0 更新UBoot的示例命令如下所示。 flashcp -v VisionFive 2_fw_payload.img /dev/mtd1 上述两个示例命令及对应的输出如下所示。 # flashcp -v u-boot-spl.bin.normal.out /dev/mtd0 Erasing blocks: 32/32 (100%) Writing data: 124k/124k (100%) Verifying data: 124k/124k (100%) # flashcp -v VisionFive 2_fw_payload.img /dev/mtd1 Erasing blocks: 682/682 (100%) Writing data: 2727k/2727k (100%) Verifying data: 2727k/2727k (100%) (5) 重启系统,以使更新生效。 3.4本章小结 本章详细介绍了JH7110 64位四核RISCV SoC处理器芯的特点,内部主要组成模块的性能,并详细说明了处理器的存储空间映射关系。随后介绍了VisionFive 2单板计算机的组成和板上主要外设。最后介绍了快速使用开发板的过程,为用户今后的使用搭建好运行环境。