- solution est de faire intervenir une 3eme variable qui englobe les 2 premieres. exemple le bug "LDMIA r0,{r1,r2}" la correction "LDMIA r0,{r1,r2,r3}"
- en C le soucit est moindre car l instruction ldm est plus utilise dans le save /restore. mais verifier surtout si vos variable sont dans une zone cached surtout pour le frame buffer du lcd, pour le IIS " l audio

2°) l usage excessif de l instruction STM/STR et de l ecriture en buffer dans une zone memoire cached. le bug ou plutot le soucit est que d utilise intencivement ces intructions ecrivent dans le buffer memoire qui est aussi utilise par le dma du lcd et du IIS. Du coup l appel du dma qui recherche les demande par le lcd ou le IIS attend et occupe le bus pour rien. ce qui fait que l on a des latence soit sur l affichage ou sur le sound( coupure ou crachat)
- utiliser ces instruction dans une zone memoire non cached car l ecriture en buffer n est pas active.
- dans le cas ou s est en zone cached essaye de limite ou de temporise ces instructions.
- sinon reconfigure par l intermediaire de la mmu cette zone memoire et desactiver le write buffer
- si dans le cas ou vous avez encore quelque soucit malgres ces quelques aides insere une instruction fantome exemple un ldm " voir plus haut

3°) bug IIS FIFO le bug proviend du au bug en 2°) qui provoque des corruption de données
4°) il concerne le frame buffer du lcd ainsi ainsi que leur dma ( lecture, lecture/ecriture) dans une zone non-cacheable. si la zone memoire utiliser a pour attribu writeback elle se retrouve mise a jour moins rapidement ou si elle est en write- throught le dma ne pourra pas acceder au donne si les instructions STM/STR sont active car elle occuperont le cpu tout le temps.
- prendre la precaution de fournir au dma une zone memoire non-cacheable en la configurant avec la mmu.