📄 at91_cstartup.lst
字号:
###############################################################################
# #
# IAR Systems ARM Assembler V4.42A/W32 09/Sep/2008 07:54:46 #
# Copyright 1999-2007 IAR Systems. All rights reserved. #
# #
# Source file = E:\AT91EBxx\at91_cstartup.s79 #
# List file = E:\AT91EBxx\ramcode-EBxx\List\at91_cstartup.lst #
# Object file = E:\AT91EBxx\ramcode-EBxx\Obj\at91_cstartup.r79 #
# Command line = E:\AT91EBxx\at91_cstartup.s79 #
# -OE:\AT91EBxx\ramcode-EBxx\Obj\ -s+ -M<> -w+ -r #
# -DRAMCODE=1 -LE:\AT91EBxx\ramcode-EBxx\List\ #
# -t8 --cpu ARM7TDMI --fpu None #
# -IC:\Program Files\IAR Systems\Embedded Workbench 4.0 Evaluation\arm\INC\ #
# #
###############################################################################
1 00000000 ;-----------------------------------------------
------------------------------
2 00000000 ; This file contains the startup code used by
the ICCARM C compiler.
3 00000000 ;
4 00000000 ; The modules in this file are included in the
libraries, and may be replaced
5 00000000 ; by any user-defined modules that define the
PUBLIC symbol _program_start or
6 00000000 ; a user defined start symbol.
7 00000000 ; To override the cstartup defined in the
library, simply add your modified
8 00000000 ; version to the workbench project.
9 00000000 ;
10 00000000 ; All code in the modules (except ?RESET) will
be placed in the ICODE segment.
11 00000000 ;
12 00000000 ; $Revision: 1.9.12.1 $
13 00000000 ;
14 00000000 ;-----------------------------------------------
------------------------------
15 00000000
16 00000000 #include "config.h"
17 00000000
18 00000000 ;
19 00000000 ; Naming covention of labels in this file:
20 00000000 ;
21 00000000 ; ?xxx - External labels only accessed from
assembler.
22 00000000 ; __xxx - External labels accessed from or
defined in C.
23 00000000 ; xxx - Labels local to one module (note:
this file contains
24 00000000 ; several modules).
25 00000000 ; main - The starting point of the user
program.
26 00000000 ;
27 00000000
28 00000000 ;-----------------------------------------------
----------------
29 00000000 ; Macros and definitions for the whole
file
30 00000000 ;-----------------------------------------------
----------------
31 00000000
32 00000000 ; Mode, correspords to bits 0-5 in CPSR
33 0000001F MODE_BITS DEFINE 0x1F ; Bit
mask for mode bits in CPSR
34 00000010 USR_MODE DEFINE 0x10 ; User
mode
35 00000011 FIQ_MODE DEFINE 0x11 ; Fast
Interrupt Request mode
36 00000012 IRQ_MODE DEFINE 0x12 ;
Interrupt Request mode
37 00000013 SVC_MODE DEFINE 0x13 ;
Supervisor mode
38 00000017 ABT_MODE DEFINE 0x17 ; Abort
mode
39 0000001B UND_MODE DEFINE 0x1B ;
Undefined Instruction mode
40 0000001F SYS_MODE DEFINE 0x1F ; System
mode
41 00000000
42 00000000
43 00000000 ;-----------------------------------------------
----------------
44 00000000 ; ?RESET
45 00000000 ; Reset Vector.
46 00000000 ; Normally, segment INTVEC is linked at address
0.
47 00000000 ; For debugging purposes, INTVEC may be placed
at other
48 00000000 ; addresses.
49 00000000 ; A debugger that honors the entry point will
start the
50 00000000 ; program in a normal way even if INTVEC is not
at address 0.
51 00000000 ;-----------------------------------------------
----------------
52 00000000
53 00000000 MODULE ?RESET
54 00000000 COMMON INTVEC:CODE:NOROOT(2)
55 00000000 PUBLIC __program_start
56 00000000 EXTERN ?boot
57 00000000 EXTERN undef_handler,
swi_handler, prefetch_handler
58 00000000 EXTERN data_handler, irq_handle
r, fiq_handler
59 00000000 CODE32 ; Always ARM mode after
reset
60 00000000 org 0x00
61 00000000 __program_start
62 00000000 #if FLASHCODE
64 00000000 #else
65 00000000 18F09FE5 ldr pc,=?boot ; Absolute
jump can
reach above
0x2000000
66 00000004 #endif
67 00000004 org 0x04
68 00000004 ; ldr pc,=undef_handler
69 00000008 org 0x08
70 00000008 ; ldr pc,=swi_handler
71 0000000C org 0x0c
72 0000000C ; ldr pc,=prefetch_handler
73 00000010 org 0x10
74 00000010 ; ldr pc,=data_handler
75 00000018 org 0x18
76 00000018 ; ldr pc,=irq_handler
77 0000001C org 0x1c
78 0000001C ; ldr pc,=fiq_handler
79 0000001C
80 0000001C ; Constant table entries (for
ldr pc) will be placed at 0x20
81 00000020 org 0x20
82 00000020 LTORG
82.1 00000020 TABLE
82.2 00000020 ........ Reference on line 65
82 00000024 LTORG
83 00000024 ; ENDMOD __program_start
84 00000024 ENDMOD
##############################
# CRC:64BC #
# Errors: 0 #
# Warnings: 0 #
# Bytes: 8 #
##############################
###############################################################################
# #
# IAR Systems ARM Assembler V4.42A/W32 09/Sep/2008 07:54:46 #
# Copyright 1999-2007 IAR Systems. All rights reserved. #
# #
# Source file = E:\AT91EBxx\at91_cstartup.s79 #
# List file = E:\AT91EBxx\ramcode-EBxx\List\at91_cstartup.lst #
# Object file = E:\AT91EBxx\ramcode-EBxx\Obj\at91_cstartup.r79 #
# Command line = E:\AT91EBxx\at91_cstartup.s79 #
# -OE:\AT91EBxx\ramcode-EBxx\Obj\ -s+ -M<> -w+ -r #
# -DRAMCODE=1 -LE:\AT91EBxx\ramcode-EBxx\List\ #
# -t8 --cpu ARM7TDMI --fpu None #
# -IC:\Program Files\IAR Systems\Embedded Workbench 4.0 Evaluation\arm\INC\ #
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -