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.

[参考译文] MSP430FR6045:上电复位时间

Guru**** 2680515 points

Other Parts Discussed in Thread: MSP430FR6047

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1586314/msp430fr6045-power-on-reset-time

器件型号: MSP430FR6045
Thread 中讨论的其他器件: MSP430FR6047

在 MSP430FR6047 EVM 中、我看到在上电后、复位引脚变为高电平。 我首先要做的是将 GPIO 设置为低电平。 因此、RESET 引脚变为高电平后、P9.0 变为低电平需要 40ms 的时间。 那么为什么这个 40ms 的延迟是在 main () 内加电后的第一件事,我要把 GPIO 设为低电平?

 

此致

Anup Kumar

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

    在 C 初始化之前、尝试使用 类似的东西设置 GPIO

    int _system_pre_init(void) 
    {
      P9OUT |= BIT0; // P9.0 high
      P9DIR |= BIT0; 
      return(1);     // Continue with C init
    }

    这样您就可以测量.data/.bss 设置所需的时间。

    [参考 MSP430 C 编译器用户指南 (SLAU132Y) 第 6.9.1 节]

    [编辑:更改为使用 P9.0 而非 P1.0]

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

    您的延迟大于 32ms 的标称上电看门狗设置、因此您看到的 40ms 延迟并非完全来自 C 启动。

    此外、在复位过程中、启用 RESET 时的内部上拉由硬件完成。 可能需要一段时间才能启动程序。 例如、引导代码 (1.10) 始终运行。

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

    布鲁斯·麦克肯尼· 大卫·舒尔茨 

    int _system_pre_init (void)

    }

    在该函数内、当 我使返回 0 时、初始化时间减少到 4 毫秒、之前为 40 毫秒。

    现在、要在复位变为高电平后得到大约 1-4 毫秒的初始化时间、接下来要做的是什么。

    此致、

    Anup Kumar

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

    POR 还需要考虑复位引脚充电时间、您是否考虑了这一点?

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

    [最新的 CCS 版本包含一个 auto_init 挂钩、它在 C 初始化期间保存看门狗。 此功能似乎在新项目中自动启用、因此可能就在这里。]

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

    听起来在启动过程中、36ms (90%) 好像是 C 初始化、主要由.data/.bss 初始化控制。 也就是说,你有一个相当大的变量集合,其中一个假设你需要。

    如果可以、例如修整数组大小、您可以获得一些好处。 在极端情况下、您可能会从 NOINIT 中得到一些信息、但这需要比我们更好地了解您的应用程序。