打印
[FPGA]

【工程源码】基于FPGA的Altera SOC更改Qsys后重新生成hps_0.h文件

[复制链接]
394|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zgmxs|  楼主 | 2020-2-16 18:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文由FPGA爱好者小梅哥编写,未经作者许可,本文仅允许网络论坛复制转载,且转载时请标明原作者。

Qsys系统和Linux应用程序之间通过一个名为hps_0.h的文件交互硬件信息,例如总线上添加了哪些外设,每个外设相对于HPS外部总线的偏移地址,每个外设所占的地址空间等,类似于开发NIOS II应用程序时候的system.h文件。每当Qsys系统中更新了硬件之后,如果需要直接在Linux中编写应用程序以直接操作寄存器的方式来控制这些外设,则需要重新生成一次该文件,然后将该文件添加到软件工程下作为头文件包含。
那么如何得到hps_0.h文件呢?需要借助SoCEDS Command Shell,首先打开SoC EDS Command Shell,然后使用cd命令将路径切换到Quartus 工程所在目录,例如D:\fpga\work_debug\ModBus_Processor\SoC_TXGLJ,则切路径的命令为:
  
cd  d://fpga/work_debug/ModBus_Processor/SoC_TXGLJ
  
然后,输入以下命令就可以得到hps_0.h文件了
  
sopc-create-header-files  "./soc_system.sopcinfo" --single hps_0.h --module hps_0
  
注意,soc_system.sopcinfo是Qsys编译得到的一个硬件信息文件,工程名称不一样,该文件的名字也不一样,需要根据自己的工程名称进行修改。
另外,输入ls命令,也可以看到工程目录下存在一个名为generate_hps_qsys_header.sh的文件,这是一个脚本文件,包含了生成hps_0.h文件的具体命令。我们可以到工程目录下打开该文件查看具体内容,实际内容就是我们上面输入的那条命令,因此,如果经常需要生成hps_0.h,可以直接执行该脚本即可。如果工程名不一样,修改为自己的sopcinfo文件名即可。
  
#!/bin/sh
  
sopc-create-header-files \
  
"./ soc_system.sopcinfo" \
  
--single hps_0.h \
  
--module hps_0
  
执行该脚本的命令为:
  
./  generate_hps_qsys_header.sh
  

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

104

主题

104

帖子

3

粉丝