历史上的今天
今天是:2025年02月02日(星期日)
2020年02月02日 | STM32F103ZET XXX.map的可执行映像分析
2020-02-02 来源:eefocus
可执行映像文件的逻辑结构,总共分7大部分:
一、Section Cross References 交叉引用部分
二、Removing Unused input sections from the image.从映像文件中删除输入段中未使用段的统计信息,对应参数-remove
三、Image Symbol Table 映像符号表:域符号映射和全局、局部符号及生成符号映射统计信息,对应参数-symbol
四、Memory Map of the image 印象文件的信息图,对应参数-map,该信息中包含映像文件中的每个加载域、运行域和输入段的大小和地址(工程每个文件的对象obj在存储器中的映射)
PS:要生成此文件,需要设置一下,如下图


五、Image component sizes 映像文件的每个输入文件或库的RO、RW、ZI等统计信息,对应参数-info sizes(工程每个文件按的对象obj的大小)

六、Code (inc. data) RO Data RW Data ZI Data Debug XXX工程编译链接后Debug版本的各部分的Program Size

七、//XXX工程最终的Program Size
Total RO Size (Code + RO Data) 19124 ( 18.68kB)
Total RW Size (RW Data + ZI Data) 17264 ( 16.86kB)
Total ROM Size (Code + RO Data + RW Data) 21492 ( 20.99kB)
附XXX对应的工程全部映像如下:
Component: ARM Compiler 5.05 update 2 (build 169) Tool: armlink [4d0f33]
==============================================================================
Section Cross References
stm32f10x_adc.o(i.ADC_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd) for RCC_APB2PeriphResetCmd
stm32f10x_tim.o(i.TIM_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd) for RCC_APB2PeriphResetCmd
stm32f10x_tim.o(i.TIM_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd) for RCC_APB1PeriphResetCmd
stm32f10x_tim.o(i.TIM_ETRClockMode1Config) refers to stm32f10x_tim.o(i.TIM_ETRConfig) for TIM_ETRConfig
stm32f10x_tim.o(i.TIM_ETRClockMode2Config) refers to stm32f10x_tim.o(i.TIM_ETRConfig) for TIM_ETRConfig
stm32f10x_tim.o(i.TIM_ICInit) refers to stm32f10x_tim.o(i.TI1_Config) for TI1_Config
stm32f10x_tim.o(i.TIM_ICInit) refers to stm32f10x_tim.o(i.TIM_SetIC1Prescaler) for TIM_SetIC1Prescaler
stm32f10x_tim.o(i.TIM_ICInit) refers to stm32f10x_tim.o(i.TI2_Config) for TI2_Config
stm32f10x_tim.o(i.TIM_ICInit) refers to stm32f10x_tim.o(i.TIM_SetIC2Prescaler) for TIM_SetIC2Prescaler
stm32f10x_tim.o(i.TIM_ICInit) refers to stm32f10x_tim.o(i.TI3_Config) for TI3_Config
stm32f10x_tim.o(i.TIM_ICInit) refers to stm32f10x_tim.o(i.TIM_SetIC3Prescaler) for TIM_SetIC3Prescaler
stm32f10x_tim.o(i.TIM_ICInit) refers to stm32f10x_tim.o(i.TI4_Config) for TI4_Config
stm32f10x_tim.o(i.TIM_ICInit) refers to stm32f10x_tim.o(i.TIM_SetIC4Prescaler) for TIM_SetIC4Prescaler
stm32f10x_tim.o(i.TIM_ITRxExternalClockConfig) refers to stm32f10x_tim.o(i.TIM_SelectInputTrigger) for TIM_SelectInputTrigger
stm32f10x_tim.o(i.TIM_PWMIConfig) refers to stm32f10x_tim.o(i.TI1_Config) for TI1_Config
stm32f10x_tim.o(i.TIM_PWMIConfig) refers to stm32f10x_tim.o(i.TIM_SetIC1Prescaler) for TIM_SetIC1Prescaler
stm32f10x_tim.o(i.TIM_PWMIConfig) refers to stm32f10x_tim.o(i.TI2_Config) for TI2_Config
stm32f10x_tim.o(i.TIM_PWMIConfig) refers to stm32f10x_tim.o(i.TIM_SetIC2Prescaler) for TIM_SetIC2Prescaler
stm32f10x_tim.o(i.TIM_TIxExternalClockConfig) refers to stm32f10x_tim.o(i.TI2_Config) for TI2_Config
stm32f10x_tim.o(i.TIM_TIxExternalClockConfig) refers to stm32f10x_tim.o(i.TI1_Config) for TI1_Config
stm32f10x_tim.o(i.TIM_TIxExternalClockConfig) refers to stm32f10x_tim.o(i.TIM_SelectInputTrigger) for TIM_SelectInputTrigger
stm32f10x_usart.o(i.USART_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd) for RCC_APB2PeriphResetCmd
stm32f10x_usart.o(i.USART_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd) for RCC_APB1PeriphResetCmd
stm32f10x_usart.o(i.USART_Init) refers to stm32f10x_rcc.o(i.RCC_GetClocksFreq) for RCC_GetClocksFreq
stm32f10x_gpio.o(i.GPIO_AFIODeInit) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd) for RCC_APB2PeriphResetCmd
stm32f10x_gpio.o(i.GPIO_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd) for RCC_APB2PeriphResetCmd
stm32f10x_rcc.o(i.RCC_GetClocksFreq) refers to stm32f10x_rcc.o(.data) for APBAHBPrescTable
stm32f10x_rcc.o(i.RCC_WaitForHSEStartUp) refers to stm32f10x_rcc.o(i.RCC_GetFlagStatus) for RCC_GetFlagStatus
stm32f10x_spi.o(i.I2S_Init) refers to stm32f10x_rcc.o(i.RCC_GetClocksFreq) for RCC_GetClocksFreq
stm32f10x_spi.o(i.SPI_I2S_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd) for RCC_APB2PeriphResetCmd
stm32f10x_spi.o(i.SPI_I2S_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd) for RCC_APB1PeriphResetCmd
stm32f10x_flash.o(i.FLASH_EnableWriteProtection) refers to stm32f10x_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
stm32f10x_flash.o(i.FLASH_EraseAllBank1Pages) refers to stm32f10x_flash.o(i.FLASH_WaitForLastBank1Operation) for FLASH_WaitForLastBank1Operation
stm32f10x_flash.o(i.FLASH_EraseAllPages) refers to stm32f10x_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
stm32f10x_flash.o(i.FLASH_EraseOptionBytes) refers to stm32f10x_flash.o(i.FLASH_GetReadOutProtectionStatus) for FLASH_GetReadOutProtectionStatus
stm32f10x_flash.o(i.FLASH_EraseOptionBytes) refers to stm32f10x_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
stm32f10x_flash.o(i.FLASH_ErasePage) refers to stm32f10x_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
stm32f10x_flash.o(i.FLASH_ProgramHalfWord) refers to stm32f10x_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
stm32f10x_flash.o(i.FLASH_ProgramOptionByteData) refers to stm32f10x_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
stm32f10x_flash.o(i.FLASH_ProgramWord) refers to stm32f10x_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
stm32f10x_flash.o(i.FLASH_ReadOutProtection) refers to stm32f10x_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
stm32f10x_flash.o(i.FLASH_UserOptionByteConfig) refers to stm32f10x_flash.o(i.FLASH_WaitForLastOperation) for FLASH_WaitForLastOperation
stm32f10x_flash.o(i.FLASH_WaitForLastBank1Operation) refers to stm32f10x_flash.o(i.FLASH_GetBank1Status) for FLASH_GetBank1Status
stm32f10x_flash.o(i.FLASH_WaitForLastOperation) refers to stm32f10x_flash.o(i.FLASH_GetBank1Status) for FLASH_GetBank1Status
stm32f10x_pwr.o(i.PWR_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd) for RCC_APB1PeriphResetCmd
startup_stm32f10x_hd.o(RESET) refers to startup_stm32f10x_hd.o(STACK) for __initial_sp
startup_stm32f10x_hd.o(RESET) refers to startup_stm32f10x_hd.o(.text) for Reset_Handler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.NMI_Handler) for NMI_Handler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.HardFault_Handler) for HardFault_Handler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.MemManage_Handler) for MemManage_Handler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.BusFault_Handler) for BusFault_Handler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.UsageFault_Handler) for UsageFault_Handler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.SVC_Handler) for SVC_Handler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.DebugMon_Handler) for DebugMon_Handler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.PendSV_Handler) for PendSV_Handler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.SysTick_Handler) for SysTick_Handler
startup_stm32f10x_hd.o(RESET) refers to hardware.o(i.EXTI1_IRQHandler) for EXTI1_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.DMA1_Channel6_IRQHandler) for DMA1_Channel6_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.DMA1_Channel7_IRQHandler) for DMA1_Channel7_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.USB_LP_CAN1_RX0_IRQHandler) for USB_LP_CAN1_RX0_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to hardware.o(i.EXTI9_5_IRQHandler) for EXTI9_5_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to driver.o(i.TIM2_IRQHandler) for TIM2_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to driver.o(i.TIM3_IRQHandler) for TIM3_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to driver.o(i.TIM4_IRQHandler) for TIM4_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to serial.o(i.USART1_IRQHandler) for USART1_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to stm32f10x_it.o(i.USBWakeUp_IRQHandler) for USBWakeUp_IRQHandler
startup_stm32f10x_hd.o(RESET) refers to driver.o(i.TIM5_IRQHandler) for TIM5_IRQHandler
startup_stm32f10x_hd.o(.text) refers to system_stm32f10x.o(i.SystemInit) for SystemInit
startup_stm32f10x_hd.o(.text) refers to entry.o(.ARM.Collect
00000000) for __main
communicate.o(i.comm_cmd_check_valid) refers to communicate.o(.bss) for comm_recv_buf
communicate.o(i.comm_cmd_check_valid) refers to main.o(.data) for sender_addr
communicate.o(i.comm_cmd_check_valid) refers to communicate.o(.data) for cmd_num_this_time
communicate.o(i.comm_cmd_execution) refers to driver.o(i.timer) for timer
communicate.o(i.comm_cmd_execution) refers to communicate.o(i.comm_cmd_check_valid) for comm_cmd_check_valid
communicate.o(i.comm_cmd_execution) refers to printf8.o(i.__0printf$8) for __2printf
communicate.o(i.comm_cmd_execution) refers to printf8.o(i.__0sprintf$8) for __2sprintf
史海拾趣
|
将当今的汽车说成是电子产品毫不过分,而且有人预言今后还会在安全、环保和信息化这三个领域加速实现电子化。这一趋势今后肯定只会加速而不可能停滞。因为汽车厂商在安全、环保和信息化这三个领域里早就提出了加速实现电子化的方针。而其中最值得关 ...… 查看全部问答> |
|
哪位大哥有The MultiMediaCard System Specification Version 3.31 有较早的版本的也可以,100分相谢,要是分不够我可以再加!谢谢了! 因为我想要读取一些MMC卡的基本信息。 可以发到我的邮箱:m-ja@163.com… 查看全部问答> |
|
前一段时间是针对专门的问题,发了一些帖子,这次在从最基本简单的入手,让我们一起逐步地深入吧。 1.首先我们可以在桌面上创建一个文件夹,my_proj。 2.把StellarisWare下的一些文件夹复制到my_proj下,其中progjects文件夹用来保存我们要创建的 ...… 查看全部问答> |
|
向版主请教:在3.xx固件库中STM32PWM模式的默认电平设置 版主及各位大师好 小弟想请教一下STM32 通用定时器PWM输出时 默认电平控制问题 原来基于1.0的库写的一段TIM2定时器3通道的PWM输出配置 将 TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low; 时开机上电 及软件关闭3 ...… 查看全部问答> |
|
在2812使用EV的时候可以直接写EVx.ACTRx直接控制PWM输出的强制高、强制低,在使用ePWM的器件上应该怎么配置,从而可以强制高、强制低呢… 查看全部问答> |
|
我用dht11采集温湿度数据传回到串口助手上为什么只有整数部分是正确的,小数部分为0呢? 这是我将采集到得数据赋给变量的程序(都是uchar变量): wendu_shi=ucharT_data_H/10; //温度整数十位部分 &nbs ...… 查看全部问答> |




