TI中文支持网
TI专业的中文技术问题搜集分享网站

omapl138的HPI使用问题,比较诡异,所以特请大神们,TI的工程师们,求救,求解啊,太奇怪的问题了,急!!!!!!!!!!!!

背景:OMAPL138的ARM跑LINUX,使用SYSLINK与DSP端进行通讯,故DSP端跑的是SYSBIOS操作系统,DSP端外接FPGA,与FPGA使用HPI通讯,FPGA通过HPI向DSP 写值,写的位置在片内共享段,也就是0x80000000这里开始,写完后会产生一个中断,通过查询中断的方式,DSP读取共享内存中的数据,奇怪的现象就产生了:     DSP在读取了HPI中的数据后,FPGA的通过HPI写的数据就不能更新了,而且不是不能全部更新,而仅仅是读取的位置的在以0x80000000为开始,32个字长为单位,读取位置所在的这32个字的数据就不会再被HPI数据更新了,举个例子,0x80000088在第3个32字范围内,读取这个地址的值后,这32个数据的值,就不会再改变,请问这是怎么回事啊?  读取这个地址的方式如下:

unsigned int count_tmp;//定义一个变量保存读取结果

count_tmp=(unsigned int)(*((unsigned int *)0x80000088));  // 这个语句在查询的服务函数中

亲们,急救啊!!!!!!!!!!!!!!!!!

luo qi:

看描述,像是dsp cache的问题

dsp取数据之前需要清一次cache,否则cpu会默认从cache里取数据,而不会真的从物理地址里取数据

操作是Cache_inv,自己去查下使用方式吧

138的cache好像最小长度是128字节

赞(0)
未经允许不得转载:TI中文支持网 » omapl138的HPI使用问题,比较诡异,所以特请大神们,TI的工程师们,求救,求解啊,太奇怪的问题了,急!!!!!!!!!!!!
分享到: 更多 (0)