2024年3月13日发(作者:隆梦竹)
;定义栈段,不初始化(只分配空间不做初始化或者初始化为零)
Stack_Size EQU 0x00000400 ;#define Stack_Size
ox00000400,EQU---arm汇编的预定义
AREA STACK, NOINIT, READWRITE, ALIGN=3 ;段的开始,段名
STACK,段属性NOINIT, ALIIGN
Stack_Mem SPACE Stack_Size;分配栈存储空间大小为ox00000400
(1K),SPACE 分配连续存储单元,
__initial_sp;栈空间顶地址
;
;
;
;开辟一段大小为Heap_base的内存空间作为堆
Heap_Size EQU 0x00000200;#define Heap_Size ox00000200
AREA HEAP, NOINIT, READWRITE, ALIGN=3;HEAP段,NOINIT
只分配空间不做初始化或初始化为零;可读可写,按八字节对齐
__heap_base ;堆起始地址
Heap_Mem SPACE Heap_Size;分配堆空间大小为0x00000200
__heap_limit ;堆终止地址
PRESERVE8;告诉编译器以八字节对齐
THUMB;告诉编译器使用THUMB指令集
;定义复位段(中断向量表),并初始化
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY;定义RESET段,数据段,之都
EXPORT __Vectors;声明全局变量_Vectors,该标号可在其他文件中使
用,中断向量表入口地址
EXPORT __Vectors_End; 向量表终止地址
EXPORT __Vectors_Size;向量表空间大小
;DCD用于分配一段字内存单元(分配的内存以字对齐)
__Vectors DCD __initial_sp ; Top of Stack 内存块起
2024年3月13日发(作者:隆梦竹)
;定义栈段,不初始化(只分配空间不做初始化或者初始化为零)
Stack_Size EQU 0x00000400 ;#define Stack_Size
ox00000400,EQU---arm汇编的预定义
AREA STACK, NOINIT, READWRITE, ALIGN=3 ;段的开始,段名
STACK,段属性NOINIT, ALIIGN
Stack_Mem SPACE Stack_Size;分配栈存储空间大小为ox00000400
(1K),SPACE 分配连续存储单元,
__initial_sp;栈空间顶地址
;
;
;
;开辟一段大小为Heap_base的内存空间作为堆
Heap_Size EQU 0x00000200;#define Heap_Size ox00000200
AREA HEAP, NOINIT, READWRITE, ALIGN=3;HEAP段,NOINIT
只分配空间不做初始化或初始化为零;可读可写,按八字节对齐
__heap_base ;堆起始地址
Heap_Mem SPACE Heap_Size;分配堆空间大小为0x00000200
__heap_limit ;堆终止地址
PRESERVE8;告诉编译器以八字节对齐
THUMB;告诉编译器使用THUMB指令集
;定义复位段(中断向量表),并初始化
; Vector Table Mapped to Address 0 at Reset
AREA RESET, DATA, READONLY;定义RESET段,数据段,之都
EXPORT __Vectors;声明全局变量_Vectors,该标号可在其他文件中使
用,中断向量表入口地址
EXPORT __Vectors_End; 向量表终止地址
EXPORT __Vectors_Size;向量表空间大小
;DCD用于分配一段字内存单元(分配的内存以字对齐)
__Vectors DCD __initial_sp ; Top of Stack 内存块起