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、选择安装路径。
等待安装全部完成即可。
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 microblaze edk设计中,如何编写c语言应用程序?能否给个详细说明?