STM32F1(Cortex M3内核)存储器映射

发布者:qin199099最新更新时间:2018-06-04 来源: eefocus关键字:STM32F1  Cortex  M3内核  存储器映射 手机看文章 扫描二维码
随时随地手机看文章

本文参考《CM3权威指南》第五章 存储器系统

              《STM32_参考手册》2.4 启动配置

              《STM32F103xCDE_数据手册》第四章 memory mapping


Cortex m3内核规定的存储器映射如下图所示。就好像ARM公司打造了一个柜子,从上到下有这几个抽屉,它规定了每个抽屉放的东西的种类,具体放什么放多少它不管(只要不超过抽屉的大小),由每个芯片厂商自己决定。



图1 cortex m3存储器映射

我们来看看ST公司打造的STM32F1系列芯片是如何在这些抽屉放置东西的。

代码抽屉

在代码这个抽屉,STM32F1布置了Flash模块,用来存储代码,相当于电脑的硬盘,具体展开如下图所示。主存储器(图中Flash区)起始起止为0x0800 0000,终止地址依Flash大小而定,图中0x0807 FFFF为512k的终止地址。然后经过一段保留区,从0x1FFFF000 – 0x1FFF F7FF为系统存储器,是不可擦除的ROM区,存储ISP程序,最后option bytes这个区域是16个字节,是控制flash区域的寄存器。有同学说我漏了一块,对,从0x0000 0000的这块是我要着重讲解的一块。



图2 STM32F1代码区抽屉

在讲这块之前,首先要讲一下STM32F1的三种启动模式,如下图所示。

1).主闪存存储器启动:从STM32内置的Flash启动(0x0800 0000-0x0807 FFFF),一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。

2).系统存储器启动:从系统存储器启动(0x1FFFF000 – 0x1FFF F7FF),这种模式启动的程序功能是由厂家设置的。一般来说,我们选用这种启动模式时,是为了从串口下载程序,因为在厂家提供的ISP程序中,提供了串口下载程序的固件,可以通过这个ISP程序将用户程序下载到系统的Flash中。

3).片上SRAM启动:从内置SRAM启动(0x2000 0000-0x3FFFFFFF),既然是SRAM,自然也就没有程序存储的能力了,这个模式一般用于程序调试。

下面讲解Boot MemorySpace(Aliased to Flash or systen memory depending onBOOT pins)。其实这块空间是预留的,不存数据,或者它压根不存在。在不同的启动方式下,这块区域会被映射到其他区域:

1).从Main Flash 启动:Boot Space 是Main Flash 的别名。以0x08000000 对应的内存为例,则该块内存既可以通过0x00000000 操作也可以通过0x08000000 操作,且都是操作的同一块内存

2).从System Memory启动:Boot Space 是System Memory的别名。以0x1FFFFFF0对应的内存为例,则该块内存既可以通过0x00000000 操作也可以通过0x1FFFFFF0操作,且都是操作的同一块内存

3).从SRAM 启动:SRAM 只能通过0x20000000进行操作,与上述两者不同。从SRAM 启动时,需要在应用程序初始化代码中重新设置向量表的位置。


 


图3 STM32F1三种启动模式

片上SRAM抽屉

在SRAM这个抽屉,STM32F1布置了SRAM,相当于电脑的内存,具体展开如下图所示。



图4 STM32F1片上SRAM抽屉

在这个抽屉中,STM32F1只放了64K的SRAM存储空间,其余的空间保留(空着)。这里需要说明一下,虽然其余那些空间被保留,没有存储器与之对应,但是位带别名区的地址仍然可以操作来改变64K地址中的对应位。

片上外设抽屉

在这个抽屉中,放置了STM32F1的外设,包括GPIO、UART、ADC等所有外设的控制、状态、数据寄存器都在这个抽屉中。当然,抽屉很大肯定装不满,装不满的空间就预留着。



图5 STM32F1片上外设抽屉

片外RAM抽屉

