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.

[参考译文] MSP430F5659:加电执行序列

Guru**** 2511415 points
Other Parts Discussed in Thread: MSP430F5659

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1172770/msp430f5659-power-on-execution-sequence

器件型号:MSP430F5659

您好!

请告诉我有关 MSP430F5659的信息;

i)从3.3V 可用性到 main()开头的加电过程(执行序列)是什么?

ii)在3.3V 稳定电压后执行 main()实际上需要多长时间?

III)是否有缩短上电延迟的想法?

注意:在我的应用中、我需要在上电(3.3V)的10ms 内做出一个关键的决定、但我遇到了46ms 的启动延迟(附带测试代码)

为供参考、随附的测试结果取自我的应用:

1) 1)从3.3V 稳定点[绿色]到 main 开始的加电延迟[粉色]  

测量时间= 46ms

2) 2)用于时间延迟测量的主代码  

int main (空)

 WDTCTL = WDTPW + WDTHOLD;  //停止看门狗

  _DINT ();  //禁用中断

 //调试 IO (P7.4)配置

  P7SEL &=(~BIT4);

 P7DIR |=  BIT4;

  P7OUT |=   BIT4;  //示波器图像中的粉色信号

 while (1)

 {

   (笑声)

  }

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

    当然、C 启动代码必须运行。 这必须将数据复制到全局初始化变量并将 BSS 归零。 所需时间取决于这些区域的大小。 您的特定器件还具有可运行的引导代码。 数据表中的表8.27指定了从上电复位到复位矢量执行的最大3ms。

    为了实现终极控制、请使用汇编语言而不是 C 语言

    可能有一个挂钩可用于提前执行代码。 这在 C 启动运行时间长于看门狗的初始超时的极少数情况下使用。 具体取决于所使用的特定编译器。

    哦、这个部件似乎是 LOCKLPM5的部件之一、这让我对您的测试代码感到奇怪。

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

    您好!

    David 的建议是正确的。 您需要设置 LOCKLPM5位、以便在复位(或首次上电)后正确设置 GPIO。 话虽如此、我们的复位规格一直到达到复位矢量为止。 这应该是在引导代码执行之后进行的、但在您到达 main 之前可能会发生其他 c 初始化。 您可以跳过 c init 过程或在 c init 之前添加代码、以做出快速决策、帮助加快此速度。 使用 _system_pre_init()