sk2400

9.1无法生成ace 双核通信实现及调试

0
阅读(1937)

为了用9.1i生成ace文件,在xilinx的网站上写了ISE9.1 sp3和EDK9.1 sp2。安装ISE9.1 sp3时一切正常,安装EDK9.1 sp2后发现EDK无法启动。提示:

FATAL_ERROR:GuiUtilities:Gq_Application.c:578:1.17 - This application has discovered an exceptional condition from which it cannot recover. Process will terminate. For more information on this error, please consult the Answers Database or open a WebCase with this project attached at http://www.xilinx.com/support.

在网站上也没找到这个问题的解决办法,只能把sp卸载了,卸载后用EDK生成netlist,发现ISE也出问题了,提示spartan3a的什么什么没有安装(郁闷啊)。我的解决办法是把EDK和ISE都卸载了,不能自动卸载的文件夹一定要手动删除,否则安装后还是提示spartan3a的什么什么问题,然后重新安装。用9.1生成ace可能是不行了,开始下载8.1.

 

今天做了v2p30内的两个核通过共享ram通信,步骤如下:

1、建个工程,一般默认是使用ppc405_0。ppc405_0的总线都已经默认连接完,不用再修改。

2、为ppc405_1添加plb、plb2opb、opb、某种ram和需要的外设。地址需要设置,0xFFFFFFFC在启动ram中。opb外设的地址要包含在plb2opb的地址范围中。连接ppc405_1 需要的引脚,尤其是时钟引脚。

3、建两个核的共享ram。分别在两个核的plb上添加plb_bram_if_cntlr,并分配地址。之后加一个共享的bram,将该bram的porta和partb分别连接到刚刚添加的两个plb_bram_if_cntlr上。

4、新建个软件工程,或是将某个已有的软件工程的目标处理器改成PPC405_1。

基本上这样就能用了。

 

V2P30有两个ppc核但板子上只提供了一个串口,调试起来很麻烦。我开始的做发是想用同一个串口,调试哪个核时,就把这个串口接到哪个上。但是没有连 接串口的ppc在编译软件工程时出现问题,因为print和xil_printf是要写到串口上的。所以我在工程中做了两个串口,分别连到两个ppc的 opb上,在ucf中选择把哪个串口绑定到物理串口上。