跳转至

环境搭建

开发板介绍

张天飞老师编写的《RISC-V体系结构编程与实践》,里面的源码是基于 QEMU 模拟器的,可以认为它是一款虚拟的开发板。如果需要在真实开发板上学习,可以使用百问网的 DongshanPI-D1S 开发板。

DongshanPI-D1S 是百问网推出的一款基于 RISC-V 架构的学习裸机、 RTOS 的最小开发板。集成 CKLink 调试器,支持 OTG 烧录、 GDB 调试、串口打印,并将主芯片所有的信号全部引出,其中左右两侧兼容了树莓派的电源信号定义,可以很方便扩展模块。

D1S 是针对智能解码市场推出的高性价比 AIoT 芯片,它使用阿里平头哥的 64bit RISC-V 架构的 C906 处理器,内置了 64M DDR2 ,支持 FreeRTOS、RT-Thread 等 RTOS ,也支持 Linux 系统。同时集成了大量自研的音视频编解码相关 IP ,可以支持 H.265、H.264、MPEG-1/2/4、JPEG 等全格式视频解码,支持 ADC、DAC、12S、PCM、DMIC、OWA 等多种音频接口,可以广泛应用于智能家居面板、智能商显、工业控制、车载等产品。

D1s_pic_1

板子资料:http://download.100ask.net/boards/Allwinner/D1s/index.html

购买地址:https://item.taobao.com/item.htm?id=688098912622

下载资料

资料分两部分:开发板通用资料、《RISC-V体系结构编程与实践》的 D1S 源码。前者比较庞大,放在百度网盘;后者放在书籍配套的 GITEE 网站。

开发板通用资料:

打开 http://download.100ask.net/boards/Allwinner/D1s/index.html ,可以看到 D1s课程配套通用资料 对应的百度网盘地址,请自行下载。本课程主要使用下图所示的软件:

D1s_pic_2

《RISC-V体系结构编程与实践》的 D1S 源码:

打开https://gitee.com/weidongshan/riscv_programming_practice,登录后按如下界面操作:

D1s_pic_3

点击“克隆/下载”按钮之后,如下点击 下载ZIP 即可:

D1s_pic_4

如果你没有点击 下载ZIP,而是使用 GIT 命令来下载,那么下载成功后还需要执行如下命令:

git checkout DongShanPI_D1

安装软件

需要安装如下5个软件,它们都位于网盘资料 开发板通用资料\05_开发配套工具\ 目录下:

Git\Git-2.39.1-64-bit.exe:我们把它当做命令行,不能使用 Windows 自带的 DOS 命令行、Powershell(在里面无法执行 make 命令)

make\make-3.81.exe:make 工具

toolchain\Xuantie-900-gcc-elf-newlib-mingw-V2.6.1-gdbtui-20230210.tar.gz:这是 Windows 版本的交叉编译工具,并且支持 TUI

CKLinkServer\T-Head-DebugServer-windows-V5.16.6-20221102-1510.zip:这是调试服务软件

xfe\xfe.exe:烧写工具

Git Bash

双击 开发板通用资料\05_开发配套工具\Git\Git-2.39.1-64-bit.exe 即可安装。

启动 Git Bash 有两种方法:

① 点击 开始->Git->Git Bash

② 在文件浏览器进入某个目录后,在空白处点击右键弹出菜单后选择 Git Bash Here

在 Git Bash 中各种命令的用法跟 Linux 完全一样,比如也有cdlsrm 等命令。在 Git Bash 中,对路径的表示方法也跟 Linux 一样,比如 D 盘下的 abc 子目录使用 /d/abc 表示,而不是 D:\abc

在 Git Bash 中使用命令简单示范如下:

D1s_pic_5

make

双击 开发板通用资料\05_开发配套工具\make\make-3.81.exe 即可安装。安装时,要记住安装的路径,需要把安装路径下的 bin 目录放入环境变量 Path 里。

D1s_pic_6

如下图把 C:\Program Files (x86)\GnuWin32\bin 添加进环境变量 Path :

D1s_pic_7

验证:启动 Git Bash 后执行 make -v 命令,如下图所示。

D1s_pic_8

交叉工具链

开发板通用资料\05_开发配套工具\toolchain\Xuantie-900-gcc-elf-newlib-mingw-V2.6.1-gdbtui-20230210.tar.gz 解压即可,注意路径名不要有中文。

解压后要确认如下目录里的文件不是 0 字节:

D1s_pic_9

使用有些解压工具比如 banzip 可能会得到 0 字节的文件,建议使用 7-Zip 解压。

解压成功后,可以看到 riscv64-unknown-elf-gcc.exe 文件,如下图所示:

D1s_pic_10

需要把 riscv64-unknown-elf-gcc.exe 文件所在目录放入 Path 环境变量里,具体方法可以参考 《1.3.2 make》。结果如下图所示:

D1s_pic_11

验证:启动 Git Bash 后执行 riscv64-unknown-elf-gcc -v 命令,如下图所示( Git Bash 支持命令补全功能,输入 risc 后按 TAB 键会自动补全命令)。

D1s_pic_12

调试服务软件

先解压文件: 开发板通用资料\05_开发配套工具\CKLinkServer\T-Head-DebugServer-windows-V5.16.6-20221102-1510.zip

再双击里面的 setup.exe 即可安装。

烧写工具

开发板通用资料\05_开发配套工具\xfel 目录复制到其他非中文路径即可。

还需要把 xfel.exe 文件所在目录放入 Path 环境变量里,具体方法可以参考 《1.3.2 make》 。结果如下图所示:

D1s_pic_13

验证:启动 Git Bash 后执行 xfel --help 命令,如下图所示。

D1s_pic_14