This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TMS320F28379D:CLA 任务流水线时间成本

Guru**** 2387830 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/914230/compiler-tms320f28379d-cla-task-pipeline-time-cost

器件型号:TMS320F28379D

工具/软件:TI C/C++编译器

您好!

我使用 CLA 任务来切换引脚。 我将 CPU 时钟速度设置为200MHz。  

它已成功编译并运行、但时序不符合我的预期。

根据 CLA 流水线描述、我预计上拉和下拉低时间延迟大约为6个指令周期、但它是10  个指令周期。

能不能有人解释额外的4个指令周期的成本。

必去之处  

Owen

Cla1Task5:
.dwpsn文件"C:/ti/c2000/C2000Ware_MotorControl_SDK_2_01_00_00/solutions/tmdxiddk379d/f28004x/source/fcl_f28004x_tmdxiddk_cla_tasks.cla、行47、列5、is_stmt、ISA 0
MMOVIZ MR1、#0 ;[CPU_FPU]|47|
MMOVZ16 MR0、@GpioDataRegs+1;[CPU_Fpu]|47|
MMOVXI MR1、#1 ;[CPU_FPU]|47|
MOR32. MR0、MR1、MR0 ;[CPU_FPU]|47|
MMOV16 @GpioDataRegs+1、MR0;[CPU_Fpu]|47|
MNOP ;[cpu_fpu]
.dwpsn文件"C:/ti/c2000/C2000Ware_MotorControl_SDK_2_01_00_00/solutions/tmdxiddk379d/f28004x/source/fcl_f28004x_tmdxiddk_cla_tasks.cla,第48行,第5列,is_stmt,ISA 0
MMOVIZ MR1、#0 ;[CPU_FPU]|48|
MMOVXI MR1、#65534 ;[CPU_FPU]|48|
MMOVZ16 MR0、@GpioDataRegs+1;[CPU_Fpu]|48|
MAND32 MR0、MR1、MR0 ;[CPU_FPU]|48|
MMOV16 @GpioDataRegs+1、MR0;[CPU_Fpu]|48|
MNOP ;[cpu_fpu]
MNOP ;[cpu_fpu]
MNOP ;[CPU_FPU]
$C$DW$9.dwtag DW_TAG_TI_branch
.dwattr $C$DW$9,DW_AT_LOW_PC (0x00)
.dwattr $C$DW$9,DW_TI_return

MSTOP ;[cpu_fpu] 

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、我需要进行调查。  我将在本周结束前再次与您进行讨论。  

    此致

    Lori

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    根据您提供的代码、看起来 F28004x 项目在 F2837xD 上运行。  请确认?  F28004x 以100MHz 的最大频率运行  

    此致

    Lori

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我在 f280049c 项目中捕获代码、但在 f28379d 上进行测试。

    我已经检查了两个项目中编译的汇编代码是否相同。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请检查设置 PLL 时钟的器件配置是否正在调用适用于 F2837xD 而不是 F28004x 的函数。