首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >FPGA与Aria V HPS之间的通信

FPGA与Aria V HPS之间的通信
EN

Stack Overflow用户
提问于 2021-05-23 18:45:55
回答 1查看 59关注 0票数 0

我想使用Altera MM Mailbox IP组件在Aria V hps和我的nios处理器之间进行通信。

Project in Qsys

我设法写下了Nios处理器(FPGA端)的C代码来处理邮箱IP,然后我通过EDS使用sopc-create- header -files为HPS制作了头文件。

LINK TO GENERATED HEADER FILE

这就是sopc-create-header-files为我做的:

代码语言:javascript
运行
复制
#define MAILBOX_SIMPLE_0_COMPONENT_TYPE altera_avalon_mailbox_simple
#define MAILBOX_SIMPLE_0_COMPONENT_NAME mailbox_simple_0
#define MAILBOX_SIMPLE_0_BASE 0x60
#define MAILBOX_SIMPLE_0_SPAN 16
#define MAILBOX_SIMPLE_0_END 0x6f

但是我不知道怎么用它。在NIOS IDE中我已经包含了库altera_avalon_mailbox_simple.h,而在DS-5中我没有这个库。是否有任何其他邮箱库我应该包括在我的DS-5项目?也许我应该使用相同的方法将邮箱映射为外围设备?

代码语言:javascript
运行
复制
void mmap_fpga_peripherals()
{
    h2f_lw_axi_master = mmap(NULL, h2f_lw_axi_master_span, PROT_READ | PROT_WRITE, MAP_SHARED, fd_dev_mem, h2f_lw_axi_master_ofst);

    if(h2f_lw_axi_master == MAP_FAILED)
    {
        printf("ERROR: h2f_lw_axi_master mmap() failed.\n");
        printf("    errno = %s\n", strerror(errno));
        close(fd_dev_mem);
        exit(EXIT_FAILURE);
    }

    fpga_buttons = h2f_lw_axi_master + BUTTONS_0_BASE;
    fpga_hex_displays[0] = h2f_lw_axi_master + HEX_0_BASE;
    fpga_hex_displays[1] = h2f_lw_axi_master + HEX_1_BASE;
    fpga_hex_displays[2] = h2f_lw_axi_master + HEX_2_BASE;
    fpga_hex_displays[3] = h2f_lw_axi_master + HEX_3_BASE;
    fpga_hex_displays[4] = h2f_lw_axi_master + HEX_4_BASE;
    fpga_hex_displays[5] = h2f_lw_axi_master + HEX_5_BASE;
}

但我不认为我应该使用mmap_fpga_peripherals()来映射邮箱。我没有把握。

EN

回答 1

Stack Overflow用户

发布于 2021-10-13 08:02:59

您还应该通过通常位于路径intelFPGA/xxx/embedded/host_tools/altera/device_tree.下的sopc2dts生成设备树二进制文件然后在邮箱设备的基础上编写Linux驱动程序。有关详细信息,请参阅Linux项目中的规范。

代码语言:javascript
运行
复制
Documentation/devicetree/bindings/mailbox/altera-mailbox.txt
Documentation/mailbox.txt
drivers/mailbox/mailbox.c
drivers/mailbox/mailbox-altera.c
drivers/mailbox/mailbox-test.c
include/linux/mailbox_client.h
include/linux/mailbox_controller.h
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67658836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档