From 58d5465a4241855d393a50887fbff711499761c2 Mon Sep 17 00:00:00 2001 From: xqq27 <834160466@qq.com> Date: Mon, 2 Dec 2024 21:57:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=85=E4=BD=BF=E7=94=A8C13=E7=9A=84led0?= =?UTF-8?q?=EF=BC=8C=E5=87=86=E5=A4=87=E4=B8=8AFreeRTOS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Code/.vscode/settings.json | 3 +- Code/app/src/app_led.c | 17 +- Code/app/src/main.c | 29 +- Code/middleware/internal/inc/mw_led.h | 33 -- Code/middleware/internal/src/mw_led.c | 95 +++--- Project/Output/TianyunV1.hex | 144 ++++----- Project/Output/TianyunV1.map | 429 +++++++++++++------------- 7 files changed, 351 insertions(+), 399 deletions(-) diff --git a/Code/.vscode/settings.json b/Code/.vscode/settings.json index 5ec1fa3..da86bed 100644 --- a/Code/.vscode/settings.json +++ b/Code/.vscode/settings.json @@ -30,7 +30,8 @@ "stm32f10x_tim.h": "c", "app_led.h": "c", "mw_printf.h": "c", - "stdint.h": "c" + "stdint.h": "c", + "misc.h": "c" }, "cmake.sourceDirectory": "E:/xqq/workspace/STM32F103RC-StdLibrary/Code/middleware/FreeRTOS/Kernel" } \ No newline at end of file diff --git a/Code/app/src/app_led.c b/Code/app/src/app_led.c index f2cee02..0942d91 100644 --- a/Code/app/src/app_led.c +++ b/Code/app/src/app_led.c @@ -1,3 +1,15 @@ +/************************************************************************************* + * @File Name: app_led.c + * @brief LED使用的app程序 + * @Version : 1.0 + * @Create Date : 2024-12-02 + * @Author : TianyunV1 email : 3026007337@qq.com + * + * @copyright Copyright (c) 2024 Tianyun Mountain + * + * modification history : + * Date: Version: Author: Description: + *************************************************************************************/ #include "app_led.h" #include "mw_led.h" #include "stdint.h" @@ -35,10 +47,7 @@ void app_led_marquee(void) switch(tmp_state) { case 0: - // mw_led_0_off(); - // mw_led_1_off(); mw_get_led_obj(Led0).off(); - mw_get_led_obj(Led1).off(); if(get_systick_ms() - tmp_tick > 500) { tmp_state = 1; @@ -47,7 +56,6 @@ void app_led_marquee(void) break; case 1: mw_get_led_obj(Led0).on(); - mw_get_led_obj(Led1).off(); if(get_systick_ms() - tmp_tick > 500) { tmp_state = 2; @@ -58,7 +66,6 @@ void app_led_marquee(void) case 2: mw_get_led_obj(Led0).off(); - mw_get_led_obj(Led1).on(); if(get_systick_ms() - tmp_tick > 500) { tmp_state = 1; diff --git a/Code/app/src/main.c b/Code/app/src/main.c index 8793b92..acb4eab 100644 --- a/Code/app/src/main.c +++ b/Code/app/src/main.c @@ -1,23 +1,48 @@ +/************************************************************************************* + * @File Name: main.c + * @brief + * @Version : 1.0 + * @Create Date : 2024-12-02 + * @Author : TianyunV1 email : 3026007337@qq.com + * + * @copyright Copyright (c) 2024 Tianyun Mountain + * + * modification history : + * Date: Version: Author: Description: + *************************************************************************************/ #include "misc.h" #include "bsp_gpio.h" #include "bsp_timer.h" #include "bsp_usart.h" - #include "mw_led.h" #include "app_led.h" +/************************************************************************************* + * @brief bsp init. + * + * @warning + * @note + *************************************************************************************/ void bsp_init(void) { // bsp_gpio_init(); bsp_timer_init(); bsp_usart_1_init(115200); } + +/************************************************************************************* + * @brief Main function. + * + * @return int + * @warning + * @note + *************************************************************************************/ int main(void) { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); - // SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); + bsp_init(); mw_led_drv_init(); diff --git a/Code/middleware/internal/inc/mw_led.h b/Code/middleware/internal/inc/mw_led.h index f9c6a54..499c952 100644 --- a/Code/middleware/internal/inc/mw_led.h +++ b/Code/middleware/internal/inc/mw_led.h @@ -6,12 +6,10 @@ typedef enum { Led0 = 0, - Led1, led_num }led_type_enum; - typedef struct { led_type_enum led_drv; @@ -24,35 +22,4 @@ mw_led_t mw_get_led_obj(led_type_enum e_led_type); void mw_led_drv_init(void); -// typedef struct -// { -// void * gpio_type; -// void * gpio_pin; -// int8_t (*pf_init)(void); -// int8_t (*pf_deinit)(void); -// int8_t (*pf_set_bits)(uint16_t set_val); -// uint16_t (*pf_get_bits)(void); - -// }gpio_interface_t; - -// typedef struct -// { -// void (*delay_init)(void); -// void (*delay_us)(uint32_t nus); -// void (*delay_ms)(uint32_t nms); -// }system_interface_t; - -// typedef enum { -// Led1, -// Led2, -// }led_type_t; - -// typedef struct -// { -// led_obj_t - -// } - - - #endif diff --git a/Code/middleware/internal/src/mw_led.c b/Code/middleware/internal/src/mw_led.c index ef965e9..e2becbf 100644 --- a/Code/middleware/internal/src/mw_led.c +++ b/Code/middleware/internal/src/mw_led.c @@ -1,41 +1,45 @@ +/************************************************************************************* + * @File Name: mw_led.c + * @brief: + * @Version : 1.0 + * @Create Date : 2024-12-02 + * @Author : TianyunV1 email : 3026007337@qq.com + * + * @copyright Copyright (c) 2024 Tianyun Mountain + * + * modification history : + * Date: Version: Author: Description: + *************************************************************************************/ #include "mw_led.h" #include /* led pin define */ -// LED0 PA8 +// LED0 PC13 #define IO_LED0_PORT (GPIOC) #define IO_LED0_RCC_PERIPH (RCC_APB2Periph_GPIOC) #define IO_LED0_PIN (GPIO_Pin_13) -// LED0 PD2 -#define IO_LED1_PORT (GPIOC) -#define IO_LED1_RCC_PERIPH (RCC_APB2Periph_GPIOC) -#define IO_LED1_PIN (GPIO_Pin_14) - -// led middleware instantiation +/* led middleware instantiation */ mw_led_t led_drv_buf[led_num]; -// { -// [Led0] = {mw_led0_init, mw_led0_on, mw_led0_off}, -// [Led1] = {mw_led1_init, mw_led1_on, mw_led1_off} -// }; - - +/************************************************************************************* + * @brief Get the obj of Led. + * + * @param[in/out] e_led_type + * @return mw_led_t + * @warning + * @note + *************************************************************************************/ mw_led_t mw_get_led_obj(led_type_enum e_led_type) { - if(e_led_type < led_num) - { - return led_drv_buf[e_led_type]; - } - else + if(e_led_type >= led_num) { + // invalid while(1); - -// return NULL; } + + return led_drv_buf[e_led_type]; } - - /* led 0 start */ void mw_led0_init(void) { @@ -51,46 +55,28 @@ void mw_led0_init(void) GPIO_SetBits(IO_LED0_PORT, IO_LED0_PIN); //PA.8 输出高 } +/************************************************************************************* + * Led0 start +**************************************************************************************/ void mw_led0_on(void) { GPIO_SetBits(IO_LED0_PORT, IO_LED0_PIN); } - void mw_led0_off(void) { GPIO_ResetBits(IO_LED0_PORT, IO_LED0_PIN); } - -/* led 0 end */ +/************************************************************************************* + * Led0 end +**************************************************************************************/ -/* led 1 start */ -void mw_led1_init(void) -{ - GPIO_InitTypeDef GPIO_InitStructure; - - RCC_APB2PeriphClockCmd(IO_LED1_RCC_PERIPH, ENABLE); //使能 PD 端口时钟 - - GPIO_InitStructure.GPIO_Pin = IO_LED1_PIN; //LED0-->PD.2 端口配置 - GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 - GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 口速度为 50MHz - GPIO_Init(IO_LED1_PORT, &GPIO_InitStructure); //初始化 GPIOD.2 - // 初始化:高 - GPIO_SetBits(IO_LED1_PORT, IO_LED1_PIN); //PD.2 输出高 -} - -void mw_led1_on(void) -{ - GPIO_SetBits(IO_LED1_PORT, IO_LED1_PIN); -} - -void mw_led1_off(void) -{ - GPIO_ResetBits(IO_LED1_PORT, IO_LED1_PIN); -} - -/* led 1 end */ - +/************************************************************************************* + * @brief Led driver installation. + * + * @warning + * @note + *************************************************************************************/ void mw_led_drv_init(void) { led_type_enum e_val; @@ -99,11 +85,6 @@ void mw_led_drv_init(void) led_drv_buf[Led0].init = mw_led0_init; led_drv_buf[Led0].on = mw_led0_on; led_drv_buf[Led0].off = mw_led0_off; - /* led1 installation */ - led_drv_buf[Led1].led_drv = Led1; - led_drv_buf[Led1].init = mw_led1_init; - led_drv_buf[Led1].on = mw_led1_on; - led_drv_buf[Led1].off = mw_led1_off; /* init all led peripherals */ for(e_val = Led0; e_val < led_num; e_val++) { diff --git a/Project/Output/TianyunV1.hex b/Project/Output/TianyunV1.hex index b9afed3..5345589 100644 --- a/Project/Output/TianyunV1.hex +++ b/Project/Output/TianyunV1.hex @@ -1,5 +1,5 @@ :020000040800F2 -:10000000E006002089010008910100089301000822 +:10000000D006002089010008910100089301000832 :100010009501000897010008990100080000000000 :100020000000000000000000000000009B0100082C :100030009D010008000000009F010008A1010008C8 @@ -17,21 +17,21 @@ :1000F00000F03AF80AA090E8000C82448344AAF188 :100100000107DA4501D100F02FF8AFF2090EBAE885 :100110000F0013F0010F18BFFB1A43F0010318473B -:10012000E80D0000080E0000103A24BF78C878C11E +:10012000200D0000400D0000103A24BF78C878C1AF :10013000FAD8520724BF30C830C144BF04680C60ED :10014000704700000023002400250026103A28BF35 :1001500078C1FBD8520728BF30C148BF0B60704739 :100160001FB51FBD10B510BD00F06EF81146FFF7AA -:10017000F7FF00F005FE00F0A0F803B4FFF7F2FF70 +:10017000F7FF00F0E1FD00F0A0F803B4FFF7F2FF95 :1001800003BC00F0ACFC0000094880470948004768 :10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737 :1001A000FEE7FEE704480549054A064B7047000094 -:1001B000B5060008ED000008E0000020E006002081 -:1001C000E0020020E0020020704700000FB4044964 +:1001B000B5060008ED000008D0000020D0060020A1 +:1001C000D0020020D0020020704700000FB4044984 :1001D00010B503AA029800F009F810BC5DF814FBF2 :1001E000100000207047704770477047074B70B58C :1001F0000D467B4400F011F80446284600F020F834 -:1002000010B14FF0FF3070BD204670BD5B0B000099 +:1002000010B14FF0FF3070BD204670BD130B0000E1 :1002100001694A1C02610878704700B58FB0CDE9CA :1002200001310021059105497944CDE903101146BA :10023000684600F02EF80FB000BD0000E5FFFFFF9C @@ -44,7 +44,7 @@ :1002A0008046304603E04146B847641C3046A847C4 :1002B0000028F8D12046BDE8F08110B50446AFF320 :1002C00000802046BDE81040FFF757BF0048704748 -:1002D0007C0000202DE9F041024600250026002088 +:1002D0006C0000202DE9F041024600250026002098 :1002E00000230024002791F803C00CF00F0591F8BB :1002F00003C00CF0100CBCF1000F03D091F802C049 :100300004CEA050591F800C0BCF1000F31D014682B @@ -113,7 +113,7 @@ :1006F0001F008860FFF76AFF4FF000600449086040 :1007000010BD0000001002400000FFF8FFFFF6FEE1 :1007100008ED00E010B50121880700F017F828B1B6 -:100720000121880700F003F800F0E6FB10BDCA4382 +:100720000121880700F003F800F082FB10BDCA43E6 :100730000282704721B1028842F00102028004E087 :1007400002884FF6FE731A400280704730B50246A9 :10075000002000230024158A05EA0103958905EA93 @@ -132,7 +132,7 @@ :100820000048014010B540F226610E4800F093F8F0 :1008300020B140F226610B4800F016F840F2255135 :10084000084800F088F858B140F22551054800F0FA -:100850000BF8044800F03AF9C4B2204600F038FB27 +:100850000BF8044800F03AF9C4B2204600F0D4FA8C :1008600010BD00000038014010B50022002340F602 :100870006A14A14200D100BF0A1201249440A3B21D :10088000DC43048010BD21B1828942F40052828190 @@ -175,74 +175,62 @@ :100AD000C0F308007047C1F30802828070470146E6 :100AE00000BF7047002001490870704700000020D7 :100AF00001480078704700000000002010B588B061 -:100B0000FFF7F6FF002804DDFFF7ECFF0020444963 -:100B100008704348007820B101282AD002287BD1F0 -:100B200052E00021684600F037F99DE80F001C46AE -:100B3000CDE90623CDE90401A0470121684600F074 -:100B40002BF99DE80F001C46CDE90623CDE90401F1 -:100B5000A04700F00FF933490968401AB0F5FA7F51 -:100B600006D901202E49087000F004F92D490860CB -:100B700052E00021684600F00FF99DE80F0014468E -:100B8000CDE90623CDE90401A0470121684600F024 -:100B900003F99DE80F001C46CDE90623CDE90401C9 -:100BA000A04700F0E7F81F490968401AB0F5FA7F3E -:100BB00009D902201A49087000F0DCF819490860C8 -:100BC00019A0FFF703FB27E00021684600F0E4F8D6 -:100BD0009DE80F001C46CDE90623CDE90401A0479E -:100BE0000121684600F0D8F89DE80F001446CDE9D1 -:100BF0000623CDE90401A04700F0BCF809490968C3 -:100C0000401AB0F5FA7F06D901200549087000F0B6 -:100C1000B1F80449086000BF00BF08B010BD000073 -:100C200001000020040000203132330A00000000DF -:100C300010B500F034F84FF4E13000F035F810BD95 -:100C40001FB501210846FFF717FC4FF47A70ADF885 -:100C500008004720ADF804000020ADF80A00ADF808 -:100C6000060001A94FF08040FFF78AFD01221146DE -:100C70009007FFF77CFD1C208DF8000000208DF808 -:100C8000010003208DF8020001208DF80300684662 -:100C9000FFF7B0FB01218807FFF74CFD1FBD10B522 -:100CA000FFF7CEFF10BD000010B586B0044601214D -:100CB00044F20400FFF700FC2348FFF7F1FD4FF476 -:100CC0000070ADF8140003208DF8160018208DF880 -:100CD000170005A91D48FFF7FDFA4FF48060ADF835 -:100CE000140004208DF8170005A91848FFF7F2FA40 -:100CF00001940020ADF80800ADF80A00ADF80C0032 -:100D0000ADF810000C20ADF80E0001A90E48FFF759 -:100D100071FE25208DF8000003208DF801008DF86C -:100D2000020001208DF803006846FFF763FB0122F3 -:100D300040F225510448FFF738FE01210248FFF731 -:100D4000A2FD06B010BD00000038014000080140BF -:100D500070B504460D4600BF40210548FFF7EEFD83 -:100D60000028F9D0E1B20248FFF7B5FE204670BD79 -:100D70000038014001480068704700000C00002066 -:100D80004FF4A060FFF76EFBFFF752FF00F072F820 -:100D900001E0FFF7B3FEFCE730B5022906DA044AAA -:100DA00002EB01153CCD80E83C0030BD00BFFEE702 -:100DB0002800002008B501211020FFF77DFB4FF42B -:100DC0000050ADF8000010208DF8030003208DF8CE -:100DD000020069460448FFF77DFA4FF400510248CB -:100DE000FFF705FB08BD00000010014010B54FF4EF -:100DF00000510248FFF7F9FA10BD00000010014051 -:100E000010B54FF400510248FFF7F1FA10BD000091 -:100E10000010014008B501211020FFF74DFB4FF4F1 -:100E20008040ADF8000010208DF8030003208DF8FD -:100E3000020069460448FFF74DFA4FF4804102482A -:100E4000FFF7D5FA08BD00000010014010B54FF4BF -:100E500080410248FFF7C9FA10BD000000100140B0 -:100E600010B54FF480410248FFF7C1FA10BD0000F1 -:100E70000010014010B500200E4908700E4848606F -:100E80000E4888600E48C860012008740D49094862 -:100E900041610D4981610D49C161002406E00549A8 -:100EA00001EB041148688047601CC4B2022CF6DBD9 -:100EB00010BD000028000020B50D0008010E00083C -:100EC000ED0D0008150E0008610E00084D0E00081B -:100ED0000749084A1288885406490988491C322261 -:100EE000B1FBF2F302FB1311024A118070470000BC -:100EF000480000200800002002480068401C01490A -:100F0000086070470C000020280F00080000002037 -:100F10002800000028010008500F000828000020C9 -:100F2000B8060000440100080000000000000000B6 -:100F300000000000000000000000000000000000B1 -:100F4000010203040102030406070809020406085B +:100B0000FFF7F6FF002804DDFFF7ECFF0020324975 +:100B100008703148007820B101281ED0022857D132 +:100B20003AE00021684600F013F99DE80F001C46EA +:100B3000CDE90623CDE90401A04700F0F7F82749E5 +:100B40000968401AB0F5FA7F06D9012022490870D9 +:100B500000F0ECF8214908603AE00021684600F016 +:100B6000F7F89DE80F001446CDE90623CDE904010E +:100B7000A04700F0DBF819490968401AB0F5FA7F80 +:100B800009D902201449087000F0D0F81349086010 +:100B900013A0FFF71BFB1BE00021684600F0D8F80C +:100BA0009DE80F001C46CDE90623CDE90401A047CE +:100BB00000F0BCF809490968401AB0F5FA7F06D977 +:100BC00001200549087000F0B1F80449086000BF31 +:100BD00000BF08B010BD000001000020040000208C +:100BE0003132330A0000000010B500F034F84FF441 +:100BF000E13000F035F810BD1FB501210846FFF7C0 +:100C00003BFC4FF47A70ADF808004720ADF80400C3 +:100C10000020ADF80A00ADF8060001A94FF08040B1 +:100C2000FFF7AEFD012211469007FFF7A0FD1C2043 +:100C30008DF8000000208DF8010003208DF80200DF +:100C400001208DF803006846FFF7D4FB01218807D7 +:100C5000FFF770FD1FBD10B5FFF7CEFF10BD000000 +:100C600010B586B00446012144F20400FFF724FCCD +:100C70002348FFF715FE4FF40070ADF81400032071 +:100C80008DF8160018208DF8170005A91D48FFF7EC +:100C900021FB4FF48060ADF8140004208DF817009C +:100CA00005A91848FFF716FB01940020ADF80800CD +:100CB000ADF80A00ADF80C00ADF810000C20ADF84E +:100CC0000E0001A90E48FFF795FE25208DF80000C3 +:100CD00003208DF801008DF8020001208DF803003B +:100CE0006846FFF787FB012240F225510448FFF7D1 +:100CF0005CFE01210248FFF7C6FD06B010BD0000F2 +:100D0000003801400008014070B504460D4600BFA0 +:100D100040210548FFF712FE0028F9D0E1B2024851 +:100D2000FFF7D9FE204670BD003801400148006839 +:100D3000704700000C0000204FF4A060FFF792FB0A +:100D4000FFF752FF00F042F801E0FFF7D7FEFCE7A3 +:100D500030B5012901DB00BFFEE7034A02EB0115B4 +:100D60003CCD80E83C0030BD2800002008B50121C2 +:100D70001020FFF7A1FB4FF40050ADF80000102049 +:100D80008DF8030003208DF8020069460448FFF740 +:100D9000A1FA4FF400510248FFF729FB08BD0000FB +:100DA0000010014010B54FF400510248FFF71DFB41 +:100DB00010BD00000010014010B54FF40051024872 +:100DC000FFF715FB10BD00000010014010B500201A +:100DD0000949087009484860094888600948C8609E +:100DE000002406E0044901EB041148688047601CB8 +:100DF000C4B2012CF6DB10BD280000206D0D0008E8 +:100E0000B90D0008A50D00080749084A1288885442 +:100E100006490988491C3222B1FBF2F302FB131187 +:100E2000024A1180704700003800002008000020AE +:100E300002480068401C0149086070470C0000200F +:100E4000600E0008000000202800000028010008B3 +:100E5000880E000828000020A806000044010008B1 +:100E60000000000000000000000000000000000082 +:100E7000000000000000000001020304010203045E +:080E8000060708090204060838 :04000005080000ED02 :00000001FF diff --git a/Project/Output/TianyunV1.map b/Project/Output/TianyunV1.map index 0175c58..73e343f 100644 --- a/Project/Output/TianyunV1.map +++ b/Project/Output/TianyunV1.map @@ -25,18 +25,10 @@ Section Cross References mw_led.o(i.mw_led0_init) refers to stm32f10x_gpio.o(i.GPIO_SetBits) for GPIO_SetBits mw_led.o(i.mw_led0_off) refers to stm32f10x_gpio.o(i.GPIO_ResetBits) for GPIO_ResetBits mw_led.o(i.mw_led0_on) refers to stm32f10x_gpio.o(i.GPIO_SetBits) for GPIO_SetBits - mw_led.o(i.mw_led1_init) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd) for RCC_APB2PeriphClockCmd - mw_led.o(i.mw_led1_init) refers to stm32f10x_gpio.o(i.GPIO_Init) for GPIO_Init - mw_led.o(i.mw_led1_init) refers to stm32f10x_gpio.o(i.GPIO_SetBits) for GPIO_SetBits - mw_led.o(i.mw_led1_off) refers to stm32f10x_gpio.o(i.GPIO_ResetBits) for GPIO_ResetBits - mw_led.o(i.mw_led1_on) refers to stm32f10x_gpio.o(i.GPIO_SetBits) for GPIO_SetBits mw_led.o(i.mw_led_drv_init) refers to mw_led.o(.bss) for led_drv_buf mw_led.o(i.mw_led_drv_init) refers to mw_led.o(i.mw_led0_init) for mw_led0_init mw_led.o(i.mw_led_drv_init) refers to mw_led.o(i.mw_led0_on) for mw_led0_on mw_led.o(i.mw_led_drv_init) refers to mw_led.o(i.mw_led0_off) for mw_led0_off - mw_led.o(i.mw_led_drv_init) refers to mw_led.o(i.mw_led1_init) for mw_led1_init - mw_led.o(i.mw_led_drv_init) refers to mw_led.o(i.mw_led1_on) for mw_led1_on - mw_led.o(i.mw_led_drv_init) refers to mw_led.o(i.mw_led1_off) for mw_led1_off mw_printf.o(i.mw_printf_insert_data) refers to mw_printf.o(.bss) for mw_printf_buf mw_printf.o(i.mw_printf_insert_data) refers to mw_printf.o(.data) for mw_printf_cache_head mw_soft_timer.o(i.get_systick_ms) refers to mw_soft_timer.o(.data) for systick_ms @@ -723,58 +715,58 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE - ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE + ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE ../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi_2.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE - ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi_2.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE + ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE - ../clib/stdio.c 0x00000000 Number 0 ferror.o ABSOLUTE ../clib/stdio.c 0x00000000 Number 0 ferror_locked.o ABSOLUTE + ../clib/stdio.c 0x00000000 Number 0 ferror.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE ../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE ..\Code\app\src\app_led.c 0x00000000 Number 0 app_led.o ABSOLUTE @@ -909,24 +901,21 @@ Image Symbol Table i.app_led_get_change_style_value 0x08000af0 Section 0 app_led.o(i.app_led_get_change_style_value) app_led_get_change_style_value 0x08000af1 Thumb Code 6 app_led.o(i.app_led_get_change_style_value) i.app_led_marquee 0x08000afc Section 0 app_led.o(i.app_led_marquee) - i.bsp_init 0x08000c30 Section 0 main.o(i.bsp_init) - i.bsp_timer_2_init 0x08000c40 Section 0 bsp_timer.o(i.bsp_timer_2_init) - bsp_timer_2_init 0x08000c41 Thumb Code 94 bsp_timer.o(i.bsp_timer_2_init) - i.bsp_timer_init 0x08000c9e Section 0 bsp_timer.o(i.bsp_timer_init) - i.bsp_usart_1_init 0x08000ca8 Section 0 bsp_usart.o(i.bsp_usart_1_init) - i.fputc 0x08000d50 Section 0 bsp_usart.o(i.fputc) - i.get_systick_ms 0x08000d74 Section 0 mw_soft_timer.o(i.get_systick_ms) - i.main 0x08000d80 Section 0 main.o(i.main) - i.mw_get_led_obj 0x08000d98 Section 0 mw_led.o(i.mw_get_led_obj) - i.mw_led0_init 0x08000db4 Section 0 mw_led.o(i.mw_led0_init) - i.mw_led0_off 0x08000dec Section 0 mw_led.o(i.mw_led0_off) - i.mw_led0_on 0x08000e00 Section 0 mw_led.o(i.mw_led0_on) - i.mw_led1_init 0x08000e14 Section 0 mw_led.o(i.mw_led1_init) - i.mw_led1_off 0x08000e4c Section 0 mw_led.o(i.mw_led1_off) - i.mw_led1_on 0x08000e60 Section 0 mw_led.o(i.mw_led1_on) - i.mw_led_drv_init 0x08000e74 Section 0 mw_led.o(i.mw_led_drv_init) - i.mw_printf_insert_data 0x08000ed0 Section 0 mw_printf.o(i.mw_printf_insert_data) - i.mw_soft_timer_user_systick_update 0x08000ef8 Section 0 mw_soft_timer.o(i.mw_soft_timer_user_systick_update) + i.bsp_init 0x08000be8 Section 0 main.o(i.bsp_init) + i.bsp_timer_2_init 0x08000bf8 Section 0 bsp_timer.o(i.bsp_timer_2_init) + bsp_timer_2_init 0x08000bf9 Thumb Code 94 bsp_timer.o(i.bsp_timer_2_init) + i.bsp_timer_init 0x08000c56 Section 0 bsp_timer.o(i.bsp_timer_init) + i.bsp_usart_1_init 0x08000c60 Section 0 bsp_usart.o(i.bsp_usart_1_init) + i.fputc 0x08000d08 Section 0 bsp_usart.o(i.fputc) + i.get_systick_ms 0x08000d2c Section 0 mw_soft_timer.o(i.get_systick_ms) + i.main 0x08000d38 Section 0 main.o(i.main) + i.mw_get_led_obj 0x08000d50 Section 0 mw_led.o(i.mw_get_led_obj) + i.mw_led0_init 0x08000d6c Section 0 mw_led.o(i.mw_led0_init) + i.mw_led0_off 0x08000da4 Section 0 mw_led.o(i.mw_led0_off) + i.mw_led0_on 0x08000db8 Section 0 mw_led.o(i.mw_led0_on) + i.mw_led_drv_init 0x08000dcc Section 0 mw_led.o(i.mw_led_drv_init) + i.mw_printf_insert_data 0x08000e08 Section 0 mw_printf.o(i.mw_printf_insert_data) + i.mw_soft_timer_user_systick_update 0x08000e30 Section 0 mw_soft_timer.o(i.mw_soft_timer_user_systick_update) .data 0x20000000 Section 8 app_led.o(.data) led_style_change_flag 0x20000000 Data 1 app_led.o(.data) tmp_state 0x20000001 Data 1 app_led.o(.data) @@ -939,14 +928,14 @@ Image Symbol Table .data 0x20000014 Section 20 stm32f10x_rcc.o(.data) APBAHBPrescTable 0x20000014 Data 16 stm32f10x_rcc.o(.data) ADCPrescTable 0x20000024 Data 4 stm32f10x_rcc.o(.data) - .bss 0x20000028 Section 32 mw_led.o(.bss) - .bss 0x20000048 Section 50 mw_printf.o(.bss) - .bss 0x2000007c Section 96 libspace.o(.bss) - HEAP 0x200000e0 Section 512 startup_stm32f10x_md.o(HEAP) - Heap_Mem 0x200000e0 Data 512 startup_stm32f10x_md.o(HEAP) - STACK 0x200002e0 Section 1024 startup_stm32f10x_md.o(STACK) - Stack_Mem 0x200002e0 Data 1024 startup_stm32f10x_md.o(STACK) - __initial_sp 0x200006e0 Data 0 startup_stm32f10x_md.o(STACK) + .bss 0x20000028 Section 16 mw_led.o(.bss) + .bss 0x20000038 Section 50 mw_printf.o(.bss) + .bss 0x2000006c Section 96 libspace.o(.bss) + HEAP 0x200000d0 Section 512 startup_stm32f10x_md.o(HEAP) + Heap_Mem 0x200000d0 Data 512 startup_stm32f10x_md.o(HEAP) + STACK 0x200002d0 Section 1024 startup_stm32f10x_md.o(STACK) + Stack_Mem 0x200002d0 Data 1024 startup_stm32f10x_md.o(STACK) + __initial_sp 0x200006d0 Data 0 startup_stm32f10x_md.o(STACK) Global Symbols @@ -1134,30 +1123,27 @@ Image Symbol Table USART_SendData 0x08000ad7 Thumb Code 8 stm32f10x_usart.o(i.USART_SendData) _sys_exit 0x08000adf Thumb Code 6 bsp_usart.o(i._sys_exit) app_led_change_style_disable 0x08000ae5 Thumb Code 8 app_led.o(i.app_led_change_style_disable) - app_led_marquee 0x08000afd Thumb Code 290 app_led.o(i.app_led_marquee) - bsp_init 0x08000c31 Thumb Code 16 main.o(i.bsp_init) - bsp_timer_init 0x08000c9f Thumb Code 8 bsp_timer.o(i.bsp_timer_init) - bsp_usart_1_init 0x08000ca9 Thumb Code 158 bsp_usart.o(i.bsp_usart_1_init) - fputc 0x08000d51 Thumb Code 32 bsp_usart.o(i.fputc) - get_systick_ms 0x08000d75 Thumb Code 6 mw_soft_timer.o(i.get_systick_ms) - main 0x08000d81 Thumb Code 24 main.o(i.main) - mw_get_led_obj 0x08000d99 Thumb Code 24 mw_led.o(i.mw_get_led_obj) - mw_led0_init 0x08000db5 Thumb Code 50 mw_led.o(i.mw_led0_init) - mw_led0_off 0x08000ded Thumb Code 14 mw_led.o(i.mw_led0_off) - mw_led0_on 0x08000e01 Thumb Code 14 mw_led.o(i.mw_led0_on) - mw_led1_init 0x08000e15 Thumb Code 50 mw_led.o(i.mw_led1_init) - mw_led1_off 0x08000e4d Thumb Code 14 mw_led.o(i.mw_led1_off) - mw_led1_on 0x08000e61 Thumb Code 14 mw_led.o(i.mw_led1_on) - mw_led_drv_init 0x08000e75 Thumb Code 62 mw_led.o(i.mw_led_drv_init) - mw_printf_insert_data 0x08000ed1 Thumb Code 30 mw_printf.o(i.mw_printf_insert_data) - mw_soft_timer_user_systick_update 0x08000ef9 Thumb Code 12 mw_soft_timer.o(i.mw_soft_timer_user_systick_update) - Region$$Table$$Base 0x08000f08 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08000f28 Number 0 anon$$obj.o(Region$$Table) + app_led_marquee 0x08000afd Thumb Code 218 app_led.o(i.app_led_marquee) + bsp_init 0x08000be9 Thumb Code 16 main.o(i.bsp_init) + bsp_timer_init 0x08000c57 Thumb Code 8 bsp_timer.o(i.bsp_timer_init) + bsp_usart_1_init 0x08000c61 Thumb Code 158 bsp_usart.o(i.bsp_usart_1_init) + fputc 0x08000d09 Thumb Code 32 bsp_usart.o(i.fputc) + get_systick_ms 0x08000d2d Thumb Code 6 mw_soft_timer.o(i.get_systick_ms) + main 0x08000d39 Thumb Code 24 main.o(i.main) + mw_get_led_obj 0x08000d51 Thumb Code 24 mw_led.o(i.mw_get_led_obj) + mw_led0_init 0x08000d6d Thumb Code 50 mw_led.o(i.mw_led0_init) + mw_led0_off 0x08000da5 Thumb Code 14 mw_led.o(i.mw_led0_off) + mw_led0_on 0x08000db9 Thumb Code 14 mw_led.o(i.mw_led0_on) + mw_led_drv_init 0x08000dcd Thumb Code 44 mw_led.o(i.mw_led_drv_init) + mw_printf_insert_data 0x08000e09 Thumb Code 30 mw_printf.o(i.mw_printf_insert_data) + mw_soft_timer_user_systick_update 0x08000e31 Thumb Code 12 mw_soft_timer.o(i.mw_soft_timer_user_systick_update) + Region$$Table$$Base 0x08000e40 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08000e60 Number 0 anon$$obj.o(Region$$Table) __stdout 0x20000010 Data 4 bsp_usart.o(.data) - led_drv_buf 0x20000028 Data 32 mw_led.o(.bss) - mw_printf_buf 0x20000048 Data 50 mw_printf.o(.bss) - __libspace_start 0x2000007c Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x200000dc Data 0 libspace.o(.bss) + led_drv_buf 0x20000028 Data 16 mw_led.o(.bss) + mw_printf_buf 0x20000038 Data 50 mw_printf.o(.bss) + __libspace_start 0x2000006c Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x200000cc Data 0 libspace.o(.bss) @@ -1167,147 +1153,144 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000f50, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000e88, Max: 0x00010000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000f28, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000e60, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x08000000 0x08000000 0x000000ec Data RO 441 RESET startup_stm32f10x_md.o - 0x080000ec 0x080000ec 0x00000008 Code RO 3480 * !!!main c_w.l(__main.o) - 0x080000f4 0x080000f4 0x00000034 Code RO 3647 !!!scatter c_w.l(__scatter.o) - 0x08000128 0x08000128 0x0000001a Code RO 3649 !!handler_copy c_w.l(__scatter_copy.o) + 0x08000000 0x08000000 0x000000ec Data RO 423 RESET startup_stm32f10x_md.o + 0x080000ec 0x080000ec 0x00000008 Code RO 3462 * !!!main c_w.l(__main.o) + 0x080000f4 0x080000f4 0x00000034 Code RO 3629 !!!scatter c_w.l(__scatter.o) + 0x08000128 0x08000128 0x0000001a Code RO 3631 !!handler_copy c_w.l(__scatter_copy.o) 0x08000142 0x08000142 0x00000002 PAD - 0x08000144 0x08000144 0x0000001c Code RO 3651 !!handler_zi c_w.l(__scatter_zi.o) - 0x08000160 0x08000160 0x00000002 Code RO 3519 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x08000162 0x08000162 0x00000000 Code RO 3526 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3528 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3531 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3533 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3535 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3538 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3540 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3542 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3544 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3546 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3548 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3550 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3552 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3554 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3556 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3558 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3562 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3564 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3566 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000000 Code RO 3568 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x08000162 0x08000162 0x00000002 Code RO 3569 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) - 0x08000164 0x08000164 0x00000002 Code RO 3587 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x08000166 0x08000166 0x00000000 Code RO 3597 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 3599 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 3601 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 3604 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 3607 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 3609 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000000 Code RO 3612 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) - 0x08000166 0x08000166 0x00000002 Code RO 3613 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) - 0x08000168 0x08000168 0x00000000 Code RO 3484 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x08000168 0x08000168 0x00000000 Code RO 3488 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x08000168 0x08000168 0x00000006 Code RO 3500 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x0800016e 0x0800016e 0x00000000 Code RO 3490 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x0800016e 0x0800016e 0x00000004 Code RO 3491 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x08000172 0x08000172 0x00000000 Code RO 3493 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x08000172 0x08000172 0x00000008 Code RO 3494 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x0800017a 0x0800017a 0x00000002 Code RO 3523 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x0800017c 0x0800017c 0x00000000 Code RO 3571 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x0800017c 0x0800017c 0x00000004 Code RO 3572 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x08000180 0x08000180 0x00000006 Code RO 3573 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000144 0x08000144 0x0000001c Code RO 3633 !!handler_zi c_w.l(__scatter_zi.o) + 0x08000160 0x08000160 0x00000002 Code RO 3501 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x08000162 0x08000162 0x00000000 Code RO 3508 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3510 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3513 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3515 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3517 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3520 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3522 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3524 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3526 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3528 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3530 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3532 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3534 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3536 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3538 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3540 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3544 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3546 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3548 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000000 Code RO 3550 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000162 0x08000162 0x00000002 Code RO 3551 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o) + 0x08000164 0x08000164 0x00000002 Code RO 3569 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000166 0x08000166 0x00000000 Code RO 3579 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 3581 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 3583 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 3586 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 3589 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 3591 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000000 Code RO 3594 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o) + 0x08000166 0x08000166 0x00000002 Code RO 3595 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o) + 0x08000168 0x08000168 0x00000000 Code RO 3466 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000168 0x08000168 0x00000000 Code RO 3470 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000168 0x08000168 0x00000006 Code RO 3482 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x0800016e 0x0800016e 0x00000000 Code RO 3472 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x0800016e 0x0800016e 0x00000004 Code RO 3473 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000000 Code RO 3475 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000172 0x08000172 0x00000008 Code RO 3476 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800017a 0x0800017a 0x00000002 Code RO 3505 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800017c 0x0800017c 0x00000000 Code RO 3553 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800017c 0x0800017c 0x00000004 Code RO 3554 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000180 0x08000180 0x00000006 Code RO 3555 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000186 0x08000186 0x00000002 PAD - 0x08000188 0x08000188 0x00000040 Code RO 442 .text startup_stm32f10x_md.o - 0x080001c8 0x080001c8 0x00000002 Code RO 3472 .text c_w.l(use_no_semi_2.o) + 0x08000188 0x08000188 0x00000040 Code RO 424 .text startup_stm32f10x_md.o + 0x080001c8 0x080001c8 0x00000002 Code RO 3454 .text c_w.l(use_no_semi_2.o) 0x080001ca 0x080001ca 0x00000002 PAD - 0x080001cc 0x080001cc 0x00000018 Code RO 3476 .text c_w.l(noretval__2printf.o) - 0x080001e4 0x080001e4 0x00000006 Code RO 3478 .text c_w.l(heapauxi.o) - 0x080001ea 0x080001ea 0x00000002 Code RO 3482 .text c_w.l(use_no_semi.o) - 0x080001ec 0x080001ec 0x00000024 Code RO 3485 .text c_w.l(_printf_char_file.o) - 0x08000210 0x08000210 0x00000030 Code RO 3502 .text c_w.l(_printf_char_common.o) - 0x08000240 0x08000240 0x00000008 Code RO 3504 .text c_w.l(ferror.o) - 0x08000248 0x08000248 0x0000004a Code RO 3508 .text c_w.l(sys_stackheap_outer.o) - 0x08000292 0x08000292 0x00000028 Code RO 3510 .text c_w.l(__printf_nopercent.o) - 0x080002ba 0x080002ba 0x00000012 Code RO 3512 .text c_w.l(exit.o) - 0x080002cc 0x080002cc 0x00000008 Code RO 3520 .text c_w.l(libspace.o) - 0x080002d4 0x080002d4 0x00000116 Code RO 1621 i.GPIO_Init stm32f10x_gpio.o - 0x080003ea 0x080003ea 0x00000004 Code RO 1628 i.GPIO_ResetBits stm32f10x_gpio.o - 0x080003ee 0x080003ee 0x00000004 Code RO 1629 i.GPIO_SetBits stm32f10x_gpio.o + 0x080001cc 0x080001cc 0x00000018 Code RO 3458 .text c_w.l(noretval__2printf.o) + 0x080001e4 0x080001e4 0x00000006 Code RO 3460 .text c_w.l(heapauxi.o) + 0x080001ea 0x080001ea 0x00000002 Code RO 3464 .text c_w.l(use_no_semi.o) + 0x080001ec 0x080001ec 0x00000024 Code RO 3467 .text c_w.l(_printf_char_file.o) + 0x08000210 0x08000210 0x00000030 Code RO 3484 .text c_w.l(_printf_char_common.o) + 0x08000240 0x08000240 0x00000008 Code RO 3486 .text c_w.l(ferror.o) + 0x08000248 0x08000248 0x0000004a Code RO 3490 .text c_w.l(sys_stackheap_outer.o) + 0x08000292 0x08000292 0x00000028 Code RO 3492 .text c_w.l(__printf_nopercent.o) + 0x080002ba 0x080002ba 0x00000012 Code RO 3494 .text c_w.l(exit.o) + 0x080002cc 0x080002cc 0x00000008 Code RO 3502 .text c_w.l(libspace.o) + 0x080002d4 0x080002d4 0x00000116 Code RO 1603 i.GPIO_Init stm32f10x_gpio.o + 0x080003ea 0x080003ea 0x00000004 Code RO 1610 i.GPIO_ResetBits stm32f10x_gpio.o + 0x080003ee 0x080003ee 0x00000004 Code RO 1611 i.GPIO_SetBits stm32f10x_gpio.o 0x080003f2 0x080003f2 0x00000002 PAD - 0x080003f4 0x080003f4 0x00000070 Code RO 446 i.NVIC_Init misc.o - 0x08000464 0x08000464 0x00000014 Code RO 447 i.NVIC_PriorityGroupConfig misc.o - 0x08000478 0x08000478 0x00000020 Code RO 2040 i.RCC_APB1PeriphClockCmd stm32f10x_rcc.o - 0x08000498 0x08000498 0x00000020 Code RO 2041 i.RCC_APB1PeriphResetCmd stm32f10x_rcc.o - 0x080004b8 0x080004b8 0x00000020 Code RO 2042 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o - 0x080004d8 0x080004d8 0x00000020 Code RO 2043 i.RCC_APB2PeriphResetCmd stm32f10x_rcc.o - 0x080004f8 0x080004f8 0x000000d4 Code RO 2050 i.RCC_GetClocksFreq stm32f10x_rcc.o - 0x080005cc 0x080005cc 0x00000008 Code RO 405 i.SetSysClock system_stm32f10x.o - 0x080005d4 0x080005d4 0x000000e0 Code RO 406 i.SetSysClockTo72 system_stm32f10x.o - 0x080006b4 0x080006b4 0x00000060 Code RO 408 i.SystemInit system_stm32f10x.o - 0x08000714 0x08000714 0x0000001a Code RO 3452 i.TIM2_IRQHandler interrupt_handler.o - 0x0800072e 0x0800072e 0x00000006 Code RO 2678 i.TIM_ClearITPendingBit stm32f10x_tim.o - 0x08000734 0x08000734 0x00000018 Code RO 2683 i.TIM_Cmd stm32f10x_tim.o - 0x0800074c 0x0800074c 0x00000022 Code RO 2704 i.TIM_GetITStatus stm32f10x_tim.o - 0x0800076e 0x0800076e 0x00000012 Code RO 2708 i.TIM_ITConfig stm32f10x_tim.o - 0x08000780 0x08000780 0x000000a4 Code RO 2754 i.TIM_TimeBaseInit stm32f10x_tim.o - 0x08000824 0x08000824 0x00000044 Code RO 3453 i.USART1_IRQHandler interrupt_handler.o - 0x08000868 0x08000868 0x0000001e Code RO 3216 i.USART_ClearITPendingBit stm32f10x_usart.o - 0x08000886 0x08000886 0x00000018 Code RO 3219 i.USART_Cmd stm32f10x_usart.o + 0x080003f4 0x080003f4 0x00000070 Code RO 428 i.NVIC_Init misc.o + 0x08000464 0x08000464 0x00000014 Code RO 429 i.NVIC_PriorityGroupConfig misc.o + 0x08000478 0x08000478 0x00000020 Code RO 2022 i.RCC_APB1PeriphClockCmd stm32f10x_rcc.o + 0x08000498 0x08000498 0x00000020 Code RO 2023 i.RCC_APB1PeriphResetCmd stm32f10x_rcc.o + 0x080004b8 0x080004b8 0x00000020 Code RO 2024 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o + 0x080004d8 0x080004d8 0x00000020 Code RO 2025 i.RCC_APB2PeriphResetCmd stm32f10x_rcc.o + 0x080004f8 0x080004f8 0x000000d4 Code RO 2032 i.RCC_GetClocksFreq stm32f10x_rcc.o + 0x080005cc 0x080005cc 0x00000008 Code RO 387 i.SetSysClock system_stm32f10x.o + 0x080005d4 0x080005d4 0x000000e0 Code RO 388 i.SetSysClockTo72 system_stm32f10x.o + 0x080006b4 0x080006b4 0x00000060 Code RO 390 i.SystemInit system_stm32f10x.o + 0x08000714 0x08000714 0x0000001a Code RO 3434 i.TIM2_IRQHandler interrupt_handler.o + 0x0800072e 0x0800072e 0x00000006 Code RO 2660 i.TIM_ClearITPendingBit stm32f10x_tim.o + 0x08000734 0x08000734 0x00000018 Code RO 2665 i.TIM_Cmd stm32f10x_tim.o + 0x0800074c 0x0800074c 0x00000022 Code RO 2686 i.TIM_GetITStatus stm32f10x_tim.o + 0x0800076e 0x0800076e 0x00000012 Code RO 2690 i.TIM_ITConfig stm32f10x_tim.o + 0x08000780 0x08000780 0x000000a4 Code RO 2736 i.TIM_TimeBaseInit stm32f10x_tim.o + 0x08000824 0x08000824 0x00000044 Code RO 3435 i.USART1_IRQHandler interrupt_handler.o + 0x08000868 0x08000868 0x0000001e Code RO 3198 i.USART_ClearITPendingBit stm32f10x_usart.o + 0x08000886 0x08000886 0x00000018 Code RO 3201 i.USART_Cmd stm32f10x_usart.o 0x0800089e 0x0800089e 0x00000002 PAD - 0x080008a0 0x080008a0 0x0000009c Code RO 3221 i.USART_DeInit stm32f10x_usart.o - 0x0800093c 0x0800093c 0x0000001a Code RO 3222 i.USART_GetFlagStatus stm32f10x_usart.o - 0x08000956 0x08000956 0x00000054 Code RO 3223 i.USART_GetITStatus stm32f10x_usart.o - 0x080009aa 0x080009aa 0x0000004a Code RO 3225 i.USART_ITConfig stm32f10x_usart.o - 0x080009f4 0x080009f4 0x000000d8 Code RO 3226 i.USART_Init stm32f10x_usart.o - 0x08000acc 0x08000acc 0x0000000a Code RO 3233 i.USART_ReceiveData stm32f10x_usart.o - 0x08000ad6 0x08000ad6 0x00000008 Code RO 3236 i.USART_SendData stm32f10x_usart.o - 0x08000ade 0x08000ade 0x00000006 Code RO 348 i._sys_exit bsp_usart.o + 0x080008a0 0x080008a0 0x0000009c Code RO 3203 i.USART_DeInit stm32f10x_usart.o + 0x0800093c 0x0800093c 0x0000001a Code RO 3204 i.USART_GetFlagStatus stm32f10x_usart.o + 0x08000956 0x08000956 0x00000054 Code RO 3205 i.USART_GetITStatus stm32f10x_usart.o + 0x080009aa 0x080009aa 0x0000004a Code RO 3207 i.USART_ITConfig stm32f10x_usart.o + 0x080009f4 0x080009f4 0x000000d8 Code RO 3208 i.USART_Init stm32f10x_usart.o + 0x08000acc 0x08000acc 0x0000000a Code RO 3215 i.USART_ReceiveData stm32f10x_usart.o + 0x08000ad6 0x08000ad6 0x00000008 Code RO 3218 i.USART_SendData stm32f10x_usart.o + 0x08000ade 0x08000ade 0x00000006 Code RO 330 i._sys_exit bsp_usart.o 0x08000ae4 0x08000ae4 0x0000000c Code RO 122 i.app_led_change_style_disable app_led.o 0x08000af0 0x08000af0 0x0000000c Code RO 124 i.app_led_get_change_style_value app_led.o - 0x08000afc 0x08000afc 0x00000134 Code RO 125 i.app_led_marquee app_led.o - 0x08000c30 0x08000c30 0x00000010 Code RO 1 i.bsp_init main.o - 0x08000c40 0x08000c40 0x0000005e Code RO 325 i.bsp_timer_2_init bsp_timer.o - 0x08000c9e 0x08000c9e 0x00000008 Code RO 326 i.bsp_timer_init bsp_timer.o - 0x08000ca6 0x08000ca6 0x00000002 PAD - 0x08000ca8 0x08000ca8 0x000000a8 Code RO 349 i.bsp_usart_1_init bsp_usart.o - 0x08000d50 0x08000d50 0x00000024 Code RO 352 i.fputc bsp_usart.o - 0x08000d74 0x08000d74 0x0000000c Code RO 305 i.get_systick_ms mw_soft_timer.o - 0x08000d80 0x08000d80 0x00000018 Code RO 2 i.main main.o - 0x08000d98 0x08000d98 0x0000001c Code RO 229 i.mw_get_led_obj mw_led.o - 0x08000db4 0x08000db4 0x00000038 Code RO 230 i.mw_led0_init mw_led.o - 0x08000dec 0x08000dec 0x00000014 Code RO 231 i.mw_led0_off mw_led.o - 0x08000e00 0x08000e00 0x00000014 Code RO 232 i.mw_led0_on mw_led.o - 0x08000e14 0x08000e14 0x00000038 Code RO 233 i.mw_led1_init mw_led.o - 0x08000e4c 0x08000e4c 0x00000014 Code RO 234 i.mw_led1_off mw_led.o - 0x08000e60 0x08000e60 0x00000014 Code RO 235 i.mw_led1_on mw_led.o - 0x08000e74 0x08000e74 0x0000005c Code RO 236 i.mw_led_drv_init mw_led.o - 0x08000ed0 0x08000ed0 0x00000028 Code RO 286 i.mw_printf_insert_data mw_printf.o - 0x08000ef8 0x08000ef8 0x00000010 Code RO 306 i.mw_soft_timer_user_systick_update mw_soft_timer.o - 0x08000f08 0x08000f08 0x00000020 Data RO 3645 Region$$Table anon$$obj.o + 0x08000afc 0x08000afc 0x000000ec Code RO 125 i.app_led_marquee app_led.o + 0x08000be8 0x08000be8 0x00000010 Code RO 1 i.bsp_init main.o + 0x08000bf8 0x08000bf8 0x0000005e Code RO 307 i.bsp_timer_2_init bsp_timer.o + 0x08000c56 0x08000c56 0x00000008 Code RO 308 i.bsp_timer_init bsp_timer.o + 0x08000c5e 0x08000c5e 0x00000002 PAD + 0x08000c60 0x08000c60 0x000000a8 Code RO 331 i.bsp_usart_1_init bsp_usart.o + 0x08000d08 0x08000d08 0x00000024 Code RO 334 i.fputc bsp_usart.o + 0x08000d2c 0x08000d2c 0x0000000c Code RO 287 i.get_systick_ms mw_soft_timer.o + 0x08000d38 0x08000d38 0x00000018 Code RO 2 i.main main.o + 0x08000d50 0x08000d50 0x0000001c Code RO 229 i.mw_get_led_obj mw_led.o + 0x08000d6c 0x08000d6c 0x00000038 Code RO 230 i.mw_led0_init mw_led.o + 0x08000da4 0x08000da4 0x00000014 Code RO 231 i.mw_led0_off mw_led.o + 0x08000db8 0x08000db8 0x00000014 Code RO 232 i.mw_led0_on mw_led.o + 0x08000dcc 0x08000dcc 0x0000003c Code RO 233 i.mw_led_drv_init mw_led.o + 0x08000e08 0x08000e08 0x00000028 Code RO 268 i.mw_printf_insert_data mw_printf.o + 0x08000e30 0x08000e30 0x00000010 Code RO 288 i.mw_soft_timer_user_systick_update mw_soft_timer.o + 0x08000e40 0x08000e40 0x00000020 Data RO 3627 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000f28, Size: 0x000006e0, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000e60, Size: 0x000006d0, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x08000f28 0x00000008 Data RW 126 .data app_led.o - 0x20000008 0x08000f30 0x00000002 Data RW 288 .data mw_printf.o - 0x2000000a 0x08000f32 0x00000002 PAD - 0x2000000c 0x08000f34 0x00000004 Data RW 307 .data mw_soft_timer.o - 0x20000010 0x08000f38 0x00000004 Data RW 353 .data bsp_usart.o - 0x20000014 0x08000f3c 0x00000014 Data RW 2070 .data stm32f10x_rcc.o - 0x20000028 - 0x00000020 Zero RW 237 .bss mw_led.o - 0x20000048 - 0x00000032 Zero RW 287 .bss mw_printf.o - 0x2000007a 0x08000f50 0x00000002 PAD - 0x2000007c - 0x00000060 Zero RW 3521 .bss c_w.l(libspace.o) - 0x200000dc 0x08000f50 0x00000004 PAD - 0x200000e0 - 0x00000200 Zero RW 440 HEAP startup_stm32f10x_md.o - 0x200002e0 - 0x00000400 Zero RW 439 STACK startup_stm32f10x_md.o + 0x20000000 0x08000e60 0x00000008 Data RW 126 .data app_led.o + 0x20000008 0x08000e68 0x00000002 Data RW 270 .data mw_printf.o + 0x2000000a 0x08000e6a 0x00000002 PAD + 0x2000000c 0x08000e6c 0x00000004 Data RW 289 .data mw_soft_timer.o + 0x20000010 0x08000e70 0x00000004 Data RW 335 .data bsp_usart.o + 0x20000014 0x08000e74 0x00000014 Data RW 2052 .data stm32f10x_rcc.o + 0x20000028 - 0x00000010 Zero RW 234 .bss mw_led.o + 0x20000038 - 0x00000032 Zero RW 269 .bss mw_printf.o + 0x2000006a 0x08000e88 0x00000002 PAD + 0x2000006c - 0x00000060 Zero RW 3503 .bss c_w.l(libspace.o) + 0x200000cc 0x08000e88 0x00000004 PAD + 0x200000d0 - 0x00000200 Zero RW 422 HEAP startup_stm32f10x_md.o + 0x200002d0 - 0x00000400 Zero RW 421 STACK startup_stm32f10x_md.o ============================================================================== @@ -1317,14 +1300,14 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 332 28 0 8 0 10201 app_led.o + 260 28 0 8 0 10189 app_led.o 102 0 0 0 0 23461 bsp_timer.o 210 14 0 4 0 12649 bsp_usart.o 0 0 0 0 0 32 core_cm3.o 94 6 0 0 0 974 interrupt_handler.o - 40 0 0 0 0 226622 main.o + 40 0 0 0 0 226614 main.o 132 22 0 0 0 1911 misc.o - 312 70 0 0 32 4773 mw_led.o + 184 38 0 0 16 3199 mw_led.o 40 10 0 2 50 1224 mw_printf.o 28 10 0 4 0 1529 mw_soft_timer.o 64 26 236 0 1536 972 startup_stm32f10x_md.o @@ -1335,7 +1318,7 @@ Image component sizes 328 28 0 0 0 2529 system_stm32f10x.o ---------------------------------------------------------------------- - 3188 328 268 40 1620 324757 Object Totals + 2988 296 268 40 1604 323163 Object Totals 0 0 32 0 0 0 (incl. Generated) 6 0 0 2 2 0 (incl. Padding) @@ -1388,15 +1371,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 3612 354 268 40 1720 322941 Grand Totals - 3612 354 268 40 1720 322941 ELF Image Totals - 3612 354 268 40 0 0 ROM Totals + 3412 322 268 40 1704 321503 Grand Totals + 3412 322 268 40 1704 321503 ELF Image Totals + 3412 322 268 40 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 3880 ( 3.79kB) - Total RW Size (RW Data + ZI Data) 1760 ( 1.72kB) - Total ROM Size (Code + RO Data + RW Data) 3920 ( 3.83kB) + Total RO Size (Code + RO Data) 3680 ( 3.59kB) + Total RW Size (RW Data + ZI Data) 1744 ( 1.70kB) + Total ROM Size (Code + RO Data + RW Data) 3720 ( 3.63kB) ==============================================================================