Ai-M61-32S-Kit 开发板 Rust 裸机编程指南:环境准备

前言

前段时间吧,在某站上瞎逛的时候,看到了个能白嫖的视频:

白拿开发板第二期 | 安信可论坛疯狂福利!免费领取 Ai-M61-32S 开发板,不限量!_哔哩哔哩_bilibili

当时寻思有点好玩,再加上之前用 stm32 开发的也挺顺利的,就去嫖了一个板子回来,想着估计把玩一两天就能点亮了。

结果板子是去年 12 月初到的,现在都快到今年 2 月的下旬了,才成功点亮板子。

1708337491947

现在回过头来整理一下资料吧。

开发环境配置

RISC-V 硬件准备

这里我使用的是安信可送的 Ai-M61-32S-Kit 开发板,规格书可以见:ai-m61-32s-kit_v1.1.0 规格书 20230324.pdf (ai-thinker.com)。不过这个板子说实话缺少了开发板最重要的东西:调试器接口。

虽然说吧,这玩意虽然用到的少,但没有就有点难受了,虽然似乎可以通过配置 gpio 口功能的方式复用,但对于连灯都还没能点亮的时候就基本等于没得调试,全靠摸索。而且博流的东西嘛,DDDD,资料是真的少啊。

GCC 环境配置

虽然这里是用到了 Rust 来进行开发,不过因为基本还是得看着博流那个 SDK 来对着做,因此这里还是要安装一下 GCC 工具链。这里因为 Pacman 软件包管理器用起来太舒服了,因此推荐安装 MSYS2 环境来进行后续操作。

MSYS2 的安装部分我这里就略过了,按照MSYS2 官网的图文说明进行安装即可。安装好之后按照文档的说明完成如下配置(其实这里配不配都行,只是我有在用 Windows Terminal 和 Visual Studio Code):

之后打开终端,输入如下的命令安装 GCC 工具链(有点点大):

1
pacman -S mingw-w64-x86_64-toolchain

Rust 开发环境配置

首先安装 Rust 版本管理器 rustup 和 Rust 包管理器 cargo,这里我们用官方的安装脚本来安装:

1
curl https://sh.rustup.rs -sSf | sh

回车后,根据下面的输出进行配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
info: downloading installer

Rust Visual C++ prerequisites

Rust requires a linker and Windows API libraries but they don't seem to be
available.

These components can be acquired through a Visual Studio installer.

1) Quick install via the Visual Studio Community installer
(free for individuals, academic uses, and open source).

2) Manually install the prerequisites
(for enterprise and advanced users).

3) Don't install the prerequisites
(if you're targeting the GNU ABI).

>3


## 敏感信息已删除 ##

Current installation options:


default host triple: x86_64-pc-windows-msvc
default toolchain: stable (default)
profile: default
modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>2

I'm going to ask you the value of each of these installation options.
You may simply press the Enter key to leave unchanged.

Default host triple? [x86_64-pc-windows-msvc]
x86_64-pc-windows-gnu

Default toolchain? (stable/beta/nightly/none) [stable]
stable

Profile (which tools and data to install)? (minimal/default/complete) [default]
complete

Modify PATH variable? (Y/n)
y


Current installation options:


default host triple: x86_64-pc-windows-gnu
default toolchain: stable
profile: complete
modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1

等待上面的操作完成后,如果没有提示什么错误信息,cargo 和 rustup 就已经被成功安装了。此时可以输入如下的命令确认已经正确安装了 Rust 工具链:

1
rustc --version

如果已经正确安装,则可以看到如下的当前安装的工具链的版本

1
rustc 1.76.0 (07dca489a 2024-02-04)

接下来把后面开发需要用到的一些软件包给装装

1
2
3
rustup target add riscv32imac-unknown-none-elf
cargo install cargo-binutils

可能遇到的问题

  1. Pacman 下载软件的时候出现速度慢或者连接失败的问题

请更换 Pacman 的软件源为国内源,例如要更换为中科大的源则在终端内输入命令:

1
sed -i "s#mirror.msys2.org/#mirrors.ustc.edu.cn/msys2/#g" /etc/pacman.d/mirrorlist*

替换镜像源后,再执行 pacman -Sy 刷新软件包数据即可

  1. 配置 Rust 环境时官方那个脚本下载失败或下载速度慢

将 rustup 的镜像地址修改为国内源,例如可以换成中科大的源:

1
2
3
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
curl https://sh.rustup.rs -sSf | sh