Durante o Nios® II desenvolvimento e depuração do aplicativo, você pode notar um comando de redefinição na visualização do código Assembly, como esta "chamada 0x0". Esse reset veio de uma memória ficando corrompida. Essa corrupção veio da escrita para um periférico somente leitura ou a leitura de endereço desconhecido.
Então, o que vai acontecer com essa transação errada? ele é roteado para o escravo "padrão". O secundário padrão é definido como
1- Periféricos com endereço maior de span.
2- Periférico que foi selecionado como o secundário padrão em Qsys.
Se você não estiver definindo o secundário padrão, o periférico de memória será o secundário padrão.
Para evitar esse comando de redefinição inesperada, faça as seguintes coisas:
1- Não escreva para ler apenas periféricos.
2- Defina um periférico Qsys Slave padrão para receber todas as transações não assinadas. -- deve haver um periférico secundário padrão que capturaria o endereço da transação inválida que recebeu.
3- Use a ponte de timoute AXI ou slave padrão AXI