当前位置:首页 > 单片机 > 单片机
[导读];******************** (C) COPYRIGHT 2010 STMicroelectronics ********************;* File Name: startup_stm32f10x_hd_vl.s;* Author: MCD Application Team;* Version: V3.4.0;* Date: 10/15/2010;* Descriptio

;******************** (C) COPYRIGHT 2010 STMicroelectronics ********************
;* File Name: startup_stm32f10x_hd_vl.s
;* Author: MCD Application Team
;* Version: V3.4.0
;* Date: 10/15/2010
;* Description: STM32F10x High Density Value Line Devices vector table
;*for MDK-ARM toolchain.
;*This module performs:
;*- Set the initial SP
;*- Set the initial PC == Reset_Handler
;*- Set the vector table entries with the exceptions ISR address
;*- Configure the clock system and also configure the external
;*SRAM mounted on STM32100E-EVAL board to be used as data
;*memory (optional, to be enabled by user)
;*- Branches to __main in the C library (which eventually
;*calls main()).
;*After Reset the CortexM3 processor is in Thread mode,
;*priority is Privileged, and the Stack is set to Main.
;* <<< Use Configuration Wizard in Context Menu >>>
;*******************************************************************************
; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
; AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
;*******************************************************************************

; Amount of memory (in bytes) allocated for Stack
; Tailor this value to your application needs
;

Stack_SizeEQU0x00000400;栈大小

AREASTACK, NOINIT, READWRITE, ALIGN=3

;用AREA 标记 STACK段的开始,未初始化,可读写,8字节对齐
Stack_MemSPACEStack_Size;为Stack_Mem 分配Stack_Size个字大小的连续空间,初始化为0
__initial_sp;STACK 地址分配结束标记(结束地址)


;

Heap_SizeEQU0x00000200;堆大小

AREAHEAP, NOINIT, READWRITE, ALIGN=3

;用AREA 标记 HEAP段的开始,未初始化,可读写,8字节对齐
__heap_base;堆的基地址标识(开始地址),(汇编过程中实际分配具体地址)
Heap_MemSPACEHeap_Size;为Heap_Mem 分配Heap_Size个字大小的连续空间,初始化为0
__heap_limit;堆的末地址标记(结束地址)

PRESERVE8;要求堆栈保持8字节对齐
THUMB;说明下面的代码是Thumb 汇编


; Vector Table Mapped to Address 0 at Reset;
AREARESET, DATA, READONLY;标记 RESET 段的开始,数据段,只读
EXPORT__Vectors;声明一个全局可引用的标号“__Vectors”
EXPORT__Vectors_End;声明一个全局可引用的标号“__Vectors_End”
EXPORT__Vectors_Size;声明一个全局可引用的标号“__Vectors_Size”

__VectorsDCD__initial_sp;Top of Stack

;该处物理地址值即为 __Vetors 标号所表示的值,
;该地址中存储__initial_sp所表示的地址值,

;大小为一个字(32bit)
DCDReset_Handler;Reset Handler;这个地址填充 Reset_Handler 入口地址
DCDNMI_Handler; NMI Handler
DCDHardFault_Handler; Hard Fault Handler
DCDMemManage_Handler; MPU Fault Handler
DCDBusFault_Handler; Bus Fault Handler
DCDUsageFault_Handler; Usage Fault Handler
DCD0; Reserved;保留一个字大小的空间(32bit)
DCD0; Reserved
DCD0; Reserved
DCD0; Reserved
DCDSVC_Handler; SVCall Handler
DCDDebugMon_Handler; Debug Monitor Handler
DCD0; Reserved
DCDPendSV_Handler; PendSV Handler
DCDSysTick_Handler; SysTick Handler

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在我们使用keic51创建一个51单片机项目时,会有如下图所示的提示:keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况...

关键字: 51单片机 启动代码

ASSERT :DEF:ENDIAN_CHANGEASSERT :DEF:ENDIAN_CHANGE[ ENDIAN_CHANGEASSERT :DEF:ENTRY_BUS_WIDTH[ ENTRY_BUS_WIDTH=...

关键字: ARM 伪指令 启动代码 assert

一、在STM32中,有5个时钟源,为HSI,HSE,LSI,LSE,PLL.①HSI是高速内部时钟,RC振荡器,频率为8MHz;②HSE--高速外部时钟,可接石英或者陶瓷谐振器,或者外部时钟源,频率范围4MHz--15M...

关键字: STM32 stm32f10x 时钟配置

1.1 启动代码内容1) 硬件初始化:最起码的是要初始化堆栈指针。2) C语言环境 :在main函数调用之前要完成对一些变量的初始化。3) 应用初始化: 这主要取决于你的应用。比如设置系统的晶振、时钟。1.2 图解M3启...

关键字: cortex-m3 启动代码

环境:STM32F10x 3.5固件库。下载地址http://www.st.com/internet/com/SOFTWARE_RESOURCES/SW_COMPONENT/FIRMWARE/stm32f10x_stdp...

关键字: stm32f10x 新建工程

USB速度慢的原因有以下几种可能:1、协议问题 全速的USB设备,最大速度12Mb/s,但是如果跑的是HID之类慢速设备的协议,那么速度就没有那么快了,理论上只有1.5Mb/s。2、配置问题 USB配置描述符中有关于接收...

关键字: stm32f10x usb速度慢

2440init.s是启动代码的主文件,包括3个头文件,option.inc,memcfg.inc,2440addr.inc。 option.inc定义了3个堆栈起始地址,总线宽度,时钟相关参数的定义等。其中这个总线宽度...

关键字: 启动代码 2440开发板

Ⅰ、概述RTC(Real Time Clock)是实时时钟的意思,它其实和TIM有点类似,也是利用计数的原理,选择RTC时钟源,再进行分频,到达计数的目的。该文主要讲述关于RTC的秒中断功能,这个功能类似SysTick系...

关键字: rtc stm32f10x 秒中断

先从最简单的问题开始,用STM32外部中断的方法实现PB.0按键控制PA.0LED灯:先总的说下实现中断的步骤:1,配置NVIC寄存器(函数),设置中断为第几组,占先优先级和次优先级; 函数方法: void NVIC_C...

关键字: gpio stm32f10x 外部中断

        stm32是自带硬件I2C,相比于软件模拟I2c,硬件I2c效率更高。但是据说不稳定,这个我倒暂时还没有体会到。        在最开始使用硬件I2c的时候,程序总是卡死,要不从一开始

关键字: i2c STM32 stm32f10x
关闭
关闭