[活动] 【Perf-V评测】基于Perf-V开发板蜂鸟定时器中断开发

superstar_gu   2021-4-19 10:31 楼主

彭峰科技为Perf-V开发板提供蜂鸟E203软核。开发者可以方便地应用RISC-V指令集进行编程应用。本文将尝试基于蜂鸟E203软核进行编程。
  1.jpg
由于有了蜂鸟E203软核,Perf-V开发板开发变换到Hbird-B-SDK平台,它地结构如下:
  2.jpg
我们后面应用下列三个头文件:
#include "platform.h"定义了SoC平台相关宏定义
#include "encoding.h"存放编码和常数地宏定义
#include "plic/plic_driver.h"存放驱动代码定义
我们基于彭峰科技三色LED闪烁程序,设计新的定时器中断程序;
1.    设计需求
(1)    D0每隔1s亮灭循环
(2)    利用定时器中断
2.    硬件原理图如下所示:
  3.jpg 4.jpg
 
通过查询VIVADO工程文件,找出E203软核与FPGA引脚相关映射关系如下表所示:
名称    方向    GPGA pin    IO标准    E203名称
led_0    OUTPUT    P6    LVCMOS33    
led_1    OUTPUT    K12    LVCMOS33    
led_2    OUTPUT    M16    LVCMOS33    
led_3    OUTPUT    P16    LVCMOS33    
sw_0    INOUT    T15    LVCMOS33    

3.    工程创建
在software下创建“test1_gpio”文件夹,新建test1_gpio.c文件,代码如下所示:
// These buttons are present only on the Freedom E300 Arty Dev Kit.
#ifdef HAS_BOARD_BUTTONS
#define BUTTON_0_OFFSET 15
#define BUTTON_1_OFFSET 30
#define BUTTON_2_OFFSET 31

#define INT_DEVICE_BUTTON_0 (INT_GPIO_BASE + BUTTON_0_OFFSET)
#define INT_DEVICE_BUTTON_1 (INT_GPIO_BASE + BUTTON_1_OFFSET)
#define INT_DEVICE_BUTTON_2 (INT_GPIO_BASE + BUTTON_2_OFFSET)
 
//Perf-V 引脚定义列表
//三色led引脚定义
#define    led0_r    PIN_1_OFFSET
#define    led0_g    PIN_2_OFFSET
#define    led0_b    PIN_3_OFFSET

#define    led1_r    PIN_19_OFFSET
//#define    led1_g    PIN_21_OFFSET
//#define    led1_b    PIN_22_OFFSET

#define    led2_r    PIN_11_OFFSET
#define    led2_g    PIN_12_OFFSET
#define    led2_b    PIN_13_OFFSET

#define    btn_0    PIN_15_OFFSET
//#define    btn_1   PIN_30_OFFSET
//#define    btn_2   PIN_31_OFFSET
 

//SPI2 pins
//#define    ck_ss         PIN_26_OFFSET    
//#define    ck_mosi     PIN_27_OFFSET
//#define    ck_miso        PIN_28_OFFSET
//#define    ck_sck      PIN_29_OFFSET
//led
#define    led_0
#define    led_1
#define    led_2
#define    led_3    PIN_14_OFFSET

4.    编写makefile文件

编写makefile文件,目标文件定义为test1_g,指定头文件地址和源程序,代码如下所示:
“make software PROGRAM=demo_gpio BOARD=Perf-V-creative-board”
5.    下载

 下载并测试

回复评论 (1)

VIVADO工程文件在哪里查的呢

点赞  2021-4-20 17:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复