macOS 或 Linux 安装流程
安装准备
为了安装SiFli-SDK,需要根据操作系统安装一些软件包。可以参考以下安装指南,安装 Linux 和 macOS 的系统上所有需要的软件包。
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
sudo yum -y update && sudo yum install git wget flex bison gperf python3 python3-setuptools cmake ninja-build ccache dfu-util libusbx
sudo pacman -S --needed gcc git make flex bison gperf python cmake ninja ccache dfu-util libusb python-pip
SiFli-SDK 将使用 macOS 上默认安装的 Python 版本。
安装 CMake 和 Ninja 编译工具:
Homebrew 用户:
```bash brew install cmake ninja ```
MacPort 用户
```bash sudo port install cmake ninja ```
都不是 若以上均不适用,请访问 CMake 和 Ninja 主页,查询有关 macOS 平台的下载安装问题。
备注
如在上述任何步骤中遇到以下错误:
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
则必须安装 XCode 命令行工具,可运行 xcode-select --install
命令进行安装。
获取 SiFli-SDK
在围绕 SF32 构建应用程序之前,请先获取 SiFli 提供的软件库文件 SiFli-SDK 仓库。
获取 SiFli-SDK 的本地副本:打开终端,切换到要保存 SiFli-SDK 的工作目录,使用 git clone
命令克隆远程仓库。一般来说,我们建议使用release分支上的代码以获取最新的稳定版本。
警告
由于SiFli-SDK中包含子模块,不能通过下载zip包获取完整的代码。
打开 PowerShell 终端,运行以下命令:
mkdir -p C:\OpenSiFli
cd C:\OpenSiFli
git clone --recursive -b release/v2.4 https://github.com/OpenSiFli/SiFli-SDK
备注
上面的SDK路径仅做示例,用户可以根据自己的需要选择路径。
如果在国内访问 GitHub 较慢,可以使用 gitee
镜像来克隆 SiFli-SDK。请使用以下命令:
git clone --recursive -b release/v2.4 https://gitee.com/SiFli/sifli-sdk
需要注意,gitee的SiFli-SDK仓库的路径是全小写的,在后续出现SiFli-SDK
时需要注意大小写。
备注
如果想要切换到其他分支(例如开发分支),可以使用 checkout
命令,例如:
git checkout main
或者
git checkout release/v2.3
备注
需要注意的是,SiFli-SDK中存在一些子模块,因此需要使用 --recursive
参数来克隆所有子模块。如果你在克隆时忘记了这个参数,可以在克隆后运行以下命令来初始化子模块:
git submodule update --init --recursive
安装工具
除了 SiFli-SDK 本身,还需要为支持 SF32 的项目安装 SiFli-SDK 使用的各种工具,比如编译器、调试器、Python 包等。
cd ~/OpenSiFli/SiFli-SDK
./install.sh
对于国内用户来说,可以使用如下命令来添加国内镜像源:
cd ~/OpenSiFli/SiFli-SDK
export SIFLI_SDK_GITHUB_ASSETS="downloads.sifli.com/github_assets"
export PIP_INDEX_URL="https://mirrors.ustc.edu.cn/pypi/simple"
./install.sh
设置环境变量
通过以上步骤,SDK和相关工具就安装好了,但是他们的路径并不在环境变量里,没办法在任意目录使用。因此,必须设置一些环境变量。这可以通过 SiFli-SDK 提供的另一个脚本进行设置。
请在需要使用编译或下载命令的终端窗口运行以下命令:
. export.sh
备注
目前的脚本可能有一些偶现的bug,如果在编译的时候提示找不到arm-none-eabi-gcc
等命令,可以尝试运行两次. export.sh
解决。
如果需要经常运行 SiFli-SDK,可以为执行 export.sh 创建一个别名,具体步骤如下:
复制并粘贴以下命令到 shell 配置文件中(.profile、.bashrc、.zprofile 等)
alias sf32sdk='. $HOME/OpenSiFli/SiFli-SDK/export.sh'
通过重启终端窗口或运行
source [path to profile]
,如source ~/.bashrc
来刷新配置文件
现在可以在任何终端窗口中运行 sf32sdk
来设置或刷新 SiFli-SDK 环境。
不建议直接将 export.sh 添加到 shell 的配置文件。这样做会导致在每个终端会话中都激活 SDK 虚拟环境(包括无需使用 SiFli-SDK 的会话)。这违背了使用虚拟环境的目的,还可能影响其他软件的使用。