在《 TMS320x2833x, TMS320x2823x Technical Reference Manual》(即sprui07,TMS320x2833x, TMS320x2823x Technical Reference Manual (ti.com))中的2.2.19节 XINTF_Parallel_Boot Function中,host发送数据流的流程如下:
即主机host要将数据流放到XINTF的数据总线XD[15:0]上,以供DSP读取。
实现上述流程时,我的想法是:由于DSP在XINTF_Parallel_Boot时,只会从zone6的地址0x10_0000读取数据,所以在host中需要将数据流一个一个地放到主机host的地址0x10_0000,即DSP通过XINTF访问host的zone6,下载数据流实现boot。但是在实现时发现,host要向地址0x10_0000写数据,就必须启用XINTF;而DSP的XINTF在XINTF_Parallel_Boot过程中是始终使能的。这样host和DSP同时启用了XINTF,且同时访问host的zone6,会出现竞争的问题导致host和DSP都访问出错。请问我的思路是否正确?若正确,如何解决XINTF竞争的问题?若错误,正确的实现思路是什么?
另外,关于图中的“Load XD[15:0] with data”,我想到是否可以通过类似2.2.18节中Parallel_Boot Function (GPIO)的方法实现,即host不使能XINTF,XD[15:0]也配置成通用IO,通过控制对应GPIO的电平高低来发送数据。实践后发现并不成功,DSP接收到的数据仍然是从host的地址0x10_0000读取的。
总之,主机host要怎样将数据发给DSP XINTF_Parallel_Boot读取?求解答,谢谢!