📄 api_segment_init.lst
字号:
##############################################################################
# #
# IAR ARM ANSI C/C++ Compiler V4.40A/W32 28/Nov/2006 11:57:53 #
# Copyright 1999-2005 IAR Systems. All rights reserved. #
# #
# Cpu mode = arm #
# Endian = little #
# Stack alignment = 4 #
# Source file = D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\api_segm #
# ent_init.c #
# Command line = "D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\api_segm #
# ent_init.c" -lC "D:\lilian\STR71X\application #
# note\IAP using UART\an2078_IAR(forum)\an2078\IAP_V2. #
# 0\user\Debug\List\" -lA "D:\lilian\STR71X\applicatio #
# n note\IAP using UART\an2078_IAR(forum)\an2078\IAP_V #
# 2.0\user\Debug\List\" -o "D:\lilian\STR71X\applicati #
# on note\IAP using UART\an2078_IAR(forum)\an2078\IAP_ #
# V2.0\user\Debug\Obj\" -z2 --no_cse --no_unroll #
# --no_inline --no_code_motion --no_tbaa #
# --no_clustering --no_scheduling --debug --cpu_mode #
# arm --endian little --cpu ARM7TDMI --stack_align 4 #
# -e --fpu None --dlib_config "C:\Program Files\IAR #
# Systems\Embedded Workbench #
# 4.0\arm\LIB\dl4tpannl8n.h" -I #
# "D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\..\inclu #
# de\" -I "D:\lilian\STR71X\application note\IAP #
# using UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\.. #
# \common\" -I ROJ_DIR$\ -I "C:\Program Files\IAR #
# Systems\Embedded Workbench 4.0\arm\INC\" #
# List file = D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\Debug\Li #
# st\api_segment_init.lst #
# Object file = D:\lilian\STR71X\application note\IAP using #
# UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\Debug\Ob #
# j\api_segment_init.r79 #
# #
# #
##############################################################################
D:\lilian\STR71X\application note\IAP using UART\an2078_IAR(forum)\an2078\IAP_V2.0\user\api_segment_init.c
1 #include <string.h>
2 #include "segment_init.h"
3
4 #pragma language=extended
5 #pragma segment="INITTAB"
6
\ In segment CODE, align 4, keep-with-next
7 void init_ram_code()
8 {
\ init_ram_code:
\ 00000000 70402DE9 PUSH {R4-R6,LR}
9 InitBlock_Type const * const initTableBegin = __sfb( "INITTAB" );
\ 00000004 54009FE5 LDR R0,??init_ram_code_0 ;; SFB(INITTAB)
\ 00000008 0040B0E1 MOVS R4,R0
10 InitBlock_Type const * const initTableEnd = __sfe( "INITTAB" );
\ 0000000C 50009FE5 LDR R0,??init_ram_code_0+0x4 ;; SFE(INITTAB)
\ 00000010 0050B0E1 MOVS R5,R0
11 InitBlock_Type const * initTableP;
12
13 for (initTableP=initTableBegin; (int)initTableP<(int)initTableEnd; initTableP++)
\ 00000014 0460B0E1 MOVS R6,R4
\ ??init_ram_code_1:
\ 00000018 050056E1 CMP R6,R5
\ 0000001C 0E0000AA BGE ??init_ram_code_2
14 {
15 if (initTableP->Src == initTableP->Dst)
\ 00000020 080096E5 LDR R0,[R6, #+8]
\ 00000024 041096E5 LDR R1,[R6, #+4]
\ 00000028 010050E1 CMP R0,R1
\ 0000002C 0400001A BNE ??init_ram_code_3
16 {
17 memset(initTableP->Dst, 0, initTableP->Size);
\ 00000030 002096E5 LDR R2,[R6, #+0]
\ 00000034 0010A0E3 MOV R1,#+0
\ 00000038 040096E5 LDR R0,[R6, #+4]
\ 0000003C ........ _BLF memset,??memset??rA
\ 00000040 030000EA B ??init_ram_code_4
18 }
19 else
20 {
21 memcpy(initTableP->Dst, initTableP->Src, initTableP->Size);
\ ??init_ram_code_3:
\ 00000044 002096E5 LDR R2,[R6, #+0]
\ 00000048 081096E5 LDR R1,[R6, #+8]
\ 0000004C 040096E5 LDR R0,[R6, #+4]
\ 00000050 ........ _BLF memcpy,??memcpy??rA
22 }
23 }
\ ??init_ram_code_4:
\ 00000054 0C6096E2 ADDS R6,R6,#+12
\ 00000058 EEFFFFEA B ??init_ram_code_1
24 }
\ ??init_ram_code_2:
\ 0000005C 7080BDE8 POP {R4-R6,PC} ;; return
\ ??init_ram_code_0:
\ 00000060 ........ DC32 SFB(INITTAB)
\ 00000064 ........ DC32 SFE(INITTAB)
\ In segment INITTAB, align 1
25
26 #pragma language=default
Maximum stack usage in bytes:
Function CSTACK
-------- ------
init_ram_code 16
Segment part sizes:
Function/Label Bytes
-------------- -----
init_ram_code 104
Others 24
128 bytes in segment CODE
104 bytes of CODE memory (+ 24 bytes shared)
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -