**这是本文档旧的修订版!**
RISC-V软核-Reindeer_step调试笔记
主要工作
1. 修改软核硬件代码,增加外设,修改外设地址 2. 安装工具链,python工具 3. 修改软件应用程序,make编译,脚本下载
修改软核硬件代码
- 修改原FP51的PWM外设,挂载到wishbone总线 - 修改了外设地址
修改PulseRain_MCU.qip文件
在工程导航栏PulseRain_MCU.qip文件中增加PWM文件,这样就无需在工程中添加pwm的文件了。
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "../submodules/PulseRain_rtl_lib/PWM/PWM_core.sv"] set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "../submodules/PulseRain_rtl_lib/PWM/wb_PWM.sv"]
修改peripherals.sv文件
增加PWM例化
信号端口增加pwm_out
output wire unsigned [`NUM_OF_PWM - 1 : 0] pwm_out
NUM_OF_PWM 在config.vh中定义
#### 修改wb_PWM.sv文件
##### 修改地址总线位宽


#### 修改config.sv文件
##### 修改寄存器位宽

##### 修改外设地址
```
//------------------------------------------------------------------------
// Timer
//------------------------------------------------------------------------
define MTIMELOWADDR 1)
1)
MM_REG_ADDR_BITS )'(0))
define MTIMEHIGHADDR ((MM_REG_ADDR_BITS )'(1))
define MTIMECMPLOWADDR ((MM_REG_ADDR_BITS )'(2))
define MTIMECMPHIGHADDR ((MM_REG_ADDR_BITS )'(3))
//------------------------------------------------------------------------
// UART
//------------------------------------------------------------------------
define UARTTXADDR ((MM_REG_ADDR_BITS )'(4))
define UARTBAUDRATE 115200`define UART_TX_BAUD_PERIOD (`MCU_MAIN_CLK_RATE / `UART_BAUD_RATE) `define UART_TX_BAUD_PERIOD_BITS ($clog2(`UART_TX_BAUD_PERIOD)) `define UART_STABLE_COUNT (`MCU_MAIN_CLK_RATE / `UART_BAUD_RATE / 2)
//------------------------------------------------------------------------ // GPIO //------------------------------------------------------------------------ `define GPIO_ADDR ((`MM_REG_ADDR_BITS )'(8)) `define NUM_OF_GPIOS 32 //------------------------------------------------------------------------ // PWM //------------------------------------------------------------------------ `define PWM_CSR_ADDR ((`MM_REG_ADDR_BITS )'(12)) `define PWM_DATA_ADDR ((`MM_REG_ADDR_BITS )'(13)) `define NUM_OF_PWM 1
## 安装工具链和python工具
参考
https://github.com/PulseRain/Reindeer,注意设置环境变量
## 修改软件,编译,下载
在software目录下,增加M10PWM.c和M10PWM.h文件,修改main.c
如果安装git的话,可以直接右键启动git bash 窗口

输入指令 make

编译后会生成step.elf文件。
在scripts目录下
D:\STEP_FPGA\Demo\riscv\Reindeer_Step\scripts
启动shell


python reindeerconfig.py –port=COM4 –reset –image D:\STEPFPGA\Dem
o\riscv\ReindeerStep\software\makefile\step.elf –consoleenable –run
```
下载完成后会复位运行