sm32存储映射

sm32存储映射

ID:40754620

大小:683.00 KB

页数:6页

时间:2019-08-07

sm32存储映射_第1页
sm32存储映射_第2页
sm32存储映射_第3页
sm32存储映射_第4页
sm32存储映射_第5页
资源描述:

《sm32存储映射》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Cortex-M3结构:哈佛结构,独立的指令总线和数据总线,但指令与数据总线共用一个存储器Cortex-M3内核通过I-Code、D-Code、System总线与STM32内部的Flash、SROM相连接的,该种连接情况直接关系到STM32存储器的结构组织;也就是说,Cortex-M3的存储器结构决定了STM32的存储器结构。STM32系统结构Cortex—M3存储器结构决定STM32的存储结构,存储器映射就是把芯片外的FLASHRAM外设等统一编址、用地址来表示对象。Cortex-M3存储映射Cortex-M3内核将0x0000_0000——0xFFF

2、F_FFFF这块4G大小的空间分成8大块:代码、SRAM、外设、外部RAM、外部设备、专用外设总线-内部、专用外设总线-外部、特定厂商等。stm32是基于CORTEX-M3的,下图是stm32实际系统映射与上图的区别:STM32的存储器地址空间被划分为大小相等的8块区域,每块区域大小为512MB不同类型的STM32单片机的SRAM大小是不一样的,但是他们的起始地址都是0x20000000,终止地址都是0x20000000+其固定的容量大小。其中:Peripherals:外设的存储器映射,对该区域操作,就是对相应的外设进行操作;SRAM:运行时临时存放代码

3、的地方;Flash:存放代码的地方;SystemMemory:STM32出厂时自带的你只能使用,不能写或擦除;(bootload里的烧写程序)OptionBytes:可以按照用户的需要进行配置(如配置看门狗为硬件实现还是软件实现);程序运行、寄存器设置、ICP、IAP都依靠这些东西。启动部分:1)堆和栈的初始化;2)向量表定义;3)地址重映射及中断向量表的转移;4)设置系时钟频率;5)中断寄存器的初始化;6)跳到main函数首先系统复位时,Cortex-M3从代码区偏移0x0000'0000处获取栈顶地址,用来初始化MSP寄存器的值。接下来从代码区偏移0

4、x0000'0004获取第一个指令的跳转地址起始地址存放栈顶地址,第二个地址就是复位中断向量的入口地址在启动文件里就是Rest_Handler三种启动模式,通过boot引脚设置中断向量表定位PC1、通过boot引脚设置可以将中断向量表定位于SRAM区,即起始地址为0x2000000,同时复位后PC指针位于0x2000000处; 2、通过boot引脚设置可以将中断向量表定位于FLASH区,即起始地址为0x0800000,同时复位后PC指针位于0x08000000处;3、通过boot引脚设置可以将中断向量表定位于内置Bootloader区从主闪存存储器启动,

5、主闪存存储器被映射到启动空间(0x00000000),但仍能在原地址(0x1FFFF000)访问;从系统存储器启动:系统存储器被映射到启动空间(0x00000000)。从内置的SRAM启动,只能在0x20000000开始地址区访问SRAM。STM32时钟分析STM32之时钟树1          STM32有五个时钟源:HSI、HSE、LSI、LSE、PLL1.1         HSI:高速内部时钟、RC振荡器、频率为8MHz、时钟精度较差,可作为备用时钟源(时钟安全系统CSS)。1.2         HSE:高速外部时钟、可接外部晶体/陶瓷谐振器(

6、4MHz~16MHz)或外部时钟源(HSE旁路,Max25MHz)。1.3         LSI:低速内部时钟、RC振荡器、频率为40kHz,大容量MCU可进行LSI时钟校准。1.4         LSE:低速外部时钟、接频率为32.768kHz的外部晶体/陶瓷谐振器。1.5         PLL:锁相环倍频输出,时钟输入源可选择HSI/2、HSE或HSE/2。倍频可选择为2~16倍,最大输出72MHz。 用户可通过多个预分频器配置AHB总线、高速APB2总线和低速APB1总线的频率。AHB和APB2域的最大频率是72MHZ。APB1域的最大允许频

7、率是36MHZ。SDIO接口的时钟频率固定为HCLK/2。 l         40kHz的LSI供独立看门狗IWDG使用,另外它还可以被选择为实时时钟RTC的时钟源。另外,实时时钟RTC的时钟源还可以选择LSE,或者是HSE的128分频。RTC的时钟源通过RTCSEL[1:0]来选择。l         STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源只能从PLL输出端获取,可以选择为1.5分频或者1分频,也就是,当需要使用USB模块时,PLL必须使能,并且时钟频率配置为48MHz或72MHz。l    

8、     另外,STM32还可以选择一个PLL输出的2分频、HSI、HSE、或者

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。