xilinx vivado下microblaze里面C编程中,怎么通过串口实现PC机和FPGA中RAM数据相互读写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xilinx vivado下microblaze里面C编程中,怎么通过串口实现PC机和FPGA中RAM数据相互读写?相关的知识,希望对你有一定的参考价值。

我搭建在环境里可以在SDK中运行memorytest.c程序,我现在不知道怎么通过函数来实现PC机与片上的Ram进行数据的读写,要求通过串口来传递数据。

1. 可以在vivado中通过block diagram生成microblaze的硬件,注意Xilinx提供了一个microblaze的例子,如果有问题可以参考这个例子来实现;
2. 画好bd以后,先保存,然后verify,然后保存,然后点“生成bitstram”Vivado会自动按照综合——实现——生成bit文件的顺序执行;
如果其中出现错误,一定要仔细参考message的提示,然后从网上和Xilinx的文档中寻找解决的办法;
3. 输出到SDK的时候要特别注意,一般第一次的时候他会帮你输出.bmm文件,后面就只有.bit文件和.xml文件了;但是实际上.bmm文件对打包生成最后的download.bit文件很重要,如果.bit文件和.bmm不对应的话,你生成的download.bit文件下载到FPGA之后可能会起不来。
4. Microblaze的IC/DC总线接口去连接一块内存时,这块内存的地址必须在cache的地址范围内,比如cache范围为0x0000_0000~0x7FFF_FFFF,否则可能无法写入;
5. Microblaze的IP/DP总线接口去连接一块内存时,这块内存的地址必须在cache的地址范围外,比如cache范围为0x0000_0000~0x7FFF_FFFF,该内存地址范围为0x8000_0000~0xFFFF_FFFF,否则也可能访问不正常;追问

你的回答不能为我解决问题,希望有大神给我解答!!!

参考技术A 好像有个串口的IP核? 一般生成系统的时候,系统会自己加一个串口ip上去貌似,需要正确设置(10.1的时候是这样,不知道现在sdk工程向导什么样了)。貌似memorytest的结果也是在串口上输出的吧。。。
如果有这个ip的话,可以在sdk里的ip列表中找到,右键点view ip datasheet(driver)之类的可以知道ip的API函数。
然后写程序,读取RAM,通过串口传输,PC再接收。
时间久远,好久不用了,忘了许多,哎..................

怎么在linux下安装vivado 吗

vivado的安装源码在ZEDBOARD-SYNQ开发板的附带光盘中有,如果无光盘可以前往http://www.xilinx.com/support/download/index.htm下载。

安装步骤:

1、放入光盘,光盘名:Xilinx_ISE_DS_Lin_P.28xd.3.0

2、拷贝光盘文件:“sudo  cp    /$PATH /Xilinx_ISE_DS_Lin_P.28xd.3.0     /home/jumn/”

3、安装指令:“sodo  cd   /home/jumn/Xilinx_ISE_DS_Lin_P.28xd.3.0”

                      “root@ubuntu:/home/jumn/Xilinx_ISE_DS_Lin_P.28xd.3.0 # ./xsetup”

4、弹出下图安装界面后点击next。

5、选择安装产品。

6、选择安装路径。

等待安装全部完成即可。

参考技术A  下载后软件后,这里以xxxx.tar代替了,
 tar xf xxxx.tar
 cd xxxx
 ./xsetup

本回答被提问者和网友采纳
参考技术B 官网上下载的web版,官网上ISE套件旁就是Viodo,和ISE安装一样,
下载套件后解压,终端里面将解压后的所有文件chmod
777提升权限,
然后cd到解压后的文件夹,有个xsetup文件,
终端输入./xsetup就自动安装了,非常方便

以上是关于xilinx vivado下microblaze里面C编程中,怎么通过串口实现PC机和FPGA中RAM数据相互读写?的主要内容,如果未能解决你的问题,请参考以下文章

在嵌入式设计中使用MicroBlaze(Vivado版本)(转)

Xilinx SDK编译Microblaze时出错

xilinx microblaze edk设计中,如何编写c语言应用程序?能否给个详细说明?

在 Xilinx Vivado 中映射大小大于 4MB 的 PCIe BAR 区域

xilinksdkmake,错误

vivado microblaze 怎么查看波形