差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
reindeer_step_make [2020/01/09 08:18] group003 [准备工作] |
reindeer_step_make [2020/01/17 15:16] (当前版本) group003 |
||
---|---|---|---|
行 1: | 行 1: | ||
# 使用make配置编译RISC-V应用程序 | # 使用make配置编译RISC-V应用程序 | ||
- | 以下操作步骤是在windows系统下进行,Linux系统大同小异。 | + | 以下操作步骤是在win10系统下进行,Linux系统大同小异。 |
## 准备工作 | ## 准备工作 | ||
* 小脚丫FPGA开发板 STEP-CYC10 | * 小脚丫FPGA开发板 STEP-CYC10 | ||
- | * Intel Quantus Prime Lite18.1版本以上 | + | * 安装Intel Quantus Prime Lite18.1版本以上 |
* 安装RISC-V工具链 | * 安装RISC-V工具链 | ||
* 安装Git | * 安装Git | ||
行 10: | 行 10: | ||
- | **准备1:小脚丫FPGA开发板 STEP-CYC10**\\ 小脚丫STEP-CYC10 是一款基于Intel Cyclone10设计的FPGA开发板。板卡尺寸只有72mm×40mm。核心FPGA芯片选用了Intel公司Cyclone 10 LP系列的10CL016YU256C8G,相比于前一代的Cyclone IV系列的FPGA,它的性能更强,功耗更低,板上的FPGA芯片资源达16000逻辑单元(LEs),同时该板卡最高支持10CL025YU256芯片。另外,板卡上集成了USB Blaster编程器、SDRAM、FLASH等多种外设。板上预留了PCIE子卡插座,你可以方便的进行扩展。 | + | **准备1:安装小脚丫FPGA开发板 STEP-CYC10**\\ 小脚丫STEP-CYC10 是一款基于Intel Cyclone10设计的FPGA开发板。板卡尺寸只有72mm×40mm。核心FPGA芯片选用了Intel公司Cyclone 10 LP系列的10CL016YU256C8G,相比于前一代的Cyclone IV系列的FPGA,它的性能更强,功耗更低,板上的FPGA芯片资源达16000逻辑单元(LEs),同时该板卡最高支持10CL025YU256芯片。另外,板卡上集成了USB Blaster编程器、SDRAM、FLASH等多种外设。板上预留了PCIE子卡插座,你可以方便的进行扩展。 |
{{ :step_cyc10_fpga开发板资源.png?nolink&600 |}} | {{ :step_cyc10_fpga开发板资源.png?nolink&600 |}} | ||
STEP-CYC10板卡上集成的编程器能够完美支持开发工具Quartus Prime,你只需要一根MicroUSB连接线就能够完成FPGA的编程仿真和下载,使用更加方便。 | STEP-CYC10板卡上集成的编程器能够完美支持开发工具Quartus Prime,你只需要一根MicroUSB连接线就能够完成FPGA的编程仿真和下载,使用更加方便。 | ||
行 17: | 行 17: | ||
**准备3:安装RISC-V工具链**\\ 我们使用高级编程语言比如C/C++编写的程序最终要编译成机器代码(二进制文件),才可以运行在CPU上运行,因此用于编译处理程序的软件工具链是必不可少的,嵌入式软件工具链中主要包括交叉编译器和链接器,此外还包含了许多的辅助工具。RISC-V工具链是开源的,源代码分享在github 上[[https://github.com/riscv/riscv-tools|riscv-tools]],这里我们使用GNU MCU Eclipse 中的RISC-V工具链[[https://gnu-mcu-eclipse.github.io/toolchain/riscv/|The RISC-V Embedded GCC]], | **准备3:安装RISC-V工具链**\\ 我们使用高级编程语言比如C/C++编写的程序最终要编译成机器代码(二进制文件),才可以运行在CPU上运行,因此用于编译处理程序的软件工具链是必不可少的,嵌入式软件工具链中主要包括交叉编译器和链接器,此外还包含了许多的辅助工具。RISC-V工具链是开源的,源代码分享在github 上[[https://github.com/riscv/riscv-tools|riscv-tools]],这里我们使用GNU MCU Eclipse 中的RISC-V工具链[[https://gnu-mcu-eclipse.github.io/toolchain/riscv/|The RISC-V Embedded GCC]], | ||
- | - 下载安装,下载链接[[https://github.com/gnu-mcu-eclipse/riscv-none-gcc/releases/download/v7.2.0-1-20171109/gnu-mcu-eclipse-riscv-none-gcc-7.2.0-1-20171109-1926-win64-setup.exe|v7.2.0-1-20171109 release]] | + | - 下载安装,下载链接[[https://github.com/gnu-mcu-eclipse/riscv-none-gcc/releases/download/v7.2.0-1-20171109/gnu-mcu-eclipse-riscv-none-gcc-7.2.0-1-20171109-1926-win64-setup.exe|v7.2.0-1-20171109 release]],[[https://pan.baidu.com/s/1XntB7JsVkkwEER4s3gDB_g|百度网盘下载]] |
- 增加环境变量:安装完成后需要在系统环境变量中增加$PATH:C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.2.0-1-20171109-1926\bin | - 增加环境变量:安装完成后需要在系统环境变量中增加$PATH:C:\Program Files\GNU MCU Eclipse\RISC-V Embedded GCC\7.2.0-1-20171109-1926\bin | ||
行 23: | 行 23: | ||
**准备5:安装Python3及pyserial包**\\ 编写软件并编译出.elf的镜像文件之后,需要使用一个名为 reindeer_config.py 的Python脚本将数据下载到Reindeer_Step运行。因此我们需要在电脑上安装Python3。 | **准备5:安装Python3及pyserial包**\\ 编写软件并编译出.elf的镜像文件之后,需要使用一个名为 reindeer_config.py 的Python脚本将数据下载到Reindeer_Step运行。因此我们需要在电脑上安装Python3。 | ||
- | - [[https://www.python.org/downloads/windows/|Python3安装下载]],注意安装时选择添加环境变量。 | + | - [[https://www.python.org/downloads/windows/|Python3下载]],注意安装时选择添加环境变量。 |
- 安装pyserial包,脚本程序reindeer_config.py中使用了串口模块pyserial,因此需要手动安装:打开命令行终端输入:pip3 install pyserial。 | - 安装pyserial包,脚本程序reindeer_config.py中使用了串口模块pyserial,因此需要手动安装:打开命令行终端输入:pip3 install pyserial。 | ||
## 操作步骤 | ## 操作步骤 | ||
- | * 获取PulseRain Reindeer_Step MCU软核 | + | * 1.获取PulseRain Reindeer_Step MCU软核 |
- | * 配置软核到STEP-CYC10 FPGA开发板 | + | * 2.配置软核到STEP-CYC10 FPGA开发板 |
- | * Arduino IDE安装板卡支持包 | + | * 3.开发MCU应用程序并编译 |
- | * 在Arduino IDE中开发应用程序 | + | * 4.下载软件程序到开发板并运行 |
- | * 下载程序到开发板并运行 | + | |
**步骤1:获取PulseRain Reindeer_Step MCU软核** | **步骤1:获取PulseRain Reindeer_Step MCU软核** | ||
行 42: | 行 41: | ||
* 开发了相关的Arduino Support Package,使得用户可以通过Arduino开发环境来直接对软核处理器编程。 | * 开发了相关的Arduino Support Package,使得用户可以通过Arduino开发环境来直接对软核处理器编程。 | ||
{{ :pulserain_reindeer_step_mcu软核结构.png?nolink&700 |}} | {{ :pulserain_reindeer_step_mcu软核结构.png?nolink&700 |}} | ||
- | Reindeer_Step的源代码已经开源在Github上,你可用如下的命令得到代码 : | ||
- | <code> | + | 软核源文件:\\ |
- | git clone https://github.com/PulseRain/Reindeer_Step.git | + | {{::reindeer_step_v1.15.rar|}} |
- | </code> | + | |
- | 这个操作会在本地目录建立一个stepfpga 目录 | + | |
- | 也可以直接点击链接[[https://github.com/PulseRain/Reindeer_Step.git|Reindeer_Step]],在网页的Clone or download选项中Download ZIP文件。 | + | |
- | <code> | ||
- | cd Reindeer_Step | ||
- | </code> | ||
- | 进入该目录 | ||
- | |||
- | <code> | ||
- | git submodule update --init --recursive | ||
- | </code> | ||
- | 注意init和recursive前面是两个 - ,更新所有的submodules\\ (注意该软件遵循GNU通用公共许可证协议) | ||
**步骤2:配置软核到STEP-CYC10 FPGA开发板** | **步骤2:配置软核到STEP-CYC10 FPGA开发板** | ||
行 68: | 行 54: | ||
如果不熟悉Quartus prime的使用可以先学习这里的上手教程quartus_prime的使用。\\ 如果不熟悉FPGA的开发可以先学习我们的FPGA入门教程。 | 如果不熟悉Quartus prime的使用可以先学习这里的上手教程quartus_prime的使用。\\ 如果不熟悉FPGA的开发可以先学习我们的FPGA入门教程。 | ||
+ | **步骤3:开发MCU应用程序并编译** | ||
+ | 在software文件夹中有可以运行在Reindeer_Step软核的驱动程序。\\ | ||
+ | 在这个文件夹中打开命令行终端,如果装有Git的话,可以直接右键,选择git bash here,\\ | ||
+ | 输入命令“make”\\ | ||
+ | {{::risc-v-make.png?600|}} | ||
+ | |||
+ | 如果输出Linking step.elf表示编译通过并生成了程序镜像step.elf,如果报错,请检查RISC-V工具链是否安装并设置过环境变量。\\ | ||
+ | |||
+ | **步骤4:下载软件程序到开发板并运行** | ||
+ | 在scripts文件夹中有几个Python文件,这其中包括用于下载的脚本,在这个文件夹中启动命令行终端,可以使用window power shell或cmd,在文件夹窗口点击左上角,选择“打开windows powershell”。\\ | ||
+ | {{::risc-v-下载.png?600|}} | ||
+ | |||
+ | 输入 | ||
+ | <code> | ||
+ | |||
+ | python reindeer_config.py --port=COM4 --reset --image D:\XXXX\Reindeer_Step\software\step.elf --console_enable --run | ||
+ | |||
+ | </code> | ||
+ | |||
+ | 上面命令中COM4替换为自己电脑中插入板子串口USB后的端口号 \\ | ||
+ | D:\XXXX\ 替换Wie自己电脑中文件所在目录。\\ | ||
+ | 回车运行。\\ | ||
+ | {{::risc-v-运行.png?600|}} | ||
+ | 如果报错请根据提示信息调试。\\ | ||
+ | ## 返回目录 | ||
+ | * [[fpga_risc-v|基于FPGA与RISC-V的嵌入式系统设计]] | ||
+ | - [[reindeer_step_arduino|使用Arduino IDE开发RISC-V处理器]] | ||
+ | - [[reindeer_step_make|使用make配置编译RISC-V应用程序]] |