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.

[参考译文] MSP432P401R:MSP432低速

Guru**** 2609895 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/658182/msp432p401r-msp432-slow-speed

部件号:MSP432P401R

您好,

我们面临一个主要问题,即MSP432处理器运行速度非常慢。

处理器由32.768kHz晶振供电。 DCO被配置为输出DCOCLK = 48MHz。 MCLK (48MHz),HSMCLK (24MHz)和SMCLK (24MHz)由DCOCLK驱动。
ACLK (32.768kHz)由LFXTCLK驱动。
Cortex M4内核在内部VCore1 (1.4V)上运行,使用内部LDO或内部DC-DC。

  闪存访问的等待状态数设置为1等待状态;已启用闪存缓冲(对于代码和数据)。

MCLK和HSMCLK被输出到GPIOs,并经验证具有正确的频率。

代码片段和时钟系统寄存器值的反汇编已附加。

根据示波器测量,"p5->out =~pinMask"线的运行时间为165纳米秒。

此运行时似乎非常高。

从RAM运行此代码时没有太大区别。

有什么想法,为什么需要这么长时间?

如何加速处理器?

提前感谢!

AVI Miller

IDO Gazit

 

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

    IDO,

     存在与访问外围设备相关的延迟,如下所述(. )。

    此致,
    Chris

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    >"p5->out =~pinMask"线的运行时间为165纳米秒(根据示波器测量)。

    我的计算器显示,在24MHz时,一个时钟是41.6 ns。 我看到了load-immed/load-memory/store,大约有4个时钟,大约有166个。

    优化器(-Opspeed)可能会删除加载内存,甚至可能会将单独的寄存器分配给pinMask和(~pinMask)。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    我相信正确的计算方法是:

    由于获取--解码--执行管道已完全填充:

    前两个汇编命令各需要1个MCLK (48 MHz)。

    第三个命令STRB (访问GPIO端口输出寄存器)应采用1个HSMCLK (24 MHz),即2个MCLK。

    累计:4 MCLK = 20.83 * 4 = 83.3 nano秒数。

    但测量的时间是该值的两倍,即165纳米秒。

    我错了吗?

    此致,

    AVI Miller

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不能说你错了。 我要说的是,你的观察结果与预期的范围并不遥远。

    尝试你的实验中的变体,看看它们如何影响结果(例如 我建议使用"-Opee")。 DDI0439B sec 3.3 2包含您可能需要注意的注意事项列表。