Kritisches Problem
Der C2H Compiler behandelt Pointer-Dereferenzen mit einer flüchtigen geben Sie ein, als ob sie alle anderen Pointer-Dereferenzen aliasieren. Pointer, die sind eingeschränkt qualifiziert sind und die gleiche Art und Weise behandelt werden.
Die beiden Schleifen können nicht ein
gleichzeitig geplant werden, da die volatile
Qualifikation
überschreibt das __restrict
__ aberma.
volatile int * __restrict__ fifo_rd = FIFO_RD_BASE;
volatile int * __restrict__ fifo_wr = FIFO_WR_BASE;
for ()
{
*fifo_wr = ....;
}
for ()
{
... = *fifo_rd;
} |
Unterteilen Sie die Funktion in mehrere Interrupt-Request (IRQ)-aktiviert Beschleuniger, die gleichzeitig vom Prozessor aus gestartet werden, und FIFO-Puffer verwenden, um zwischen ihnen zu kommunizieren.