在这个抽屉中,我们可以自己扩展内存,但必须在STM32的FSMC控制器下进行,这个控制器的作用就是将内部AHB总线和外部扩展内存的总线进行转化,利用这个控制器,我们可以很方便的控制LCD,这里就不展开了。这1G的抽屉可以放下图的东西。这片空间STM32并没有放东西,STM2指定我们可以在其中扩展内存NOR/PSRAM1、NOR/PSRAM2……并接受FSMC控制器的控制。



图6 STM32F1片外RAM抽屉

片外外设抽屉

在这个抽屉中,STM32F1放置了FSMC控制器的一些寄存器,就是在这些寄存器的配合下,FSMC控制器得以有效控制片外RAM进行读写操作。



图7 STM32F1片外外设抽屉

其余的抽屉,STM32F1就没动过了。最后,stm32f1的存储器完整映射如下图所示,大家可以和图1对比了解这个过程。


图8 STM32F1存储器映射


关键字:STM32F1  Cortex  M3内核  存储器映射 引用地址:STM32F1(Cortex M3内核)存储器映射

上一篇: STM32存储器映射
下一篇:ARM存储器结构,映射,重新映射

推荐阅读最新更新时间:2024-03-16 16:04

Cortex内核独揽大局,MCU内核之争升级
  随着 NXP 发布LPC1700系列 Cortex -M3内核的 MCU ,围绕着ARM新宠 Cortex 内核的竞争已经进入白热化。   目前 Cortex -M3处理器内核的授权客户数已达到28家,包括东芝、ST、Ember、Accent、Actel、ENERGY、ADI、 NXP 、TI、Atmel、Broadcom、Samsung、Zilog和Renesas,其中ST、TI、 NXP 、Atmel和东芝已经推出基于 Cortex -M3的 MCU 产品。 在这5家中,通过收购Luminary入局的TI和ST属于最先吃螃蟹的人,到现在已经成果初现; NXP 则凭借最新的V2版内核100MHz主频的LPC1700系列大有
[单片机]
<font color='red'>Cortex</font><font color='red'>内核</font>独揽大局,MCU<font color='red'>内核</font>之争升级
Cortex-A8开发板,选择S5PV210还是AM335X?
随着手机和平板等移动市场的持续火爆,ARM低功耗高效率内核技术越来越受重视,国内各大企业相继卷入移动平台,华为、联想、小米、魅族、阿里巴巴等,都已经和ARM有了深度的合作。 图1 据ARM中国代理商米尔科技统计,2009年,ARM在纳斯达克股票均价6.04美元,2013年,ARM纳斯达克股票均价已经升到了44.54美元,四年之间涨了将近八倍。 而作为ARM的一个关键转型产品,Cortex-A8备受瞩目,因其可在Android、Linux和WinCE系统之间切换,所以在手机、平板、工控三大领域得到了大量的应用。 接下来就Cortex-A8的发展过程做一个简要叙述,看看这个关键的过渡技术有怎样的历史。 Cortex-A8
[单片机]
<font color='red'>Cortex</font>-A8开发板,选择S5PV210还是AM335X?
性能提升五倍 Cortex-A15处理器将亮相
    随着采用双核处理器的智能手机与平板电脑逐渐成为目前市场中最为热门的消费类电子产品,2011年无疑已经可以称之为智能移动设备双核处理器时代的元年。并且得益于众多芯片厂商的青睐,ARM架构处理器更是大获全胜。 Cortex-A15处理器将于2012年底亮相   而对于ARM架构处理器在未来的发展,也被业界与消费者所广泛关注。就在日前,ARM公司表示技术更为先进、性能更为强劲的Cortex-A15处理器芯片有望于2012年底正式登场。ARM公司同时承诺称,在性能方面全新的Cortex-A15处理器将比现有的Cortex-A9处理器提升五倍。   截至目前,NVIDIA公司、三星公司、意法半导体公司、爱立信以及德州仪器均已
