欢迎来到天天文库
浏览记录
ID:52783487
大小:25.50 KB
页数:5页
时间:2020-03-30
《EasyARM2200开发板学习笔记:启动代码分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、EasyARM2200开发板学习笔记:启动代码分析olyaim发表于2008-7-1710:49嵌入式系统←返回版面;定义堆栈的大小FIQ_STACK_LEGTH EQU 0IRQ_STACK_LEGTH EQU 9*8 ;每层嵌套需要9个字堆栈,允许8层嵌套ABT_STACK_LEGTH EQU 0UND_STACK_LEGTH EQU 0;处理器模式常量定义NoInt EQU0x80 ;禁止IRQ中断USR32Mode EQU0x10
2、 ;用户模式SVC32Mode EQU0x13 ;管理模式SYS32Mode EQU0x1f ;系统模式IRQ32Mode EQU0x12 ;中断模式FIQ32Mode EQU0x11 ;快速中断模式PINSEL2 EQU0xE002C014BCFG0 EQU0xFFE00000BCFG1 EQU0xFFE00004BCFG2 EQU0xFFE00008BCFG3 EQU0xFFE0
3、000C;引入的外部标号在这声明IMPORT FIQ_Exception ;快速中断异常处理程序IMPORT __main ;C语言主程序入口IMPORT TargetResetInit ;目标板基本初始化IMPORT StackUsr ;用户模式栈IMPORT bottom_of_heap ;用户模式堆IMPORT SoftwareInterrupt ;软件中断处理程序;给外部使用的标号在这声明EXPORT ResetEXP
4、ORT __rt_div0EXPORT __user_initial_stackheap CODE32 AREA vectors,CODE,READONLY ENTRY;中断向量表Reset LDR PC,ResetAddr ;复位入口,程序在系统中执行的第一条指令 LDR PC,UndefinedAddr ;未定义指令异常入口地址 LDR PC,SWI_Addr ;软件中断入口地址 LDR PC,Prefe
5、tchAddr ;取指令中止异常入口地址 LDR PC,DataAbortAddr ;取数据中止异常入口地址 DCD 0xb9205f80 ;保留向量,值是其它中断向量累加和的补码 LDR PC,[PC,#-0xff0] ;中断请求IRQ入口地址 LDR PC,FIQ_Addr ;快速中断请求FIQ入口地址ResetAddr DCD ResetInitUndefinedAddr
6、 DCD UndefinedSWI_Addr DCD SoftwareInterruptPrefetchAddr DCD PrefetchAbortDataAbortAddr DCD DataAbortNouse DCD 0IRQ_Addr DCD 0FIQ_Addr DCD FIQ_Handler;未定义指令Undefined B
7、Undefined ;发生未定义指令异常时执行死循环;取指令中止PrefetchAbort B PrefetchAbort ;发生取指令中止异常时执行死循环;取数据中止DataAbort B DataAbort ;发生取数据中止异常时执行死循环;快速中断FIQ_Handler STMFD SP!,{R0-R
此文档下载收益归作者所有