MicroBlaze  – 如何在正常运行期间重置MicroBlaze并完成所有未完成的交易?-Xilinx-AMD社区-FPGA CPLD-ChipDebug

MicroBlaze – 如何在正常运行期间重置MicroBlaze并完成所有未完成的交易?

描述

我想在正常操作期间重置MicroBlaze。

当Reset_Mode = 01(休眠模式)输入信号设置休眠模式时,MicroBlaze是否会等待所有未完成访问的完成?

复位有效时,复位模式信号被采样。

在MicroBlaze上断言重置将导致MicroBlaze直接重置,并且将忽略任何未完成的事务。

正在进行的交易将突然停止。重置不会等待未完成访问的完成。

如果要在正常操作期间重置MicroBlaze并且要确保完成所有未完成的事务,则需要遵循此流程。

  1. 不要重置MicroBlaze,而是将中断设置为MicroBlaze
  2. 在此中断的中断例程中,执行睡眠指令。

    可以使用汇编程序伪指令睡眠:

    #definemb_sleep()({__ asm__ __ volatile {(“sleep \ t”);})

  3. 当MicroBlaze进入睡眠模式时,置位复位信号。
    当MicroBlaze进入睡眠模式时,睡眠输出信号被置位。
请登录后发表评论

    没有回复内容