STM32H743的双bank flash并行处理异常的原因可能有以下几点:
1. Flash擦除和编程操作对CPU性能的影响:在擦除或编程flash时,CPU的性能可能会受到影响,导致程序执行变慢或暂停。这是因为flash操作需要占用大量的CPU资源,尤其是在擦除大容量的sector时。
2. Flash擦除和编程操作对中断的影响:虽然你提到在操作flash时没有关闭全局中断,但是在擦除或编程flash时,可能会触发一些与flash相关的中断,这些中断可能会影响程序的正常运行。例如,如果擦除操作触发了flash错误中断,那么程序可能会进入中断服务程序,导致主程序暂停。
3. Flash擦除和编程操作对系统时钟的影响:在擦除或编程flash时,可能会影响系统的时钟设置。这是因为flash操作需要一定的时钟频率来保证操作的正确性。如果系统时钟设置不当,可能会导致flash操作失败或程序运行异常。
4. Flash擦除和编程操作对电源的影响:在擦除或编程flash时,可能会对电源产生一定的影响。这是因为flash操作需要较高的电源电压,如果电源不稳定,可能会导致flash操作失败或程序运行异常。
为了解决这个问题,你可以尝试以下方法:
1. 在擦除或编程flash时,尽量降低其他任务的优先级,以确保flash操作能够顺利进行。
2. 在擦除或编程flash时,确保系统时钟设置正确,以保证操作的正确性。
3. 在擦除或编程flash时,确保电源稳定,以避免因电源问题导致的异常。
4. 如果可能,尝试将擦除或编程flash的操作放在低优先级的中断服务程序中执行,以减少对主程序的影响。
5. 如果问题仍然存在,可以考虑升级到更高版本的STM32 HAL库,看看是否有改进。
希望以上分析和建议对你有所帮助。
STM32H743的双bank flash并行处理异常的原因可能有以下几点:
1. Flash擦除和编程操作对CPU性能的影响:在擦除或编程flash时,CPU的性能可能会受到影响,导致程序执行变慢或暂停。这是因为flash操作需要占用大量的CPU资源,尤其是在擦除大容量的sector时。
2. Flash擦除和编程操作对中断的影响:虽然你提到在操作flash时没有关闭全局中断,但是在擦除或编程flash时,可能会触发一些与flash相关的中断,这些中断可能会影响程序的正常运行。例如,如果擦除操作触发了flash错误中断,那么程序可能会进入中断服务程序,导致主程序暂停。
3. Flash擦除和编程操作对系统时钟的影响:在擦除或编程flash时,可能会影响系统的时钟设置。这是因为flash操作需要一定的时钟频率来保证操作的正确性。如果系统时钟设置不当,可能会导致flash操作失败或程序运行异常。
4. Flash擦除和编程操作对电源的影响:在擦除或编程flash时,可能会对电源产生一定的影响。这是因为flash操作需要较高的电源电压,如果电源不稳定,可能会导致flash操作失败或程序运行异常。
为了解决这个问题,你可以尝试以下方法:
1. 在擦除或编程flash时,尽量降低其他任务的优先级,以确保flash操作能够顺利进行。
2. 在擦除或编程flash时,确保系统时钟设置正确,以保证操作的正确性。
3. 在擦除或编程flash时,确保电源稳定,以避免因电源问题导致的异常。
4. 如果可能,尝试将擦除或编程flash的操作放在低优先级的中断服务程序中执行,以减少对主程序的影响。
5. 如果问题仍然存在,可以考虑升级到更高版本的STM32 HAL库,看看是否有改进。
希望以上分析和建议对你有所帮助。
举报