I have your design running in nexys A7 with an EL2 core.
When I do a sequence of writes to an I/O port, such as GPIO, and my code is running in ICCM, the writes are lost, except for the last one. I can solve the problem by inserting some delay in between the I/O writes.
It appears that with optimized code, the writes through Axi / Axi Mux / WB occur slower than the processor can write the data.
Is this the way it is supposed to work? Is there some sort of mechanism for the AXI writes to delay the processor core while each one is completing?
I guess I can write code to wait on I/O writes to complete before I send another one. Am I required to do that?
I have your design running in nexys A7 with an EL2 core.
When I do a sequence of writes to an I/O port, such as GPIO, and my code is running in ICCM, the writes are lost, except for the last one. I can solve the problem by inserting some delay in between the I/O writes.
It appears that with optimized code, the writes through Axi / Axi Mux / WB occur slower than the processor can write the data.
Is this the way it is supposed to work? Is there some sort of mechanism for the AXI writes to delay the processor core while each one is completing?
I guess I can write code to wait on I/O writes to complete before I send another one. Am I required to do that?