April2010DocID15491Rev31/154PM0056ProgrammingmanualSTM32F10xxxCortex-M3programmingmanualThisprogrammingmanualprovidesinformationforapplicationandsystem-levelsoftwaredevelopers.ItgivesafulldescriptionoftheSTM32F10xxxCortex™-M3processorprogrammingmodel,instructionsetandcoreperipherals.TheSTM32F10xxxCortex™-M3processorisahighperformance32-bitprocessordesignedforthemicrocontrollermarket.Itofferssignificantbenefitstodevelopers,including:●Outstandingprocessingperformancecombinedwithfastinterrupthandling●Enhancedsystemdebugwithextensivebreakpointandtracecapabilities●Efficientprocessorcore,systemandmemories●Ultra-lowpowerconsumptionwithintegratedsleepmodes●Platformsecuritywww.st.comContentsPM00562/154DocID15491Rev3Contents1Aboutthisdocument.......................................101.1Typographicalconventions....................................101.2Listofabbreviationsforregisters...............................101.3AbouttheSTM32Cortex-M3processorandcoreperipherals.........101.3.1Systemlevelinterface......................................111.3.2Integratedconfigurabledebug................................111.3.3Cortex-M3processorfeaturesandbenefitssummary..............121.3.4Cortex-M3coreperipherals..................................132TheCortex-M3processor....................................142.1Programmersmodel.........................................142.1.1Processormodeandprivilegelevelsforsoftwareexecution.........142.1.2Stacks..................................................142.1.3Coreregisters............................................152.1.4Exceptionsandinterrupts...................................232.1.5Datatypes...............................................232.1.6TheCortexmicrocontrollersoftwareinterfacestandard(CMSIS).....242.2Memorymodel.............................................252.2.1Memoryregions,typesandattributes..........................262.2.2Memorysystemorderingofmemoryaccesses...................272.2.3Behaviorofmemoryaccesses.........................