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

📄 boot.s

📁 PXA270平台的键盘应用程序代码~~~~实现4*4键盘全功能
💻 S
字号:
    IMPORT	main
	;IMPORT	FIQ_Handler
	IMPORT	IRQ_Handler
	AREA boot ,CODE ,READONLY

	ENTRY
	
	B Reset_Handler      ;0x00000000 复位
	B Undefined_Handler  ;0X00000004 末定义指令
	B SWI_Handler        ;0X00000008 软件中断
	B Prefetch_Handler   ;0X0000000C 取指中止
	B DataAbort_Handler  ;0X00000010 数据中止
	NOP
	B IRQ_Handler        ;0X00000018 IRQ中断
	B FIQ_Handler        ;0X0000001C FIQ中断



Undefined_Handler	
	B	Undefined_Handler
	
SWI_Handler 
	B	SWI_Handler
	
Prefetch_Handler
	B	Prefetch_Handler
	

DataAbort_Handler
	B	DataAbort_Handler

;IRQ_Handler
	;B	IRQ_Handler	

FIQ_Handler
	B	FIQ_Handler			;Defined by yourself


Reset_Handler	
	
	;%%%%%%%%%%%%%%%%
	;内存post_initMem
	;%%%%%%%%%%%%%%%%        
	
	LDR R11,=0x48000000 
	LDR R1, =0x02000ac9
	STR R1,[R11]
	NOP
	
	LDR R11,=0x48000004 
	LDR R1, =0x0011e018
	STR R1,[R11]
	NOP
	
	LDR R11,=0x48000008 
	LDR R1, =0x95c095c0
	STR R1,[R11]
	NOP
	
	LDR R11,=0x4800000c 
	LDR R1, =0xb884a691
	STR R1,[R11]
	NOP
	
	LDR R11,=0x48000010 
	LDR R1, =0x7ff4b884
	STR R1,[R11]
	NOP
	
	LDR R11,=0x48000014 
	LDR R1, =0x1
	STR R1,[R11]
	NOP
	
	LDR R11,=0x4800001c 
	LDR R1, =0x0
	STR R1,[R11]
	NOP
	
	LDR R11,=0x48000024 
	LDR R1, =0x0
	STR R1,[R11]
	NOP
	
	LDR R11,=0x48000040 
	LDR R1, =0x320032
	STR R1,[R11]
	NOP
	
	LDR R11,=0x48000044 
	LDR R1, =0x00000008
	STR R1,[R11]
	NOP
	
	
	
	;**************************
	;堆栈init_Stack
	;**************************
    MSR CPSR_c, #0xd2  ;MRS和MSR都是程序状态寄存器传指令.把0XD2送到CPSR_c中的低字节中[7~0]
	LDR SP, =0xa0605000  ;LDR 是把一个数字常量或一个地址加载到寄存器伪指令0xa0605000

    MSR CPSR_c, #0xd1
	LDR SP, =0xa060a000

    MSR CPSR_c, #0xd7
	LDR SP, =0xa060e000

    MSR CPSR_c, #0xdb
	LDR SP, =0xa0714000

	MSR CPSR_c, #0xdf
	LDR SP, =0xa0720000
	
	MSR CPSR_c, #0xd3
	LDR SP, =0xa0600000
	
	
	
	;##############
	;Init GPIO
	;##############
    LDR R1,=0x40e00000
	MOV R0,#0x3000
	STR R0,[R1,#0x18]    ;R0-->[R1+0X18]

	MOV R0,#0x800
	STR R0,[R1,#0x24]

	MOV R0,#0x80000000
	STR R0,[R1,#0x54]

	LDR R0,=0x10		;0xa5000010
	STR R0,[R1,#0x58]

	LDR R0,=0xc1a08000
	STR R0,[R1,#0xc]

	MOV R0,#0
	STR R0,[R1,#0x1c]

	MOV R0,#0
	STR R0,[R1,#0x28]

	LDR R0,=0xc9c		;0xa9558
	STR R0,[R1,#0x5c]

    LDR R0,=0xca0		;0xaaa590aa
	STR R0,[R1,#0x60]

	LDR R0,=0xca4		;0xfccf0382
	STR R0,[R1,#0x10]

	MOV R0,#0x10000
	STR R0,[R1,#0x20]

	MOV R0,#0
	STR R0,[R1,#0x2c]

	ldr R0,=0xa0000000	;0xaaaaaaaa
	STR R0,[R1,#0x64]

	ldr R0,=0x400		;0x90402  ;0x50000400
	STR R0,[R1,#0x68]

	ldr R0,=0x0221ffff
	STR R0,[R1,#0x14]

   ;LDR R0,=0xca8
   ;STR R0,[R1,#0x68]

	MOV R0,#0x20000
	STR R0,[R1,#0x118]

	MOV R0,#0
	STR R0,[R1,#0x124]

	LDR R0,=0x020a9550;0xa9510               ;0x020a9950
	STR R0,[R1,#0x6c]

	LDR R0,=0x1408
	STR R0,[R1,#0x70]


;标志

	LDR R0,=0x21380               ;0x20380
	STR R0,[R1,#0x10c]

    LDR R0,=0xa5000010	;0x0x10
	STR R0,[R1,#0x58]

    LDR R0,=0xa9558		;0xc9c
	STR R0,[R1,#0x5c]

    LDR R0,=0xaaa590aa	;0xca0
	STR R0,[R1,#0x60]

    LDR R0,=0xfccf0382	;0xca4
	STR R0,[R1,#0x10]

    ;键盘0 
	LDR R0,=0xaaaaaaaa	;0xa0000000   ;0xa0000000
	STR R0,[R1,#0x64]
    
	LDR R0,=0x50090402	;0x54090402		;0x400    ;0x50090402
	STR R0,[R1,#0x68]
;///////////////////////
;I位置1才允许IRQ中断 P23	
	MRS  R1, CPSR
	BIC  R1, R1,#0x80
	MSR  CPSR_c, r1 
;*****************************

    
 
	LDR pc,=main
	END




⌨️ 快捷键说明

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