ARM专辑-152M-pdf.zip

源代码在线查看: startup.s

软件大小: 74715 K
上传用户: QQ
关键词: M-pdf ARM 152 zip
下载地址: 免注册下载 普通下载 VIP

相关代码

				;/****************************************Copyright (c)**************************************************
				;**                               广州周立功单片机发展有限公司
				;**                                     研    究    所
				;**                                        产品一部 
				;**
				;**                                 http://www.zlgmcu.com
				;**
				;**--------------文件信息--------------------------------------------------------------------------------
				;**文   件   名: Startup.s
				;**创   建   人: 陈明计
				;**最后修改日期: 2004年3月3日
				;**描        述: lpc22xx的启动代码,包含异常向量入口、初始化堆栈的代码等
				;**              每个工程应当有独立的这个文件的拷贝,并进行相应的修改   
				;**--------------历史版本信息----------------------------------------------------------------------------
				;** 创建人: 陈明计
				;** 版  本: v1.0
				;** 日 期: 2004年2月2日
				;** 描 述: 原始版本
				;**
				;**------------------------------------------------------------------------------------------------------
				;** 修改人: 陈明计
				;** 版  本: v1.01
				;** 日 期: 2004年3月3日
				;** 描 述: 修改总线配置以适应多数情况 
				;**
				;**------------------------------------------------------------------------------------------------------
				;** 修改人: 陈明计
				;** 版  本: v1.02
				;** 日 期: 2004年3月27日
				;** 描 述: 增加代码以支持芯片的加密功能
				;**
				;**--------------当前版本修订------------------------------------------------------------------------------
				;** 修改人:
				;** 日 期:
				;** 描 述:
				;**
				;**------------------------------------------------------------------------------------------------------
				;********************************************************************************************************/
						    INCLUDE		LPC2294.INC			; 引入头文件
				
				;引入的外部标号在这声明
				    IMPORT  MAIN                            ;主程序
				
				;给外部使用的标号在这声明
				    EXPORT  Reset
				
				    CODE32
				
				    AREA    vectors,CODE,READONLY
				        ENTRY
				;中断向量表
				Reset
				        LDR     PC, ResetAddr
				        LDR     PC, UndefinedAddr
				        LDR     PC, SWI_Addr
				        LDR     PC, PrefetchAddr
				        LDR     PC, DataAbortAddr
				        DCD     0xb9205f80
				        LDR     PC, [PC, #-0xff0]
				        LDR     PC, FIQ_Addr
				
				ResetAddr           DCD     ResetInit
				UndefinedAddr       DCD     Undefined
				SWI_Addr            DCD     SoftwareInterrupt
				PrefetchAddr        DCD     PrefetchAbort
				DataAbortAddr       DCD     DataAbort
				Nouse               DCD     0
				IRQ_Addr            DCD     0
				FIQ_Addr            DCD     FIQ_Handler
				
				;未定义指令
				Undefined
				        B       Undefined
				
				;软中断
				SoftwareInterrupt
				        B       SoftwareInterrupt
				
				;取指令中止
				PrefetchAbort
				        B       PrefetchAbort
				
				;取数据中止
				DataAbort
				        B       DataAbort
				
				;快速中断
				FIQ_Handler
				        B       FIQ_Handler
				
				
				;/*********************************************************************************************************
				;** 函数名称: ResetInit
				;** 功能描述: 复位入口
				;** 
				;** 输 入: 无
				;**
				;** 输 出: 无
				;**         
				;** 全局变量: 无
				;** 调用模块: 无
				;**
				;** 作 者: 陈明计
				;** 日 期: 2004年2月2日
				;**-------------------------------------------------------------------------------------------------------
				;** 修改人: 陈明计
				;** 日 期: 2004年3月3日
				;**------------------------------------------------------------------------------------------------------
				;********************************************************************************************************/
				ResetInit
				;初始化外部总线控制器,根据目标板决定配置
				
				        LDR     R0, =PINSEL2
				    IF :DEF: EN_CRP
				        LDR     R1, =0x0f814910
				    ELSE
				        LDR     R1, =0x0f814914
				    ENDIF
				        STR     R1, [R0]
				
				        LDR     R0, =BCFG0
				        LDR     R1, =0x1000ffef
				        STR     R1, [R0]
				
				        LDR     R0, =BCFG1
				        LDR     R1, =0x1000ffef
				        STR     R1, [R0]
				
				;        LDR     R0, =BCFG2
				;        LDR     R1, =0x2000ffef
				;        STR     R1, [R0]
				
				;        LDR     R0, =BCFG3
				;        LDR     R1, =0x2000ffef
				;        STR     R1, [R0]
				        
				        B       MAIN
				
				;/*********************************************************************************************************
				;** 函数名称: CrpData
				;** 功能描述: 支持芯片加密功能
				;** 
				;** 输 入: 无
				;**
				;** 输 出: 无
				;**         
				;** 全局变量: 无
				;** 调用模块: 无
				;**
				;** 作 者: 陈明计
				;** 日 期: 2004年3月27日
				;**-------------------------------------------------------------------------------------------------------
				;** 修改人:
				;** 日 期:
				;**------------------------------------------------------------------------------------------------------
				;********************************************************************************************************/
				    IF :DEF: EN_CRP
				        IF  . >= 0x1fc
				        INFO    1,"\nThe data at 0x000001fc must be 0x87654321.\nPlease delete some source before this line."
				        ENDIF
				CrpData
				    WHILE . < 0x1fc
				    NOP
				    WEND
				CrpData1
				    DCD     0x87654321          ;/* 当此数为0x87654321时,用户程序被保护 */
				    ENDIF
				    END
				;/*********************************************************************************************************
				;**                            End Of File
				;********************************************************************************************************/
							

相关资源