【Perf-V评测】基于Perf-V开发板蜂鸟定时器中断开发
<p>彭峰科技为Perf-V开发板提供蜂鸟E203软核。开发者可以方便地应用RISC-V指令集进行编程应用。本文将尝试基于蜂鸟E203软核进行编程。<br /> <br />
由于有了蜂鸟E203软核,Perf-V开发板开发变换到Hbird-B-SDK平台,它地结构如下:<br />
<br />
我们后面应用下列三个头文件:<br />
#include "platform.h"定义了SoC平台相关宏定义<br />
#include "encoding.h"存放编码和常数地宏定义<br />
#include "plic/plic_driver.h"存放驱动代码定义<br />
我们基于彭峰科技三色LED闪烁程序,设计新的定时器中断程序;<br />
1. 设计需求<br />
(1) D0每隔1s亮灭循环<br />
(2) 利用定时器中断<br />
2. 硬件原理图如下所示:<br />
<br />
<br />
通过查询VIVADO工程文件,找出E203软核与FPGA引脚相关映射关系如下表所示:<br />
名称 方向 GPGA pin IO标准 E203名称<br />
led_0 OUTPUT P6 LVCMOS33 <br />
led_1 OUTPUT K12 LVCMOS33 <br />
led_2 OUTPUT M16 LVCMOS33 <br />
led_3 OUTPUT P16 LVCMOS33 <br />
sw_0 INOUT T15 LVCMOS33 </p>
<p>3. 工程创建<br />
在software下创建“test1_gpio”文件夹,新建test1_gpio.c文件,代码如下所示:<br />
// These buttons are present only on the Freedom E300 Arty Dev Kit.<br />
#ifdef HAS_BOARD_BUTTONS<br />
#define BUTTON_0_OFFSET 15<br />
#define BUTTON_1_OFFSET 30<br />
#define BUTTON_2_OFFSET 31</p>
<p>#define INT_DEVICE_BUTTON_0 (INT_GPIO_BASE + BUTTON_0_OFFSET)<br />
#define INT_DEVICE_BUTTON_1 (INT_GPIO_BASE + BUTTON_1_OFFSET)<br />
#define INT_DEVICE_BUTTON_2 (INT_GPIO_BASE + BUTTON_2_OFFSET)<br />
<br />
//Perf-V 引脚定义列表<br />
//三色led引脚定义<br />
#define led0_r PIN_1_OFFSET<br />
#define led0_g PIN_2_OFFSET<br />
#define led0_b PIN_3_OFFSET</p>
<p>#define led1_r PIN_19_OFFSET<br />
//#define led1_g PIN_21_OFFSET<br />
//#define led1_b PIN_22_OFFSET</p>
<p>#define led2_r PIN_11_OFFSET<br />
#define led2_g PIN_12_OFFSET<br />
#define led2_b PIN_13_OFFSET</p>
<p>#define btn_0 PIN_15_OFFSET<br />
//#define btn_1 PIN_30_OFFSET<br />
//#define btn_2 PIN_31_OFFSET<br />
</p>
<p>//SPI2 pins<br />
//#define ck_ss PIN_26_OFFSET <br />
//#define ck_mosi PIN_27_OFFSET<br />
//#define ck_miso PIN_28_OFFSET<br />
//#define ck_sck PIN_29_OFFSET<br />
//led<br />
#define led_0<br />
#define led_1<br />
#define led_2<br />
#define led_3 PIN_14_OFFSET<br />
<br />
4. 编写makefile文件</p>
<p>编写makefile文件,目标文件定义为test1_g,指定头文件地址和源程序,代码如下所示:<br />
“make software PROGRAM=demo_gpio BOARD=Perf-V-creative-board”<br />
5. 下载</p>
<p> 下载并测试</p>
<p>VIVADO工程文件在哪里查的呢</p>
页:
[1]