STM32中用到的Cortex-M3寄存器说明

来源:本站
导读:目前正在解读《STM32中用到的Cortex-M3寄存器说明》的相关信息,《STM32中用到的Cortex-M3寄存器说明》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《STM32中用到的Cortex-M3寄存器说明》的详细说明。
简介:在STM32中用到了Cortex-M3定义的三组寄存器,有关这三组寄存器的说明不在STM32的技术手册中,需要参考ARM公司发布的Cortex-M3 Technical Reference Manual (r2p0)。

在STM32的固件库中定义了三个结构体与这三个寄存器组相对应,这三个结构体与ARM手册中寄存器的对应关系如下:

1)、NVIC寄存器组

STM32的固件库中有如下定义:

typedefstruct

{

vu32ISER[2];

u32RESERVED0[30];

vu32ICER[2];

u32RSERVED1[30];

vu32ISPR[2];

u32RESERVED2[30];

vu32ICPR[2];

u32RESERVED3[30];

vu32IABR[2];

u32RESERVED4[62];

vu32IPR[11];

}NVIC_TypeDef;

它们对应ARM手册中的名称为

ISER=InterruptSet-EnableRegisters

ICER=InterruptClear-EnableRegisters

ISPR=InterruptSet-PendingRegister

ICPR=InterruptClear-PendingRegister

IABR=ActiveBitRegister

IPR=InterruptPriorityRegisters

每个寄存器有240位,以InterruptSet-EnableRegisters说明,ISER[0]对应中断源0~31,ISER[1]对应中断源32~63,STM32只有60个中断源,所以没有ISER[2:7]。

参考STM32技术参考手册中的中断向量表,中断源的位置为:

位置0-WWDG=WindowWatchdoginterrupt

位置1-PVD=PVDthroughEXTILinedetectioninterrupt

位置2-TAMPER=Tamperinterrupt

......

位置58-DMA2_Channel3=DMA2Channel3globalinterrupt

位置59-DMA2_Channel4_5=DMA2Channel4andDMA2Channel5globalinterrupts

2)、系统控制寄存器组

STM32的固件库中有如下定义:

typedefstruct

{

vuc32CPUID;

vu32ICSR;

vu32VTOR;

vu32AIRCR;

vu32SCR;

vu32CCR;

vu32SHPR[3];

vu32SHCSR;

vu32CFSR;

vu32HFSR;

vu32DFSR;

vu32MMFAR;

vu32BFAR;

vu32AFSR;

}SCB_TypeDef;/*SystemControlBlockStructure*/

它们对应ARM手册中的名称为

CPUID=CPUIDBaseRegister

ICSR=InterruptControlStateRegister

VTOR=VectorTableOffsetRegister

AIRCR=ApplicationInterrupt/ResetControlRegister

SCR=SystemControlRegister

CCR=ConfigurationControlRegister

SHPR=SystemHandlersPriorityRegister

SHCSR=SystemHandlerControlandStateRegister

CFSR=ConfigurableFaultStatusRegisters

HFSR=HardFaultStatusRegister

DFSR=DebugFaultStatusRegister

MMFAR=MemManageAddressRegister

BFAR=BusFaultAddressRegister

AFSR=AuxiliaryFaultStatusRegister

3)、系统时钟寄存器组

STM32的固件库中有如下定义:

typedefstruct

{

vu32CTRL;

vu32LOAD;

vu32VAL;

vuc32CALIB;

}SysTick_TypeDef;

它们对应ARM手册中的名称为

CTRL=SysTickControlandStatusRegister

LOAD=SysTickReloadValueRegister

VAL=SysTickCurrentValueRegister

CALIB=SysTickCalibrationValueRegister

提醒:《STM32中用到的Cortex-M3寄存器说明》最后刷新时间 2024-03-14 01:09:22,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《STM32中用到的Cortex-M3寄存器说明》该内容的真实性请自行鉴别。