首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在microblaze和vhdl之间进行通信?

如何在microblaze和vhdl之间进行通信?
EN

Stack Overflow用户
提问于 2014-05-13 17:20:18
回答 2查看 1.6K关注 0票数 1

我正在microblaze xilinx 13.1中实现UART。我想将RX值存储在fifo中,fifo是使用VHDL中的xilinx ipcore实现的。

我像这样得到了接收到的字节,

代码语言:javascript
复制
while(1) {
   Recvd_Byte = XUartLite_RecvByte(0x40600000);
}

我已经在我的VHDL代码中实现了fifo。system.xmp和先进先出都是我顶部模块下的组件。

如何在C代码中访问这个Recvd_Byte,并在VHDL语言中传递给先进先出(Fifo_wr_data)。

请帮帮我。我是microblaze的新手。

EN

回答 2

Stack Overflow用户

发布于 2014-05-14 15:29:48

为了将数据写入到fpga中的寄存器中,xil_io.h中有一些函数。地址可以在xparameters.h中看到。您想要写入数据的寄存器的地址是什么?

默认情况下,IP核有32个寄存器,您可以从0x40600000读取数据;也就是slv_reg0;假设slv_reg1是空闲的,这样您就可以在它的地址上写入数据。下一个寄存器将位于地址0x40600004;//假定寄存器的宽度为32位

代码语言:javascript
复制
you can use commands 
Xil_Out8(0x40600004);
Xil_Out16(0x40600004);
Xil_Out32(0x40600004); 

或者,也可以仅将数据写入下一个字节来签署命令

代码语言:javascript
复制
Xil_Out8(0x40600001);

//尝试在问题中提供更多详细信息。

//我们可以用更好的方式帮助你。

票数 0
EN

Stack Overflow用户

发布于 2017-06-02 01:22:24

您可以在EDK中添加新的GPIO外设。然后使用GPIO将Recvd_Byte写入microblaze外部的信号中。所以:

  1. 打开EDK.
  2. 添加GPIO外设。此instruction
  3. after的图像映射地址,我建议将GPIO_IO_O设置为仅外部。此instruction
  4. After生成网表的图像。将硬件设计导出到SDK。
  5. 这是一个通过GPIO将数据发送到Microblaze之外的简单代码:

#include "xparameters.h“#include "xgpio.h”XGpio Gpio;int main (void){ ...int Status;Status = XGpio_Initialize(&Gpio,XPAR_XPS_GPIO__DEVICE_ID);XGpio_SetDataDirection(&Gpio,1,0x00000000);XGpio_DiscreteWrite(&Gpio,1,Recvd_Byte );...返回0;}

1:https://i.stack.imgur.com/kAnCK.pnghttps://i.stack.imgur.com/fr0iG.png 2

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23627287

复制
相关文章

相似问题

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