619|1

61

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

国产Tang Primer 25K测评】基于E203的扩展外设的简单例子-第二篇软件层 [复制链接]

 

上一篇演示了E203写寄存器的硬件层操作,这一片就来简单讲一下软件该如何添加我们的寄存器;

  1.     首先为了开发方便,我们必须要添加这样下载一个软件:Nucleo Studio ,我找了一篇下载参考的帖子:Nuclei Studio IDE 安装及导入项目_nucleistudio-CSDN博客
  2. 下载完软件,如何在软件新建工程请看这个up主的视频:【RISC-V】手把手教你使用蜂鸟E203-v2(Altera及国产FPGA篇)_哔哩哔哩_bilibili
  3. 具体新建自己的寄存器和寄存器头文件和源文件;
    1. 不知道如何新建文件夹添加编译路径的话,我们其实可以直接选择在已有的任意文件夹新建头/源文件,我建立了命名为key_i.c 和 key_i.h 的文件 
       
    2. 其次先打开hbirdv2.h,添加自定义寄存器,这里添加自定义寄存器 k2 ,并通过GAME_BASE确定该自定义寄存器的地址(有GAME字眼的都是我自己添加的),其实就是借鉴其他寄存器和结构体的定义方式照着写。
       
          
    3.  这里添加自定义寄存器的前提是 我们在硬件层的总线桥上添加了该寄存器的地址,其实就是我上一篇帖子提到的e203_subsys_perips.v,如下这篇图片中代码的注释就是每个寄存器的地址,所有普通的寄存器的初始位置是HBIRD_PERIPH_BASE + xxx_BSAE(寄存器偏移基地址)= 0x10000000 +xxx_BSAE(寄存器偏移基地址),offset是寄存器在偏移基地址上更进一步的偏移,一般是+0x04。 
       
    4. 然后写一个函数:向自定义寄存器写入数据并发送:
       
    5. 实际使用该函数:
       
       

最新回复

这里添加自定义寄存器的前提是 我们在硬件层的总线桥上添加了该寄存器的地址,其实就是我上一篇帖子提到的e203_subsys_perips.v,如下这篇图片中代码的注释就是每个寄存器的地址,所有普通的寄存器的初始位置是HBIRD_PERIPH_BASE + xxx_BSAE(寄存器偏移基地址)= 0x10000000 +xxx_BSAE(寄存器偏移基地址),offset是寄存器在偏移基地址上更进一步的偏移,一般是+0x04。  楼主的数据手册用得非常好呀。   详情 回复 发表于 2024-1-3 20:34
点赞 关注
 
 

回复
举报

6995

帖子

11

TA的资源

版主

沙发
 

这里添加自定义寄存器的前提是 我们在硬件层的总线桥上添加了该寄存器的地址,其实就是我上一篇帖子提到的e203_subsys_perips.v,如下这篇图片中代码的注释就是每个寄存器的地址,所有普通的寄存器的初始位置是HBIRD_PERIPH_BASE + xxx_BSAE(寄存器偏移基地址)= 0x10000000 +xxx_BSAE(寄存器偏移基地址),offset是寄存器在偏移基地址上更进一步的偏移,一般是+0x04。 

楼主的数据手册用得非常好呀。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表