tack EQU 0x00000100
;******************************************************************************;; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>;;******************************************************************************Heap EQU 0x00000000
;******************************************************************************;; Allocate space for the stack.;;****************************************************************************** AREA STACK, NOINIT, READWRITE, ALIGN=3StackMem SPACE Stack__initial_sp
;******************************************************************************;; Allocate space for the heap.;;****************************************************************************** AREA HEAP, NOINIT, READWRITE, ALIGN=3__heap_baseHeapMem SPACE Heap__heap_limit
;******************************************************************************;; Indicate that the code in this file preserves 8-byte alignment of the stack.;;****************************************************************************** PRESERVE8
;******************************************************************************;; Place code into the 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 FaultISR ; Hard Fault Handler DCD IntDefaultHandler ; The MPU fault handler DCD IntDefaultHandler ; The bus fault handler DCD IntDefaultHandler ; The 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 IntDefaultHandler ; The PendSV handler DCD IntDefaultHandler ; The 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 DCD IntDefaultHandler ; UART0 Rx and Tx DCD IntDefaultHandler ; UART1 Rx and Tx DCD IntDefaultHandler ; SSI0 Rx and Tx DCD IntDefaultHandler ; I2C0 Master and Slave DCD IntDefaultHandler ; PWM Fault DCD IntDefaultHandler ; PWM Generator 0 DCD IntDefaultHandler ; PWM Generator 1 DCD IntDefaultHandler ; PWM Generator 2 DCD IntDefaultHandler ; Quadrature Encoder 0 DCD IntDefaultHandler ; ADC Sequence 0 DCD IntDefaultHandler ; ADC Sequence 1 DCD IntDefaultHandler ; ADC Sequence 2 DCD IntDefaultHandler ; ADC Sequence 3 DCD IntDefaultHandler ; Watchdog timer DCD IntDefaultHandler ; Timer 0 subtimer A DCD IntDefaultHandler ; Timer 0 subtimer B DCD IntDefaultHandler ; Timer 1 subtimer A DCD IntDefaultHandler ; Timer 1 subtimer B DCD IntDefaultHandler ; Timer 2 subtimer A DCD IntDefaultHandler ; Timer 2 subtimer B DCD IntDefaultHandler ; Analog Comparator 0 DCD IntDefaultHandler ; Analog Comparator 1 DCD IntDefaultHandler ; Analog Comparator 2 DCD IntDefaultHandler ; System Control (PLL, OSC, BO) 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 IntDefaultHandler ; CAN2 DCD IntDefaultHandler ; Ethernet DCD IntDefaultHandler ; Hibernate
;******************************************************************************;; This is the code that gets called when the processor first starts execution; following a reset event.;;****************************************************************************** EXPORT Reset_HandlerReset_Handler ; ; Call the C library enty point that handles startup. This will copy ; the .data section initializers from flash to SRAM and zero fill the ; .bss section. ; IMPORT __main B __main
;******************************************************************************;; This is the code that gets called when the processor receives a NMI. This; simply enters an infinite loop, preserving the system state for examination; by a debugger.;;******************************************************************************NmiSR B NmiSR
;******************************************************************************;; This is the code that gets called when the processor receives a fault; interrupt. This simply enters an infinite loop, preserving the system state; for examination by a debugger.;;******************************************************************************FaultISR B FaultISR
;******************************************************************************;; This is the code that gets called when the processor receives an unexpected; interrupt. This simply enters an infinite loop, preserving the system state; for examination by a debugger.;;******************************************************************************IntDefaultHandler B IntDefaultHandler
;******************************************************************************;; Make sure the end of this section is aligned.;;****************************************************************************** ALIGN
;******************************************************************************;; Some code in the normal 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. For the C library version of the startup code,; provide this function so that the C library initialization code can find out; the location of the stack and heap.;;****************************************************************************** IF :DEF: __MICROLIB EXPORT __initial_sp EXPORT __heap_base EXPORT __heap_limit ELSE 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 ENDIF
;******************************************************************************;; Make sure the end of this section is aligned.;;****************************************************************************** ALIGN
;******************************************************************************;; Tell the assembler that we're done.;;****************************************************************************** END
这是启动代码 向量要怎么修改