stm32内部有两种存储器一种是ram和一种FLASH闪存 。
(1)STM32F10xxx内置64K字节的静态SRAM。它可以以字节、半字(16位)或全字(32位)访问。SRAM的起始地址是0x2000 0000。
我们可以理解成内存 ram类型的存储器掉电和数据会丢失。即stm32f1xx的内存只有64k这么大。
(2)高性能的闪存模块有以下的主要特性:
● 高达512K字节闪存存储器结构:
闪存存储器有主存储块和信息块组成:
─ 主存储块容量:
小容量产品主存储块最大为4K×64位,每个存储块划分为32个1K字节的页(见表2)。
中容量产品主存储块最大为16K×64位,每个存储块划分为128个1K字节的页(见表3)。
大容量产品主存储块最大为64K×64位,每个存储块划分为256个2K字节的页(见表4)。
互联型产品主存储块最大为32K×64位,每个存储块划分为128个2K字节的页(见表5)。
─ 信息块容量: 互联型产品有2360×64位(见表5)。 其它产品有258×64位(见表230/754、表3表4)。
闪存存储器接口的特性为:
● 带预取缓冲器的读接口(每字为2×64位)
● 选择字节加载器
● 闪存编程/擦除操作
● 访问/写保护
我们可以理解flash就是norflash或者nandflash或者rom 掉电后数据仍然存在的
程序运行时在ram中运行 程序代码是和数据是放在flash中
而堆和粘是在内存ram中分配的。
下面为一个stm32的map文件 里面可以查看一下信息分配
******************************************************************************* *** RUNTIME MODEL ATTRIBUTES *** CppFlavor = * __SystemLibrary = DLib ******************************************************************************* *** PLACEMENT SUMMARY *** "A1": place at 0x08000000 { ro section .intvec }; "P1": place in [from 0x08000000 to 0x080fffff] { ro }; "P2": place in [from 0x20000000 to 0x20017fff] { rw, block CSTACK, block HEAP }; Section Kind Address Size Object ------- ---- ------- ---- ------ "A1": 0x130 .intvec ro code 0x08000000 0x130 startup_stm32f10x_hd.o [1] - 0x08000130 0x130 "P1": 0x107c .text ro code 0x08000130 0x2d0 usart.o [1] .text ro code 0x08000400 0x11c stm32f10x_rcc.o [1] .text ro code 0x0800051c 0x15c stm32f10x_gpio.o [1] .text ro code 0x08000678 0x1b4 stm32f10x_dma.o [1] .text ro code 0x0800082c 0x1e4 stm32f10x_usart.o [1] .text ro code 0x08000a10 0xf0 main.o [1] .text ro code 0x08000b00 0xe usart.o [1] .text ro code 0x08000b0e 0x2e copy_init3.o [4] .text ro code 0x08000b3c 0x84 misc.o [1] .text ro code 0x08000bc0 0x10 stm32f10x_iwdg.o [1] .text ro code 0x08000bd0 0xdc led.o [1] .text ro code 0x08000cac 0x100 key.o [1] .text ro code 0x08000dac 0x76 ABImemcpy.o [4] .text ro code 0x08000e22 0x22 zero_init3.o [4] .text ro code 0x08000e44 0x15c system_stm32f10x.o [1] .text ro code 0x08000fa0 0x34 stm32f10x_it.o [1] .text ro code 0x08000fd4 0x28 data_init.o [4] .iar.init_table const 0x08000ffc 0x24 - Linker created - .text ro code 0x08001020 0x16 cmain.o [4] .text ro code 0x08001036 0x4 low_level_init.o [3] .text ro code 0x0800103a 0x4 exit.o [3] .text ro code 0x08001040 0xa cexit.o [4] .text ro code 0x0800104c 0x14 exit.o [5] .text ro code 0x08001060 0x10 startup_stm32f10x_hd.o [1] .text ro code 0x08001070 0xc cstartup_M.o [4] .text ro code 0x0800107c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001080 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001084 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001088 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800108c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001090 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001094 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001098 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800109c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010a0 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010a4 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010a8 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010ac 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010b0 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010b4 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010b8 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010bc 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010c0 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010c4 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010c8 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010cc 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010d0 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010d4 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010d8 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010dc 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010e0 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010e4 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010e8 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010ec 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010f0 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010f4 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010f8 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x080010fc 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001100 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001104 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001108 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800110c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001110 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001114 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001118 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800111c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001120 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001124 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001128 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800112c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001130 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001134 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001138 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800113c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001140 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001144 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001148 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800114c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001150 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001154 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001158 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800115c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001160 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001164 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001168 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800116c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001170 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001174 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001178 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800117c 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001180 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001184 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x08001188 0x4 startup_stm32f10x_hd.o [1] .text ro code 0x0800118c 0x4 startup_stm32f10x_hd.o [1] .rodata const 0x08001190 0x0 zero_init3.o [4] .rodata const 0x08001190 0x0 copy_init3.o [4] Initializer bytes ro data 0x08001190 0x1c <for P2 s0> - 0x080011ac 0x107c "P2", part 1 of 3: 0x1c P2 s0 0x20000000 0x1c <Init block> .data inited 0x20000000 0x10 stm32f10x_rcc.o [1] .data inited 0x20000010 0x4 app.o [1] .data inited 0x20000014 0x4 stm32f10x_rcc.o [1] .data inited 0x20000018 0x1 usart.o [1] - 0x2000001c 0x1c "P2", part 2 of 3: 0xc4 .bss zero 0x2000001c 0x40 app.o [1] .bss zero 0x2000005c 0x40 usart.o [1] .bss zero 0x2000009c 0x40 usart.o [1] .bss zero 0x200000dc 0x1 app.o [1] .bss zero 0x200000dd 0x1 usart.o [1] .bss zero 0x200000de 0x1 usart.o [1] - 0x200000df 0xc3 "P2", part 3 of 3: 0x600 CSTACK 0x200000e0 0x600 <Block> CSTACK uninit 0x200000e0 0x600 <Block tail> - 0x200006e0 0x600 ******************************************************************************* *** INIT TABLE *** Address Size ------- ---- Zero (__iar_zero_init3) 1 destination range, total size 0xc3: 0x2000001c 0xc3 Copy (__iar_copy_init3) 1 source range, total size 0x1c (112% of destination): 0x08001190 0x1c 1 destination range, total size 0x19: 0x20000000 0x19 ******************************************************************************* *** MODULE SUMMARY *** Module ro code ro data rw data ------ ------- ------- ------- D:\Projects\EWARM\Debug\Obj: [1] app.o 4 69 key.o 256 led.o 220 main.o 240 misc.o 132 startup_stm32f10x_hd.o 596 stm32f10x_dma.o 436 stm32f10x_gpio.o 348 stm32f10x_it.o 52 stm32f10x_iwdg.o 16 stm32f10x_rcc.o 284 20 20 stm32f10x_usart.o 484 system_stm32f10x.o 348 usart.o 734 1 131 ------------------------------------------------- Total: 4 146 25 220 command line: [2] ------------------------------------------------- Total: dl7M_tlf.a: [3] exit.o 4 low_level_init.o 4 ------------------------------------------------- Total: 8 rt7M_tl.a: [4] ABImemcpy.o 118 cexit.o 10 cmain.o 22 copy_init3.o 46 cstartup_M.o 12 data_init.o 40 zero_init3.o 34 ------------------------------------------------- Total: 282 shb_l.a: [5] exit.o 20 ------------------------------------------------- Total: 20 Gaps 4 Linker created 39 1 536 ----------------------------------------------------- Grand Total: 4 460 64 1 756 ******************************************************************************* *** ENTRY LIST *** Entry Address Size Type Object ----- ------- ---- ---- ------ ?main 0x08001021 Code Gb cmain.o [4] ADC1_2_IRQHandler 0x080010e9 Code Wk startup_stm32f10x_hd.o [1] ADC3_IRQHandler 0x0800115d Code Wk startup_stm32f10x_hd.o [1] ADCPrescTable 0x20000014 0x4 Data Lc stm32f10x_rcc.o [1] APBAHBPrescTable 0x20000000 0x10 Data Lc stm32f10x_rcc.o [1] BusFault_Handler 0x08000fa7 0x2 Code Gb stm32f10x_it.o [1] CAN1_RX1_IRQHandler 0x080010f5 Code Wk startup_stm32f10x_hd.o [1] CAN1_SCE_IRQHandler 0x080010f9 Code Wk startup_stm32f10x_hd.o [1] CLK_Config 0x08000aa1 0x20 Code Gb main.o [1] CSTACK$$Base 0x200000e0 -- Gb - Linker created - CSTACK$$Limit 0x200006e0 -- Gb - Linker created - DMA1_Channel1_IRQHandler 0x080010cd Code Wk startup_stm32f10x_hd.o [1] DMA1_Channel2_IRQHandler 0x080010d1 Code Wk startup_stm32f10x_hd.o [1] DMA1_Channel3_IRQHandler 0x080010d5 Code Wk startup_stm32f10x_hd.o [1] DMA1_Channel4_IRQHandler 0x080010d9 Code Wk startup_stm32f10x_hd.o [1] DMA1_Channel5_IRQHandler 0x080010dd Code Wk startup_stm32f10x_hd.o [1] DMA1_Channel6_IRQHandler 0x080010e1 Code Wk startup_stm32f10x_hd.o [1] DMA1_Channel7_IRQHandler 0x080010e5 Code Wk startup_stm32f10x_hd.o [1] DMA1_Configuration 0x0800020f 0xc Code Gb usart.o [1] DMA1_RccConfiguration 0x08000191 0xc Code Lc usart.o [1] DMA1_UART1RXTXConfiguration 0x0800019d 0x72 Code Lc usart.o [1] DMA2_Channel1_IRQHandler 0x08001181 Code Wk startup_stm32f10x_hd.o [1] DMA2_Channel2_IRQHandler 0x08001185 Code Wk startup_stm32f10x_hd.o [1] DMA2_Channel3_IRQHandler 0x08001189 Code Wk startup_stm32f10x_hd.o [1] DMA2_Channel4_5_IRQHandler 0x0800118d Code Wk startup_stm32f10x_hd.o [1] DMA_ClearFlag 0x080007e3 0x10 Code Gb stm32f10x_dma.o [1] DMA_Cmd 0x080007c1 0x1c Code Gb stm32f10x_dma.o [1] DMA_DeInit 0x08000679 0x10a Code Gb stm32f10x_dma.o [1] DMA_GetCurrDataCounter 0x080007dd 0x6 Code Gb stm32f10x_dma.o [1] DMA_Init 0x08000783 0x3e Code Gb stm32f10x_dma.o [1] DMA_Rece_Buf 0x2000005c 0x40 Data Gb usart.o [1] DMA_Send_Buf 0x2000009c 0x40 Data Gb usart.o [1] DebugMon_Handler 0x08000fad 0x2 Code Gb stm32f10x_it.o [1] DevBaudRateNum 0x20000018 0x1 Data Gb usart.o [1] EXTI0_IRQHandler 0x080010b9 Code Wk startup_stm32f10x_hd.o [1] EXTI15_10_IRQHandler 0x08001141 Code Wk startup_stm32f10x_hd.o [1] EXTI1_IRQHandler 0x080010bd Code Wk startup_stm32f10x_hd.o [1] EXTI2_IRQHandler 0x080010c1 Code Wk startup_stm32f10x_hd.o [1] EXTI3_IRQHandler 0x080010c5 Code Wk startup_stm32f10x_hd.o [1] EXTI4_IRQHandler 0x080010c9 Code Wk startup_stm32f10x_hd.o [1] EXTI9_5_IRQHandler 0x080010fd Code Wk startup_stm32f10x_hd.o [1] FLASH_IRQHandler 0x080010b1 Code Wk startup_stm32f10x_hd.o [1] FSMC_IRQHandler 0x08001161 Code Wk startup_stm32f10x_hd.o [1] GPIO_Init 0x0800051d 0xc8 Code Gb stm32f10x_gpio.o [1] GPIO_PinRemapConfig 0x080005f1 0x7e Code Gb stm32f10x_gpio.o [1] GPIO_ResetBits 0x080005eb 0x6 Code Gb stm32f10x_gpio.o [1] GPIO_SetBits 0x080005e5 0x6 Code Gb stm32f10x_gpio.o [1] HardFault_Handler 0x08000fa3 0x2 Code Gb stm32f10x_it.o [1] I2C1_ER_IRQHandler 0x08001121 Code Wk startup_stm32f10x_hd.o [1] I2C1_EV_IRQHandler 0x0800111d Code Wk startup_stm32f10x_hd.o [1] I2C2_ER_IRQHandler 0x08001129 Code Wk startup_stm32f10x_hd.o [1] I2C2_EV_IRQHandler 0x08001125 Code Wk startup_stm32f10x_hd.o [1] IWDG_ReloadCounter 0x08000bc1 0xa Code Gb stm32f10x_iwdg.o [1] KEYGPIOConfiguration 0x08000cb9 0xd0 Code Lc key.o [1] KEYGPIO_Configuration 0x08000d89 0x8 Code Lc key.o [1] KEYRccConfiguration 0x08000cad 0xc Code Lc key.o [1] KEY_Init 0x08000d99 0xc Code Gb key.o [1] LedGPIOConfiguration 0x08000bdd 0x52 Code Lc led.o [1] LedGPIO_Configuration 0x08000c2f 0x8 Code Lc led.o [1] LedRccConfiguration 0x08000bd1 0xc Code Lc led.o [1] Led_Init 0x08000c9d 0x10 Code Gb led.o [1] Led_StartInit 0x08000c3f 0x4e Code Gb led.o [1] MemManage_Handler 0x08000fa5 0x2 Code Gb stm32f10x_it.o [1] NMI_Handler 0x08000fa1 0x2 Code Gb stm32f10x_it.o [1] NVIC_Configuration 0x08000a63 0x3c Code Gb main.o [1] NVIC_Init 0x08000b47 0x66 Code Gb misc.o [1] NVIC_PriorityGroupConfig 0x08000b3d 0xa Code Gb misc.o [1] NVIC_SetPriority 0x08000a11 0x22 Code Lc main.o [1] PVD_IRQHandler 0x080010a5 Code Wk startup_stm32f10x_hd.o [1] PendSV_Handler 0x08000faf 0x2 Code Gb stm32f10x_it.o [1] RCC_AHBPeriphClockCmd 0x080004c1 0x20 Code Gb stm32f10x_rcc.o [1] RCC_APB2PeriphClockCmd 0x080004e1 0x20 Code Gb stm32f10x_rcc.o [1] RCC_GetClocksFreq 0x08000401 0xc0 Code Gb stm32f10x_rcc.o [1] RCC_IRQHandler 0x080010b5 Code Wk startup_stm32f10x_hd.o [1] RTCAlarm_IRQHandler 0x08001145 Code Wk startup_stm32f10x_hd.o [1] RTC_IRQHandler 0x080010ad Code Wk startup_stm32f10x_hd.o [1] Rcc_Configuration 0x08000d91 0x8 Code Lc key.o [1] Rcc_Configuration 0x08000c37 0x8 Code Lc led.o [1] Rcc_Configuration 0x08000147 0x8 Code Lc usart.o [1] Refresh_Iwdg 0x08000ac1 0x8 Code Gb main.o [1] Region$$Table$$Base 0x08000ffc -- Gb - Linker created - Region$$Table$$Limit 0x08001020 -- Gb - Linker created - Reset_Handler 0x08001061 Code Wk startup_stm32f10x_hd.o [1] Rs232UartRccConfiguration 0x08000131 0x16 Code Lc usart.o [1] Rs232UsartConfiguration 0x0800021b 0xb0 Code Lc usart.o [1] Rs232UsartGPIOConfiguration 0x0800014f 0x3a Code Lc usart.o [1] SDIO_IRQHandler 0x08001165 Code Wk startup_stm32f10x_hd.o [1] SPI1_IRQHandler 0x0800112d Code Wk startup_stm32f10x_hd.o [1] SPI2_IRQHandler 0x08001131 Code Wk startup_stm32f10x_hd.o [1] SPI3_IRQHandler 0x0800116d Code Wk startup_stm32f10x_hd.o [1] SVC_Handler 0x08000fab 0x2 Code Gb stm32f10x_it.o [1] SetSysClock 0x08000a9f 0x2 Code Lc main.o [1] SetSysClock 0x08000e99 0x8 Code Lc system_stm32f10x.o [1] SetSysClockTo72 0x08000ea1 0xe0 Code Lc system_stm32f10x.o [1] SysTick_Config 0x08000a33 0x30 Code Lc main.o [1] SysTick_Handler 0x08000fb1 0x1c Code Gb stm32f10x_it.o [1] SystemInit 0x08000e45 0x54 Code Gb system_stm32f10x.o [1] TAMPER_IRQHandler 0x080010a9 Code Wk startup_stm32f10x_hd.o [1] TIM1_BRK_IRQHandler 0x08001101 Code Wk startup_stm32f10x_hd.o [1] TIM1_CC_IRQHandler 0x0800110d Code Wk startup_stm32f10x_hd.o [1] TIM1_TRG_COM_IRQHandler 0x08001109 Code Wk startup_stm32f10x_hd.o [1] TIM1_UP_IRQHandler 0x08001105 Code Wk startup_stm32f10x_hd.o [1] TIM2_IRQHandler 0x08001111 Code Wk startup_stm32f10x_hd.o [1] TIM3_IRQHandler 0x08001115 Code Wk startup_stm32f10x_hd.o [1] TIM4_IRQHandler 0x08001119 Code Wk startup_stm32f10x_hd.o [1] TIM5_IRQHandler 0x08001169 Code Wk startup_stm32f10x_hd.o [1] TIM6_IRQHandler 0x08001179 Code Wk startup_stm32f10x_hd.o [1] TIM7_IRQHandler 0x0800117d Code Wk startup_stm32f10x_hd.o [1] TIM8_BRK_IRQHandler 0x0800114d Code Wk startup_stm32f10x_hd.o [1] TIM8_CC_IRQHandler 0x08001159 Code Wk startup_stm32f10x_hd.o [1] TIM8_TRG_COM_IRQHandler 0x08001155 Code Wk startup_stm32f10x_hd.o [1] TIM8_UP_IRQHandler 0x08001151 Code Wk startup_stm32f10x_hd.o [1] UART4_IRQHandler 0x08001171 Code Wk startup_stm32f10x_hd.o [1] UART5_IRQHandler 0x08001175 Code Wk startup_stm32f10x_hd.o [1] USART1_IRQHandler 0x08000333 0x98 Code Gb usart.o [1] USART2_IRQHandler 0x08001139 Code Wk startup_stm32f10x_hd.o [1] USART3_IRQHandler 0x0800113d Code Wk startup_stm32f10x_hd.o [1] USART_ClearFlag 0x0800097f 0xc Code Gb stm32f10x_usart.o [1] USART_ClearITPendingBit 0x080009ef 0x22 Code Gb stm32f10x_usart.o [1] USART_Cmd 0x080008f1 0x1c Code Gb stm32f10x_usart.o [1] USART_DMACmd 0x0800095f 0x18 Code Gb stm32f10x_usart.o [1] USART_GetITStatus 0x0800098b 0x64 Code Gb stm32f10x_usart.o [1] USART_ITConfig 0x0800090d 0x52 Code Gb stm32f10x_usart.o [1] USART_Init 0x0800082d 0xbe Code Gb stm32f10x_usart.o [1] USART_ReceiveData 0x08000977 0x8 Code Gb stm32f10x_usart.o [1] USBWakeUp_IRQHandler 0x08001149 Code Wk startup_stm32f10x_hd.o [1] USB_HP_CAN1_TX_IRQHandler 0x080010ed Code Wk startup_stm32f10x_hd.o [1] USB_LP_CAN1_RX0_IRQHandler 0x080010f1 Code Wk startup_stm32f10x_hd.o [1] UsageFault_Handler 0x08000fa9 0x2 Code Gb stm32f10x_it.o [1] UsartGPIO_Configuration 0x08000189 0x8 Code Lc usart.o [1] WWDG_IRQHandler 0x080010a1 Code Wk startup_stm32f10x_hd.o [1] __aeabi_memcpy 0x08000dad Code Gb ABImemcpy.o [4] __aeabi_memcpy4 0x08000dcd Code Gb ABImemcpy.o [4] __aeabi_memcpy8 0x08000dcd Code Gb ABImemcpy.o [4] __cmain 0x08001021 Code Gb cmain.o [4] __exit 0x0800104d 0x14 Code Gb exit.o [5] __iar_copy_init3 0x08000b0f 0x2e Code Gb copy_init3.o [4] __iar_data_init3 0x08000fd5 0x28 Code Gb data_init.o [4] __iar_program_start 0x08001071 Code Gb cstartup_M.o [4] __iar_zero_init3 0x08000e23 0x22 Code Gb zero_init3.o [4] __low_level_init 0x08001037 0x4 Code Gb low_level_init.o [3] __vector_table 0x08000000 Data Gb startup_stm32f10x_hd.o [1] _call_main 0x0800102d Code Gb cmain.o [4] _exit 0x08001041 Code Gb cexit.o [4] _main 0x08001033 Code Gb cmain.o [4] buffer 0x2000001c 0x40 Data Gb app.o [1] exit 0x0800103b 0x4 Code Gb exit.o [3] main 0x08000ac9 0x1e Code Gb main.o [1] memcpy 0x08000b01 0xe Code Gb usart.o [1] resetkeydetecttimerCounter 0x20000010 0x4 Data Gb app.o [1] resetkeypressflag 0x200000dc 0x1 Data Gb app.o [1] uart1_dma_recv_data 0x080002e1 0x52 Code Gb usart.o [1] uart1_rece_flag 0x200000dd 0x1 Data Gb usart.o [1] uart1_rece_true_len 0x200000de 0x1 Data Gb usart.o [1] usart_Configuration 0x080002cb 0x16 Code Gb usart.o [1] [1] = D:\Projects\EWARM\Debug\Obj [2] = command line [3] = dl7M_tlf.a [4] = rt7M_tl.a [5] = shb_l.a 4 460 bytes of readonly code memory 64 bytes of readonly data memory 1 756 bytes of readwrite data memory Errors: none Warnings: none可以看出 程序入口地址 为flash地址0x08000000访问的
主要bss端 堆和栈则是在程序运行过程中 在内存中产生的。
拓展下面