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.

[参考译文] 编译器/TMS570LS0432:从睡眠模式中唤醒

Guru**** 2455560 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/641186/compiler-tms570ls0432-wake-up-from-sleep-mode

器件型号:TMS570LS0432

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

我已经为 TMS570编写了进入睡眠模式的代码。  它将进入睡眠模式。

什么是从睡眠中唤醒的顺序?

我 在论坛上有一个链接,但即使在那里也没有得到解答。

https://e2e.ti.com/support/microcontrollers/hercules/f/312/p/577543/2120194?tisearch=e2e-sitesearch&keymatch=power%20banks

如果控制器从 GPIO 中断中唤醒。 根据我的知识,它将转到 gioNotification ISR,然后它将转到什么位置?

谢谢

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

    禁用时钟域和时钟源等后、请确保 Cortex-R4内核已空闲

    //使 Cortex-R4内核空闲
    asm (" NOP");
    asm (" NOP");
    asm (" NOP");

    asm (" WFI");//等待中断(WFI)指令
    asm (" NOP");//唤醒后、将从此行开始
    asm (" NOP");
    asm (" NOP");
    asm (" NOP");
    asm (" NOP");
    asm (" NOP");

    并确保 GIO 中断已设置为唤醒源。 例如:
    //唤醒中断:GIO 和 CAN1
    vimREG->WAKEMASKSET0 =(0x1 <<9);//GIOA0/1 INT
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    再次感谢

    但是 ISR 的作用是什么。  

    就像我使用 GPIO 中断来唤醒一样,那么 ISR 中将包含什么内容(gioNotification 函数)

    非常感谢  

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

    唤醒后、PC 将指向 WFI 的下一条指令。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好。
    请检查我是否正确

    在睡眠模式之后,它将开始执行该“NOP”指令,然后程序流将在 SLEE()函数旁边开始。

    在 ISR 内部不应有任何内容。

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

    是的,唤醒后,它开始在"asm (" WFI")"指令之后执行"NOP"指令,然后返回到名为 SLEE()的函数。

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

    感谢您给我清晰 的解释和宝贵的时间。

    谢谢!