RISC-V MCU中文社区

【分享】 基于hbirdv2的APB总线添加外设(三)

发表于 全国大学生集成电路创新创业大赛 2021-06-27 10:48:32
0
2510
5

队伍编号:CICC1893

队伍名称:夏芯


前文介绍了APB总线,并分享了硬件设计的过程。本篇分享软件实现过程。

1. 准备工作

将硬件下载至FPGA中后,使用Nuclei Studio进行软件调试。(此过程不展开)

2. 定义所添加外设的地址

在hbirdv2.h中添加自己外设的地址,注意:地址为基地址,即在ICB总线上分配给外设的地址。


3. 实现过程

方法一:

(1)在hbirdv2.h中添加偏移地址操作。


(2)在main.c中即可实现对寄存器的读写。

读:      

写:

方法二:

(1)在hbirdv2.h中添加结构体structure。


(2)在hbirdv2.h中添加对应结构体类型的变量


(3)添加读写操作函数

(4)main.c中调用函数


4. 结果

这里我们做了一个测试,在硬件中给了对应寄存器的初始值。debug之后能够正常读写。上述两种方法均有效。


需要注意的是:在进行读操作时,当前读操作的指令,返回的是上一次所访问寄存器的数。因此在进行开发时需要注意寄存器的读取顺序。







喜欢5
用户评论
初醒

初醒 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板