*
*Home|Chinese|Japanese*About ARM|Forums|Events|News|Employment|Contact Us|Investors*
dotted rule
*ARM - the architecture for the digital worldARM - the architecture for the digital world
search
*
*
***
*MARKETS:PRODUCTS & SOLUTIONS:CONNECTED COMMUNITY:TECHNICAL SUPPORT:DOCUMENTATION*
*
technical support
*
*
****
*.Technical Support
*
*
*>>Home Page*
*
*.Obtaining Support*
*
*.FAQs*
*
**Development Tool FAQs*
**IP FAQs*
**Embedded Software FAQs*
**Artisan Physical IP FAQs (Login Required)*
*
*.Downloads*
*
*.Documentation*
*
*.Training*
*
*.Where To Buy*
*
*.Keil MCU Tools*
*
*.What's New*
*
*.ARM Newsgroups*
*
*.Active Assist On-site Services*
*
*
*
technical support FAQsask ARM*
*

Technical Support Search
*     (Advanced Search)
  FAQs   Documentation   Downloads   Forums

*

 
downarrowUse of banked registers after forced user-mode STM
Applies to: Assembler, RealMonitor

This is fixed in AFS 1.4.
RMTarget, as supplied in AFS 1.2 and AFS 1.3, uses a sequence of instructions that accesses banked registers after a forced user-mode STM. To fix this, you must add a NOP as follows:

1) In the Sources/rm_asm.s file, locate the following code in the rm_PollRunningToStoppped function:

         STMIA   lr, {a1,a3,r5-r14}^ ; Save user-mode r3-r14.
ADD a1, lr, #12*4 ; a1 points to r[15]

2) Insert a NOP instruction as follows:

         STMIA   lr, {a1,a3,r5-r14}^ ; Save user-mode r3-r14.
NOP ; need a 1 instruction gap before reading lr
ADD a1, lr, #12*4 ; a1 points to r[15]

(DE 63660)






back to top

*
**
*4 dots*Other ARM Websites
*
shadow *LEGAL STATEMENTshadow