Masalah Kritis
Compiler C2H memperlakukan dereferensi penunjuk ke volatile ketik seakan-akan alias semua dereferensi penunjuk lainnya. Penunjuk yang memenuhi syarat terbatas diperlakukan dengan cara yang sama.
Dua loop yang tidak dapat
dijadwalkan secara bersamaan karena volatile
kualifikasi
menggantikan ___restrict
_ pragma.
volatile int * __restrict__ fifo_rd = FIFO_RD_BASE;
volatile int * __restrict__ fifo_wr = FIFO_WR_BASE;
for ()
{
*fifo_wr = ....;
}
for ()
{
... = *fifo_rd;
} |
Bagi fungsi menjadi beberapa permintaan interupsi (IRQ)-enabled akselerator yang diluncurkan secara bersamaan dari prosesor, dan gunakan buffer FIFO untuk berkomunikasi di antara mereka.