仅使用C13的led0,准备上FreeRTOS

This commit is contained in:
xqq27 2024-12-02 21:57:31 +08:00
parent 800db7ba10
commit 58d5465a42
7 changed files with 351 additions and 399 deletions

View File

@ -30,7 +30,8 @@
"stm32f10x_tim.h": "c", "stm32f10x_tim.h": "c",
"app_led.h": "c", "app_led.h": "c",
"mw_printf.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" "cmake.sourceDirectory": "E:/xqq/workspace/STM32F103RC-StdLibrary/Code/middleware/FreeRTOS/Kernel"
} }

View File

@ -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 "app_led.h"
#include "mw_led.h" #include "mw_led.h"
#include "stdint.h" #include "stdint.h"
@ -35,10 +47,7 @@ void app_led_marquee(void)
switch(tmp_state) switch(tmp_state)
{ {
case 0: case 0:
// mw_led_0_off();
// mw_led_1_off();
mw_get_led_obj(Led0).off(); mw_get_led_obj(Led0).off();
mw_get_led_obj(Led1).off();
if(get_systick_ms() - tmp_tick > 500) if(get_systick_ms() - tmp_tick > 500)
{ {
tmp_state = 1; tmp_state = 1;
@ -47,7 +56,6 @@ void app_led_marquee(void)
break; break;
case 1: case 1:
mw_get_led_obj(Led0).on(); mw_get_led_obj(Led0).on();
mw_get_led_obj(Led1).off();
if(get_systick_ms() - tmp_tick > 500) if(get_systick_ms() - tmp_tick > 500)
{ {
tmp_state = 2; tmp_state = 2;
@ -58,7 +66,6 @@ void app_led_marquee(void)
case 2: case 2:
mw_get_led_obj(Led0).off(); mw_get_led_obj(Led0).off();
mw_get_led_obj(Led1).on();
if(get_systick_ms() - tmp_tick > 500) if(get_systick_ms() - tmp_tick > 500)
{ {
tmp_state = 1; tmp_state = 1;

View File

@ -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 "misc.h"
#include "bsp_gpio.h" #include "bsp_gpio.h"
#include "bsp_timer.h" #include "bsp_timer.h"
#include "bsp_usart.h" #include "bsp_usart.h"
#include "mw_led.h" #include "mw_led.h"
#include "app_led.h" #include "app_led.h"
/*************************************************************************************
* @brief bsp init.
*
* @warning
* @note
*************************************************************************************/
void bsp_init(void) void bsp_init(void)
{ {
// bsp_gpio_init(); // bsp_gpio_init();
bsp_timer_init(); bsp_timer_init();
bsp_usart_1_init(115200); bsp_usart_1_init(115200);
} }
/*************************************************************************************
* @brief Main function.
*
* @return int
* @warning
* @note
*************************************************************************************/
int main(void) int main(void)
{ {
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
// SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);
bsp_init(); bsp_init();
mw_led_drv_init(); mw_led_drv_init();

View File

@ -6,12 +6,10 @@
typedef enum typedef enum
{ {
Led0 = 0, Led0 = 0,
Led1,
led_num led_num
}led_type_enum; }led_type_enum;
typedef struct typedef struct
{ {
led_type_enum led_drv; 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); 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 #endif

View File

@ -1,40 +1,44 @@
/*************************************************************************************
* @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 "mw_led.h"
#include <stdio.h> #include <stdio.h>
/* led pin define */ /* led pin define */
// LED0 PA8 // LED0 PC13
#define IO_LED0_PORT (GPIOC) #define IO_LED0_PORT (GPIOC)
#define IO_LED0_RCC_PERIPH (RCC_APB2Periph_GPIOC) #define IO_LED0_RCC_PERIPH (RCC_APB2Periph_GPIOC)
#define IO_LED0_PIN (GPIO_Pin_13) #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]; 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) mw_led_t mw_get_led_obj(led_type_enum e_led_type)
{ {
if(e_led_type < led_num) if(e_led_type >= led_num)
{ {
// invalid
while(1);
}
return led_drv_buf[e_led_type]; return led_drv_buf[e_led_type];
} }
else
{
while(1);
// return NULL;
}
}
/* led 0 start */ /* led 0 start */
void mw_led0_init(void) void mw_led0_init(void)
@ -51,46 +55,28 @@ void mw_led0_init(void)
GPIO_SetBits(IO_LED0_PORT, IO_LED0_PIN); //PA.8 输出高 GPIO_SetBits(IO_LED0_PORT, IO_LED0_PIN); //PA.8 输出高
} }
/*************************************************************************************
* Led0 start
**************************************************************************************/
void mw_led0_on(void) void mw_led0_on(void)
{ {
GPIO_SetBits(IO_LED0_PORT, IO_LED0_PIN); GPIO_SetBits(IO_LED0_PORT, IO_LED0_PIN);
} }
void mw_led0_off(void) void mw_led0_off(void)
{ {
GPIO_ResetBits(IO_LED0_PORT, IO_LED0_PIN); GPIO_ResetBits(IO_LED0_PORT, IO_LED0_PIN);
} }
/*************************************************************************************
/* led 0 end */ * Led0 end
**************************************************************************************/
/* led 1 start */ /*************************************************************************************
void mw_led1_init(void) * @brief Led driver installation.
{ *
GPIO_InitTypeDef GPIO_InitStructure; * @warning
* @note
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 */
void mw_led_drv_init(void) void mw_led_drv_init(void)
{ {
led_type_enum e_val; 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].init = mw_led0_init;
led_drv_buf[Led0].on = mw_led0_on; led_drv_buf[Led0].on = mw_led0_on;
led_drv_buf[Led0].off = mw_led0_off; 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 */ /* init all led peripherals */
for(e_val = Led0; e_val < led_num; e_val++) for(e_val = Led0; e_val < led_num; e_val++)
{ {

View File

@ -1,5 +1,5 @@
:020000040800F2 :020000040800F2
:10000000E006002089010008910100089301000822 :10000000D006002089010008910100089301000832
:100010009501000897010008990100080000000000 :100010009501000897010008990100080000000000
:100020000000000000000000000000009B0100082C :100020000000000000000000000000009B0100082C
:100030009D010008000000009F010008A1010008C8 :100030009D010008000000009F010008A1010008C8
@ -17,21 +17,21 @@
:1000F00000F03AF80AA090E8000C82448344AAF188 :1000F00000F03AF80AA090E8000C82448344AAF188
:100100000107DA4501D100F02FF8AFF2090EBAE885 :100100000107DA4501D100F02FF8AFF2090EBAE885
:100110000F0013F0010F18BFFB1A43F0010318473B :100110000F0013F0010F18BFFB1A43F0010318473B
:10012000E80D0000080E0000103A24BF78C878C11E :10012000200D0000400D0000103A24BF78C878C1AF
:10013000FAD8520724BF30C830C144BF04680C60ED :10013000FAD8520724BF30C830C144BF04680C60ED
:10014000704700000023002400250026103A28BF35 :10014000704700000023002400250026103A28BF35
:1001500078C1FBD8520728BF30C148BF0B60704739 :1001500078C1FBD8520728BF30C148BF0B60704739
:100160001FB51FBD10B510BD00F06EF81146FFF7AA :100160001FB51FBD10B510BD00F06EF81146FFF7AA
:10017000F7FF00F005FE00F0A0F803B4FFF7F2FF70 :10017000F7FF00F0E1FD00F0A0F803B4FFF7F2FF95
:1001800003BC00F0ACFC0000094880470948004768 :1001800003BC00F0ACFC0000094880470948004768
:10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737 :10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737
:1001A000FEE7FEE704480549054A064B7047000094 :1001A000FEE7FEE704480549054A064B7047000094
:1001B000B5060008ED000008E0000020E006002081 :1001B000B5060008ED000008D0000020D0060020A1
:1001C000E0020020E0020020704700000FB4044964 :1001C000D0020020D0020020704700000FB4044984
:1001D00010B503AA029800F009F810BC5DF814FBF2 :1001D00010B503AA029800F009F810BC5DF814FBF2
:1001E000100000207047704770477047074B70B58C :1001E000100000207047704770477047074B70B58C
:1001F0000D467B4400F011F80446284600F020F834 :1001F0000D467B4400F011F80446284600F020F834
:1002000010B14FF0FF3070BD204670BD5B0B000099 :1002000010B14FF0FF3070BD204670BD130B0000E1
:1002100001694A1C02610878704700B58FB0CDE9CA :1002100001694A1C02610878704700B58FB0CDE9CA
:1002200001310021059105497944CDE903101146BA :1002200001310021059105497944CDE903101146BA
:10023000684600F02EF80FB000BD0000E5FFFFFF9C :10023000684600F02EF80FB000BD0000E5FFFFFF9C
@ -44,7 +44,7 @@
:1002A0008046304603E04146B847641C3046A847C4 :1002A0008046304603E04146B847641C3046A847C4
:1002B0000028F8D12046BDE8F08110B50446AFF320 :1002B0000028F8D12046BDE8F08110B50446AFF320
:1002C00000802046BDE81040FFF757BF0048704748 :1002C00000802046BDE81040FFF757BF0048704748
:1002D0007C0000202DE9F041024600250026002088 :1002D0006C0000202DE9F041024600250026002098
:1002E00000230024002791F803C00CF00F0591F8BB :1002E00000230024002791F803C00CF00F0591F8BB
:1002F00003C00CF0100CBCF1000F03D091F802C049 :1002F00003C00CF0100CBCF1000F03D091F802C049
:100300004CEA050591F800C0BCF1000F31D014682B :100300004CEA050591F800C0BCF1000F31D014682B
@ -113,7 +113,7 @@
:1006F0001F008860FFF76AFF4FF000600449086040 :1006F0001F008860FFF76AFF4FF000600449086040
:1007000010BD0000001002400000FFF8FFFFF6FEE1 :1007000010BD0000001002400000FFF8FFFFF6FEE1
:1007100008ED00E010B50121880700F017F828B1B6 :1007100008ED00E010B50121880700F017F828B1B6
:100720000121880700F003F800F0E6FB10BDCA4382 :100720000121880700F003F800F082FB10BDCA43E6
:100730000282704721B1028842F00102028004E087 :100730000282704721B1028842F00102028004E087
:1007400002884FF6FE731A400280704730B50246A9 :1007400002884FF6FE731A400280704730B50246A9
:10075000002000230024158A05EA0103958905EA93 :10075000002000230024158A05EA0103958905EA93
@ -132,7 +132,7 @@
:100820000048014010B540F226610E4800F093F8F0 :100820000048014010B540F226610E4800F093F8F0
:1008300020B140F226610B4800F016F840F2255135 :1008300020B140F226610B4800F016F840F2255135
:10084000084800F088F858B140F22551054800F0FA :10084000084800F088F858B140F22551054800F0FA
:100850000BF8044800F03AF9C4B2204600F038FB27 :100850000BF8044800F03AF9C4B2204600F0D4FA8C
:1008600010BD00000038014010B50022002340F602 :1008600010BD00000038014010B50022002340F602
:100870006A14A14200D100BF0A1201249440A3B21D :100870006A14A14200D100BF0A1201249440A3B21D
:10088000DC43048010BD21B1828942F40052828190 :10088000DC43048010BD21B1828942F40052828190
@ -175,74 +175,62 @@
:100AD000C0F308007047C1F30802828070470146E6 :100AD000C0F308007047C1F30802828070470146E6
:100AE00000BF7047002001490870704700000020D7 :100AE00000BF7047002001490870704700000020D7
:100AF00001480078704700000000002010B588B061 :100AF00001480078704700000000002010B588B061
:100B0000FFF7F6FF002804DDFFF7ECFF0020444963 :100B0000FFF7F6FF002804DDFFF7ECFF0020324975
:100B100008704348007820B101282AD002287BD1F0 :100B100008703148007820B101281ED0022857D132
:100B200052E00021684600F037F99DE80F001C46AE :100B20003AE00021684600F013F99DE80F001C46EA
:100B3000CDE90623CDE90401A0470121684600F074 :100B3000CDE90623CDE90401A04700F0F7F82749E5
:100B40002BF99DE80F001C46CDE90623CDE90401F1 :100B40000968401AB0F5FA7F06D9012022490870D9
:100B5000A04700F00FF933490968401AB0F5FA7F51 :100B500000F0ECF8214908603AE00021684600F016
:100B600006D901202E49087000F004F92D490860CB :100B6000F7F89DE80F001446CDE90623CDE904010E
:100B700052E00021684600F00FF99DE80F0014468E :100B7000A04700F0DBF819490968401AB0F5FA7F80
:100B8000CDE90623CDE90401A0470121684600F024 :100B800009D902201449087000F0D0F81349086010
:100B900003F99DE80F001C46CDE90623CDE90401C9 :100B900013A0FFF71BFB1BE00021684600F0D8F80C
:100BA000A04700F0E7F81F490968401AB0F5FA7F3E :100BA0009DE80F001C46CDE90623CDE90401A047CE
:100BB00009D902201A49087000F0DCF819490860C8 :100BB00000F0BCF809490968401AB0F5FA7F06D977
:100BC00019A0FFF703FB27E00021684600F0E4F8D6 :100BC00001200549087000F0B1F80449086000BF31
:100BD0009DE80F001C46CDE90623CDE90401A0479E :100BD00000BF08B010BD000001000020040000208C
:100BE0000121684600F0D8F89DE80F001446CDE9D1 :100BE0003132330A0000000010B500F034F84FF441
:100BF0000623CDE90401A04700F0BCF809490968C3 :100BF000E13000F035F810BD1FB501210846FFF7C0
:100C0000401AB0F5FA7F06D901200549087000F0B6 :100C00003BFC4FF47A70ADF808004720ADF80400C3
:100C1000B1F80449086000BF00BF08B010BD000073 :100C10000020ADF80A00ADF8060001A94FF08040B1
:100C200001000020040000203132330A00000000DF :100C2000FFF7AEFD012211469007FFF7A0FD1C2043
:100C300010B500F034F84FF4E13000F035F810BD95 :100C30008DF8000000208DF8010003208DF80200DF
:100C40001FB501210846FFF717FC4FF47A70ADF885 :100C400001208DF803006846FFF7D4FB01218807D7
:100C500008004720ADF804000020ADF80A00ADF808 :100C5000FFF770FD1FBD10B5FFF7CEFF10BD000000
:100C6000060001A94FF08040FFF78AFD01221146DE :100C600010B586B00446012144F20400FFF724FCCD
:100C70009007FFF77CFD1C208DF8000000208DF808 :100C70002348FFF715FE4FF40070ADF81400032071
:100C8000010003208DF8020001208DF80300684662 :100C80008DF8160018208DF8170005A91D48FFF7EC
:100C9000FFF7B0FB01218807FFF74CFD1FBD10B522 :100C900021FB4FF48060ADF8140004208DF817009C
:100CA000FFF7CEFF10BD000010B586B0044601214D :100CA00005A91848FFF716FB01940020ADF80800CD
:100CB00044F20400FFF700FC2348FFF7F1FD4FF476 :100CB000ADF80A00ADF80C00ADF810000C20ADF84E
:100CC0000070ADF8140003208DF8160018208DF880 :100CC0000E0001A90E48FFF795FE25208DF80000C3
:100CD000170005A91D48FFF7FDFA4FF48060ADF835 :100CD00003208DF801008DF8020001208DF803003B
:100CE000140004208DF8170005A91848FFF7F2FA40 :100CE0006846FFF787FB012240F225510448FFF7D1
:100CF00001940020ADF80800ADF80A00ADF80C0032 :100CF0005CFE01210248FFF7C6FD06B010BD0000F2
:100D0000ADF810000C20ADF80E0001A90E48FFF759 :100D0000003801400008014070B504460D4600BFA0
:100D100071FE25208DF8000003208DF801008DF86C :100D100040210548FFF712FE0028F9D0E1B2024851
:100D2000020001208DF803006846FFF763FB0122F3 :100D2000FFF7D9FE204670BD003801400148006839
:100D300040F225510448FFF738FE01210248FFF731 :100D3000704700000C0000204FF4A060FFF792FB0A
:100D4000A2FD06B010BD00000038014000080140BF :100D4000FFF752FF00F042F801E0FFF7D7FEFCE7A3
:100D500070B504460D4600BF40210548FFF7EEFD83 :100D500030B5012901DB00BFFEE7034A02EB0115B4
:100D60000028F9D0E1B20248FFF7B5FE204670BD79 :100D60003CCD80E83C0030BD2800002008B50121C2
:100D70000038014001480068704700000C00002066 :100D70001020FFF7A1FB4FF40050ADF80000102049
:100D80004FF4A060FFF76EFBFFF752FF00F072F820 :100D80008DF8030003208DF8020069460448FFF740
:100D900001E0FFF7B3FEFCE730B5022906DA044AAA :100D9000A1FA4FF400510248FFF729FB08BD0000FB
:100DA00002EB01153CCD80E83C0030BD00BFFEE702 :100DA0000010014010B54FF400510248FFF71DFB41
:100DB0002800002008B501211020FFF77DFB4FF42B :100DB00010BD00000010014010B54FF40051024872
:100DC0000050ADF8000010208DF8030003208DF8CE :100DC000FFF715FB10BD00000010014010B500201A
:100DD000020069460448FFF77DFA4FF400510248CB :100DD0000949087009484860094888600948C8609E
:100DE000FFF705FB08BD00000010014010B54FF4EF :100DE000002406E0044901EB041148688047601CB8
:100DF00000510248FFF7F9FA10BD00000010014051 :100DF000C4B2012CF6DB10BD280000206D0D0008E8
:100E000010B54FF400510248FFF7F1FA10BD000091 :100E0000B90D0008A50D00080749084A1288885442
:100E10000010014008B501211020FFF74DFB4FF4F1 :100E100006490988491C3222B1FBF2F302FB131187
:100E20008040ADF8000010208DF8030003208DF8FD :100E2000024A1180704700003800002008000020AE
:100E3000020069460448FFF74DFA4FF4804102482A :100E300002480068401C0149086070470C0000200F
:100E4000FFF7D5FA08BD00000010014010B54FF4BF :100E4000600E0008000000202800000028010008B3
:100E500080410248FFF7C9FA10BD000000100140B0 :100E5000880E000828000020A806000044010008B1
:100E600010B54FF480410248FFF7C1FA10BD0000F1 :100E60000000000000000000000000000000000082
:100E70000010014010B500200E4908700E4848606F :100E7000000000000000000001020304010203045E
:100E80000E4888600E48C860012008740D49094862 :080E8000060708090204060838
:100E900041610D4981610D49C161002406E00549A8
:100EA00001EB041148688047601CC4B2022CF6DBD9
:100EB00010BD000028000020B50D0008010E00083C
:100EC000ED0D0008150E0008610E00084D0E00081B
:100ED0000749084A1288885406490988491C322261
:100EE000B1FBF2F302FB1311024A118070470000BC
:100EF000480000200800002002480068401C01490A
:100F0000086070470C000020280F00080000002037
:100F10002800000028010008500F000828000020C9
:100F2000B8060000440100080000000000000000B6
:100F300000000000000000000000000000000000B1
:100F4000010203040102030406070809020406085B
:04000005080000ED02 :04000005080000ED02
:00000001FF :00000001FF

View File

@ -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_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_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_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(.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_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_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_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(.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_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 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) 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 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/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/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 __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 __rtentry.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.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/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE
../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE
../clib/angel/startup.s 0x00000000 Number 0 __main.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/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/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 no_argv.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/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE
../clib/heapaux.c 0x00000000 Number 0 heapauxi.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 libshutdown.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 noretval__2printf.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/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_char_common.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/signal.c 0x00000000 Number 0 defsig_general.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_abrt_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_cppl_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_stak_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/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_locked.o ABSOLUTE
../clib/stdio.c 0x00000000 Number 0 ferror.o ABSOLUTE
../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE
../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE ../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE
..\Code\app\src\app_led.c 0x00000000 Number 0 app_led.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) 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) 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.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_init 0x08000be8 Section 0 main.o(i.bsp_init)
i.bsp_timer_2_init 0x08000c40 Section 0 bsp_timer.o(i.bsp_timer_2_init) i.bsp_timer_2_init 0x08000bf8 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) bsp_timer_2_init 0x08000bf9 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_timer_init 0x08000c56 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.bsp_usart_1_init 0x08000c60 Section 0 bsp_usart.o(i.bsp_usart_1_init)
i.fputc 0x08000d50 Section 0 bsp_usart.o(i.fputc) i.fputc 0x08000d08 Section 0 bsp_usart.o(i.fputc)
i.get_systick_ms 0x08000d74 Section 0 mw_soft_timer.o(i.get_systick_ms) i.get_systick_ms 0x08000d2c Section 0 mw_soft_timer.o(i.get_systick_ms)
i.main 0x08000d80 Section 0 main.o(i.main) i.main 0x08000d38 Section 0 main.o(i.main)
i.mw_get_led_obj 0x08000d98 Section 0 mw_led.o(i.mw_get_led_obj) i.mw_get_led_obj 0x08000d50 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_init 0x08000d6c 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_off 0x08000da4 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_led0_on 0x08000db8 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_led_drv_init 0x08000dcc Section 0 mw_led.o(i.mw_led_drv_init)
i.mw_led1_off 0x08000e4c Section 0 mw_led.o(i.mw_led1_off) i.mw_printf_insert_data 0x08000e08 Section 0 mw_printf.o(i.mw_printf_insert_data)
i.mw_led1_on 0x08000e60 Section 0 mw_led.o(i.mw_led1_on) i.mw_soft_timer_user_systick_update 0x08000e30 Section 0 mw_soft_timer.o(i.mw_soft_timer_user_systick_update)
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)
.data 0x20000000 Section 8 app_led.o(.data) .data 0x20000000 Section 8 app_led.o(.data)
led_style_change_flag 0x20000000 Data 1 app_led.o(.data) led_style_change_flag 0x20000000 Data 1 app_led.o(.data)
tmp_state 0x20000001 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) .data 0x20000014 Section 20 stm32f10x_rcc.o(.data)
APBAHBPrescTable 0x20000014 Data 16 stm32f10x_rcc.o(.data) APBAHBPrescTable 0x20000014 Data 16 stm32f10x_rcc.o(.data)
ADCPrescTable 0x20000024 Data 4 stm32f10x_rcc.o(.data) ADCPrescTable 0x20000024 Data 4 stm32f10x_rcc.o(.data)
.bss 0x20000028 Section 32 mw_led.o(.bss) .bss 0x20000028 Section 16 mw_led.o(.bss)
.bss 0x20000048 Section 50 mw_printf.o(.bss) .bss 0x20000038 Section 50 mw_printf.o(.bss)
.bss 0x2000007c Section 96 libspace.o(.bss) .bss 0x2000006c Section 96 libspace.o(.bss)
HEAP 0x200000e0 Section 512 startup_stm32f10x_md.o(HEAP) HEAP 0x200000d0 Section 512 startup_stm32f10x_md.o(HEAP)
Heap_Mem 0x200000e0 Data 512 startup_stm32f10x_md.o(HEAP) Heap_Mem 0x200000d0 Data 512 startup_stm32f10x_md.o(HEAP)
STACK 0x200002e0 Section 1024 startup_stm32f10x_md.o(STACK) STACK 0x200002d0 Section 1024 startup_stm32f10x_md.o(STACK)
Stack_Mem 0x200002e0 Data 1024 startup_stm32f10x_md.o(STACK) Stack_Mem 0x200002d0 Data 1024 startup_stm32f10x_md.o(STACK)
__initial_sp 0x200006e0 Data 0 startup_stm32f10x_md.o(STACK) __initial_sp 0x200006d0 Data 0 startup_stm32f10x_md.o(STACK)
Global Symbols Global Symbols
@ -1134,30 +1123,27 @@ Image Symbol Table
USART_SendData 0x08000ad7 Thumb Code 8 stm32f10x_usart.o(i.USART_SendData) USART_SendData 0x08000ad7 Thumb Code 8 stm32f10x_usart.o(i.USART_SendData)
_sys_exit 0x08000adf Thumb Code 6 bsp_usart.o(i._sys_exit) _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_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) app_led_marquee 0x08000afd Thumb Code 218 app_led.o(i.app_led_marquee)
bsp_init 0x08000c31 Thumb Code 16 main.o(i.bsp_init) bsp_init 0x08000be9 Thumb Code 16 main.o(i.bsp_init)
bsp_timer_init 0x08000c9f Thumb Code 8 bsp_timer.o(i.bsp_timer_init) bsp_timer_init 0x08000c57 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) bsp_usart_1_init 0x08000c61 Thumb Code 158 bsp_usart.o(i.bsp_usart_1_init)
fputc 0x08000d51 Thumb Code 32 bsp_usart.o(i.fputc) fputc 0x08000d09 Thumb Code 32 bsp_usart.o(i.fputc)
get_systick_ms 0x08000d75 Thumb Code 6 mw_soft_timer.o(i.get_systick_ms) get_systick_ms 0x08000d2d Thumb Code 6 mw_soft_timer.o(i.get_systick_ms)
main 0x08000d81 Thumb Code 24 main.o(i.main) main 0x08000d39 Thumb Code 24 main.o(i.main)
mw_get_led_obj 0x08000d99 Thumb Code 24 mw_led.o(i.mw_get_led_obj) mw_get_led_obj 0x08000d51 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_init 0x08000d6d 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_off 0x08000da5 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_led0_on 0x08000db9 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_led_drv_init 0x08000dcd Thumb Code 44 mw_led.o(i.mw_led_drv_init)
mw_led1_off 0x08000e4d Thumb Code 14 mw_led.o(i.mw_led1_off) mw_printf_insert_data 0x08000e09 Thumb Code 30 mw_printf.o(i.mw_printf_insert_data)
mw_led1_on 0x08000e61 Thumb Code 14 mw_led.o(i.mw_led1_on) mw_soft_timer_user_systick_update 0x08000e31 Thumb Code 12 mw_soft_timer.o(i.mw_soft_timer_user_systick_update)
mw_led_drv_init 0x08000e75 Thumb Code 62 mw_led.o(i.mw_led_drv_init) Region$$Table$$Base 0x08000e40 Number 0 anon$$obj.o(Region$$Table)
mw_printf_insert_data 0x08000ed1 Thumb Code 30 mw_printf.o(i.mw_printf_insert_data) Region$$Table$$Limit 0x08000e60 Number 0 anon$$obj.o(Region$$Table)
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)
__stdout 0x20000010 Data 4 bsp_usart.o(.data) __stdout 0x20000010 Data 4 bsp_usart.o(.data)
led_drv_buf 0x20000028 Data 32 mw_led.o(.bss) led_drv_buf 0x20000028 Data 16 mw_led.o(.bss)
mw_printf_buf 0x20000048 Data 50 mw_printf.o(.bss) mw_printf_buf 0x20000038 Data 50 mw_printf.o(.bss)
__libspace_start 0x2000007c Data 96 libspace.o(.bss) __libspace_start 0x2000006c Data 96 libspace.o(.bss)
__temporary_stack_top$libspace 0x200000dc Data 0 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 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 Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 441 RESET startup_stm32f10x_md.o 0x08000000 0x08000000 0x000000ec Data RO 423 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000008 Code RO 3480 * !!!main c_w.l(__main.o) 0x080000ec 0x080000ec 0x00000008 Code RO 3462 * !!!main c_w.l(__main.o)
0x080000f4 0x080000f4 0x00000034 Code RO 3647 !!!scatter c_w.l(__scatter.o) 0x080000f4 0x080000f4 0x00000034 Code RO 3629 !!!scatter c_w.l(__scatter.o)
0x08000128 0x08000128 0x0000001a Code RO 3649 !!handler_copy c_w.l(__scatter_copy.o) 0x08000128 0x08000128 0x0000001a Code RO 3631 !!handler_copy c_w.l(__scatter_copy.o)
0x08000142 0x08000142 0x00000002 PAD 0x08000142 0x08000142 0x00000002 PAD
0x08000144 0x08000144 0x0000001c Code RO 3651 !!handler_zi c_w.l(__scatter_zi.o) 0x08000144 0x08000144 0x0000001c Code RO 3633 !!handler_zi c_w.l(__scatter_zi.o)
0x08000160 0x08000160 0x00000002 Code RO 3519 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) 0x08000160 0x08000160 0x00000002 Code RO 3501 .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 3508 .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 3510 .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 3513 .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 3515 .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 3517 .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 3520 .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 3522 .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 3524 .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 3526 .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 3528 .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 3530 .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 3532 .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 3534 .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 3536 .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 3538 .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 3540 .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 3544 .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 3546 .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 3548 .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 0x00000000 Code RO 3550 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000002 Code RO 3569 .ARM.Collect$$libinit$$00000033 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 3587 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) 0x08000164 0x08000164 0x00000002 Code RO 3569 .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 3579 .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 3581 .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 3583 .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 3586 .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 3589 .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 3591 .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 0x00000000 Code RO 3594 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000002 Code RO 3613 .ARM.Collect$$libshutdown$$00000012 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 3484 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) 0x08000168 0x08000168 0x00000000 Code RO 3466 .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 0x00000000 Code RO 3470 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x08000168 0x08000168 0x00000006 Code RO 3500 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) 0x08000168 0x08000168 0x00000006 Code RO 3482 .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 0x00000000 Code RO 3472 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0800016e 0x0800016e 0x00000004 Code RO 3491 .ARM.Collect$$rtentry$$0000000A 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 3493 .ARM.Collect$$rtentry$$0000000C 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 3494 .ARM.Collect$$rtentry$$0000000D 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 3523 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) 0x0800017a 0x0800017a 0x00000002 Code RO 3505 .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 0x00000000 Code RO 3553 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0800017c 0x0800017c 0x00000004 Code RO 3572 .ARM.Collect$$rtexit$$00000003 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 3573 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000180 0x08000180 0x00000006 Code RO 3555 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x08000186 0x08000186 0x00000002 PAD 0x08000186 0x08000186 0x00000002 PAD
0x08000188 0x08000188 0x00000040 Code RO 442 .text startup_stm32f10x_md.o 0x08000188 0x08000188 0x00000040 Code RO 424 .text startup_stm32f10x_md.o
0x080001c8 0x080001c8 0x00000002 Code RO 3472 .text c_w.l(use_no_semi_2.o) 0x080001c8 0x080001c8 0x00000002 Code RO 3454 .text c_w.l(use_no_semi_2.o)
0x080001ca 0x080001ca 0x00000002 PAD 0x080001ca 0x080001ca 0x00000002 PAD
0x080001cc 0x080001cc 0x00000018 Code RO 3476 .text c_w.l(noretval__2printf.o) 0x080001cc 0x080001cc 0x00000018 Code RO 3458 .text c_w.l(noretval__2printf.o)
0x080001e4 0x080001e4 0x00000006 Code RO 3478 .text c_w.l(heapauxi.o) 0x080001e4 0x080001e4 0x00000006 Code RO 3460 .text c_w.l(heapauxi.o)
0x080001ea 0x080001ea 0x00000002 Code RO 3482 .text c_w.l(use_no_semi.o) 0x080001ea 0x080001ea 0x00000002 Code RO 3464 .text c_w.l(use_no_semi.o)
0x080001ec 0x080001ec 0x00000024 Code RO 3485 .text c_w.l(_printf_char_file.o) 0x080001ec 0x080001ec 0x00000024 Code RO 3467 .text c_w.l(_printf_char_file.o)
0x08000210 0x08000210 0x00000030 Code RO 3502 .text c_w.l(_printf_char_common.o) 0x08000210 0x08000210 0x00000030 Code RO 3484 .text c_w.l(_printf_char_common.o)
0x08000240 0x08000240 0x00000008 Code RO 3504 .text c_w.l(ferror.o) 0x08000240 0x08000240 0x00000008 Code RO 3486 .text c_w.l(ferror.o)
0x08000248 0x08000248 0x0000004a Code RO 3508 .text c_w.l(sys_stackheap_outer.o) 0x08000248 0x08000248 0x0000004a Code RO 3490 .text c_w.l(sys_stackheap_outer.o)
0x08000292 0x08000292 0x00000028 Code RO 3510 .text c_w.l(__printf_nopercent.o) 0x08000292 0x08000292 0x00000028 Code RO 3492 .text c_w.l(__printf_nopercent.o)
0x080002ba 0x080002ba 0x00000012 Code RO 3512 .text c_w.l(exit.o) 0x080002ba 0x080002ba 0x00000012 Code RO 3494 .text c_w.l(exit.o)
0x080002cc 0x080002cc 0x00000008 Code RO 3520 .text c_w.l(libspace.o) 0x080002cc 0x080002cc 0x00000008 Code RO 3502 .text c_w.l(libspace.o)
0x080002d4 0x080002d4 0x00000116 Code RO 1621 i.GPIO_Init stm32f10x_gpio.o 0x080002d4 0x080002d4 0x00000116 Code RO 1603 i.GPIO_Init stm32f10x_gpio.o
0x080003ea 0x080003ea 0x00000004 Code RO 1628 i.GPIO_ResetBits stm32f10x_gpio.o 0x080003ea 0x080003ea 0x00000004 Code RO 1610 i.GPIO_ResetBits stm32f10x_gpio.o
0x080003ee 0x080003ee 0x00000004 Code RO 1629 i.GPIO_SetBits stm32f10x_gpio.o 0x080003ee 0x080003ee 0x00000004 Code RO 1611 i.GPIO_SetBits stm32f10x_gpio.o
0x080003f2 0x080003f2 0x00000002 PAD 0x080003f2 0x080003f2 0x00000002 PAD
0x080003f4 0x080003f4 0x00000070 Code RO 446 i.NVIC_Init misc.o 0x080003f4 0x080003f4 0x00000070 Code RO 428 i.NVIC_Init misc.o
0x08000464 0x08000464 0x00000014 Code RO 447 i.NVIC_PriorityGroupConfig misc.o 0x08000464 0x08000464 0x00000014 Code RO 429 i.NVIC_PriorityGroupConfig misc.o
0x08000478 0x08000478 0x00000020 Code RO 2040 i.RCC_APB1PeriphClockCmd stm32f10x_rcc.o 0x08000478 0x08000478 0x00000020 Code RO 2022 i.RCC_APB1PeriphClockCmd stm32f10x_rcc.o
0x08000498 0x08000498 0x00000020 Code RO 2041 i.RCC_APB1PeriphResetCmd stm32f10x_rcc.o 0x08000498 0x08000498 0x00000020 Code RO 2023 i.RCC_APB1PeriphResetCmd stm32f10x_rcc.o
0x080004b8 0x080004b8 0x00000020 Code RO 2042 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o 0x080004b8 0x080004b8 0x00000020 Code RO 2024 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o
0x080004d8 0x080004d8 0x00000020 Code RO 2043 i.RCC_APB2PeriphResetCmd stm32f10x_rcc.o 0x080004d8 0x080004d8 0x00000020 Code RO 2025 i.RCC_APB2PeriphResetCmd stm32f10x_rcc.o
0x080004f8 0x080004f8 0x000000d4 Code RO 2050 i.RCC_GetClocksFreq stm32f10x_rcc.o 0x080004f8 0x080004f8 0x000000d4 Code RO 2032 i.RCC_GetClocksFreq stm32f10x_rcc.o
0x080005cc 0x080005cc 0x00000008 Code RO 405 i.SetSysClock system_stm32f10x.o 0x080005cc 0x080005cc 0x00000008 Code RO 387 i.SetSysClock system_stm32f10x.o
0x080005d4 0x080005d4 0x000000e0 Code RO 406 i.SetSysClockTo72 system_stm32f10x.o 0x080005d4 0x080005d4 0x000000e0 Code RO 388 i.SetSysClockTo72 system_stm32f10x.o
0x080006b4 0x080006b4 0x00000060 Code RO 408 i.SystemInit system_stm32f10x.o 0x080006b4 0x080006b4 0x00000060 Code RO 390 i.SystemInit system_stm32f10x.o
0x08000714 0x08000714 0x0000001a Code RO 3452 i.TIM2_IRQHandler interrupt_handler.o 0x08000714 0x08000714 0x0000001a Code RO 3434 i.TIM2_IRQHandler interrupt_handler.o
0x0800072e 0x0800072e 0x00000006 Code RO 2678 i.TIM_ClearITPendingBit stm32f10x_tim.o 0x0800072e 0x0800072e 0x00000006 Code RO 2660 i.TIM_ClearITPendingBit stm32f10x_tim.o
0x08000734 0x08000734 0x00000018 Code RO 2683 i.TIM_Cmd stm32f10x_tim.o 0x08000734 0x08000734 0x00000018 Code RO 2665 i.TIM_Cmd stm32f10x_tim.o
0x0800074c 0x0800074c 0x00000022 Code RO 2704 i.TIM_GetITStatus stm32f10x_tim.o 0x0800074c 0x0800074c 0x00000022 Code RO 2686 i.TIM_GetITStatus stm32f10x_tim.o
0x0800076e 0x0800076e 0x00000012 Code RO 2708 i.TIM_ITConfig stm32f10x_tim.o 0x0800076e 0x0800076e 0x00000012 Code RO 2690 i.TIM_ITConfig stm32f10x_tim.o
0x08000780 0x08000780 0x000000a4 Code RO 2754 i.TIM_TimeBaseInit stm32f10x_tim.o 0x08000780 0x08000780 0x000000a4 Code RO 2736 i.TIM_TimeBaseInit stm32f10x_tim.o
0x08000824 0x08000824 0x00000044 Code RO 3453 i.USART1_IRQHandler interrupt_handler.o 0x08000824 0x08000824 0x00000044 Code RO 3435 i.USART1_IRQHandler interrupt_handler.o
0x08000868 0x08000868 0x0000001e Code RO 3216 i.USART_ClearITPendingBit stm32f10x_usart.o 0x08000868 0x08000868 0x0000001e Code RO 3198 i.USART_ClearITPendingBit stm32f10x_usart.o
0x08000886 0x08000886 0x00000018 Code RO 3219 i.USART_Cmd stm32f10x_usart.o 0x08000886 0x08000886 0x00000018 Code RO 3201 i.USART_Cmd stm32f10x_usart.o
0x0800089e 0x0800089e 0x00000002 PAD 0x0800089e 0x0800089e 0x00000002 PAD
0x080008a0 0x080008a0 0x0000009c Code RO 3221 i.USART_DeInit stm32f10x_usart.o 0x080008a0 0x080008a0 0x0000009c Code RO 3203 i.USART_DeInit stm32f10x_usart.o
0x0800093c 0x0800093c 0x0000001a Code RO 3222 i.USART_GetFlagStatus stm32f10x_usart.o 0x0800093c 0x0800093c 0x0000001a Code RO 3204 i.USART_GetFlagStatus stm32f10x_usart.o
0x08000956 0x08000956 0x00000054 Code RO 3223 i.USART_GetITStatus stm32f10x_usart.o 0x08000956 0x08000956 0x00000054 Code RO 3205 i.USART_GetITStatus stm32f10x_usart.o
0x080009aa 0x080009aa 0x0000004a Code RO 3225 i.USART_ITConfig stm32f10x_usart.o 0x080009aa 0x080009aa 0x0000004a Code RO 3207 i.USART_ITConfig stm32f10x_usart.o
0x080009f4 0x080009f4 0x000000d8 Code RO 3226 i.USART_Init stm32f10x_usart.o 0x080009f4 0x080009f4 0x000000d8 Code RO 3208 i.USART_Init stm32f10x_usart.o
0x08000acc 0x08000acc 0x0000000a Code RO 3233 i.USART_ReceiveData stm32f10x_usart.o 0x08000acc 0x08000acc 0x0000000a Code RO 3215 i.USART_ReceiveData stm32f10x_usart.o
0x08000ad6 0x08000ad6 0x00000008 Code RO 3236 i.USART_SendData stm32f10x_usart.o 0x08000ad6 0x08000ad6 0x00000008 Code RO 3218 i.USART_SendData stm32f10x_usart.o
0x08000ade 0x08000ade 0x00000006 Code RO 348 i._sys_exit bsp_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 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 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 0x08000afc 0x08000afc 0x000000ec Code RO 125 i.app_led_marquee app_led.o
0x08000c30 0x08000c30 0x00000010 Code RO 1 i.bsp_init main.o 0x08000be8 0x08000be8 0x00000010 Code RO 1 i.bsp_init main.o
0x08000c40 0x08000c40 0x0000005e Code RO 325 i.bsp_timer_2_init bsp_timer.o 0x08000bf8 0x08000bf8 0x0000005e Code RO 307 i.bsp_timer_2_init bsp_timer.o
0x08000c9e 0x08000c9e 0x00000008 Code RO 326 i.bsp_timer_init bsp_timer.o 0x08000c56 0x08000c56 0x00000008 Code RO 308 i.bsp_timer_init bsp_timer.o
0x08000ca6 0x08000ca6 0x00000002 PAD 0x08000c5e 0x08000c5e 0x00000002 PAD
0x08000ca8 0x08000ca8 0x000000a8 Code RO 349 i.bsp_usart_1_init bsp_usart.o 0x08000c60 0x08000c60 0x000000a8 Code RO 331 i.bsp_usart_1_init bsp_usart.o
0x08000d50 0x08000d50 0x00000024 Code RO 352 i.fputc bsp_usart.o 0x08000d08 0x08000d08 0x00000024 Code RO 334 i.fputc bsp_usart.o
0x08000d74 0x08000d74 0x0000000c Code RO 305 i.get_systick_ms mw_soft_timer.o 0x08000d2c 0x08000d2c 0x0000000c Code RO 287 i.get_systick_ms mw_soft_timer.o
0x08000d80 0x08000d80 0x00000018 Code RO 2 i.main main.o 0x08000d38 0x08000d38 0x00000018 Code RO 2 i.main main.o
0x08000d98 0x08000d98 0x0000001c Code RO 229 i.mw_get_led_obj mw_led.o 0x08000d50 0x08000d50 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 0x08000d6c 0x08000d6c 0x00000038 Code RO 230 i.mw_led0_init mw_led.o
0x08000dec 0x08000dec 0x00000014 Code RO 231 i.mw_led0_off mw_led.o 0x08000da4 0x08000da4 0x00000014 Code RO 231 i.mw_led0_off mw_led.o
0x08000e00 0x08000e00 0x00000014 Code RO 232 i.mw_led0_on mw_led.o 0x08000db8 0x08000db8 0x00000014 Code RO 232 i.mw_led0_on mw_led.o
0x08000e14 0x08000e14 0x00000038 Code RO 233 i.mw_led1_init mw_led.o 0x08000dcc 0x08000dcc 0x0000003c Code RO 233 i.mw_led_drv_init mw_led.o
0x08000e4c 0x08000e4c 0x00000014 Code RO 234 i.mw_led1_off mw_led.o 0x08000e08 0x08000e08 0x00000028 Code RO 268 i.mw_printf_insert_data mw_printf.o
0x08000e60 0x08000e60 0x00000014 Code RO 235 i.mw_led1_on mw_led.o 0x08000e30 0x08000e30 0x00000010 Code RO 288 i.mw_soft_timer_user_systick_update mw_soft_timer.o
0x08000e74 0x08000e74 0x0000005c Code RO 236 i.mw_led_drv_init mw_led.o 0x08000e40 0x08000e40 0x00000020 Data RO 3627 Region$$Table anon$$obj.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
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 Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08000f28 0x00000008 Data RW 126 .data app_led.o 0x20000000 0x08000e60 0x00000008 Data RW 126 .data app_led.o
0x20000008 0x08000f30 0x00000002 Data RW 288 .data mw_printf.o 0x20000008 0x08000e68 0x00000002 Data RW 270 .data mw_printf.o
0x2000000a 0x08000f32 0x00000002 PAD 0x2000000a 0x08000e6a 0x00000002 PAD
0x2000000c 0x08000f34 0x00000004 Data RW 307 .data mw_soft_timer.o 0x2000000c 0x08000e6c 0x00000004 Data RW 289 .data mw_soft_timer.o
0x20000010 0x08000f38 0x00000004 Data RW 353 .data bsp_usart.o 0x20000010 0x08000e70 0x00000004 Data RW 335 .data bsp_usart.o
0x20000014 0x08000f3c 0x00000014 Data RW 2070 .data stm32f10x_rcc.o 0x20000014 0x08000e74 0x00000014 Data RW 2052 .data stm32f10x_rcc.o
0x20000028 - 0x00000020 Zero RW 237 .bss mw_led.o 0x20000028 - 0x00000010 Zero RW 234 .bss mw_led.o
0x20000048 - 0x00000032 Zero RW 287 .bss mw_printf.o 0x20000038 - 0x00000032 Zero RW 269 .bss mw_printf.o
0x2000007a 0x08000f50 0x00000002 PAD 0x2000006a 0x08000e88 0x00000002 PAD
0x2000007c - 0x00000060 Zero RW 3521 .bss c_w.l(libspace.o) 0x2000006c - 0x00000060 Zero RW 3503 .bss c_w.l(libspace.o)
0x200000dc 0x08000f50 0x00000004 PAD 0x200000cc 0x08000e88 0x00000004 PAD
0x200000e0 - 0x00000200 Zero RW 440 HEAP startup_stm32f10x_md.o 0x200000d0 - 0x00000200 Zero RW 422 HEAP startup_stm32f10x_md.o
0x200002e0 - 0x00000400 Zero RW 439 STACK 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 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 102 0 0 0 0 23461 bsp_timer.o
210 14 0 4 0 12649 bsp_usart.o 210 14 0 4 0 12649 bsp_usart.o
0 0 0 0 0 32 core_cm3.o 0 0 0 0 0 32 core_cm3.o
94 6 0 0 0 974 interrupt_handler.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 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 40 10 0 2 50 1224 mw_printf.o
28 10 0 4 0 1529 mw_soft_timer.o 28 10 0 4 0 1529 mw_soft_timer.o
64 26 236 0 1536 972 startup_stm32f10x_md.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 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) 0 0 32 0 0 0 (incl. Generated)
6 0 0 2 2 0 (incl. Padding) 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 Code (inc. data) RO Data RW Data ZI Data Debug
3612 354 268 40 1720 322941 Grand Totals 3412 322 268 40 1704 321503 Grand Totals
3612 354 268 40 1720 322941 ELF Image Totals 3412 322 268 40 1704 321503 ELF Image Totals
3612 354 268 40 0 0 ROM Totals 3412 322 268 40 0 0 ROM Totals
============================================================================== ==============================================================================
Total RO Size (Code + RO Data) 3880 ( 3.79kB) Total RO Size (Code + RO Data) 3680 ( 3.59kB)
Total RW Size (RW Data + ZI Data) 1760 ( 1.72kB) Total RW Size (RW Data + ZI Data) 1744 ( 1.70kB)
Total ROM Size (Code + RO Data + RW Data) 3920 ( 3.83kB) Total ROM Size (Code + RO Data + RW Data) 3720 ( 3.63kB)
============================================================================== ==============================================================================