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

📄 startup.lst

📁 Bootloader for Atmel AT91SAM7S128 lloader_sram9 - The ARM code pc2 - The pc software
💻 LST
字号:
   1              	# 1 "build/startup.S"
   2              	# 1 "<built-in>"
   1              	/******************************************************************************
   0              	
   0              	
   2              	 * Startup code
   3              	 *
   4              	 *  startup.S
   5              	 *
   6              	 *****************************************************************************/
   7              	
   8              	  .text
   9              	  .code 32
  10              	  .align 0
  11              	
  12              	  .global startup
  13              	  .global reset
  14              	  .global main
  15              	  .global stack_start
  16              	  .global stack_end
  17              	  
  18              	  .EQU	IRQ_STACK_SIZE,	(3*8*4)
  19              	  .EQU	ARM_MODE_FIQ,	0x11
  20              	  .EQU	ARM_MODE_IRQ,	0x12
  21              	  .EQU	ARM_MODE_SVC,	0x13
  22              	  .equ AIC_IVR,         (256) 
  23              	  .equ AIC_FVR,         (260) 
  24              	  .equ AIC_EOICR,       (304)
  25              	  .equ AT91C_BASE_AIC,  (0xFFFFF000)
  26              	
  27              	  .EQU	I_BIT,			0x80
  28              	  .EQU	F_BIT,			0x40
  29              			  
  30              	
  31              	/******************************************************************************
  32              	 * Exception vectors
  33              	 *****************************************************************************/
  34              	 Vectors:
  35              	 reset:
  36:build/startup.S ****         b     startup                   // reset
  37:build/startup.S ****         ldr   pc,_undf                  // undefined
  38:build/startup.S ****         ldr   pc,_swi                   // SWI
  39:build/startup.S ****         ldr   pc,_pabt                  // program abort
  40:build/startup.S ****         ldr   pc,_dabt                  // data abort
  41:build/startup.S ****         nop                             // reserved
  42:build/startup.S ****         ldr   pc,[pc,#-0xFF0]           // IRQ
  43:build/startup.S ****         ldr   pc,_fiq                   // FIQ
  44              			
  45 0020 A4000000 	_undf:  .word exit
  46 0024 A4000000 	_swi:  .word exit
  47 0028 A4000000 	_pabt:  .word exit
  48 002c A4000000 	_dabt:  .word exit
  49 0030 A4000000 	_fiq:  .word exit
  50              	
  51              	/*****************************************************************************
  52              	 * Start - Setup hardware and start main()
  53              	 *****************************************************************************/
  54              	 .text
  55              	startup:
  56              	
  57              	  //Temporary stack at end of ram
  58:build/startup.S ****   ldr 	r13,=stack_end
  59              	  
  60              	  //Init hardware (hwinit.c)
  61:build/startup.S ****   ldr 	r0,=hwinit
  62:build/startup.S ****   mov 	lr, pc
  63:build/startup.S ****   bx 	r0
  64              	   
  65              	  //Set up Fast Interrupt Mode and set FIQ Mode Stack
  66:build/startup.S ****   mov 	r0,r13
  67:build/startup.S ****   msr 	CPSR_c, #ARM_MODE_FIQ | I_BIT | F_BIT
  68              	  
  69              	  //Init the FIQ register
  70:build/startup.S ****   ldr 	r8, =AT91C_BASE_AIC
  71              	  
  72              	  //Set up Interrupt Mode and set IRQ Mode Stack
  73:build/startup.S ****   msr 	CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT
  74:build/startup.S ****   mov 	r13, r0
  75:build/startup.S ****   sub 	r0, r0, #IRQ_STACK_SIZE
  76              	  
  77              	  //Set up Supervisor Mode and set Supervisor Mode Stack
  78:build/startup.S ****   msr 	CPSR_c, #ARM_MODE_SVC
  79:build/startup.S ****   mov 	r13, r0
  80              	
  81              	  //Copy .data from ROM to RAM
  82:build/startup.S ****   LDR 	R1, =_etext
  83:build/startup.S ****   LDR 	R2, =_data
  84:build/startup.S ****   LDR 	R3, =_edata
  85              	LoopRel:        
  86:build/startup.S ****   CMP 	R2, R3
  87:build/startup.S ****   LDRLO R0, [R1], #4
  88:build/startup.S ****   STRLO R0, [R2], #4
  89:build/startup.S ****   BLO 	LoopRel
  90              	
  91              	  //Write zeros to .bss section
  92:build/startup.S ****   MOV	R0, #0
  93:build/startup.S ****   LDR	R1, =__bss_start__
  94:build/startup.S ****   LDR	R2, =__bss_end__
  95              	LoopZI:         
  96:build/startup.S ****   CMP	R1, R2
  97:build/startup.S ****   STRLO	R0, [R1], #4
  98:build/startup.S ****   BLO	LoopZI
  99              	
 100              	  //Go to main()
 101:build/startup.S ****   ldr	lr,=exit
 102:build/startup.S ****   ldr	r0,=main
 103:build/startup.S ****   bx	r0
 104              	  
 105              	  //Loop forever is main is ended...
 106              	exit:
 107:build/startup.S ****   b exit
 108              	  
 109              	/*****************************************************************************
 110              	 * Exception vector 
 111              	 *****************************************************************************/
 112              	        .global AT91F_Default_FIQ_handler
 113              	        .func   AT91F_Default_FIQ_handler
 114              	AT91F_Default_FIQ_handler:
 115:build/startup.S ****             b     AT91F_Default_FIQ_handler
 117              	        .endfunc
 118              	
 119              	        .global AT91F_Default_IRQ_handler
 120              	        .func   AT91F_Default_IRQ_handler
 121              	AT91F_Default_IRQ_handler:
 122:build/startup.S ****             b     AT91F_Default_IRQ_handler
 124              	        .endfunc
 125              	
 126              	        .global AT91F_Spurious_handler
 127              	        .func   AT91F_Spurious_handler
 128              	AT91F_Spurious_handler:
 129:build/startup.S ****             b     AT91F_Spurious_handler
 131              	        .endfunc
 132              	
 133              	
 134              	/*****************************************************************************
 135              	 * Stack 
 136              	 *****************************************************************************/
 137              	 .data
 138              	stack_start:
 139 0000 00000000 	  .fill 1024
 139      00000000 
 139      00000000 
 139      00000000 
 139      00000000 
 140              	stack_end:
 141              	
 142              	
 143              	  .end
DEFINED SYMBOLS
                            *ABS*:00000000 build/startup.S
     build/startup.S:9      .text:00000000 $a
     build/startup.S:55     .text:00000034 startup
     build/startup.S:35     .text:00000000 reset
     build/startup.S:138    .data:00000000 stack_start
     build/startup.S:140    .data:00000400 stack_end
     build/startup.S:18     *ABS*:00000060 IRQ_STACK_SIZE
     build/startup.S:19     *ABS*:00000011 ARM_MODE_FIQ
     build/startup.S:20     *ABS*:00000012 ARM_MODE_IRQ
     build/startup.S:21     *ABS*:00000013 ARM_MODE_SVC
     build/startup.S:22     *ABS*:00000100 AIC_IVR
     build/startup.S:23     *ABS*:00000104 AIC_FVR
     build/startup.S:24     *ABS*:00000130 AIC_EOICR
     build/startup.S:25     *ABS*:fffff000 AT91C_BASE_AIC
     build/startup.S:27     *ABS*:00000080 I_BIT
     build/startup.S:28     *ABS*:00000040 F_BIT
     build/startup.S:34     .text:00000000 Vectors
     build/startup.S:45     .text:00000020 _undf
     build/startup.S:46     .text:00000024 _swi
     build/startup.S:47     .text:00000028 _pabt
     build/startup.S:48     .text:0000002c _dabt
     build/startup.S:49     .text:00000030 _fiq
     build/startup.S:45     .text:00000020 $d
     build/startup.S:106    .text:000000a4 exit
     build/startup.S:58     .text:00000034 $a
     build/startup.S:85     .text:00000070 LoopRel
     build/startup.S:95     .text:0000008c LoopZI
     build/startup.S:114    .text:000000a8 AT91F_Default_FIQ_handler
     build/startup.S:121    .text:000000ac AT91F_Default_IRQ_handler
     build/startup.S:128    .text:000000b0 AT91F_Spurious_handler
     build/startup.S:137    .text:000000b4 $d

UNDEFINED SYMBOLS
main
hwinit
_etext
_data
_edata
__bss_start__
__bss_end__

⌨️ 快捷键说明

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