可执行程序产生流程:源文件->预处理器->编译器->链接器->可执行目标文件
/////////////////////////
预处理器(preprocessor):执行以#开头的指令,预处理器可以删除注释,包含其他文件以及执行宏(宏macro是一段重复文字的简短描写)替代.类似于编辑器,可以给程序添加内容,也可以进行修改.
编译器(compiler):将程序翻译成机器指令,即目标代码,但这样的程序还不可执行
链接器(linker):将编译器产生的目标代码和所需的其它附加代码整合在一起,最终产生可以执行的程序. 链接器(Linker)是一个程序,将一个或多个由汇编器或编译器生成的目标文件外加库链接成为一个可执行文件.
/////////////////////////////
设置生成map文件
A0上面是MSP初始地址、PC初始地址以及中断向量表
P1上面是程序段,包括.text(程序)及.rodata(只读数据,一般是常量值)
.text(程序):2字节对齐,用户自定义的程序、标准库程序、startup_stm32f10x_ld的程序,以及初始化变量的函数 zero_init3的程序
.rodata(只读数据,一般是常量值):用户自定义的程序中的常量(比如常量字符串和#define定义的常量等,如果是字符串还要算上结尾的/0,4字节对齐),copy_init3函数中的常量、用于掉电存储的数据
P1上面是SRAM数据,包括.data、cstack、.bss
.data: inited ,通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配
.bss:zero,通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文BlockStarted by Symbol的简称。BSS段属于静态内存分配。
map文件分析:
1、文件头中显示链接器版本,输出文件名,MAP 文件名以及链接器命令行等。
2、RUNTIME MODEL ATTRIBUTES 部份显示 Endian 等属性;
3、PLACEMENT SUMMARY 部份显示各sections 在存储器中的分布;
4、INIT TABLE 部份显示与初始化有关的section tables;
5 、MODULE SUMMARY 部份显示所有被连接的文件信息,包括目标文件和库文件等;
6 、ENTRY LIST 部份给出了所有函数的入口地址及其所在的目标文件。
7、文件尾中显示了总的代码和数据字节数(想看下最后目标代码占用多少Flash和多少RAM的可以从这里查到)。
###############################################################################
#
# IAR ELF Linker V8.30.1.114/W32 for ARM 14/Aug/2018 10:24:32
# Copyright 2007-2018 IAR Systems AB.
# Output file =
# Map file =
# Command line =
###############################################################################
关于map文件的主要信息。包含:IAR版本、日期、输出文件路径、map文件路径等。
*******************************************************************************
*** RUNTIME MODEL ATTRIBUTES
***
CppFlavor = *
__Heap_Handler = DLMalloc
__SystemLibrary = DLib
__dlib_version = 6
*******************************************************************************
*** HEAP SELECTION
***
The advanced heap was selected because the application calls memory
allocation functions outside of system library functions, and there
are calls to deallocation functions in the application.
运行时MODEL属性。这部分显示相关属性等信息,
概述位置,即各Section(段)存储的位置。
*******************************************************************************
*** PLACEMENT SUMMARY
***
"A0": place at 0x800'0000 { ro section .intvec };
"P1": place in [from 0x800'0000 to 0x803'ffff] { ro };
define block CSTACK with size = 4K, alignment = 8 { };
define block HEAP with size = 32K, alignment = 8 { };
"P2": place in [from 0x2000'0000 to 0x2000'ffff] {
rw, block CSTACK, block HEAP };
initialize by copy { rw };
Section Kind Address Size Object
------- ---- ------- ---- ------
"A0": 0x130
.intvec const 0x800'0000 0x130 stm32f10x_vector.o [1]
- 0x800'0130 0x130
"P1": 0x9e3c
.text ro code 0x800'0130 0x2278 Host_Comm.o [1]
.text ro code 0x800'23a8 0x17e stm32f10x_usart.o [1]
.text ro code 0x800'2526 0x3a zero_init3.o [4]
.text ro code 0x800'2560 0x2d0 FileMng.o [1]
.text ro code 0x800'2830 0x386 LSM_Control.o [1]
.text ro code 0x800'2bb8 0xe28 system.o [1]
.text ro code 0x800'39e0 0x6 ABImemclr4.o [4]
.text ro code 0x800'39e8 0x2f8 LSS_Control.o [1]
.text ro code 0x800'3ce0 0x18e8 PROCESS.o [1]
.text ro code 0x800'55c8 0xff0 Motion.o [1]
.text ro code 0x800'65b8 0x86 ABImemcpy.o [4]
.text ro code 0x800'6640 0x2f4 stm32f10x_rcc.o [1]
.text ro code 0x800'6934 0x184 stm32f10x_flash.o [1]
.text ro code 0x800'6ab8 0x5c stm32f10x_systick.o [1]
.text ro code 0x800'6b14 0x1d8 stm32f10x_gpio.o [1]
.text ro code 0x800'6cec 0x12c UART.o [1]
.text ro code 0x800'6e18 0xfc stm32f10x_nvic.o [1]
.text ro code 0x800'6f14 0x1a2 stm32f10x_i2c.o [1]
.text ro code 0x800'70b8 0x206 stm32f10x_adc.o [1]
.text ro code 0x800'72c0 0x1c U32ToFlt.o [3]
.text ro code 0x800'72dc 0xd8 FltMul.o [3]
.text ro code 0x800'73b4 0x2a FltToS32.o [3]
.text ro code 0x800'73e0 0x5e0 main.o [1]
.text ro code 0x800'79c0 0x14e stm32f10x_tim.o [1]
.text ro code 0x800'7b10 0x32 ABImemset48.o [4]
.text ro code 0x800'7b44 0x14e0 dlmalloc.o [2]
.text ro code 0x800'9024 0x4 heaptramp0.o [2]
.text ro code 0x800'9028 0xfc FltDiv.o [3]
.text ro code 0x800'9124 0x24 FltCmpGe.o [3]
.text ro code 0x800'9148 0x24 S32ToFlt.o [3]
.text ro code 0x800'916c 0x24 FltCmpLe.o [3]
.text ro code 0x800'9190 0x80 FltSub.o [3]
.text ro code 0x800'9210 0x1b4 Robot_Config.o [1]
.text ro code 0x800'93c4 0x3f8 AccSensor.o [1]
.text ro code 0x800'97bc 0x6 abort.o [2]
.text ro code 0x800'97c4 0x2c xgetmemchunk.o [2]
.text ro code 0x800'97f0 0xe2 FltAdd.o [3]
.text ro code 0x800'98d2 0xd4 atan2_32.o [3]
.text ro code 0x800'99a8 0x48 FltToDbl.o [3]
.text ro code 0x800'99f0 0x1a2 DblMul.o [3]
.text ro code 0x800'9b94 0x68 DblToFlt.o [3]
.text ro code 0x800'9bfc 0x14 exit.o [5]
.text ro code 0x800'9c10 0x120 iar_Atan32.o [3]
.text ro code 0x800'9d30 0x7a cortexm3_macro.o [1]
.text ro code 0x800'9daa 0x78 stm32f10x_it.o [1]
.text ro code 0x800'9e22 0x2c copy_init3.o [4]
.text ro code 0x800'9e50 0x28 data_init.o [4]
.rodata const 0x800'9e78 0x24 Robot_Config.o [1]
.iar.init_table const 0x800'9e9c 0x24 - Linker created -
.text ro code 0x800'9ec0 0x1e cmain.o [4]
.text ro code 0x800'9ede 0x4 low_level_init.o [2]
.text ro code 0x800'9ee2 0x4 exit.o [2]
.text ro code 0x800'9ee8 0xa cexit.o [4]
.rodata const 0x800'9ef4 0x14 Host_Comm.o [1]
.rodata const 0x800'9f08 0x10 Host_Comm.o [1]
.rodata const 0x800'9f18 0x10 Host_Comm.o [1]
.rodata const 0x800'9f28 0x10 Host_Comm.o [1]
.rodata const 0x800'9f38 0x10 Host_Comm.o [1]
.rodata const 0x800'9f48 0x10 stm32f10x_rcc.o [1]
.text ro code 0x800'9f58 0xc cstartup_M.o [4]
.rodata const 0x800'9f64 0x4 stm32f10x_rcc.o [1]
Initializer bytes const 0x800'9f68 0x4
.rodata const 0x800'9f6c 0x0 zero_init3.o [4]
.rodata const 0x800'9f6c 0x0 copy_init3.o [4]
- 0x800'9f6c 0x9e3c
"P2", part 1 of 3: 0x4
P2-1 0x2000'0000 0x4
.data inited 0x2000'0000 0x4 PROCESS.o [1]
- 0x2000'0004 0x4
"P2", part 2 of 3: 0x69c4
.bss zero 0x2000'0004 0x1fa0 Motion.o [1]
.bss zero 0x2000'1fa4 0x13d8 PROCESS.o [1]
.bss zero 0x2000'337c 0xfa0 PROCESS.o [1]
.bss zero 0x2000'431c 0xbec PROCESS.o [1]
.bss zero 0x2000'4f08 0x9ec PROCESS.o [1]
.bss zero 0x2000'58f4 0x840 FileMng.o [1]
.bss zero 0x2000'6134 0x1d8 dlmalloc.o [2]
.bss zero 0x2000'630c 0x194 PROCESS.o [1]
.bss zero 0x2000'64a0 0xc8 Host_Comm.o [1]
.bss zero 0x2000'6568 0xc8 Host_Comm.o [1]
.bss zero 0x2000'6630 0xc8 Host_Comm.o [1]
.bss zero 0x2000'66f8 0x64 LSM_Control.o [1]
.bss zero 0x2000'675c 0x64 LSM_Control.o [1]
.bss zero 0x2000'67c0 0x64 LSM_Control.o [1]
.bss zero 0x2000'6824 0x40 PROCESS.o [1]
.bss zero 0x2000'6864 0x40 system.o [1]
.bss zero 0x2000'68a4 0x18 PROCESS.o [1]
.bss zero 0x2000'68bc 0x18 dlmalloc.o [2]
.bss zero 0x2000'68d4 0x14 PROCESS.o [1]
.bss zero 0x2000'68e8 0xc AccSensor.o [1]
.bss zero 0x2000'68f4 0x4 AccSensor.o [1]
.bss zero 0x2000'68f8 0x4 FileMng.o [1]
.bss zero 0x2000'68fc 0x4 FileMng.o [1]
.bss zero 0x2000'6900 0x4 FileMng.o [1]
.bss zero 0x2000'6904 0x4 FileMng.o [1]
.bss zero 0x2000'6908 0x4 FileMng.o [1]
.bss zero 0x2000'690c 0x4 Host_Comm.o [1]
.bss zero 0x2000'6910 0x4 Host_Comm.o [1]
.bss zero 0x2000'6914 0x4 Host_Comm.o [1]
.bss zero 0x2000'6918 0x4 Host_Comm.o [1]
.bss zero 0x2000'691c 0x4 Host_Comm.o [1]
.bss zero 0x2000'6920 0x4 Host_Comm.o [1]
.bss zero 0x2000'6924 0x4 Host_Comm.o [1]
.bss zero 0x2000'6928 0x4 Host_Comm.o [1]
.bss zero 0x2000'692c 0x4 Host_Comm.o [1]
.bss zero 0x2000'6930 0x4 LSM_Control.o [1]
.bss zero 0x2000'6934 0x4 LSM_Control.o [1]
.bss zero 0x2000'6938 0x4 LSM_Control.o [1]
.bss zero 0x2000'693c 0x4 main.o [1]
.bss zero 0x2000'6940 0x4 main.o [1]
.bss zero 0x2000'6944 0x4 main.o [1]
.bss zero 0x2000'6948 0x4 main.o [1]
.bss zero 0x2000'694c 0x4 main.o [1]
.bss zero 0x2000'6950 0x4 main.o [1]
.bss zero 0x2000'6954 0x4 Motion.o [1]
.bss zero 0x2000'6958 0x4 Motion.o [1]
.bss zero 0x2000'695c 0x4 PROCESS.o [1]
.bss zero 0x2000'6960 0x4 PROCESS.o [1]
.bss zero 0x2000'6964 0x4 PROCESS.o [1]
.bss zero 0x2000'6968 0x4 PROCESS.o [1]
.bss zero 0x2000'696c 0x4 system.o [1]
.bss zero 0x2000'6970 0x4 system.o [1]
.bss zero 0x2000'6974 0x4 system.o [1]
.bss zero 0x2000'6978 0x4 system.o [1]
.bss zero 0x2000'697c 0x4 system.o [1]
.bss zero 0x2000'6980 0x4 system.o [1]
.bss zero 0x2000'6984 0x4 system.o [1]
.bss zero 0x2000'6988 0x4 system.o [1]
.bss zero 0x2000'698c 0x4 system.o [1]
.bss zero 0x2000'6990 0x4 system.o [1]
.bss zero 0x2000'6994 0x4 system.o [1]
.bss zero 0x2000'6998 0x4 system.o [1]
.bss zero 0x2000'699c 0x4 xgetmemchunk.o [2]
.bss zero 0x2000'69a0 0x2 Host_Comm.o [1]
.bss zero 0x2000'69a2 0x2 main.o [1]
.bss zero 0x2000'69a4 0x2 main.o [1]
.bss zero 0x2000'69a6 0x2 Motion.o [1]
.bss zero 0x2000'69a8 0x2 Motion.o [1]
.bss zero 0x2000'69aa 0x2 PROCESS.o [1]
.bss zero 0x2000'69ac 0x2 PROCESS.o [1]
.bss zero 0x2000'69ae 0x2 PROCESS.o [1]
.bss zero 0x2000'69b0 0x2 PROCESS.o [1]
.bss zero 0x2000'69b2 0x2 PROCESS.o [1]
.bss zero 0x2000'69b4 0x1 Host_Comm.o [1]
.bss zero 0x2000'69b5 0x1 Host_Comm.o [1]
.bss zero 0x2000'69b6 0x1 Host_Comm.o [1]
.bss zero 0x2000'69b7 0x1 Host_Comm.o [1]
.bss zero 0x2000'69b8 0x1 Host_Comm.o [1]
.bss zero 0x2000'69b9 0x1 Host_Comm.o [1]
.bss zero 0x2000'69ba 0x1 main.o [1]
.bss zero 0x2000'69bb 0x1 main.o [1]
.bss zero 0x2000'69bc 0x1 main.o [1]
.bss zero 0x2000'69bd 0x1 main.o [1]
.bss zero 0x2000'69be 0x1 main.o [1]
.bss zero 0x2000'69bf 0x1 main.o [1]
.bss zero 0x2000'69c0 0x1 main.o [1]
.bss zero 0x2000'69c1 0x1 Motion.o [1]
.bss zero 0x2000'69c2 0x1 system.o [1]
.bss zero 0x2000'69c3 0x1 system.o [1]
.bss zero 0x2000'69c4 0x1 system.o [1]
- 0x2000'69c5 0x69c1
"P2", part 3 of 3: 0x9000
CSTACK 0x2000'69c8 0x1000
CSTACK uninit 0x2000'69c8 0x1000
HEAP 0x2000'79c8 0x8000
HEAP uninit 0x2000'79c8 0x8000
- 0x2000'f9c8 0x9000
Unused ranges:
From To Size
---- -- ----
0x800'9f6c 0x803'ffff 0x3'6094
0x2000'f9c8 0x2000'ffff 0x638
"A0": place at 0x800'0000 { ro section .intvec };
"P1": place in [from 0x800'0000 to 0x803'ffff] { ro };
define block CSTACK with size = 4K, alignment = 8 { };
define block HEAP with size = 32K, alignment = 8 { };
"P2": place in [from 0x2000'0000 to 0x2000'ffff] { rw, block CSTACK, block HEAP };
initialize by copy { rw };
"A0"段位于0x08000000,类型为intvec(初始化向量);
"P1"段位于0x08000000 至 0x0801ffff区域,类型为ro;
"P2"段位于0x20000000 至0x20004fff区域,类型包含:rw, block CSTACK, block HEAP;
Section Kind Address Size Object
段 类型 地址 大小 目标位置
Section Kind Address Size Object
------- ---- ------- ---- ------
"A0": 0x130
.intvec const 0x800'0000 0x130 stm32f10x_vector.o [1]
- 0x800'0130 0x130
分析
"A0"段总共大小为 0x130;
其中“.intvec”段类型为ro,地址0x08000000,大小 0x130,位于stm32f10x_vector文件;
"A0"段结束地址为0x800'0130,总共大小0x130。
段与类型一般有对应关系
Section Kind
"A1":
.intvec ro code(ro代码)
"P1":
.text ro code(ro代码)
.rodata const (常量)
CODE ro code(ro代码)
.iar.init_table const(常量)
Initializer bytes ro data(ro数据)
"P2":
.data inited(已初始化数据)
.bss zero(未初始化数据 零)
*******************************************************************************
*** INIT TABLE
***
Address Size
------- ----
Zero (__iar_zero_init3)
1 destination range, total size 0x69c1:
0x2000'0004 0x69c1
Copy (__iar_copy_init3)
1 source range, total size 0x4:
0x800'9f68 0x4
1 destination range, total size 0x4:
0x2000'0000 0x4
INIT TABLE:初始化表,类似于上面第三部分内容,这里是针对RAM存储地址。
五部分MODULE SUMMARY
MODULE SUMMARY:概述模块,主要概述文件于库(模块)所占ro代码大小、rw数据大小。
*******************************************************************************
*** MODULE SUMMARY
***
Module ro code ro data rw data
------ ------- ------- -------
command line/config:
----------------------------------------------
Total:
C:\Users\MRT_D\Desktop\project\LSC for BLE V1_08014\Debug\Obj: [1]
AccSensor.o 1 016 16
FileMng.o 720 2 132
Host_Comm.o 8 824 84 644
LSM_Control.o 902 312
LSS_Control.o 760
Motion.o 4 080 8 109
PROCESS.o 6 376 4 15 214
Robot_Config.o 436 36
UART.o 300
cortexm3_macro.o 122
main.o 1 504 35
stm32f10x_adc.o 518
stm32f10x_flash.o 388
stm32f10x_gpio.o 472
stm32f10x_i2c.o 418
stm32f10x_it.o 120
stm32f10x_nvic.o 252
stm32f10x_rcc.o 756 20
stm32f10x_systick.o 92
stm32f10x_tim.o 334
stm32f10x_usart.o 382
stm32f10x_vector.o 304
system.o 3 624 115
----------------------------------------------
Total: 32 396 448 26 577
dl7M_tlf.a: [2]
abort.o 6
dlmalloc.o 5 344 496
exit.o 4
heaptramp0.o 4
low_level_init.o 4
xgetmemchunk.o 44 4
----------------------------------------------
Total: 5 406 500
m7M_tl.a: [3]
DblMul.o 418
DblToFlt.o 104
FltAdd.o 226
FltCmpGe.o 36
FltCmpLe.o 36
FltDiv.o 252
FltMul.o 216
FltSub.o 128
FltToDbl.o 72
FltToS32.o 42
S32ToFlt.o 36
U32ToFlt.o 28
atan2_32.o 212
iar_Atan32.o 288
----------------------------------------------
Total: 2 094
rt7M_tl.a: [4]
ABImemclr4.o 6
ABImemcpy.o 134
ABImemset48.o 50
cexit.o 10
cmain.o 30
copy_init3.o 44
cstartup_M.o 12
data_init.o 40
zero_init3.o 58
----------------------------------------------
Total: 384
shb_l.a: [5]
exit.o 20
----------------------------------------------
Total: 20
Gaps 26 2
Linker created 36 36 864
--------------------------------------------------
Grand Total: 40 326 486 63 941
ENTRY LIST:入口列表,包含函数、变量等入口地址。
*******************************************************************************
*** ENTRY LIST
***
Entry Address Size Type Object
----- ------- ---- ---- ------
.iar.init_table$$Base 0x800'9e9c -- Gb - Linker created -
.iar.init_table$$Limit 0x800'9ec0 -- Gb - Linker created -
?main 0x800'9ec1 Code Gb cmain.o [4]
ADC1_2_IRQHandler 0x800'9ddf 0x2 Code Gb stm32f10x_it.o [1]
ADC3_IRQHandler 0x800'9e0d 0x2 Code Gb stm32f10x_it.o [1]
ADCPrescTable 0x800'9f64 0x4 Data Lc stm32f10x_rcc.o [1]
ADC_ClearFlag 0x800'72b5 0xa Code Gb stm32f10x_adc.o [1]
ADC_Cmd 0x800'7105 0x1c Code Gb stm32f10x_adc.o [1]
ADC_GetCalibrationStatus
0x800'7149 0x14 Code Gb stm32f10x_adc.o [1]
ADC_GetConversionValue 0x800'728b 0x6 Code Gb stm32f10x_adc.o [1]
ADC_GetFlagStatus 0x800'7299 0x1c Code Gb stm32f10x_adc.o [1]
ADC_GetResetCalibrationStatus
0x800'712b 0x14 Code Gb stm32f10x_adc.o [1]
ADC_Init 0x800'70b9 0x4c Code Gb stm32f10x_adc.o [1]
ADC_RegularChannelConfig
0x800'7179 0x112 Code Gb stm32f10x_adc.o [1]
ADC_ResetCalibration 0x800'7121 0xa Code Gb stm32f10x_adc.o [1]
ADC_SoftwareStartConvCmd
0x800'715d 0x1c Code Gb stm32f10x_adc.o [1]
ADC_StartCalibration 0x800'713f 0xa Code Gb stm32f10x_adc.o [1]
APBAHBPrescTable 0x800'9f48 0x10 Data Lc stm32f10x_rcc.o [1]
Acc 0x2000'68f4 0x4 Data Gb AccSensor.o [1]
AccSenor_Init 0x800'301d 0x42 Code Gb system.o [1]
AccSensorErr 0x2000'69bc 0x1 Data Gb main.o [1]
Alarm 0x800'7415 0x3a Code Gb main.o [1]
Alarm_charge 0x800'744f 0x3a Code Gb main.o [1]
Assignment 0x800'50c5 0x72 Code Gb PROCESS.o [1]
BAT_AD_Init 0x800'305f 0x70 Code Gb system.o [1]
BAT_Charge_Status 0x2000'6988 0x4 Data Gb system.o [1]
BAT_Check 0x800'316b 0x2d2 Code Gb system.o [1]
BAT_Check_Red_flag 0x2000'69c4 0x1 Data Gb system.o [1]
BAT_Check_Start 0x2000'6990 0x4 Data Gb system.o [1]
BAT_Check_Start_flag 0x2000'69c3 0x1 Data Gb system.o [1]
BAT_LowVoltage_Alert 0x2000'698c 0x4 Data Gb system.o [1]
BAT_Over_Counter 0x2000'6994 0x4 Data Gb system.o [1]
BAT_Under_Counter 0x2000'6998 0x4 Data Gb system.o [1]
BAT_Voltage 0x2000'6864 0x40 Data Gb system.o [1]
BAT_Voltage_Read 0x800'30cf 0x9c Code Gb system.o [1]
BUZZER 0x800'3515 0xc2 Code Gb system.o [1]
BusFaultException 0x800'9db1 0x2 Code Gb stm32f10x_it.o [1]
CAN_RX1_IRQHandler 0x800'9de5 0x2 Code Gb stm32f10x_it.o [1]
CAN_SCE_IRQHandler 0x800'9de7 0x2 Code Gb stm32f10x_it.o [1]
CSTACK$$Base 0x2000'69c8 -- Gb - Linker created -
CSTACK$$Limit 0x2000'79c8 -- Gb - Linker created -
CalcFrameInterval 0x800'58d1 0x70 Code Gb Motion.o [1]
CalcUnit 0x800'5941 0x59a Code Gb Motion.o [1]
CodeLine_Decoding 0x800'44d5 0x512 Code Gb PROCESS.o [1]
Compare 0x800'4cfd 0x9c Code Gb PROCESS.o [1]
Controller_Address 0x2000'69a0 0x2 Data Gb Host_Comm.o [1]
DMA1_Channel1_IRQHandler
0x800'9dd1 0x2 Code Gb stm32f10x_it.o [1]
DMA1_Channel2_IRQHandler
0x800'9dd3 0x2 Code Gb stm32f10x_it.o [1]
DMA1_Channel3_IRQHandler
0x800'9dd5 0x2 Code Gb stm32f10x_it.o [1]
DMA1_Channel4_IRQHandler
0x800'9dd7 0x2 Code Gb stm32f10x_it.o [1]
DMA1_Channel5_IRQHandler
0x800'9dd9 0x2 Code Gb stm32f10x_it.o [1]
DMA1_Channel6_IRQHandler
0x800'9ddb 0x2 Code Gb stm32f10x_it.o [1]
DMA1_Channel7_IRQHandler
0x800'9ddd 0x2 Code Gb stm32f10x_it.o [1]
DMA2_Channel1_IRQHandler
0x800'9e1b 0x2 Code Gb stm32f10x_it.o [1]
DMA2_Channel2_IRQHandler
0x800'9e1d 0x2 Code Gb stm32f10x_it.o [1]
DMA2_Channel3_IRQHandler
0x800'9e1f 0x2 Code Gb stm32f10x_it.o [1]
DMA2_Channel4_5_IRQHandler
0x800'9e21 0x2 Code Gb stm32f10x_it.o [1]
DebugMonitor 0x800'9db5 0x2 Code Gb stm32f10x_it.o [1]
Delay_100us 0x800'2bf1 0x1a Code Gb system.o [1]
Delay_ms 0x800'2c27 0x3a Code Gb system.o [1]
Delay_timming 0x800'2c0d 0x1a Code Gb system.o [1]
Delay_us 0x800'2bb9 0x38 Code Gb system.o [1]
EXTI0_IRQHandler 0x800'9dc7 0x2 Code Gb stm32f10x_it.o [1]
EXTI15_10_IRQHandler 0x800'9e01 0x2 Code Gb stm32f10x_it.o [1]
EXTI1_IRQHandler 0x800'9dc9 0x2 Code Gb stm32f10x_it.o [1]
EXTI2_IRQHandler 0x800'9dcb 0x2 Code Gb stm32f10x_it.o [1]
EXTI3_IRQHandler 0x800'9dcd 0x2 Code Gb stm32f10x_it.o [1]
EXTI4_IRQHandler 0x800'9dcf 0x2 Code Gb stm32f10x_it.o [1]
EXTI9_5_IRQHandler 0x800'9de9 0x2 Code Gb stm32f10x_it.o [1]
Exe_MotionIndex 0x2000'69a4 0x2 Data Gb main.o [1]
Exe_MotionSpeed 0x2000'69bb 0x1 Data Gb main.o [1]
Exe_MotionStartDelay 0x2000'69ba 0x1 Data Gb main.o [1]
FLAG_FileDown 0x2000'6924 0x4 Data Gb Host_Comm.o [1]
FLAG_Processing 0x2000'6964 0x4 Data Gb PROCESS.o [1]
FLASH_ClearFlag 0x800'6a17 0xa Code Gb stm32f10x_flash.o [1]
FLASH_ErasePage 0x800'697d 0x54 Code Gb stm32f10x_flash.o [1]
FLASH_GetStatus 0x800'6a21 0x28 Code Gb stm32f10x_flash.o [1]
FLASH_IRQHandler 0x800'9dc3 0x2 Code Gb stm32f10x_it.o [1]
FLASH_Lock 0x800'696f 0xe Code Gb stm32f10x_flash.o [1]
FLASH_PrefetchBufferCmd
0x800'6949 0x14 Code Gb stm32f10x_flash.o [1]
FLASH_ProgramHalfWord 0x800'69d1 0x46 Code Gb stm32f10x_flash.o [1]
FLASH_SetLatency 0x800'6935 0x14 Code Gb stm32f10x_flash.o [1]
FLASH_Unlock 0x800'695d 0x12 Code Gb stm32f10x_flash.o [1]
FLASH_WaitForLastOperation
0x800'6a69 0x34 Code Gb stm32f10x_flash.o [1]
FSMC_IRQHandler 0x800'9e0f 0x2 Code Gb stm32f10x_it.o [1]
FileByteIndex 0x2000'68fc 0x4 Data Gb FileMng.o [1]
FileSize 0x2000'68f8 0x4 Data Gb FileMng.o [1]
FlashPageCounter 0x2000'6904 0x4 Data Gb FileMng.o [1]
Flash_Buffer 0x2000'58f4 0x840 Data Gb FileMng.o [1]
FlowDataLength_X 0x2000'69aa 0x2 Data Gb PROCESS.o [1]
FlowDataLength_Y 0x2000'69ac 0x2 Data Gb PROCESS.o [1]
FlowData_Buffering 0x800'4267 0x184 Code Gb PROCESS.o [1]
FlowData_Decoding 0x800'4439 0x80 Code Gb PROCESS.o [1]
FlowIndex 0x2000'69ae 0x2 Data Gb PROCESS.o [1]
ForStack 0x2000'6824 0x40 Data Gb PROCESS.o [1]
FrameIndexCounter 0x2000'69a6 0x2 Data Gb Motion.o [1]
Frame_Timer_Start 0x800'5861 0x24 Code Gb Motion.o [1]
Frame_Timer_Stop 0x800'5885 0x1c Code Gb Motion.o [1]
GPIO_DeInit 0x800'6b15 0xb6 Code Gb stm32f10x_gpio.o [1]
GPIO_Init 0x800'6bcb 0xea Code Gb stm32f10x_gpio.o [1]
GPIO_ReadInputDataBit 0x800'6cb5 0x1c Code Gb stm32f10x_gpio.o [1]
Get_MOTION_Info_MotionDataSize
0x800'3e57 0x36 Code Gb PROCESS.o [1]
Get_MOTION_Info_MotionIndex
0x800'3e2f 0x28 Code Gb PROCESS.o [1]
Get_MOTION_Info_NbrOfLSM
0x800'3eb7 0x24 Code Gb PROCESS.o [1]
Get_MOTION_Info_NbrOfPose
0x800'3edb 0x2a Code Gb PROCESS.o [1]
Get_MOTION_Info_Platform
0x800'3e8d 0x2a Code Gb PROCESS.o [1]
Get_Motion_ConfigData 0x800'3f33 0x190 Code Gb PROCESS.o [1]
Get_Motion_Info 0x800'3f05 0x2e Code Gb PROCESS.o [1]
Get_PROCESS_Info 0x800'3d93 0x2a Code Gb PROCESS.o [1]
Get_PROCESS_Info_FileSize
0x800'3ce1 0x32 Code Gb PROCESS.o [1]
Get_PROCESS_Info_FlowDataLength
0x800'3d13 0x22 Code Gb PROCESS.o [1]
Get_PROCESS_Info_NbrOfFlowIndex
0x800'3d4f 0x22 Code Gb PROCESS.o [1]
Get_PROCESS_Info_NbrOfLSM
0x800'3d35 0x1a Code Gb PROCESS.o [1]
Get_PROCESS_Info_NbrOfMotionData
0x800'3d71 0x22 Code Gb PROCESS.o [1]
Get_PoseData 0x800'40c3 0x1a4 Code Gb PROCESS.o [1]
Gradient 0x2000'68e8 0xc Data Gb AccSensor.o [1]
HEAP$$Base 0x2000'79c8 -- Gb - Linker created -
HEAP$$Limit 0x2000'f9c8 -- Gb - Linker created -
HSEStartUpStatus 0x2000'69c2 0x1 Data Gb system.o [1]
HW_Init 0x800'2c7b 0x76 Code Gb system.o [1]
HardFaultException 0x800'9dad 0x2 Code Gb stm32f10x_it.o [1]
HostPacketBufferFull 0x2000'6918 0x4 Data Gb Host_Comm.o [1]
HostPacketBufferFull2 0x2000'691c 0x4 Data Gb Host_Comm.o [1]
HostPacketBuffering 0x2000'69b6 0x1 Data Gb Host_Comm.o [1]
HostPacketBuffering2 0x2000'69b7 0x1 Data Gb Host_Comm.o [1]
HostTxString 0x800'0175 0x50 Code Gb Host_Comm.o [1]
HostType 0x2000'6920 0x4 Data Gb Host_Comm.o [1]
Hum_ZeroPos_Value 0x800'9e78 0x24 Data Gb Robot_Config.o [1]
I2C1_ER_IRQHandler 0x800'9df5 0x2 Code Gb stm32f10x_it.o [1]
I2C1_EV_IRQHandler 0x800'9df3 0x2 Code Gb stm32f10x_it.o [1]
I2C2_ER_IRQHandler 0x800'9df9 0x2 Code Gb stm32f10x_it.o [1]
I2C2_EV_IRQHandler 0x800'9df7 0x2 Code Gb stm32f10x_it.o [1]
I2C_AcknowledgeConfig 0x800'705f 0x1e Code Gb stm32f10x_i2c.o [1]
I2C_Cmd 0x800'7005 0x1e Code Gb stm32f10x_i2c.o [1]
I2C_Data_Read 0x800'93c5 0x200 Code Gb AccSensor.o [1]
I2C_Data_Write 0x800'95c5 0xfc Code Gb AccSensor.o [1]
I2C_GenerateSTART 0x800'7023 0x1e Code Gb stm32f10x_i2c.o [1]
I2C_GenerateSTOP 0x800'7041 0x1e Code Gb stm32f10x_i2c.o [1]
I2C_GetFlagStatus 0x800'7085 0x32 Code Gb stm32f10x_i2c.o [1]
I2C_Init 0x800'6f15 0xe2 Code Gb stm32f10x_i2c.o [1]
I2C_SendData 0x800'707d 0x8 Code Gb stm32f10x_i2c.o [1]
LSM 0x2000'0004 0x1fa0 Data Gb Motion.o [1]
LSMTurnOnFlag 0x2000'69a2 0x2 Data Gb main.o [1]
LSM_ACTION 0x800'2b6d 0x4a Code Gb LSM_Control.o [1]
LSM_DATA_Getting_Flag 0x2000'6928 0x4 Data Gb Host_Comm.o [1]
LSM_Data_GET 0x800'2997 0x158 Code Gb LSM_Control.o [1]
LSM_Data_SET 0x800'2b1d 0x50 Code Gb LSM_Control.o [1]
LSM_Factory_Reset 0x800'0741 0x38 Code Gb Host_Comm.o [1]
LSM_ID_Max 0x2000'69c1 0x1 Data Gb Motion.o [1]
LSM_Packet_Send 0x800'284f 0xfa Code Gb LSM_Control.o [1]
LSM_Power_Off 0x800'3905 0x2c Code Gb system.o [1]
LSM_Power_On 0x800'38a5 0x5c Code Gb system.o [1]
LSS_Data_GET 0x800'3ae7 0x182 Code Gb LSS_Control.o [1]
LSS_Data_SET 0x800'3c89 0x58 Code Gb LSS_Control.o [1]
LSS_Packet_Send 0x800'39e9 0xfe Code Gb LSS_Control.o [1]
Make_Frame 0x800'5f75 0x5f6 Code Gb Motion.o [1]
MemManageException 0x800'9daf 0x2 Code Gb stm32f10x_it.o [1]
Motion 0x2000'431c 0xbec Data Gb PROCESS.o [1]
MotionConfigWrite 0x800'55c9 0x1ac Code Gb Motion.o [1]
MotionPlaying 0x2000'6958 0x4 Data Gb Motion.o [1]
Motion_Play 0x800'5775 0x78 Code Gb Motion.o [1]
Motion_StartAddr 0x2000'6960 0x4 Data Gb PROCESS.o [1]
Motion_Stop 0x800'57ed 0x32 Code Gb Motion.o [1]
NMIException 0x800'9dab 0x2 Code Gb stm32f10x_it.o [1]
NVIC_Init 0x800'6e27 0xc4 Code Gb stm32f10x_nvic.o [1]
NVIC_PriorityGroupConfig
0x800'6e19 0xe Code Gb stm32f10x_nvic.o [1]
NVIC_SetVectorTable 0x800'6eeb 0xc Code Gb stm32f10x_nvic.o [1]
PVD_IRQHandler 0x800'9dbd 0x2 Code Gb stm32f10x_it.o [1]
PacketAnalizing 0x800'0779 0x17e4 Code Gb Host_Comm.o [1]
PacketAnalizing_Flag 0x2000'692c 0x4 Data Gb Host_Comm.o [1]
PacketBufferCounter 0x2000'6930 0x4 Data Gb LSM_Control.o [1]
PacketBufferFull 0x2000'6938 0x4 Data Gb LSM_Control.o [1]
PacketBuffer_From_Host 0x2000'6630 0xc8 Data Gb Host_Comm.o [1]
PacketBuffer_From_LSM 0x2000'675c 0x64 Data Gb LSM_Control.o [1]
PacketBuffer_To_LSM 0x2000'66f8 0x64 Data Gb LSM_Control.o [1]
PacketCheck 0x800'0397 0x1b0 Code Gb Host_Comm.o [1]
PacketCheck2 0x800'0547 0x1a8 Code Gb Host_Comm.o [1]
PendSVC 0x800'9db9 0x2 Code Gb stm32f10x_it.o [1]
Pose 0x2000'4f08 0x9ec Data Gb PROCESS.o [1]
PosePlaying 0x2000'6954 0x4 Data Gb Motion.o [1]
Pose_Play 0x800'581f 0x42 Code Gb Motion.o [1]
PrcLSM 0x2000'1fa4 0x13d8 Data Gb PROCESS.o [1]
Prc_Remocon 0x2000'695c 0x4 Data Gb PROCESS.o [1]
ProcessDecoding 0x2000'6968 0x4 Data Gb PROCESS.o [1]
ProcessInfo 0x2000'68d4 0x14 Data Gb PROCESS.o [1]
RCC_ADCCLKConfig 0x800'6763 0x10 Code Gb stm32f10x_rcc.o [1]
RCC_APB1PeriphClockCmd 0x800'6867 0x1c Code Gb stm32f10x_rcc.o [1]
RCC_APB2PeriphClockCmd 0x800'684b 0x1c Code Gb stm32f10x_rcc.o [1]
RCC_APB2PeriphResetCmd 0x800'6883 0x1c Code Gb stm32f10x_rcc.o [1]
RCC_ClockSecuritySystemCmd
0x800'689f 0xa Code Gb stm32f10x_rcc.o [1]
RCC_DeInit 0x800'6641 0x3e Code Gb stm32f10x_rcc.o [1]
RCC_GetClocksFreq 0x800'6773 0xd8 Code Gb stm32f10x_rcc.o [1]
RCC_GetFlagStatus 0x800'68a9 0x46 Code Gb stm32f10x_rcc.o [1]
RCC_GetSYSCLKSource 0x800'6727 0xa Code Gb stm32f10x_rcc.o [1]
RCC_HCLKConfig 0x800'6731 0x10 Code Gb stm32f10x_rcc.o [1]
RCC_HSEConfig 0x800'667f 0x3a Code Gb stm32f10x_rcc.o [1]
RCC_IRQHandler 0x800'9dc5 0x2 Code Gb stm32f10x_it.o [1]
RCC_PCLK1Config 0x800'6741 0x10 Code Gb stm32f10x_rcc.o [1]
RCC_PCLK2Config 0x800'6751 0x12 Code Gb stm32f10x_rcc.o [1]
RCC_PLLCmd 0x800'670d 0xa Code Gb stm32f10x_rcc.o [1]
RCC_PLLConfig 0x800'66f5 0x18 Code Gb stm32f10x_rcc.o [1]
RCC_SYSCLKConfig 0x800'6717 0x10 Code Gb stm32f10x_rcc.o [1]
RCC_WaitForHSEStartUp 0x800'66b9 0x3c Code Gb stm32f10x_rcc.o [1]
RTCAlarm_IRQHandler 0x800'9e03 0x2 Code Gb stm32f10x_it.o [1]
RTC_IRQHandler 0x800'9dc1 0x2 Code Gb stm32f10x_it.o [1]
Read_AccData 0x800'96c1 0xd0 Code Gb AccSensor.o [1]
Read_StartPointIndex 0x800'43eb 0x4e Code Gb PROCESS.o [1]
RefTimer10mS 0x2000'6974 0x4 Data Gb system.o [1]
RefTimer1H 0x2000'6980 0x4 Data Gb system.o [1]
RefTimer1M 0x2000'697c 0x4 Data Gb system.o [1]
RefTimer1S 0x2000'6978 0x4 Data Gb system.o [1]
RefTimer1mS 0x2000'6970 0x4 Data Gb system.o [1]
RefTimer1mScopy 0x2000'6984 0x4 Data Gb system.o [1]
Region$$Table$$Base 0x800'9e9c -- Gb - Linker created -
Region$$Table$$Limit 0x800'9ec0 -- Gb - Linker created -
Remocon 0x2000'690c 0x4 Data Gb Host_Comm.o [1]
Robot_Init 0x800'9211 0x1b4 Code Gb Robot_Config.o [1]
Roll_start_front 0x800'1f61 0x116 Code Gb Host_Comm.o [1]
Roll_start_rear 0x800'2177 0xf0 Code Gb Host_Comm.o [1]
Roll_stop_front 0x800'2077 0x100 Code Gb Host_Comm.o [1]
Roll_stop_rear 0x800'2267 0xf0 Code Gb Host_Comm.o [1]
Round 0x800'5f01 0x74 Code Gb Motion.o [1]
SDIO_IRQHandler 0x800'9e11 0x2 Code Gb stm32f10x_it.o [1]
SPI1_IRQHandler 0x800'9dfb 0x2 Code Gb stm32f10x_it.o [1]
SPI2_IRQHandler 0x800'9dfd 0x2 Code Gb stm32f10x_it.o [1]
SPI3_IRQHandler 0x800'9e15 0x2 Code Gb stm32f10x_it.o [1]
SVCHandler 0x800'9db7 0x2 Code Gb stm32f10x_it.o [1]
SW_Check 0x800'7489 0x46 Code Gb main.o [1]
Search_Motion_StartAddr
0x800'3dbd 0x72 Code Gb PROCESS.o [1]
Stack 0x2000'68a4 0x18 Data Gb PROCESS.o [1]
Stand 0x800'76d1 0x16a Code Gb main.o [1]
State_Assign 0x800'5137 0x466 Code Gb PROCESS.o [1]
State_Branch 0x800'4d99 0x31c Code Gb PROCESS.o [1]
State_DataRead 0x800'49f1 0x2dc Code Gb PROCESS.o [1]
SysTickHandler 0x800'2c73 0x8 Code Gb system.o [1]
SysTick_CounterCmd 0x800'6abf 0x2a Code Gb stm32f10x_systick.o [1]
SysTick_ITConfig 0x800'6ae9 0x20 Code Gb stm32f10x_systick.o [1]
SysTick_SetReload 0x800'6ab9 0x6 Code Gb stm32f10x_systick.o [1]
Sys_Init 0x800'73e1 0x34 Code Gb main.o [1]
System_GPIO_Init 0x800'2e9d 0x180 Code Gb system.o [1]
System_LED_GPIO_Init 0x800'2e53 0x4a Code Gb system.o [1]
System_NVIC_Handler_Init
0x800'2d77 0xdc Code Gb system.o [1]
System_RCC_Init 0x800'2cf1 0x86 Code Gb system.o [1]
TAMPER_IRQHandler 0x800'9dbf 0x2 Code Gb stm32f10x_it.o [1]
TIM1_BRK_IRQHandler 0x800'9deb 0x2 Code Gb stm32f10x_it.o [1]
TIM1_CC_IRQHandler 0x800'9df1 0x2 Code Gb stm32f10x_it.o [1]
TIM1_TRG_COM_IRQHandler
0x800'9def 0x2 Code Gb stm32f10x_it.o [1]
TIM1_UP_IRQHandler 0x800'9ded 0x2 Code Gb stm32f10x_it.o [1]
TIM2_FrameTimer_Init 0x800'385d 0x48 Code Gb system.o [1]
TIM2_IRQHandler 0x800'58a1 0x30 Code Gb Motion.o [1]
TIM3_ExitTimer_Init 0x800'3603 0x52 Code Gb system.o [1]
TIM3_IRQHandler 0x800'3655 0x12e Code Gb system.o [1]
TIM4_BUZZER_T_Init 0x800'34c1 0x54 Code Gb system.o [1]
TIM4_IRQHandler 0x800'35d7 0x2c Code Gb system.o [1]
TIM5_BUZZER_Init 0x800'343d 0x84 Code Gb system.o [1]
TIM5_IRQHandler 0x800'9e13 0x2 Code Gb stm32f10x_it.o [1]
TIM6_IRQHandler 0x800'7885 0xc8 Code Gb main.o [1]
TIM6_roll_Init 0x800'783b 0x4a Code Gb main.o [1]
TIM7_IRQHandler 0x800'9e19 0x2 Code Gb stm32f10x_it.o [1]
TIM8_BRK_IRQHandler 0x800'9e07 0x2 Code Gb stm32f10x_it.o [1]
TIM8_CC_IRQHandler 0x800'9e0b 0x2 Code Gb stm32f10x_it.o [1]
TIM8_RealTimer_Init 0x800'3783 0x50 Code Gb system.o [1]
TIM8_TRG_COM_IRQHandler
0x800'9e09 0x2 Code Gb stm32f10x_it.o [1]
TIM8_UP_IRQHandler 0x800'37d3 0x6e Code Gb system.o [1]
TIM_ClearITPendingBit 0x800'7b05 0xa Code Gb stm32f10x_tim.o [1]
TIM_Cmd 0x800'7a75 0x1e Code Gb stm32f10x_tim.o [1]
TIM_CtrlPWMOutputs 0x800'7a93 0x24 Code Gb stm32f10x_tim.o [1]
TIM_GetITStatus 0x800'7ad7 0x2e Code Gb stm32f10x_tim.o [1]
TIM_ITConfig 0x800'7ab7 0x18 Code Gb stm32f10x_tim.o [1]
TIM_OC1Init 0x800'79f7 0x74 Code Gb stm32f10x_tim.o [1]
TIM_SetAutoreload 0x800'7ad3 0x4 Code Gb stm32f10x_tim.o [1]
TIM_SetCounter 0x800'7acf 0x4 Code Gb stm32f10x_tim.o [1]
TIM_TimeBaseInit 0x800'79c1 0x36 Code Gb stm32f10x_tim.o [1]
TX_HOST 0x800'0131 0x44 Code Gb Host_Comm.o [1]
TX_LSM 0x800'2831 0x1e Code Gb LSM_Control.o [1]
TimingDelay 0x2000'696c 0x4 Data Gb system.o [1]
TimingDelay_Decrement 0x800'2c61 0x12 Code Gb system.o [1]
U4rxData 0x2000'69b8 0x1 Data Gb Host_Comm.o [1]
UART4_BT_COMM_Init 0x800'6da5 0x5c Code Gb UART.o [1]
UART4_IRQHandler 0x800'0297 0xd8 Code Gb Host_Comm.o [1]
UART5_IRQHandler 0x800'9e17 0x2 Code Gb stm32f10x_it.o [1]
USART1_HOST_COMM_Init 0x800'6ced 0x5c Code Gb UART.o [1]
USART1_IRQHandler 0x800'01c5 0xd2 Code Gb Host_Comm.o [1]
USART2_IRQHandler 0x800'9dff 0x2 Code Gb stm32f10x_it.o [1]
USART3_IRQHandler 0x800'2949 0x4e Code Gb LSM_Control.o [1]
USART3_LSM_COMM_Init 0x800'6d49 0x5c Code Gb UART.o [1]
USART_ClearFlag 0x800'2501 0xa Code Gb stm32f10x_usart.o [1]
USART_ClearITPendingBit
0x800'250b 0x1c Code Gb stm32f10x_usart.o [1]
USART_Cmd 0x800'2451 0x1e Code Gb stm32f10x_usart.o [1]
USART_GetFlagStatus 0x800'24ed 0x14 Code Gb stm32f10x_usart.o [1]
USART_ITConfig 0x800'246f 0x62 Code Gb stm32f10x_usart.o [1]
USART_Init 0x800'23a9 0xa4 Code Gb stm32f10x_usart.o [1]
USART_SendData 0x800'24d1 0x1c Code Gb stm32f10x_usart.o [1]
USBWakeUp_IRQHandler 0x800'9e05 0x2 Code Gb stm32f10x_it.o [1]
USB_HP_CAN_TX_IRQHandler
0x800'9de1 0x2 Code Gb stm32f10x_it.o [1]
USB_LP_CAN_RX0_IRQHandler
0x800'9de3 0x2 Code Gb stm32f10x_it.o [1]
UsageFaultException 0x800'9db3 0x2 Code Gb stm32f10x_it.o [1]
WWDG_IRQHandler 0x800'9dbb 0x2 Code Gb stm32f10x_it.o [1]
WriteCounter 0x2000'6900 0x4 Data Gb FileMng.o [1]
Write_Proess 0x800'2561 0x28c Code Gb FileMng.o [1]
__BASEPRICONFIG 0x800'9d97 Code Gb cortexm3_macro.o [1]
__DMB 0x800'9d49 Code Gb cortexm3_macro.o [1]
__DSB 0x800'9d43 Code Gb cortexm3_macro.o [1]
__GetBASEPRI 0x800'9d9d Code Gb cortexm3_macro.o [1]
__ISB 0x800'9d3d Code Gb cortexm3_macro.o [1]
__MRS_CONTROL 0x800'9d53 Code Gb cortexm3_macro.o [1]
__MRS_MSP 0x800'9d6f Code Gb cortexm3_macro.o [1]
__MRS_PSP 0x800'9d63 Code Gb cortexm3_macro.o [1]
__MSR_CONTROL 0x800'9d59 Code Gb cortexm3_macro.o [1]
__MSR_MSP 0x800'9d75 Code Gb cortexm3_macro.o [1]
__MSR_PSP 0x800'9d69 Code Gb cortexm3_macro.o [1]
__READ_FAULTMASK 0x800'9d91 Code Gb cortexm3_macro.o [1]
__READ_PRIMASK 0x800'9d83 Code Gb cortexm3_macro.o [1]
__RESETFAULTMASK 0x800'9d89 Code Gb cortexm3_macro.o [1]
__RESETPRIMASK 0x800'9d7b Code Gb cortexm3_macro.o [1]
__REV_HalfWord 0x800'9da3 Code Gb cortexm3_macro.o [1]
__REV_Word 0x800'9da7 Code Gb cortexm3_macro.o [1]
__SETFAULTMASK 0x800'9d8d Code Gb cortexm3_macro.o [1]
__SETPRIMASK 0x800'9d7f Code Gb cortexm3_macro.o [1]
__SEV 0x800'9d39 Code Gb cortexm3_macro.o [1]
__SVC 0x800'9d4f Code Gb cortexm3_macro.o [1]
__WFE 0x800'9d35 Code Gb cortexm3_macro.o [1]
__WFI 0x800'9d31 Code Gb cortexm3_macro.o [1]
__aeabi_cfcmple 0x800'916d Code Gb FltCmpLe.o [3]
__aeabi_cfrcmple 0x800'9125 Code Gb FltCmpGe.o [3]
__aeabi_d2f 0x800'9b95 Code Gb DblToFlt.o [3]
__aeabi_dmul 0x800'99f1 Code Gb DblMul.o [3]
__aeabi_f2d 0x800'99a9 Code Gb FltToDbl.o [3]
__aeabi_f2iz 0x800'73b5 Code Gb FltToS32.o [3]
__aeabi_fadd 0x800'97f1 Code Gb FltAdd.o [3]
__aeabi_fdiv 0x800'9029 Code Gb FltDiv.o [3]
__aeabi_fmul 0x800'72dd Code Gb FltMul.o [3]
__aeabi_fsub 0x800'9191 Code Gb FltSub.o [3]
__aeabi_i2f 0x800'9149 Code Gb S32ToFlt.o [3]
__aeabi_memclr4 0x800'39e1 Code Gb ABImemclr4.o [4]
__aeabi_memcpy4 0x800'65b9 Code Gb ABImemcpy.o [4]
__aeabi_memcpy8 0x800'65b9 Code Gb ABImemcpy.o [4]
__aeabi_ui2f 0x800'72c1 Code Gb U32ToFlt.o [3]
__cmain 0x800'9ec1 Code Gb cmain.o [4]
__data_GetMemChunk 0x800'97c5 0x2c Code Gb xgetmemchunk.o [2]
__data_GetMemChunk::start
0x2000'699c 0x4 Data Lc xgetmemchunk.o [2]
__exit 0x800'9bfd 0x14 Code Gb exit.o [5]
__iar_Atan32 0x800'9c11 0xe2 Code Gb iar_Atan32.o [3]
__iar_Memset4_word 0x800'7b11 Code Gb ABImemset48.o [4]
__iar_Memset8_word 0x800'7b11 Code Gb ABImemset48.o [4]
__iar_atan2_32 0x800'98d3 0xd4 Code Gb atan2_32.o [3]
__iar_copy_init3 0x800'9e23 0x2c Code Gb copy_init3.o [4]
__iar_data_init3 0x800'9e51 0x28 Code Gb data_init.o [4]
__iar_dlfree 0x800'8b23 0x4f6 Code Gb dlmalloc.o [2]
__iar_dlmalloc 0x800'886d 0x2b6 Code Gb dlmalloc.o [2]
__iar_fadd 0x800'919d Code Gb FltSub.o [3]
__iar_fsub 0x800'97fd Code Gb FltAdd.o [3]
__iar_fsubStart 0x800'980d Code Gb FltAdd.o [3]
__iar_program_start 0x800'9f59 Code Gb cstartup_M.o [4]
__iar_zero_init3 0x800'2527 0x3a Code Gb zero_init3.o [4]
__low_level_init 0x800'9edf 0x4 Code Gb low_level_init.o [2]
__vector_table 0x800'0000 0x130 Data Gb stm32f10x_vector.o [1]
_abs32 0x800'74cf 0x12 Code Gb main.o [1]
_call_main 0x800'9ecd Code Gb cmain.o [4]
_exit 0x800'9ee9 Code Gb cexit.o [4]
_gm_ 0x2000'6134 0x1d8 Data Lc dlmalloc.o [2]
_main 0x800'9edb Code Gb cmain.o [4]
a 0x800'9d10 0x20 Data Lc iar_Atan32.o [3]
abort 0x800'97bd 0x6 Code Gb abort.o [2]
add_segment 0x800'7f0d 0x1f2 Code Lc dlmalloc.o [2]
atan2f 0x800'98d3 0xd4 Code Gb atan2_32.o [3]
cnt 0x2000'337c 0xfa0 Data Gb PROCESS.o [1]
delay 0x800'6a9d 0x1c Code Lc stm32f10x_flash.o [1]
delay1mscounter 0x2000'69b0 0x2 Data Gb PROCESS.o [1]
delay1msflag 0x2000'69b2 0x2 Data Gb PROCESS.o [1]
exit 0x800'9ee3 0x4 Code Gb exit.o [2]
free 0x800'9025 0x4 Code Gb heaptramp0.o [2]
gRx3Buffer 0x2000'67c0 0x64 Data Gb LSM_Control.o [1]
gRx3Cnt 0x2000'6934 0x4 Data Gb LSM_Control.o [1]
gRxHostBuffer 0x2000'64a0 0xc8 Data Gb Host_Comm.o [1]
gRxHostBuffer2 0x2000'6568 0xc8 Data Gb Host_Comm.o [1]
gRxHostBufferFlush 0x800'036f 0x14 Code Gb Host_Comm.o [1]
gRxHostBufferFlush2 0x800'0383 0x14 Code Gb Host_Comm.o [1]
gRxHostCnt 0x2000'6910 0x4 Data Gb Host_Comm.o [1]
gRxHostCnt2 0x2000'6914 0x4 Data Gb Host_Comm.o [1]
init_mparams 0x800'7b5f 0x32 Code Lc dlmalloc.o [2]
init_top 0x800'7b91 0x36 Code Lc dlmalloc.o [2]
main 0x800'74e1 0x1f0 Code Gb main.o [1]
mparams 0x2000'68bc 0x18 Data Lc dlmalloc.o [2]
over_2s_flag 0x2000'69bf 0x1 Data Gb main.o [1]
over_flag 0x2000'69c0 0x1 Data Gb main.o [1]
pFlowData 0x2000'0000 0x4 Data Gb PROCESS.o [1]
p_Fdata8 0x2000'6908 0x4 Data Gb FileMng.o [1]
para_length 0x2000'69b4 0x1 Data Gb Host_Comm.o [1]
para_length2 0x2000'69b5 0x1 Data Gb Host_Comm.o [1]
played_MotionIndex 0x2000'69a8 0x2 Data Gb Motion.o [1]
prepend_alloc 0x800'7bc7 0x346 Code Lc dlmalloc.o [2]
roll1_time 0x2000'693c 0x4 Data Gb main.o [1]
roll2_time 0x2000'6940 0x4 Data Gb main.o [1]
roll3_time 0x2000'6944 0x4 Data Gb main.o [1]
roll_StatementType 0x2000'69b9 0x1 Data Gb Host_Comm.o [1]
roll_execute_flag_front
0x2000'69bd 0x1 Data Gb main.o [1]
roll_execute_flag_rear 0x2000'69be 0x1 Data Gb main.o [1]
segment_holding 0x800'7b45 0x1a Code Lc dlmalloc.o [2]
sys_alloc 0x800'8105 0x164 Code Lc dlmalloc.o [2]
sys_trim 0x800'8269 0x64 Code Lc dlmalloc.o [2]
tmalloc_large 0x800'82d9 0x386 Code Lc dlmalloc.o [2]
tmalloc_small 0x800'865f 0x200 Code Lc dlmalloc.o [2]
tmp_x 0x2000'6948 0x4 Data Gb main.o [1]
tmp_y 0x2000'694c 0x4 Data Gb main.o [1]
tmp_z 0x2000'6950 0x4 Data Gb main.o [1]
variable 0x2000'630c 0x194 Data Gb PROCESS.o [1]
[1] = C:\Users\MRT_D\Desktop\project\LSC for BLE V1_08014\Debug\Obj
[2] = dl7M_tlf.a
[3] = m7M_tl.a
[4] = rt7M_tl.a
[5] = shb_l.a
40 326 bytes of readonly code memory
486 bytes of readonly data memory
63 941 bytes of readwrite data memory
Errors: none
Warnings: none
Entry(入口)主要包含两大类:函数和变量。
函数:全局函数、静态函数
变量:全局变量、(文件内)静态变量、(函数内)静态变量
入口 地址 大小 类型 目标
Entry Address Size Type Object
从上面列表的差异可以看到出来主要包含五类:
1.“全局”函数
入口:main,为全局函数接口;
地址:0x08000317,代表存储在FLASH;
大小:0x5e,该入口函数大小为0x5e;
类型:Code Gb,其中code说明为代码,Gb说明为“全局的”函数(Global);
目标:main.o,该入口函数位于main.c文件下面。
2.“静态”函数
静态函数也就是在函数前加“static”.
SetSysClock位于system_stm32f10x.c文件下,可以看到前面加了“static”。
类型为Code Lc,即静态(局部Local)函数;
3.全局变量
全局变量也叫“全局数据”,因为它的类型为“Data Gb”。
从地址0x20000000可以看得出,它是位于RAM区域,也就是内存中。
(提示:只有全局和静态的变量才会在编译之后决定在RAM中的地址,定义在函数体里面的局部变量只有在程序运行时才会分配地址,也就是说局部变量位于堆栈中)。
4.(文件内)静态变量
使用static关键字定义的变量,只有在当前文件内使用,所以它属于静态(“局部”Local)变量。
5.(函数内)静态变量
它和“(文件内)静态变量”类似,属于静态变量,只是它定义在函数体内的。
从入口“main::sVar_I”可以看得出,变量sVar_I定义在main函数体内。