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

TMS470M

Hi all:

        最近发现一个问题,就是操作SCI 的SCIGCR0寄存器组,我发现居然不能读,但是可以写!一读就引起hardfault,不知道什么地方可以设置?

谢谢

klapset

Ken Wang:

Klapset,

   首先SCIGCR0这个寄存器只有在privilege mode下面才能操作。一般我们都是在初始化模块是对他进行写操作来reset模块和使能模块。

你需要读的目的,是想确认SCI模块是否工作吗?

谢谢

chou klapset:

回复 Ken Wang:

也不是要可以去读,是对寄存器 比如 Reg0  |= 0x1 这样的操作, 汇编上先把Reg0读出来再赋值,使得非操作位不变。这种情况都会产生hardfault。

 

昨天观察DEMO中,发现有一条语句就可以搞定,就是 SYSTEM寄存器 有一个全局使能外设的寄存器,具体我记不得。这个置1就OK了。但是不太知道为何会这样。

但是如果写操作即可reset的话,那发生hardfault语句前面都是直接赋值, 如Reg0 = 0x12345678; 这样不会引发异常, 到了 |= 操作就出问题了。

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