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

TMS320F28374S: 同一个算法在cla中和CPU中计算的结果不同

Part Number:TMS320F28374S

如下链接中描述的问题:

c28x FPU vs CLA – C2000 microcontrollers forum – C2000Tm︎ microcontrollers – TI E2E support forums

TMS320F28374S: 同一个算法在cla中和CPU中计算的结果不同 – C2000Tm︎ 微控制器论坛 – C2000 微控制器 – E2ETm 设计支持 (ti.com)

都表示使用这段语句:__asm(" MSETFLAG RNDF32=1") 修改寄存器可以使Cla计算的结果和CPU中计算一致

但是对于28374s来说,该寄存器是只读寄存器,无法修改,请问是否又相关的TI文档详细说明这个问题。

关于cpu和cla的舍入方式有没有比较详细的说明文档

Yale Li:

LI LI 说:但是对于28374s来说,该寄存器是只读寄存器,无法修改,请问是否又相关的TI文档详细说明这个问题。

您好,根据TMS320F2837xS Microcontrollers Technical Reference Manual (Rev. G)中Table 6-44. _MSTF Register Field Descriptions的描述,它应该只可以由特定的指令来进行修改:

RNDF32

LI LI 说:关于cpu和cla的舍入方式有没有比较详细的说明文档

这篇技术文章说的比较综合:https://e2echina.ti.com/blogs_/b/the_process/posts/c2000-cpu-cla

里面有些图片可能看不了,可以看这个链接里的:http://mcu.eetrend.com/content/2017/100007381.html

TMS320C28x FPU Primer (Rev. A中的第5页对舍入方式做了比较详细的说明;

TMS320F2837xS Microcontrollers Technical Reference Manual (Rev. G)第702页-705页、776-777页中这几条指令的描述您也可以看一下。

,

LI LI:

您好,根据TMS320F2837xS Microcontrollers Technical Reference Manual (Rev. G)中Table 6-44. _MSTF Register Field Descriptions的描述,它应该只可以由特定的指令来进行修改:

RNDF32

您好,如上图中所示,RNDF32是只读的寄存器,所以无法使用__asm(" MSETFLAG RNDF32=1") 来修改舍入方式,所以是通过标黄色部分的几个位来修改舍入方式吗?在28374S上如何实现?(我用28374s的开发板试过,无法用__asm(" MSETFLAG RNDF32=1") 这段语句来实现修改舍入方式。)

TMS320F2837xS Microcontrollers Technical Reference Manual (Rev. G)第702页-705页、776-777页中这几条指令的描述您也可以看一下。

这里第702页-705页、776-777页主要说的是浮点数和整型之间转换时的舍入方式。

,

LI LI:

您好,根据TMS320F2837xS Microcontrollers Technical Reference Manual (Rev. G)中Table 6-44. _MSTF Register Field Descriptions的描述,它应该只可以由特定的指令来进行修改:

RNDF32

您好,如您的截图所示,RNDF32这个寄存器是只读寄存器,您的意思是通过标黄部分的几个位来修改舍入方式吗?如何对这几个寄存器进行操作?(我用28374s的板子通过:__asm(" MSETFLAG RNDF32=1") ,这个方式是无法修改舍入方式的,这段语句是不起作用的),舍入方式修改的具体实现方法是如何?

TMS320F2837xS Microcontrollers Technical Reference Manual (Rev. G)第702页-705页、776-777页中这几条指令的描述您也可以看一下。

这里的第702页-705页、776-777页主要说的是整型和浮点型数据转换时舍入方式。

,

Yale Li:

LI LI 说:__asm(" MSETFLAG RNDF32=1")

不好意思之前没有注意到,您的命令敲错了,应该是:

__asm(" MSETFLG RNDF32=1")

您贴的链接中底下的回复也有标明:

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/487649/c28x-fpu-vs-cla#:~:text=you.%20it%20works.-,__asm(%22%20MSETFLAG%20RNDF32%3D1%22),__asm(%22%20MSETFLG%20RNDF32%3D1%22)%20%3B,-best%20regards%2C

您试一下看行不行。

LI LI 说:通过标黄部分的几个位来修改舍入方式吗?如何对这几个寄存器进行操作?

标黄的部分是能修改舍入模式的汇编指令。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28374S: 同一个算法在cla中和CPU中计算的结果不同
分享到: 更多 (0)