由于产品的特殊原因,STM32F2系列外挂了SRAM和NorFlash,运行两个程序,及主程序和应用程序,主程序相当于系统OS,应用程序可以独立下载到NorFlash里加载到内存或内部Flash运行。起初进展还算顺利,主程序和应用程序也都基本实现了各自的功能,到了最后低功耗这块,由于机器采用电池供电,所以平时要进入待机状态,降低功耗,目前如果运行在主程序状态下使用STOP能实现这个功能,但如果程序运行在应用程序状态下,由于应用程序是加载到ram或片内flash,并占用片外的sram来运行,而发现一单在这个时候进入低功耗模式唤醒都无**常工作(唤醒时不能复位,必须停留在休眠之前的工作状态),初步判断是外面ram的总线时钟丢失,程序无**常访问内存引起。
请大家帮下有没解决方案。谢谢!
另外以前arm7的时候用idle模式程序能停止在末个位置,唤醒直接往下走,stm32没有这个功能吗。 |