芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 5860|回复: 1

【小梅哥SoC】Altera SOC更改Qsys后重新生成hps_0.h文件

[复制链接]
  • TA的每日心情
    慵懒
    2021-2-24 10:16
  • 423

    主题

    782

    帖子

    1万

    积分

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    15854
    QQ
    发表于 2018-4-9 12:29:09 | 显示全部楼层 |阅读模式
    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
      

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-6-29 15:57
  • 13

    主题

    246

    帖子

    3625

    积分

    超级版主

    Rank: 8Rank: 8

    积分
    3625
    发表于 2018-4-9 17:09:28 | 显示全部楼层
    沙发~小梅哥的soc出来了~赞一个!!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-4-24 07:20 , Processed in 0.108981 second(s), 33 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

    快速回复 返回顶部 返回列表