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

In Reset

您好~我的一个多核程序,跑着跑着就会出现如图所示的情况,但我在程序中并没有进行Reset的操作,觉得可能是我使用的地址越界,给相应的Reset寄存器进行了赋值,但是我并没有查到相应的寄存器的地址。希望各位能指点下,帮忙分析是什么原因?如果跟我想的一样的话,希望能将相应的地址告诉我一下。谢谢~

Adam Yao94020:

可能是代码跑飞了所导致的,可以在代码中加入打点信息,先判断在代码跑飞的范围,然后一点点定位。

控制CPU local reset的寄存器是MDCTL23-28,具体地址对于不同芯片是不同的,

6670底下是从0x02350a5c到0x02350a70

其他芯片可以从芯片手册中找到

hobo Q:

回复 Adam Yao94020:

您好~谢谢回答!我现在基本将问题定位在SRIO的DOORBELL中断服务函数中,但当我进入DOORBELL中断服务函数,单跑一次的话,并没问题。但是如果继续往下跑,一次次地相应DOORBELL中断,就会出现如图情况,所以情况并不好定位。我用的是6678,翻了下文档,并没有找到相应的地址,不知道哪个文档能找到相应地址,谢谢~

Adam Yao94020:

回复 hobo Q:

MDCTL寄存器的偏移地址在sprugv4a PSC手册中Table3.1有定义,

要计算出寄存器的绝对地址,还需要参考6678 data manul中table2-2 memory map summary中PSC的起始地址(现在是0x02350000)

hobo Q:

回复 Adam Yao94020:

好的,谢谢~除了可能是地址越界,将这些寄存器赋值,还有别的原因么?按照我的CMD设定,我觉得地址应该是不会越界的!谢谢啊~

Adam Yao94020:

回复 hobo Q:

你上面提到的Doorbell中断一直进的问题,是不是因为在中断中没有清楚SRIO的一些中断指示状态位,

或者是发送端发的时候有问题,从现象看你的情况很像是代码跑飞。

hobo Q:

回复 Adam Yao94020:

您好~谢谢!上面我所说的DOORBELL一直进是正确的,SRIO的中断每次都有清除。发送端因为发的也没问题!代码跑飞可能的原因有哪些呢??谢谢~

赞(0)
未经允许不得转载:TI中文支持网 » In Reset
分享到: 更多 (0)