Hello,
I am learning about assembly and arm from the book titled "The Designers Guide to the Cortex-M Processor Family" by Trevor Martin from Newnes Press. I downloaded Keil uVision and it is defaulting to "Compiler Version 6" while the book appears to have developed the examples with setting to "Compiler Version 5." I am still trying to get all the different versions untangeled between compilers, MDK, and uVision etc... For the time being I would appreciate some guidance with this specific line of code from an example I am trying to run using the default Compiler Version 6 install. The device header file is included in the code.
#include "stm32f10x.h"
register unsigned int apsr __asm("apsr");
but the compiler / IDE returns the following:
main.c(62): error: unknown register name 'apsr' in asmregister unsigned int apsr __asm("apsr");
main.c(62): error: unknown register name 'apsr' in asm
The code syntax and register names appear consistent with ARM documentation from this example so I am guessing something changed and I just cant seem to hunt down the differences perhaps? I am puzzling on whether to download the old compiler 5 or just press on updating the examples as I make my way through the book?
Thank you Ronan Synnott - this is very helpful and just what I was hoping for. Sorting it all out was eating up some cycles for me. Much appreciated!