This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6701 HPI 读写问题,求大神指点!



我用FPGA写了一个HPI模块,用来往C6701里面读写数据,现在的现象是我把同样的84个字节的数据写入0x00000484(波形如图1),数据读写正常;当我把同样的数据写入0x80000484时(波形如图2),数据只能写入低16位,高16位数据保持不变,我用signalTap观察两次写的时序完全一样,现在只能怀疑是不是0x80000000的内部数据段只能写入半字,求大神给予解答?

另外,我遇到另外一个问题,就是我HPI读写的时候,如果仿真器连着DSP,读写运行正常,但是如果断开仿真器,就会出现不稳定,特别是HDRY信号在读的时候出现常高的现象,请问是不是我的那些DSP状态信号没有设置好

?而在仿真器连接时仿真器帮我设置好了?求指点

0x00000484地址写

0x00000484地址读

0x80000484写

0x80000484读

读写图.rar
  • 数据区写32位的问题已经解决!主要原因数据区写的时候,每次只能写第一个16位的数据,后面一个16位的数据无效;这个可以从HPI数据手册看到,如图所示,同时数据手册也给出了思路,就是第一次写高16位还是低16位可以用HBE【1:0】来控制。因此,有了下面的解决方法:              

    方法:通过向数据区同一地址写两次,第一次先写低16位(HBE【1:0】=00),再写高16位((HBE【1:0】=11));第二次先写高16位((HBE【1:0】=11)),再写低16位((HBE【1:0】=00))!由于 每次写只写进去第一次的16位,两次组合起来完成32位的写操作。

    这只是一种不得已的方法,但是能够实现功能,如果有更好的方法,也希望多多交流!

  • HPI读写与仿真器连接的问题依然存在,连接上仿真器,HPI读写很顺利,但是不连接时,HPI读写就会出问题,希望有经验的同学给点建议,问题到底在哪里???