您好!
我们得到一个 FPU 溢出(PIE 12.7)中断、并想知道它可能来自何处。
寄存器保存是否有问题? 生成的代码是
cpu_timer0_isr ():
01484e: 761B ASP
01484f: FFF0 按 RB
014850: 0005 推 入 AR1H:AR0H
014851: ABBD MOVL *SP++,XT
014852: AABD MOVL * SP++、XAR2
014853: A8BD MOVL *SP++,XAR4
014854: A0BD MOVL *SP++,XAR5
014855: C2BD MOVL *SP++,XAR6
014856: C3BD MOVL *SP++,XAR7
014857: E20000BD MOV32 *SP++,STF
014859: E20300BD MOV32 *SP++,R0H
01485b: E20301BD MOV32 * SP++,R1H
01485d: E20302BD MOV32 * SP++,R2H
01485f: E20303BD MOV32 * SP++,R3H
014861: E6300600 SETFLG RNDF32=1、RNDF64=1
014863: FF69 SPM #0
014864: 2942 CLRC OVM|PAGE0
014865: 5616 CLRC AMODE
我知道表3-4。 在 SPRU430F 中保存寄存器对和用于保存上下文的 SP 位置。
R4H 到 R7H 的情况如何? 编译器是否未使用它们?
XAR3有何作用? TMU 有任何问题?
还有其他原因吗?
编译器标志为:
-v28 -ml -mt --cla_support=cla1 --tmu_support=tmu0 --vcu_support=vcu2 -O2 --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-c2000_16.9.6.LTS/include --include_path="C:/workspace/firmware/duc/rtos/include --include_path="C:/workspace/firmware/duc/device_support/f2837xs/common/include --include_path="C:/workspace/firmware/duc/test_rtos_f2837xs_launchpad --include_path="C:/workspace/firmware/duc/device_support/f2837xs/headers/include --cuse_remote_ines=-cuse_remote_remote_remote_inese-dages=-cuse-dagese-ine_remote_inese-inese-inese-ci-cludiag_inese-ci-clus-inese-inese-inese-ci-clus-ci-clus-inese-inese-inese-
谢谢、此致、
弗兰克

