TI论坛
直播中

刘婷婷

7年用户 219经验值
私信 关注
[问答]

请问F28335中断时FPU寄存器的情况是什么样的?

datasheet里面没有提到FPU寄存器会自动保存,但是有一个地方这么写的

All of the floating-point registers except the repeat block register are shadowed. This shadowing can be used in high priority interrupts for fast context save and restore of the floating-point registers.
是不是说,fpu的寄存器其实还是要手工保存的,汇编里面也有一个save 和 restore的命令,是不是这样就可以了呢?

回帖(8)

朱虹博

2018-10-29 10:57:02
简单地说。
不需要手工保存,编译器会自动加保存语句。save 和 restore的命令编译器只在high priority interrupts 中使用。
举报

刘婷婷

2018-10-29 11:14:23
引用: Emily1225 发表于 2018-10-29 07:56
简单地说。
不需要手工保存,编译器会自动加保存语句。save 和 restore的命令编译器只在high priority interrupts 中使用。

编译器自动加保存语句?
这个在哪里有说明呢?谢谢
举报

朱虹博

2018-10-29 11:27:07
引用: future20082010 发表于 2018-10-29 08:13
编译器自动加保存语句?
这个在哪里有说明呢?谢谢

是啊,自动添加。没有说明。楼主运行一下例程,看一下中断子程序的反汇编就会明白。
举报

刘婷婷

2018-10-29 11:38:09
引用: Emily1225 发表于 2018-10-29 08:26
是啊,自动添加。没有说明。楼主运行一下例程,看一下中断子程序的反汇编就会明白。

我打开了一个ti的例程,是Example_2833xExternalInterrupt,在一个中断里面,前面是这样的
MOV ACC, @0<<2
LC 0X3DE630
MOVL ACC, @0
CLRC OVM, PAGE0
CLRC AMODE
没看出来哪里把fpu保存了
举报

更多回帖

发帖
×
20
完善资料,
赚取积分