[手机便携]
飞思卡尔与ARM通过Cortex-A50处理器许可证扩大合作
近日,飞思卡尔半导体宣布授权 ARM® Cortex™-A50 系列微处理器 (MPU),用于其未来版本的 i.MX 应用处理器和 QorIQ 通信处理器产品线。此协议是与 ARM 的新的多年订购许可证的一部分,证明了飞思卡尔对 ARM 架构的承诺及进一步扩展其 ARM Powered® 产品组合意图。ARM Powered® 产品组合是业界范围最广的基于 ARM 技术的解决方案系列之一。 飞思卡尔高级副总裁兼微控制器事业部总经理 Geoff Lees 表示,“飞思卡尔非常高兴地宣布与 ARM 的订购授权模式,通过 ARM Cortex-A50 处理器系列开始。这份协议扩展了飞思卡尔与 ARM 的长期战略技术合作伙伴关系,让我
[单片机]
Arm推出新一代旗舰CPU、GPU和NPU
Arm宣布推出用于旗舰型手机的新款处理器IP系列:Cortex-X1 CPU,Cortex-A78 CPU,Mali-G78 GPU和Ethos-N78神经网络处理器(NPU)。 Arm表示,作为Arm定制化项目的一部分,Cortex-X1是迄今为止功能最强大的Cortex处理器,其峰值性能比当前的Cortex-A77 CPU高出30%,与刚刚发布的Cortex-A78相比,单线程整数性能提高了22%。 Cortex-X1与Cortex-A78的差异 Arm-Cortex-X1“这种短的高性能爆发产品最适合设备的快速响应,为智能手机和大屏幕设备提供了迄今为止最高的性能,” Arm表示,“此外,Cortex-X1与Co
[手机便携]
Arm推出新一代旗舰CPU、GPU和NPU
Cortex-M3内核的异常中断
有许多朋友在学习,或者开发 STM32 时都遇到过HardFault_Handler的情况。 那么,又有多少人认真去分析过Fault这类异常中断呢? 下面结合STM32F1(Cortex‐M3内核)来给大家讲述一下这些异常中断的内容。 1Cortex‐M3异常 说起Fault,我们就要说一下Cortex‐M3的异常。 Cortex‐M3 在内核上搭载了一个异常响应系统, 支持为数众多的系统异常和外部中断。 CM3部分异常列表: 这些异常中断的优先级,有些却是固定的,有些是可以通过软件来配置,如UART发送中断、DMA中断等。 相信大家看到这个列表不会陌生,因为在STM32的启动代码,中断代码中都会看到这些异常。 比如在st
[单片机]
<font color='red'>Cortex</font>-M3<font color='red'>内核</font>的异常中断
晶晨半导体推出集成CORTEX-A9的AML8726-M片上系统
为广泛的消费电子产品提供领先解决方案的无晶圆半导体厂商晶晨半导体(Amlogic) 和ARM公司今天共同宣布:Amlogic最新的高性能高清计算平台AML8726-M 片上系统 正式推出。这一新款片上系统集成了Amlogic专有的高清视频解码引擎、 ARM Cortex-A9 处理器 和ARM Mali-400 GPU ,能为全3D游戏提供世界级的性能。Amlogic集成了1080p全高清视频功能以及一系列连接选项,使得其合作伙伴能够以具有优势的价格为市场提供下一代消费电子产品。 ARM 公司市场营销执行副总裁Ian Drew表示:“Amlogic在为合作伙伴开辟新市场方面有着良好的成功记录。随着全新的AML8726-
[工业控制]
ARM Cortex-M3 即插即用的跟踪仿真器
  IAR Systems 在 Embedded World 上发布第一款支持 ARM Cortex-M3 的高速跟踪仿真器。这个即插即用的仿真器与 IAR Embedded Workbench 集成开发环境完全兼容,可以把应用下载到硬件开发板上直接调试,从而加快项目的开发进度。   使用 IAR J-Trace 非常简单,通过 USB 线与运行 Windows 操作系统的主机连接,并通过这个 USB 接口供电。此外,通过一个独立的 JTAG 接口,它可以被用作 JTAG 仿真器。   IAR J-Trace 结合了 ETM ( embedded trace macrocell ) 和嵌入式 ICE( incircuit
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved