STM32启动过程详解

2017-09-13 19:21:54来源: eefocus 关键字:STM32  启动过程

一、STM32启动文件详细解析

STM32启动文件详细解析(V3.5.0) 以:startup_stm32f10x_hd.s为例


  1. ;******************** (C) COPYRIGHT 2011 STMicroelectronics ********************  

  2. ;* File Name          : startup_stm32f10x_hd.s  

  3. ;* Author             : MCD Application Team  

  4. ;* Version            : V3.5.0  

  5. ;* Date               : 11-March-2011  

  6. ;* Description        : STM32F10x High Density Devices vector table for MDK-ARM   

  7. ;*                      toolchain.   

  8. ;*                      This module performs:  

  9. ;*                      - Set the initial SP  

  10. ;*                      - Set the initial PC == Reset_Handler  

  11. ;*                      - Set the vector table entries with the exceptions ISR address  

  12. ;*                      - Configure the clock system and also configure the external   

  13. ;*                        SRAM mounted on STM3210E-EVAL board to be used as data   

  14. ;*                        memory (optional, to be enabled by user)  

  15. ;*                      - Branches to __main in the C library (which eventually  

  16. ;*                        calls main()).  

  17. ;*                      After Reset the CortexM3 processor is in Thread mode,  

  18. ;*                      priority is Privileged, and the Stack is set to Main.  

  19. ;* <<< Use Configuration Wizard in Context Menu >>>     

  20. ;*******************************************************************************  

  21. ; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS  

  22. ; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.  

  23. ; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,  

  24. ; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE  

  25. ; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING  

  26. ; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.  

  27. ;*******************************************************************************  

  28.   

  29. ; Amount of memory (in bytes) allocated for Stack  

  30. ; Tailor this value to your application needs  

  31.  Stack Configuration                     ;栈定义  

  32. ;    Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>  

  33. ;   

  34.   

  35. Stack_Size      EQU     0x00000400              ;EQU伪指令,作用是左边的符号名代表右边的表达式  

  36.   

  37.                 AREA    STACK, NOINIT, READWRITE, ALIGN=3   ;定义栈段:名称为STACK,未初始化,可读写,ELF 的栈段按2^3=8对齐  

  38. Stack_Mem       SPACE   Stack_Size              ;分配一片连续的存储区域并初始化为 0,栈空间:0x400个字节  

  39. __initial_sp                            ;栈空间顶地址  

  40.       

  41.                                                 

  42.  Heap Configuration                  ;堆定义  

  43. ;     Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>  

  44. ;   

  45.   

  46. Heap_Size       EQU     0x00000200  

  47.                 AREA    HEAP, NOINIT, READWRITE, ALIGN=3  

  48.   

  49. __heap_base                         ;堆空间起始地址  

  50. Heap_Mem        SPACE   Heap_Size               ;堆空间:0x200个字节  

  51. __heap_limit                            ;堆空间结束地址  

  52.   

  53.                               

  54.     PRESERVE8                       ;PRESERVE8 指令指定当前文件保持堆栈八字节对齐  

  55.     THUMB                           ;告诉汇编器下面是32位的Thumb指令,如果需要汇编器将插入位以保证对齐   

  56.                           

  57. ; Vector Table Mapped to Address 0 at Reset         ;中断向量表定义  

  58.                                 ;实际上是在CODE区(假设STM32从FLASH启动,则此中断向量表起始地址即为0x8000000)  

  59.                 AREA    RESET, DATA, READONLY           ;定义一块数据段,只可读,段名字是RESET  

  60.                 EXPORT  __Vectors               ;EXPORT:在程序中声明一个全局的标号__Vectors,该标号可在其他的文件中引用  

[1] [2] [3] [4] [5] [6] [7]

关键字:STM32  启动过程

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/article_2017091334410.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:stm32编程配置一个I/O为EXTI中断的步骤
下一篇:STM32 ADC的规则通道和注入通道的区别

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
STM32
启动过程

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源

何立民专栏

单片机及嵌入式宝典

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

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved