arm cm3 dsb instrukce
Jan Waclawek
konfera na efton.sk
Pátek Červen 5 10:20:00 CEST 2020
> Jinak øeèeno - pokud máte napøíklad globální
> promìnnou, kterou sdílíte mezi smyèkou hlavního programu a pøeruením,
> nestaèí jí deklarovat jako volatile, musíte pouít nìco jako
> std::atomic<type>.
U Cortex-M3/M4 toto nie je potrebne riesit (s vynimkou LDM/STM, ktore su z
principu problematicke operacie, hojne sa vyskytujuce aj v ARM erratach, a
pochybujem, ze by ich nejaky prekladac generoval pre volatile premenne),
vid napr. Cortex-M4 TRM, 3.5 Write buffer:
If an interrupt
comes in while DMB or DSB is waiting for the write buffer to drain, the
processor returns to the
instruction following the DMB or DSB after the interrupt completes. This
is because interrupt
processing acts as a memory barrier operation.
wek
Další informace o konferenci Hw-list