October2009DocID15491Rev21/137PM0056ProgrammingmanualSTM32F10xxxCortex-M3programmingmanualThisprogrammingmanualprovidesinformationforapplicationandsystem-levelsoftwaredevelopers.ItgivesafulldescriptionoftheSTM32F10xxxCortex™-M3processorprogrammingmodel,instructionsetandcoreperipherals.TheSTM32F10xxxCortex™-M3processorisahighperformance32-bitprocessordesignedforthemicrocontrollermarket.Itofferssignificantbenefitstodevelopers,including:●Outstandingprocessingperformancecombinedwithfastinterrupthandling●Enhancedsystemdebugwithextensivebreakpointandtracecapabilities●Efficientprocessorcore,systemandmemories●Ultra-lowpowerconsumptionwithintegratedsleepmodes●Platformsecuritywww.st.comContentsPM00562/137DocID15491Rev2Contents1Aboutthisdocument........................................81.1Typographicalconventions.....................................81.2Listofabbreviationsforregisters................................81.3AbouttheSTM32Cortex-M3processorandcoreperipherals..........81.3.1Systemlevelinterface.......................................91.3.2Integratedconfigurabledebug.................................91.3.3Cortex-M3processorfeaturesandbenefitssummary..............101.3.4Cortex-M3coreperipherals..................................112TheCortex-M3processor....................................122.1Programmersmodel.........................................122.1.1Processormodeandprivilegelevelsforsoftwareexecution.........122.1.2Stacks..................................................122.1.3Coreregisters............................................132.1.4Exceptionsandinterrupts...................................212.1.5Datatypes...............................................212.1.6TheCortexmicrocontrollersoftwareinterfacestandard(CMSIS).....222.2Memorymodel.............................................232.2.1Memoryregions,typesandattributes..........................242.2.2Memorysystemorderingofmemoryaccesses...................252.2.3Behaviorofmemoryaccesses.......................