原创 【博客大赛】【小梅哥FPGA】Altera SOC更改Qsys后重新生成hps_0.h文件 ...

2018-5-4 11:49 5003 32 3 分类: FPGA/CPLD 文集: FPGA深入学习

在Altera SoC的开发中,Qsys系统和Linux应用程序之间通过一个名为hps_0.h的文件交互硬件信息,例如总线上添加了哪些外设,每个外设相对于HPS外部总线的偏移地址,每个外设所占的地址空间等,类似于开发NIOS II应用程序时候的system.h文件。每当Qsys系统中更新了硬件之后,如果需要直接在Linux中编写应用程序以直接操作寄存器的方式来控制这些外设,则需要重新生成一次该文件,然后将该文件添加到软件工程下作为头文件包含。

那么如何得到hps_0.h文件呢?需要借助SoC EDS 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.sopcinfoQsys编译得到的一个硬件信息文件,工程名称不一样,该文件的名字也不一样,需要根据自己的工程名称进行修改。

另外,输入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

文章评论0条评论)

登录后参与讨论
我要评论
0
32
关闭 站长推荐上一条 /2 下一条