⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 startup.s

📁 ZLG的EASYARM8962开发板Keil实验例程
💻 S
字号:
;/****************************************Copyright (c)***************************************************
;**                               Guangzou ZLG-MCU Development Co.,LTD.
;**                                      graduate school
;**                                 http://www.zlgmcu.com
;**
;**--------------File Info--------------------------------------------------------------------------------
;** File name: 			        Startup.s
;** Last modified Date:         2007.01.18
;** Last Version: 		        1.0
;** Descriptions: 		        Startup code of LM3S MCU 
;**-------------------------------------------------------------------------------------------------------
;** Created By:                 Steven Zhou 周绍刚
;** Created date:   	        2007.01.18
;** Version:			        1.0
;** Descriptions: 	            The original version
;**
;**-------------------------------------------------------------------------------------------------------
;** Modified by: 	            Nilikao
;** Modified date:		        2007.12.14
;** Version:			        1.1
;** Descriptions: 		
;**
;*********************************************************************************************************


;*********************************************************************************************************
;*  Byte number of Main Stack  主堆栈的字节数            
;*********************************************************************************************************
Stack   EQU     256


;*********************************************************************************************************
;*  Byte number of the Heap  堆的字节数                 
;*********************************************************************************************************
Heap    EQU     100


;*********************************************************************************************************
;*  Allocate space for Main Stack  主堆栈分配的空间           
;*********************************************************************************************************
        AREA    STACK, NOINIT, READWRITE, ALIGN=3
StackMem
        SPACE   Stack


;*********************************************************************************************************
;*  Allocate space for the heap    栈分配的空间                                      
;*********************************************************************************************************
        AREA    HEAP, NOINIT, READWRITE, ALIGN=3
HeapMem
        SPACE   Heap


;*********************************************************************************************************
;*  Declarations for the interrupt handlers that are used by the application.                            
;*  本应用所用到的中断函数的声明                                          
;*********************************************************************************************************
        EXTERN	OSPendSV  
		EXTERN  tickISRHandler
	   
	
;*********************************************************************************************************
;*  Indicate that the code in this file preserves 8-byte alignment of the stack.              
;*  本文件的代码对堆栈8字节对齐保护                                          
;*********************************************************************************************************
        PRESERVE8


;*********************************************************************************************************
;*  Reset code section.                                           
;*  复位代码                                                                 
;*********************************************************************************************************
        AREA    RESET, CODE, READONLY
        THUMB

;*********************************************************************************************************
;*  The vector table.
;*  向量表
;*********************************************************************************************************
        EXPORT __Vectors
__Vectors
        DCD     StackMem + Stack                                        ; Top of Stack
        DCD     Reset_Handler                                           ; Reset Handler
        DCD     NmiSR                                                   ; NMI Handler
        DCD     IntDefaultHandler                                       ; Hard Fault Handler
        DCD     IntDefaultHandler                                       ; MPU Fault Handler
        DCD     IntDefaultHandler                                       ; Bus Fault Handler
        DCD     IntDefaultHandler                                       ; Usage Fault Handler
        DCD     0                                                       ; Reserved
        DCD     0                                                       ; Reserved
        DCD     0                                                       ; Reserved
        DCD     0                                                       ; Reserved
        DCD     IntDefaultHandler                                       ; SVCall Handler
        DCD     IntDefaultHandler                                       ; Debug Monitor Handler
        DCD     0                                                       ; Reserved
	    DCD     OSPendSV                                                ; PendSV Handler
	    DCD     tickISRHandler                                          ; SysTick Handler
        DCD     IntDefaultHandler                                       ; GPIO Port A
        DCD     IntDefaultHandler                                       ; GPIO Port B
        DCD     IntDefaultHandler                                       ; GPIO Port C
        DCD     IntDefaultHandler                                       ; GPIO Port D
        DCD     IntDefaultHandler                                       ; GPIO Port E
        EXTERN	uart0_ISR
		DCD     uart0_ISR                                       ; UART0
        DCD     IntDefaultHandler                                       ; UART1
        DCD     IntDefaultHandler                                       ; SSI
        DCD     IntDefaultHandler                                       ; I2C
        DCD     IntDefaultHandler                                       ; PWM Fault
        DCD     IntDefaultHandler                                       ; PWM Generator 0
        DCD     IntDefaultHandler                                       ; PWM Generator 1
        DCD     IntDefaultHandler                                       ; PWM Generator 2
        DCD     IntDefaultHandler                                       ; Quadrature Encoder
        DCD     IntDefaultHandler                                       ; ADC Sequence 0
        DCD     IntDefaultHandler                                       ; ADC Sequence 1
        DCD     IntDefaultHandler                                       ; ADC Sequence 2
        DCD     IntDefaultHandler                                       ; ADC Sequence 3
        DCD     IntDefaultHandler                                       ; Watchdog
        DCD     IntDefaultHandler                                       ; Timer 0A
        DCD     IntDefaultHandler                                       ; Timer 0B
        DCD     IntDefaultHandler                                       ; Timer 1A
        DCD     IntDefaultHandler                                       ; Timer 1B
        DCD     IntDefaultHandler                                       ; Timer 2A
        DCD     IntDefaultHandler                                       ; Timer 2B
        DCD     IntDefaultHandler                                       ; Comp 0
        DCD     IntDefaultHandler                                       ; Comp 1
        DCD     IntDefaultHandler                                       ; Comp 2
        DCD     IntDefaultHandler                                       ; System Control
        DCD     IntDefaultHandler                                       ; Flash Control
        DCD     IntDefaultHandler                                       ; GPIO Port F
        DCD     IntDefaultHandler                                       ; GPIO Port G
        DCD     IntDefaultHandler                                       ; GPIO Port H
        DCD     IntDefaultHandler                                       ; UART2 Rx and Tx
        DCD     IntDefaultHandler                                       ; SSI1 Rx and Tx
        DCD     IntDefaultHandler                                       ; Timer 3 subtimer A
        DCD     IntDefaultHandler                                       ; Timer 3 subtimer B
        DCD     IntDefaultHandler                                       ; I2C1 Master and Slave
        DCD     IntDefaultHandler                                       ; Quadrature Encoder 1
        DCD     IntDefaultHandler                                       ; CAN0
        DCD     IntDefaultHandler                                       ; CAN1
        DCD     0                                                       ; Reserved
        DCD     IntDefaultHandler                                       ; Ethernet
        DCD     IntDefaultHandler                                       ; Hibernate


;*********************************************************************************************************
;*  Reset entry
;*  复位入口点
;*********************************************************************************************************
        EXPORT  Reset_Handler
Reset_Handler
        IMPORT  __main
        LDR     R0, =__main
        BX      R0


;*********************************************************************************************************
;*  NMI exception handler. 
;*  It simply enters an infinite loop.
;*  不可屏蔽异常处理程序。简单地进入死循环
;*********************************************************************************************************
NmiSR
        B       NmiSR


;*********************************************************************************************************
;*  Fault interrupt handler. 
;*  It simply enters an infinite loop.
;*  错误中断处理程序。简单地进入死循环
;*********************************************************************************************************
FaultISR
        B       FaultISR


;*********************************************************************************************************
;*  Unexpected interrupt handler. 
;*  It simply enters an infinite loop.
;*  无期待的中断处理程序。简单地进入死循环
;*********************************************************************************************************
IntDefaultHandler
        B       IntDefaultHandler


;*********************************************************************************************************
;*  Make sure the end of this section is aligned.
;*  确保本段的末尾对齐
;*********************************************************************************************************
        ALIGN



;*********************************************************************************************************
;*  Code section for initializing the heap and stack                                                      
;*  堆和栈的初始化代码                                                     
;*********************************************************************************************************
        AREA    |.text|, CODE, READONLY

;*********************************************************************************************************
;*  The function expected of the C library startup 
;*  code for defining the stack and heap memory locations.
;*  C语言启动库调用本代码初始化堆和栈 
;*********************************************************************************************************
        IMPORT  __use_two_region_memory
        EXPORT  __user_initial_stackheap
__user_initial_stackheap
        LDR     R0, =HeapMem
        LDR     R1, =(StackMem + Stack)
        LDR     R2, =(HeapMem + Heap)
        LDR     R3, =StackMem
        BX      LR


;*********************************************************************************************************
;*  Make sure the end of this section is aligned.
;*  确保本段的末尾对齐
;*********************************************************************************************************
        ALIGN


;*********************************************************************************************************
;*  End Of File                                                     
;*********************************************************************************************************
        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -