打开昉·星光 2,等待它进入U-Boot命令行界面。

根据文档描述,第一步是更新uboot 和 spl
[RISC-V] 为 VisionFive2 升级固件,安装 Debian Image 69 工程版 - jinzesudawei - 博客园 (cnblogs.com)

根据文档4.3章描述,更新uboot,第一步部署TFTP服务器。以下是用于Ubuntu发行版上执行的示例命令,如果我没猜错,此时开发板还没有启动吧,那是不是要在笔记本上执行,或者是内网虚拟机上执行?OK,问题不大。

第二步,打开昉·星光 2,如何打开?直接 通电吗?

U-Boot命令行界面是什么意思,如果我没猜错,需要设置 PIN 码吗?QSPI是吗,是00模式?

我猜命令行是要连接显示器才能显示是吧,可是我的显示器为什么一直是黑的,没有任何输出?

我只有两个显示器,都是黑的。

我使用USB上电,上电时红灯闪一下,就没有然后了。

风扇可以一直转。

很多理所当然的东西,如果不理所当然在写出来,就让人搞不清所以然。
比如“打开”,是否描述为“给板子上电有两种方式,USB或直流电源”,上电以后信号指示灯类会是什么情况,分别对应哪些故障。

再比如“命令行”,命令行有几种模式,如果是直连显示器,还是通过网络连接,还是通过串口连接,这些分别对应着不同的启动模式。而更新UBOOT貌似必须以QSPI启动,那必然是直连显示器了,因为好像直接启动时不能通过SSH连接。

那么为什么我的板子无法启动。另外UBOOT启动时是否需要插入SD卡,目前看是不需要,因为“拨掉SD卡是暴力进入的方法”,但是我试了不行。

为什么树莓派就没有这个问题,烧录插卡,开机一次成功。而这个板子要搞什么升级UBOOT,又是各种启动模式,十分的不友好。

板子买回来半年了,一次也没有开机成功过,一次也没有 :joy:

还有搞什么英文网站,也不是不能用,就是觉得中国的公司,胳膊往外拐,不友好。

你需要一个USB-串口转接器,几根杜邦线。在PC端安装USB串口设备,然后通过仿真终端程序,以115200波特率直接连到板子的对应针脚,都连好了再给板子上电。

如果不太确定,就多看看网上的嵌入式开发教程。特别是用串口连树莓派一类的。

至于中文英文什么的,是您自己的价值观问题。己所不欲勿施于人。

@synker 私聊你了,我试着视频手把手教你!

学英文还要开专利费吗?你自己不会来怪我们!英文怎么了?请你相信,英文好的中国人一般中文都比大众好!英语不好的人通常普通话也不是很好!

Feel free to give me a message if you get trouble.

VF2 不止在中国卖,还卖到世界其它地方,其它国家的朋友遇到问题是不是要先学习中文呢?不必要吧?

@synker larryw3i已经视频解决你的问题了吗?走出第一步,后面就比较顺利了. 请参考这个中文文档 https://doc.rvspace.org/VisionFive2/PDF/VisionFive2_QSG.pdf

(一)你的第一类问题: U-Boot命令行相关。
首先,进入U-Boot命令行的前提:

  1. 硬件环境:USB转TTL的转换器,USB连接电脑, 杜邦线连接到VisionFive 2正确的扩展引脚上, 特别注意TX和RX需要交叉对接。
    image

  2. 软件环境: 在windows上安装putty或者secureCRT等。

如何进入U-Boot命令行模式?
VF2单板上电,串口会打印数字并且进行递减计时,一般是从3开始递减,在数字减为0之前点击任意按键就可以进入U-Boot的命令行模式

(二)你的第二类问题: 启动模式相关

  1. 对于在VisionFive 2 的U-Boot的命令行模式,通过tftp的方式更新固件,无需插入SD卡
  2. 对于 Debain Image 69 工程版,需要选择正确的拨码开关,选择1-bit QSPI Nor Flash模式启动

(三)你的第三类问题: 显示和提示相关。 查看串口的打印,如果debian系统被成功加载。

  1. 通过HDMI线连接VisionFive 2 单板和显示器, 显示器会进入图形界面。
  2. VisionFive 2上的靠近type-C接口的LED指示灯会闪烁绿灯。

(四)你的第四类问题: 和使用tftp的方式来更新固件相关。

  1. linux环境(后面统称Ubuntu)来部署tftp服务器。 设置Ubuntu做为tftp服务端(请参阅《昉·星光单板计算机快速参考手册》中的使用以太网的第2步到第6步)

  2. VisionFive 2单板作为客户端来接收从tftp服务端(ubuntu)发送过来的文件,需要先进入U-Boot命令行模式

  3. 设置环境变量ipaddr (本地IP) 和 serverip (Ubuntu的IP), 设置完成为了确保正确,需要先了解下面三个和环境变量相关的命令:

    1) setenv: 设置某个环境变, 比如 setenv ipaddr x.x.x.x

    2) printenv: 查询通过setenv设置的某个参数,比如 printenv ipaddr, printenv不指定参数将会打印所有的环境变量

    3)saveenv: 使用setenv的命令设置完成之后,使用saveenv进行保存,才能真正保存flash中。所以为了确保生效,saveenv保持之前通过setevn设置的变量之后,重新上电启动VisionFive 2,并再次进入U-Boot命令行模式。

  4. 在VisionFive 2 的U-Boot命令行模式,使用ping 命令,检查主机和VisionFive 2的连接情况
    StarFive # ping x.x.x.x (x.x.x.x 代表 serverip,也就是Ubuntu的IP)
    ethernet@16030000 Waiting for PHY auto negotiation to complete… done|
    Using ethernet@16030000 device|
    host x.x.x.x is alive

  5. 在通过连通性检测之后,就可以在VisonFive 2上使用tftpboot命令来从tftp服务器(ubuntu)设置的文件路径中,获取SPL和 U-Boot的二进制文件到 VisionFive 2 的Nor Flash。

    StarFive # sf probe
    SF: Detected gd25lq128 with page size 256 Bytes, erase size 4 KiB, total 16 MiB

    StarFive # tftpboot 0xa0000000 ${serverip}:u-boot-spl.bin.normal.out
    Using ethernet@16030000 device
    TFTP from server y.y.y.y; our IP address is x.x.x.x
    Filename ‘u-boot-spl.bin.normal.out’.
    Load address: 0xa0000000
    Loading: ##########
    1.6 MiB/s
    done
    Bytes transferred = 132208 (20470 hex)

    StarFive # sf update 0xa0000000 0x0 $filesize
    device 0 offset 0x0, size 0x20470
    0 bytes written, 132208 bytes skipped in 0.23s, speed 5206961 B/s

    StarFive # tftpboot 0xa0000000 ${serverip}:visionfive2_fw_payload.img
    Using ethernet@16030000 device
    TFTP from server y.y.y.y; our IP address is x.x.x.x
    Filename ‘visionfive2_fw_payload.img’.
    Load address: 0xa0000000
    Loading: #################################################################
    #################################################################
    #################################################################
    #######
    2.2 MiB/s
    done
    Bytes transferred = 2955397 (2d1885 hex)
    StarFive # sf update 0xa0000000 0x100000 $filesize
    device 0 offset 0x100000, size 0x2d1885
    0 bytes written, 2955397 bytes skipped in 0.507s, speed 5922361 B/s
    StarFive #

没有,ta不理我。