OUTPUT_FORMAT ("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") /* Internal Memory Map*/ MEMORY { rom (rx) : ORIGIN = 0x08000000, LENGTH = 0x00040000 ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00010000 } _eram = 0x20000000 + 0x00010000; SECTIONS { .text : { KEEP(*(.isr_vector)) *(.text*) KEEP(*(.init)) KEEP(*(.fini)) /* .ctors */ *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) *(SORTArchive member included because of file (symbol) c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubdf3.o) ..\obj\main.o (__aeabi_f2d) c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubsf3.o) ..\obj\main.o (__aeabi_fsub) c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_muldivsf3.o) ..\obj\main.o (__aeabi_fmul) c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_fixsfsi.o) ..\obj\main.o (__aeabi_f2iz) c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libg_s.a(lib_a-memset.o) ..\obj\main.o (memset) Discarded input sections .text 0x00000000 0x0 ..\obj\semihosting.o .data 0x00000000 0x0 ..\obj\semihosting.o .text.SH_SendString 0x00000000 0x24 ..\obj\semihosting.o .text.SH_GetChar 0x00000000 0x40 ..\obj\semihosting.o .text 0x00000000 0x0 ..\obj\startup_stm32f4xx.o .data 0x00000000 0x0 ..\obj\startup_stm32f4xx.o .bss 0x00000000 0x0 ..\obj\startup_stm32f4xx.o .text 0x00000000 0x0 ..\obj\main.o .data 0x00000000 0x0 ..\obj\main.o .bss 0x00000000 0x0 ..\obj\main.o .text.printfloat 0x00000000 0x90 ..\obj\main.o .text 0x00000000 0x0 ..\obj\stm32f4xx_rcc.o .data 0x00000000 0x10 ..\obj\stm32f4xx_rcc.o .bss 0x00000000 0x0 ..\obj\stm32f4xx_rcc.o .text.RCC_DeInit 0x00000000 0x50 ..\obj\stm32f4xx_rcc.o .text.RCC_HSEConfig 0x00000000 0x24 ..\obj\stm32f4xx_rcc.o .text.RCC_WaitForHSEStartUp 0x00000000 0x50 ..\obj\stm32f4xx_rcc.o .text.RCC_AdjustHSICalibrationValue 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_HSICmd 0x00000000 0x20 ..\obj\stm32f4xx_rcc.o .text.RCC_LSEConfig 0x00000000 0x40 ..\obj\stm32f4xx_rcc.o .text.RCC_LSICmd 0x00000000 0x20 ..\obj\stm32f4xx_rcc.o .text.RCC_PLLConfig 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_PLLCmd 0x00000000 0x20 ..\obj\stm32f4xx_rcc.o .text.RCC_PLLI2SConfig 0x00000000 0x28 ..\obj\stm32f4xx_rcc.o .text.RCC_PLLI2SCmd 0x00000000 0x20 ..\obj\stm32f4xx_rcc.o .text.RCC_ClockSecuritySystemCmd 0x00000000 0x20 ..\obj\stm32f4xx_rcc.o .text.RCC_MCO1Config 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_MCO2Config 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_SYSCLKConfig 0x00000000 0x38 ..\obj\stm32f4xx_rcc.o .text.RCC_GetSYSCLKSource 0x00000000 0x20 ..\obj\stm32f4xx_rcc.o .text.RCC_HCLKConfig 0x00000000 0x38 ..\obj\stm32f4xx_rcc.o .text.RCC_PCLK1Config 0x00000000 0x38 ..\obj\stm32f4xx_rcc.o .text.RCC_PCLK2Config 0x00000000 0x38 ..\obj\stm32f4xx_rcc.o .text.RCC_GetClocksFreq 0x00000000 0x154 ..\obj\stm32f4xx_rcc.o .text.RCC_RTCCLKConfig 0x00000000 0x5c ..\obj\stm32f4xx_rcc.o .text.RCC_RTCCLKCmd 0x00000000 0x20 ..\obj\stm32f4xx_rcc.o .text.RCC_BackupResetCmd 0x00000000 0x20 ..\obj\stm32f4xx_rcc.o .text.RCC_I2SCLKConfig 0x00000000 0x1c ..\obj\stm32f4xx_rcc.o .text.RCC_AHB1PeriphClockCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_AHB2PeriphClockCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_AHB3PeriphClockCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_APB1PeriphClockCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_APB2PeriphClockCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_AHB1PeriphResetCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_AHB2PeriphResetCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_AHB3PeriphResetCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_APB1PeriphResetCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_APB2PeriphResetCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_AHB1PeriphClockLPModeCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_AHB2PeriphClockLPModeCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_AHB3PeriphClockLPModeCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_APB1PeriphClockLPModeCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_APB2PeriphClockLPModeCmd 0x00000000 0x3c ..\obj\stm32f4xx_rcc.o .text.RCC_ITConfig 0x00000000 0x48 ..\obj\stm32f4xx_rcc.o .text.RCC_GetFlagStatus 0x00000000 0x74 ..\obj\stm32f4xx_rcc.o .text.RCC_ClearFlag 0x00000000 0x1c ..\obj\stm32f4xx_rcc.o .text.RCC_GetITStatus 0x00000000 0x38 ..\obj\stm32f4xx_rcc.o .text.RCC_ClearITPendingBit 0x00000000 0x20 ..\obj\stm32f4xx_rcc.o .debug_info 0x00000000 0xc4d ..\obj\stm32f4xx_rcc.o .debug_abbrev 0x00000000 0x1e3 ..\obj\stm32f4xx_rcc.o .debug_aranges 0x00000000 0x178 ..\obj\stm32f4xx_rcc.o .debug_ranges 0x00000000 0x168 ..\obj\stm32f4xx_rcc.o .debug_line 0x00000000 0x569 ..\obj\stm32f4xx_rcc.o .debug_str 0x00000000 0x84c ..\obj\stm32f4xx_rcc.o .comment 0x00000000 0x71 ..\obj\stm32f4xx_rcc.o .ARM.attributes 0x00000000 0x33 ..\obj\stm32f4xx_rcc.o .debug_frame 0x00000000 0x4d8 ..\obj\stm32f4xx_rcc.o .text 0x00000000 0x0 ..\obj\printf.o .bss 0x00000000 0x0 ..\obj\printf.o .text.snprintf 0x00000000 0x30 ..\obj\printf.o .text.fprintf 0x00000000 0x2c ..\obj\printf.o .text.sprintf 0x00000000 0x2c ..\obj\printf.o .text.puts 0x00000000 0x24 ..\obj\printf.o .data 0x00000000 0x0 ..\obj\sh_cmd.o .bss 0x00000000 0x0 ..\obj\sh_cmd.o .text 0x00000000 0x0 ..\obj\system_stm32f4xx.o .data 0x00000000 0x14 ..\obj\system_stm32f4xx.o .bss 0x00000000 0x0 ..\obj\system_stm32f4xx.o .text.SystemInit 0x00000000 0x58 ..\obj\system_stm32f4xx.o .text.SystemCoreClockUpdate 0x00000000 0xf8 ..\obj\system_stm32f4xx.o .text.SetSysClock 0x00000000 0xf4 ..\obj\system_stm32f4xx.o .debug_info 0x00000000 0x592 ..\obj\system_stm32f4xx.o .debug_abbrev 0x00000000 0x136 ..\obj\system_stm32f4xx.o .debug_aranges 0x00000000 0x30 ..\obj\system_stm32f4xx.o .debug_ranges 0x00000000 0x20 ..\obj\system_stm32f4xx.o .debug_line 0x00000000 0x1be ..\obj\system_stm32f4xx.o .debug_str 0x00000000 0x3a6 ..\obj\system_stm32f4xx.o .comment 0x00000000 0x71 ..\obj\system_stm32f4xx.o .ARM.attributes 0x00000000 0x33 ..\obj\system_stm32f4xx.o .debug_frame 0x00000000 0x64 ..\obj\system_stm32f4xx.o .text 0x00000000 0x0 ..\obj\syscalls.o .data 0x00000000 0x0 ..\obj\syscalls.o .bss 0x00000000 0x4 ..\obj\syscalls.o .text._sbrk 0x00000000 0x40 ..\obj\syscalls.o .text.link 0x00000000 0x1c ..\obj\syscalls.o .text._close 0x00000000 0x18 ..\obj\syscalls.o .text._fstat 0x00000000 0x20 ..\obj\syscalls.o .text._isatty 0x00000000 0x18 ..\obj\syscalls.o .text._lseek 0x00000000 0x1c ..\obj\syscalls.o .text._read 0x00000000 0x1c ..\obj\syscalls.o .text._write 0x00000000 0x1c ..\obj\syscalls.o .text.abort 0x00000000 0x8 ..\obj\syscalls.o .debug_info 0x00000000 0x3ee ..\obj\syscalls.o .debug_abbrev 0x00000000 0xe2 ..\obj\syscalls.o .debug_aranges 0x00000000 0x60 ..\obj\syscalls.o .debug_ranges 0x00000000 0x50 ..\obj\syscalls.o .debug_line 0x00000000 0x15c ..\obj\syscalls.o .debug_str 0x00000000 0x2c7 ..\obj\syscalls.o .comment 0x00000000 0x71 ..\obj\syscalls.o .ARM.attributes 0x00000000 0x33 ..\obj\syscalls.o .debug_frame 0x00000000 0x108 ..\obj\syscalls.o .data 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubdf3.o) .bss 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubdf3.o) .text 0x00000000 0x21c c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubsf3.o) .data 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubsf3.o) .bss 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubsf3.o) .ARM.attributes 0x00000000 0x1e c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubsf3.o) .text 0x00000000 0x2a0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_muldivsf3.o) .data 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_muldivsf3.o) .bss 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_muldivsf3.o) .ARM.attributes 0x00000000 0x1e c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_muldivsf3.o) .text 0x00000000 0x4c c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_fixsfsi.o) .data 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_fixsfsi.o) .bss 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_fixsfsi.o) .ARM.attributes 0x00000000 0x1e c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_fixsfsi.o) .text 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libg_s.a(lib_a-memset.o) .data 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libg_s.a(lib_a-memset.o) .bss 0x00000000 0x0 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libg_s.a(lib_a-memset.o) Memory Configuration Name Origin Length Attributes rom 0x08000000 0x00040000 xr ram 0x20000000 0x00010000 xrw *default* 0x00000000 0xffffffff Linker script and memory map 0x20010000 _eram = 0x20010000 .text 0x08000000 0xd44 *(.isr_vector) .isr_vector 0x08000000 0x188 ..\obj\startup_stm32f4xx.o 0x08000000 g_pfnVectors *(.text*) .text.SH_SendChar 0x08000188 0x64 ..\obj\semihosting.o 0x08000188 SH_SendChar .text.Default_Reset_Handler 0x080001ec 0x5c ..\obj\startup_stm32f4xx.o 0x080001ec Default_Reset_Handler 0x080001ec Reset_Handler .text.Default_Handler 0x08000248 0x8 ..\obj\startup_stm32f4xx.o 0x08000248 RTC_Alarm_IRQHandler 0x08000248 HASH_RNG_IRQHandler 0x08000248 EXTI2_IRQHandler 0x08000248 TIM8_CC_IRQHandler 0x08000248 DebugMon_Handler 0x08000248 TIM1_CC_IRQHandler 0x08000248 DMA2_Stream5_IRQHandler 0x08000248 DMA1_Stream5_IRQHandler 0x08000248 SysTick_Handler 0x08000248 PVD_IRQHandler 0x08000248 SDIO_IRQHandler 0x08000248 TAMP_STAMP_IRQHandler 0x08000248 PendSV_Handler 0x08000248 NMI_Handler 0x08000248 CAN2_RX1_IRQHandler 0x08000248 EXTI3_IRQHandler 0x08000248 TIM8_TRG_COM_TIM14_IRQHandler 0x08000248 TIM1_UP_TIM10_IRQHandler 0x08000248 TIM8_UP_TIM13_IRQHandler 0x08000248 I2C3_ER_IRQHandler 0x08000248 EXTI0_IRQHandler 0x08000248 I2C2_EV_IRQHandler 0x08000248 DMA1_Stream2_IRQHandler 0x08000248 CAN1_RX0_IRQHandler 0x08000248 FPU_IRQHandler 0x08000248 OTG_HS_WKUP_IRQHandler 0x08000248 UsageFault_Handler 0x08000248 CAN2_SCE_IRQHandler 0x08000248 DMA2_Stream2_IRQHandler 0x08000248 SPI1_IRQHandler 0x08000248 TIM6_DAC_IRQHandler 0x08000248 TIM1_BRK_TIM9_IRQHandler 0x08000248 DCMI_IRQHandler 0x08000248 CAN2_RX0_IRQHandler 0x08000248 DMA2_Stream3_IRQHandler 0x08000248 USART6_IRQHandler 0x08000248 USART3_IRQHandler 0x08000248 CRYP_IRQHandler 0x08000248 CAN1_RX1_IRQHandler 0x08000248 UART5_IRQHandler 0x08000248 DMA2_Stream0_IRQHandler 0x08000248 TIM4_IRQHandler 0x08000248 I2C1_EV_IRQHandler 0x08000248 DMA1_Stream6_IRQHandler 0x08000248 DMA1_Stream1_IRQHandler 0x08000248 UART4_IRQHandler 0x08000248 TIM3_IRQHandler 0x08000248 RCC_IRQHandler 0x08000248 TIM8_BRK_TIM12_IRQHandler 0x08000248 EXTI15_10_IRQHandler 0x08000248 ADC_IRQHandler 0x08000248 DMA1_Stream7_IRQHandler 0x08000248 TIM7_IRQHandler 0x08000248 CAN2_TX_IRQHandler 0x08000248 TIM5_IRQHandler 0x08000248 DMA2_Stream7_IRQHandler 0x08000248 I2C3_EV_IRQHandler 0x08000248 EXTI9_5_IRQHandler 0x08000248 RTC_WKUP_IRQHandler 0x08000248 ETH_WKUP_IRQHandler 0x08000248 SPI2_IRQHandler 0x08000248 OTG_HS_EP1_IN_IRQHandler 0x08000248 MemManage_Handler 0x08000248 DMA1_Stream0_IRQHandler 0x08000248 CAN1_TX_IRQHandler 0x08000248 SVC_Handler 0x08000248 EXTI4_IRQHandler 0x08000248 FSMC_IRQHandler 0x08000248 ETH_IRQHandler 0x08000248 OTG_HS_EP1_OUT_IRQHandler 0x08000248 WWDG_IRQHandler 0x08000248 TIM2_IRQHandler 0x08000248 OTG_FS_WKUP_IRQHandler 0x08000248 TIM1_TRG_COM_TIM11_IRQHandler 0x08000248 OTG_HS_IRQHandler 0x08000248 EXTI1_IRQHandler 0x08000248 USART2_IRQHandler 0x08000248 I2C2_ER_IRQHandler 0x08000248 DMA2_Stream1_IRQHandler 0x08000248 CAN1_SCE_IRQHandler 0x08000248 FLASH_IRQHandler 0x08000248 DMA2_Stream4_IRQHandler 0x08000248 BusFault_Handler 0x08000248 USART1_IRQHandler 0x08000248 OTG_FS_IRQHandler 0x08000248 SPI3_IRQHandler 0x08000248 DMA1_Stream4_IRQHandler 0x08000248 I2C1_ER_IRQHandler 0x08000248 DMA2_Stream6_IRQHandler 0x08000248 DMA1_Stream3_IRQHandler .text.main 0x08000250 0x50 ..\obj\main.o 0x08000250 main .text.PrintChar 0x080002a0 0x18 ..\obj\printf.o 0x080002a0 PrintChar .text.PutChar 0x080002b8 0x20 ..\obj\printf.o 0x080002b8 PutChar .text.PutString 0x080002d8 0x3c ..\obj\printf.o 0x080002d8 PutString .text.PutUnsignedInt 0x08000314 0xa0 ..\obj\printf.o 0x08000314 PutUnsignedInt .text.PutSignedInt 0x080003b4 0xfc ..\obj\printf.o 0x080003b4 PutSignedInt .text.PutHexa 0x080004b0 0xd4 ..\obj\printf.o 0x080004b0 PutHexa .text.vsnprintf 0x08000584 0x254 ..\obj\printf.o 0x08000584 vsnprintf .text.vsprintf 0x080007d8 0x24 ..\obj\printf.o 0x080007d8 vsprintf .text.vfprintf 0x080007fc 0x68 ..\obj\printf.o 0x080007fc vfprintf .text.vprintf 0x08000864 0x28 ..\obj\printf.o 0x08000864 vprintf .text.printf 0x0800088c 0x28 ..\obj\printf.o 0x0800088c printf .text.fputc 0x080008b4 0x40 ..\obj\printf.o 0x080008b4 fputc .text.fputs 0x080008f4 0x48 ..\obj\printf.o 0x080008f4 fputs .text 0x0800093c 0x30 ..\obj\sh_cmd.o 0x0800093c SH_DoCommand 0x08000952 HardFault_Handler .text 0x0800096c 0x370 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubdf3.o) 0x0800096c __aeabi_drsub 0x08000974 __aeabi_dsub 0x08000974 __subdf3 0x08000978 __aeabi_dadd 0x08000978 __adddf3 0x08000bf0 __floatunsidf 0x08000bf0 __aeabi_ui2d 0x08000c10 __floatsidf 0x08000c10 __aeabi_i2d 0x08000c34 __aeabi_f2d 0x08000c34 __extendsfdf2 0x08000c70 __floatundidf 0x08000c70 __aeabi_ul2d 0x08000c80 __floatdidf 0x08000c80 __aeabi_l2d .text.memset 0x08000cdc 0x10 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libg_s.a(lib_a-memset.o) 0x08000cdc memset *(.init) *(.fini) *crtbegin.o(.ctors) *crtbegin?.o(.ctors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .ctors) *(SORT(.ctors.*)) *(.ctors) *crtbegin.o(.dtors) *crtbegin?.o(.dtors) *(EXCLUDE_FILE(*crtend.o *crtend?.o) .dtors) *(SORT(.dtors.*)) *(.dtors) *(.rodata*) .rodata 0x08000cec 0x34 ..\obj\main.o .rodata 0x08000d20 0x24 ..\obj\printf.o *(.eh_fram e*) .glue_7 0x08000d44 0x0 .glue_7 0x00000000 0x0 linker stubs .glue_7t 0x08000d44 0x0 .glue_7t 0x00000000 0x0 linker stubs .vfp11_veneer 0x08000d44 0x0 .vfp11_veneer 0x00000000 0x0 linker stubs .v4_bx 0x08000d44 0x0 .v4_bx 0x00000000 0x0 linker stubs .iplt 0x08000d44 0x0 .iplt 0x00000000 0x0 ..\obj\semihosting.o .rel.dyn 0x08000d44 0x0 .rel.iplt 0x00000000 0x0 ..\obj\semihosting.o .ARM.extab *(.ARM.extab* .gnu.linkonce.armextab.*) 0x08000d44 __exidx_start = . .ARM.exidx *(.ARM.exidx* .gnu.linkonce.armexidx.*) 0x08000d44 __exidx_end = . 0x08000d44 __etext = . 0x08000d44 _sidata = __etext .data 0x20000000 0x430 load address 0x08000d44 0x20000000 __data_start__ = . 0x20000000 _sdata = __data_start__ *(vtable) *(.data*) .data 0x20000000 0x430 ..\obj\printf.o 0x20000000 r 0x20000428 _impure_ptr 0x20000430 . = ALIGN (0x4) 0x20000430 PROVIDE (__preinit_array_start, .) *(.preinit_array) 0x20000430 PROVIDE (__preinit_array_end, .) 0x20000430 . = ALIGN (0x4) 0x20000430 PROVIDE (__init_array_start, .) *(SORT(.init_array.*)) *(.init_array) 0x20000430 PROVIDE (__init_array_end, .) 0x20000430 . = ALIGN (0x4) 0x20000430 PROVIDE (__fini_array_start, .) *(SORT(.fini_array.*)) *(.fini_array) 0x20000430 PROVIDE (__fini_array_end, .) *(.jcr*) 0x20000430 . = ALIGN (0x4) 0x20000430 __data_end__ = . 0x20000430 _edata = __data_end__ .igot.plt 0x20000430 0x0 load address 0x08001174 .igot.plt 0x00000000 0x0 ..\obj\semihosting.o .bss 0x20000430 0x14 load address 0x08001174 0x20000430 . = ALIGN (0x4) 0x20000430 __bss_start__ = . 0x20000430 _sbss = __bss_start__ *(.bss*) .bss 0x20000430 0x14 ..\obj\semihosting.o *(COMMON) 0x20000444 . = ALIGN (0x4) 0x20000444 __bss_end__ = . 0x20000444 _ebss = __bss_end__ .heap 0x20000444 0x0 0x20000444 __end__ = . 0x20000444 _end = __end__ 0x20000444 end = __end__ *(.heap*) 0x20000444 __HeapLimit = . .co_stack 0x20000444 0x8004 load address 0x08001188 0x20000448 . = ALIGN (0x8) *fill* 0x20000444 0x4 *(.co_stack .co_stack.*) .co_stack 0x20000448 0x8000 ..\obj\startup_stm32f4xx.o 0x20000448 pulStack 0x20010000 __StackTop = (ORIGIN (ram) + 0x10000) 0x20007ffc __StackLimit = (__StackTop - SIZEOF (.co_stack)) 0x20010000 PROVIDE (__stack, __StackTop) 0x00000001 ASSERT ((__StackLimit >= __HeapLimit), region ram overflowed with stack) LOAD ..\obj\semihosting.o LOAD ..\obj\startup_stm32f4xx.o LOAD ..\obj\main.o LOAD ..\obj\stm32f4xx_rcc.o LOAD ..\obj\printf.o LOAD ..\obj\sh_cmd.o LOAD ..\obj\system_stm32f4xx.o LOAD ..\obj\syscalls.o START GROUP LOAD c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a LOAD c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libg_s.a LOAD c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libc_s.a END GROUP START GROUP LOAD c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a LOAD c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libc_s.a END GROUP OUTPUT(Test.elf elf32-littlearm) .debug_info 0x00000000 0x1232 .debug_info 0x00000000 0x12b ..\obj\semihosting.o .debug_info 0x0000012b 0xed ..\obj\startup_stm32f4xx.o .debug_info 0x00000218 0x14e ..\obj\main.o .debug_info 0x00000366 0xe38 ..\obj\printf.o .debug_info 0x0000119e 0x94 ..\obj\sh_cmd.o .debug_abbrev 0x00000000 0x4a9 .debug_abbrev 0x00000000 0xab ..\obj\semihosting.o .debug_abbrev 0x000000ab 0xb0 ..\obj\startup_stm32f4xx.o .debug_abbrev 0x0000015b 0xbc ..\obj\main.o .debug_abbrev 0x00000217 0x27e ..\obj\printf.o .debug_abbrev 0x00000495 0x14 ..\obj\sh_cmd.o .debug_aranges 0x00000000 0x140 .debug_aranges 0x00000000 0x30 ..\obj\semihosting.o .debug_aranges 0x00000030 0x28 ..\obj\startup_stm32f4xx.o .debug_aranges 0x00000058 0x28 ..\obj\main.o .debug_aranges 0x00000080 0xa0 ..\obj\printf.o .debug_aranges 0x00000120 0x20 ..\obj\sh_cmd.o .debug_ranges 0x00000000 0xe0 .debug_ranges 0x00000000 0x20 ..\obj\semihosting.o .debug_ranges 0x00000020 0x18 ..\obj\startup_stm32f4xx.o .debug_ranges 0x00000038 0x18 ..\obj\main.o .debug_ranges 0x00000050 0x90 ..\obj\printf.o .debug_line 0x00000000 0x5b7 .debug_line 0x00000000 0xa7 ..\obj\semihosting.o .debug_line 0x000000a7 0x9d ..\obj\startup_stm32f4xx.o .debug_line 0x00000144 0xa8 ..\obj\main.o .debug_line 0x000001ec 0x34d ..\obj\printf.o .debug_line 0x00000539 0x7e ..\obj\sh_cmd.o .debug_str 0x00000000 0x754 .debug_str 0x00000000 0x14d ..\obj\semihosting.o 0x186 (size before relaxing) .debug_str 0x0000014d 0xac ..\obj\startup_stm32f4xx.o 0x143 (size before relaxing) .debug_str 0x000001f9 0x97 ..\obj\main.o 0x1b2 (size before relaxing) .debug_str 0x00000290 0x4c4 ..\obj\printf.o 0x656 (size before relaxing) .comment 0x00000000 0x70 .comment 0x00000000 0x70 ..\obj\semihosting.o 0x71 (size before relaxing) .comment 0x00000000 0x71 ..\obj\startup_stm32f4xx.o .comment 0x00000000 0x71 ..\obj\main.o .comment 0x00000000 0x71 ..\obj\printf.o .ARM.attributes 0x00000000 0x31 .ARM.attributes 0x00000000 0x33 ..\obj\semihosting.o .ARM.attributes 0x00000033 0x33 ..\obj\startup_stm32f4xx.o .ARM.attributes 0x00000066 0x33 ..\obj\main.o .ARM.attributes 0x00000099 0x33 ..\obj\printf.o .ARM.attributes 0x000000cc 0x21 ..\obj\sh_cmd.o .ARM.attributes 0x000000ed 0x1e c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/armv7e-m\libgcc.a(_arm_addsubdf3.o) .ARM.attributes 0x0000010b 0x2e c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libg_s.a(lib_a-memset.o) .debug_frame 0x00000000 0x370 .debug_frame 0x00000000 0x70 ..\obj\semihosting.o .debug_frame 0x00000070 0x48 ..\obj\startup_stm32f4xx.o .debug_frame 0x000000b8 0x50 ..\obj\main.o .debug_frame 0x00000108 0x248 ..\obj\printf.o .debug_frame 0x00000350 0x20 c:/users/kevin/desktop/stm32/gcc/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m\libg_s.a(lib_a-memset.o) (.ctors.*)) *(.ctors) /* .dtors */ *crtbegin.o(.dtors) *crtbegin?.o(.dtors) *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) *(SORT(.dtors.*)) *(.dtors) *(.rodata*) KEEP(*(.eh_fram e*)) } > rom .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } > rom __exidx_start = .; .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } > rom __exidx_end = .; __etext = .; /* _sidata is used in coide startup code */ _sidata = __etext; .data : AT (__etext) { __data_start__ = .; /* _sdata is used in coide startup code */ _sdata = __data_start__; *(vtable) *(.data*) . = ALIGN(4); /* preinit data */ PROVIDE_HIDDEN (__preinit_array_start = .); KEEP(*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); . = ALIGN(4); /* init data */ PROVIDE_HIDDEN (__init_array_start = .); KEEP(*(SORT(.init_array.*))) KEEP(*(.init_array)) PROVIDE_HIDDEN (__init_array_end = .); . = ALIGN(4); /* finit data */ PROVIDE_HIDDEN (__fini_array_start = .); KEEP(*(SORT(.fini_array.*))) KEEP(*(.fini_array)) PROVIDE_HIDDEN (__fini_array_end = .); KEEP(*(.jcr*)) . = ALIGN(4); /* All data end */ __data_end__ = .; /* _edata is used in coide startup code */ _edata = __data_end__; } > ram .bss : { . = ALIGN(4); __bss_start__ = .; _sbss = __bss_start__; *(.bss*) *(COMMON) . = ALIGN(4); __bss_end__ = .; _ebss = __bss_end__; } > ram .heap (COPY): { __end__ = .; _end = __end__; end = __end__; *(.heap*) __HeapLimit = .; } > ram /* .stack_dummy section doesn't contains any symbols. It is only * used for linker to calculate size of stack sections, and assign * values to stack symbols later */ .co_stack (NOLOAD): { . = ALIGN(8); *(.co_stack .co_stack.*) } > ram /* Set stack top to end of ram , and stack limit move down by * size of stack_dummy section */ __StackTop = ORIGIN(ram ) + LENGTH(ram ); __StackLimit = __StackTop - SIZEOF(.co_stack); PROVIDE(__stack = __StackTop); /* Check if data + heap + stack exceeds ram limit */ ASSERT(__StackLimit >= __HeapLimit, "region ram overflowed with stack") }