继续完成串口蓝牙的驱动

This commit is contained in:
xqq27 2024-12-17 22:12:53 +08:00
parent 334d82e032
commit da8f97c356
10 changed files with 612 additions and 372 deletions

View File

@ -33,7 +33,8 @@
"stdint.h": "c",
"misc.h": "c",
"mw_bluetooth.h": "c",
"hc06.h": "c"
"hc06.h": "c",
"public_diy.h": "c"
},
"cmake.sourceDirectory": "E:/xqq/workspace/STM32F103RC-StdLibrary/Code/middleware/FreeRTOS/Kernel"
}

View File

@ -12,12 +12,15 @@
*************************************************************************************/
#include "misc.h"
#include "app_led.h"
#include "mw_led.h"
#include "mw_bluetooth.h"
#include "bsp_gpio.h"
#include "bsp_timer.h"
#include "bsp_usart.h"
#include "mw_led.h"
#include "app_led.h"
/*************************************************************************************
* @brief bsp init.
@ -32,6 +35,14 @@ void bsp_init(void)
// bsp_usart_1_init(115200);
}
void middleware_init(void)
{
// led mw. init
mw_led_drv_init();
// bluetooth mw. init
mw_bluetooth_drv_init();
}
/*************************************************************************************
* @brief Main function.
*
@ -45,7 +56,8 @@ int main(void)
bsp_init();
mw_led_drv_init();
middleware_init();
while (1)
{
app_led_marquee();

View File

@ -7,7 +7,7 @@
#include "mw_soft_timer.h"
#include "mw_printf.h"
void TIM2_IRQHandler(void) //TIM3 櫓뙤
void TIM2_IRQHandler(void) // TIM3 interrupt
{
if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
{
@ -27,13 +27,13 @@ void USART1_IRQHandler(void)
if(USART_GetITStatus(USART1, USART_IT_TC) != RESET)
{
// USART_SendData(USART1, )
USART_ClearITPendingBit(USART1, USART_IT_TC); //헌뇜깃羚貫
USART_ClearITPendingBit(USART1, USART_IT_TC); // clear flag
}
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
// USART_SendData(USART1, )
USART_ClearITPendingBit(USART1, USART_IT_RXNE); //헌뇜깃羚貫
USART_ClearITPendingBit(USART1, USART_IT_RXNE); // clear flag
usart_rx_data = (uint8_t)(USART_ReceiveData(USART1));
mw_printf_insert_data(usart_rx_data);

14
Code/library/public_diy.h Normal file
View File

@ -0,0 +1,14 @@
#ifndef __PUBLIC_DIY_H__
#define __PUBLIC_DIY_H__
#ifndef RET_OK
#define RET_OK (0u)
#endif
#ifndef RET_ERROR
#define RET_ERROR (1u)
#endif
#endif

View File

@ -1,19 +1,25 @@
#include "mw_bluetooth.h"
// /* user external inc. */
// #include "mw_soft_timer.h"
/* user external inc. */
#include "mw_soft_timer.h"
#include "stm32f10x.h"
#include "public_diy.h"
#define BLUETOOTH_USART_PERIPH (USART1)
// Initial the entity of bluetooth buf.
mw_bluetooth_t bluetooth_drv_buf[bluetooth_num];
/*************************************************************************************
* @brief Get the bluetooth object
* @param[in/out] e_val
* @return mw_bluetooth_t
* @param[in/out] e_val
* @return mw_bluetooth_t
*
* @warning ,
* @note
* @warning
* @note
*************************************************************************************/
mw_bluetooth_t mw_get_bluetooth_drv(bluetooth_type_enum e_val)
{
@ -24,14 +30,88 @@ mw_bluetooth_t mw_get_bluetooth_drv(bluetooth_type_enum e_val)
return bluetooth_drv_buf[e_val];
}
// static void
static int8_t mw_usart_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;//TX
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//RX
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_Init(BLUETOOTH_USART_PERIPH, &USART_InitStructure);
USART_ITConfig(BLUETOOTH_USART_PERIPH, USART_IT_RXNE, ENABLE);
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_Init(&NVIC_InitStructure);
USART_Cmd(BLUETOOTH_USART_PERIPH, ENABLE);
return RET_OK;
}
static int8_t mw_usart_deinit(void)
{
USART_DeInit(BLUETOOTH_USART_PERIPH);
return RET_OK;
}
static int8_t mw_send_one_byte(uint8_t uc_data)
{
USART_SendData(BLUETOOTH_USART_PERIPH, uc_data);
return RET_OK;
}
static uint8_t mw_receive_one_byte(void)
{
return (uint8_t)(USART_ReceiveData(BLUETOOTH_USART_PERIPH));
}
/*************************************************************************************
* @brief bluetooth driver init.
*
* @warning
* @note
*************************************************************************************/
void mw_bluetooth_drv_init(void)
{
// bluetooth_drv_buf[hc06].bluetooth_drv = hc06;
/* hc06 init */
// bluetooth driver type
bluetooth_drv_buf[hc06].bluetooth_drv = hc06;
// timer api
bluetooth_drv_buf[hc06].timer_obj.pf_get_systick_ms = get_systick_ms;
// usart api
// bluetooth_drv_buf[hc06].bluetooth_usart.usart_type = ;
bluetooth_drv_buf[hc06].bluetooth_usart.pf_init = mw_usart_init;
bluetooth_drv_buf[hc06].bluetooth_usart.pf_deinit = mw_usart_deinit;
bluetooth_drv_buf[hc06].bluetooth_usart.pf_recv_one_byte = mw_receive_one_byte;
bluetooth_drv_buf[hc06].bluetooth_usart.pf_trans_one_byte = mw_send_one_byte;
// bluetooth_drv_buf[hc06].get_systick_ms = get_systick_ms;
}

View File

@ -9,16 +9,18 @@ typedef enum
bluetooth_num
}bluetooth_type_enum;
/* usart api define*/
typedef struct
{
void * usart_type;
void (*pf_init)(void);
void (*pf_deinit)(void);
// void * usart_type;
int8_t (*pf_init)(void);
int8_t (*pf_deinit)(void);
// tx rx function
int8_t (*pf_tx_byte)(uint16_t tx_data);
uint16_t (*pf_rx_byte)(void);
int8_t (*pf_trans_one_byte)(uint8_t tx_data);
uint8_t (*pf_recv_one_byte)(void);
}system_usart_t;
/* timer api define */
typedef struct
{
uint32_t (*pf_get_systick_ms)(void);
@ -26,9 +28,12 @@ typedef struct
typedef struct
{
// the type of bluetooth
bluetooth_type_enum bluetooth_drv;
// usart api
system_usart_t bluetooth_usart;
system_timetick_t get_systick_ms;
// timer api
system_timetick_t timer_obj;
void (*pf_init)(void);
void (*pf_deinit)(void);
void (*pf_send_bytes)(uint8_t * tx_buf, uint16_t len);
@ -37,6 +42,6 @@ typedef struct
void mw_bluetooth_drv_init(void);
#endif

View File

@ -2,7 +2,7 @@
#include "bsp_timer.h"
// 用ζ<EFBFBD>·δ½Ώη”¨η<EFBFBD>„systickζ—¶ι΄ζ<EFBFBD>?
// 用户使用的systick时间
volatile static uint32_t systick_ms = 0;
uint32_t get_systick_ms()

View File

@ -1,5 +1,5 @@
:020000040800F2
:10000000B80600208901000891010008930100084A
:10000000F006002089010008910100089301000812
:100010009501000897010008990100080000000000
:100020000000000000000000000000009B0100082C
:100030009D010008000000009F010008A1010008C8
@ -10,31 +10,31 @@
:10008000A3010008A3010008A3010008A3010008C0
:10009000A3010008A3010008A3010008A3010008B0
:1000A000A3010008A3010008A3010008A3010008A0
:1000B00065050008A3010008A3010008A3010008CA
:1000B00079060008A3010008A3010008A3010008B5
:1000C000A3010008A3010008A3010008A301000880
:1000D000A301000875060008A3010008A301000899
:1000D000A301000889070008A3010008A301000884
:1000E000A3010008A3010008A301000800F002F822
:1000F00000F03AF80AA090E8000C82448344AAF188
:100100000107DA4501D100F02FF8AFF2090EBAE885
:100110000F0013F0010F18BFFB1A43F0010318473B
:1001200094080000B4080000103A24BF78C878C1D1
:10012000B80C0000D80C0000103A24BF78C878C181
:10013000FAD8520724BF30C830C144BF04680C60ED
:10014000704700000023002400250026103A28BF35
:1001500078C1FBD8520728BF30C148BF0B60704739
:100160001FB51FBD10B510BD00F033F81146FFF7E5
:10017000F7FF00F09BFB00F051F803B4FFF7F2FF2C
:1001800003BC00F0D7FA000009488047094800473F
:10017000F7FF00F015FD00F051F803B4FFF7F2FFB0
:1001800003BC00F052FC00000948804709480047C2
:10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737
:1001A000FEE7FEE704480549054A064B7047000094
:1001B00005050008ED000008B8000020B806002082
:1001C000B8020020B802002070477047704770479F
:1001B00019060008ED000008F0000020F0060020FD
:1001C000F0020020F002002070477047704770472F
:1001D0007047754600F02CF8AE4605006946534658
:1001E00020F00700854618B020B5FFF7DBFFBDE81B
:1001F00020404FF000064FF000074FF000084FF08E
:10020000000B21F00701AC46ACE8C009ACE8C0091E
:10021000ACE8C009ACE8C0098D46704710B504468B
:10022000AFF300802046BDE81040FFF7A6BF0000F6
:1002300000487047540000202DE9F0410246002597
:1002300000487047900000202DE9F041024600255B
:100240000026002000230024002791F803C00CF0B2
:100250000F0591F803C00CF0100CBCF1000F03D097
:1002600091F802C04CEA050591F800C0BCF1000FFE
@ -63,100 +63,167 @@
:1003D000704700000000FA050CED00E029B1064A64
:1003E000D2690243044BDA6104E0034AD2698243D2
:1003F000014BDA61704700000010024029B1064A43
:1004000092690243044B9A6104E0034A9269824371
:10041000014B9A61704700000010024010B500F0D7
:1004200001F810BD0CB50020019000903348006821
:1004300040F480303149086000BF3048006800F463
:10044000003000900198401C0190009818B9019864
:10045000B0F5A06FF1D12948006800F4003010B168
:100460000120009001E0002000900098012843D175
:100470002348006840F010002149086008460068E1
:1004800020F0070008600846006840F0020008609D
:100490001A4840681949486008464068486008465C
:1004A000406840F4806048600846406820F47C1052
:1004B00048600846406840F4E81048600846006814
:1004C00040F08070086000BF0C48006800F00070C9
:1004D0000028F9D00948406820F003000749486027
:1004E0000846406840F00200486000BF034840688A
:1004F00000F00C000828F9D10CBD000000100240EB
:100500000020024010B51348006840F00100114976
:10051000086008464068104908400E49486008468F
:1005200000680E4908400B4908600846006820F43E
:10053000802008600846406820F4FE0048604FF4C0
:100540001F008860FFF76AFF4FF0006004490860F1
:1005500010BD0000001002400000FFF8FFFFF6FE93
:1005600008ED00E010B50121880700F017F828B168
:100570000121880700F003F800F014FA10BDCA4307
:100580000282704721B1028842F00102028004E039
:1005900002884FF6FE731A400280704730B502465B
:1005A000002000230024158A05EA0103958905EA45
:1005B000010413B10CB1012000E0002030BD1AB1DC
:1005C00083890B43838102E083898B438381704756
:1005D000002202881D4B98420ED01D4B98420BD032
:1005E000B0F1804F08D01B4B984205D01A4B98426F
:1005F00002D01A4B984204D14FF68F731A404B88A1
:100600001A43174B984207D0164B984204D04FF626
:10061000FF431A40CB881A4302808B8883850B885E
:1006200003850A4B98420BD0094B984208D00E4BD9
:10063000984205D00D4B984202D00D4B984201D103
:100640000B7A03860123838270470000002C01404F
:10065000003401400004004000080040000C00404D
:1006600000100040001400400040014000440140E0
:100670000048014010B540F226610E4800F02BF80A
:1006800020B140F226610B4800F016F840F22551E7
:10069000084800F020F858B140F22551054800F014
:1006A0000BF8044800F041F8C4B2204600F066F9A7
:1006B00010BD00000038014010B50022002340F6B4
:1006C0006A14A14200D100BF0A1201249440A3B2CF
:1006D000DC43048010BD70B50246002400230025D1
:1006E000002040F66A16B14200D100BFC1F34215A6
:1006F00001F01F03012606FA03F3012D02D19689AA
:10070000334006E0022D02D1168A334001E0968A7A
:1007100033400C12012606FA04F41688344013B153
:100720000CB1012000E0002070BD01468888C0F3B4
:1007300008007047014600BF7047000000200149D3
:1007400008707047000000200148007870470000E2
:100750000000002010B588B0FFF7F6FF002804DD88
:10076000FFF7ECFF0020304908702F48007820B1D7
:1007700001281ED0022854D137E00021684600F03D
:10078000A1F89DE80F001C46CDE90623CDE9040140
:10079000A04700F085F825490968401AB0F5FA7FAE
:1007A00006D901202049087000F07AF81F49086036
:1007B00037E00021684600F085F89DE80F001446F8
:1007C000CDE90623CDE90401A04700F069F81749F7
:1007D0000968401AB0F5FA7F06D90220124908705C
:1007E00000F05EF8114908601BE00021684600F047
:1007F00069F89DE80F001C46CDE90623CDE9040108
:10080000A04700F04DF809490968401AB0F5FA7F91
:1008100006D901200449087000F042F80349086035
:1008200000BF00BF08B010BD010000200400002080
:1008300010B500F030F810BD1FB501210846FFF7D4
:10084000CDFD4FF47A70ADF808004720ADF80400F4
:100850000020ADF80A00ADF8060001A94FF0804075
:10086000FFF7B6FE012211469007FFF7A8FE1C20F5
:100870008DF8000000208DF8010003208DF80200A3
:1008800001208DF803006846FFF766FD0121880707
:10089000FFF778FE1FBD10B5FFF7CEFF10BD0000BB
:1008A00001480068704700000C0000204FF4A06071
:1008B000FFF78AFDFFF7BCFF00F042F801E0FFF709
:1008C00049FFFCE730B5012901DB00BFFEE7034A21
:1008D00002EB01153CCD80E83C0030BD100000204B
:1008E00008B501211020FFF789FD4FF40050ADF845
:1008F000000010208DF8030003208DF802006946E7
:100900000448FFF799FC4FF400510248FFF721FD1E
:1009100008BD00000010014010B54FF4005102481E
:10092000FFF715FD10BD00000010014010B54FF499
:1009300000510248FFF70DFD10BD000000100140FE
:1009400010B50020094908700948486009488860C6
:100950000948C860002406E0044901EB0411486816
:100960008047601CC4B2012CF6DB10BD10000020D3
:10097000E10800082D090008190900080749084A7C
:100980001288885406490988491C3222B1FBF2F3C7
:1009900002FB1311024A1180704700002000002062
:1009A0000800002002480068401C014908607047A8
:1009B0000C000020D40900080000002010000000F6
:1009C00028010008E409000810000020A806000023
:1009D00044010008000000000000000000000000CA
:0409E0000000000013
:1004000012690243044B1A6104E0034A12698243F1
:10041000014B1A61704700000010024029B1064AE2
:1004200092690243044B9A6104E0034A9269824351
:10043000014B9A61704700000010024029B1064A42
:10044000D2680243044BDA6004E0034AD268824374
:10045000014BDA60704700000010024030B5002107
:100460000022002400232D4D6D6805F00C0121B100
:10047000042905D0082923D105E0294D056022E093
:10048000274D05601FE0254D6D6805F47012234D62
:100490006D6805F48034022505EB92421CB9214DAC
:1004A000554305600BE01D4D6D6805F400351DB129
:1004B0001C4D5543056002E0194D5543056002E0AF
:1004C000174D056000BF00BF144D6D6805F0F001C9
:1004D0000909154D6B5C0568DD4045600F4D6D6881
:1004E00005F4E061090A104D6B5C4568DD408560EC
:1004F0000A4D6D6805F46051C90A0B4D6B5C456887
:10050000DD40C560054D6D6805F44041890B074D20
:100510006B5CC568B5FBF3F5056130BD00100240AA
:1005200000127A0000093D00100000202000002089
:1005300010B500F001F810BD0CB50020019000903E
:100540003348006840F480303149086000BF3048CB
:10055000006800F4003000900198401C0190009861
:1005600018B90198B0F5A06FF1D12948006800F4DE
:10057000003010B10120009001E0002000900098B0
:10058000012843D12348006840F010002149086049
:100590000846006820F0070008600846006840F040
:1005A000020008601A4840681949486008464068D7
:1005B00048600846406840F48060486008464068EB
:1005C00020F47C1048600846406840F4E810486019
:1005D0000846006840F08070086000BF0C48006862
:1005E00000F000700028F9D00948406820F00300AE
:1005F000074948600846406840F00200486000BF74
:100600000348406800F00C000828F9D10CBD000038
:10061000001002400020024010B51348006840F06E
:1006200001001149086008464068104908400E4919
:100630004860084600680E4908400B4908600846B3
:10064000006820F4802008600846406820F4FE001E
:1006500048604FF41F008860FFF76AFF4FF00060AA
:100660000449086010BD0000001002400000FFF8BF
:10067000FFFFF6FE08ED00E010B50121880700F04D
:1006800017F828B10121880700F003F800F038FBC3
:1006900010BDCA430282704721B1028842F00102B4
:1006A000028004E002884FF6FE731A400280704711
:1006B00030B50246002000230024158A05EA010314
:1006C000958905EA010413B10CB1012000E0002076
:1006D00030BD1AB183890B43838102E083898B4348
:1006E00083817047002202881D4B98420ED01D4B1B
:1006F00098420BD0B0F1804F08D01B4B984205D0E8
:100700001A4B984202D01A4B984204D14FF68F737D
:100710001A404B881A43174B984207D0164B984201
:1007200004D04FF6FF431A40CB881A4302808B88CF
:1007300083850B8803850A4B98420BD0094B98425E
:1007400008D00E4B984205D00D4B984202D00D4B6D
:10075000984201D10B7A03860123838270470000FF
:10076000002C01400034014000040040000800401B
:10077000000C004000100040001400400040014008
:10078000004401400048014010B540F226610E4887
:1007900000F086F820B140F226610B4800F016F810
:1007A00040F22551084800F07BF858B140F225513D
:1007B000054800F00BF8044800F02EF9C4B22046BA
:1007C00000F078FA10BD00000038014010B500229A
:1007D000002340F66A14A14200D100BF0A1201248E
:1007E0009440A3B2DC43048010BD21B1828942F45D
:1007F0000052828104E082894DF6FF731A408281A3
:100800007047000010B504462048844209D10121F8
:100810008803FFF713FE00214FF48040FFF70EFE20
:1008200032E01B48844209D101214804FFF7E6FD6C
:1008300000214FF40030FFF7E1FD25E01548844228
:1008400009D101218804FFF7D9FD00214FF4802050
:10085000FFF7D4FD18E01048844209D10121C804F3
:10086000FFF7CCFD00214FF40020FFF7C7FD0BE0A0
:100870000A48844208D101210805FFF7BFFD002185
:100880004FF48010FFF7BAFD10BD000000380140A2
:100890000044004000480040004C00400050004030
:1008A00070B50246002400230025002040F66A1699
:1008B000B14200D100BFC1F3421501F01F03012670
:1008C00006FA03F3012D02D19689334006E0022D8A
:1008D00002D1168A334001E0968A33400C12012679
:1008E00006FA04F41688344013B10CB1012000E07C
:1008F000002070BDF0B5034600240026002500202E
:1009000040F66A17B94200D100BF1846C1F342143D
:1009100001F01F06012707FA06F5012C01D10C3062
:1009200004E0022C01D1103000E014301AB1076845
:100930002F43076002E00768AF430760F0BD000087
:100940002DE9F04786B005460E460024A24600BFBA
:10095000A1460027B08900B100BF2F462C8A4CF673
:10096000FF700440F08804432C82AC894EF6F310EB
:100970000440B08831890843718908430443AC813D
:10098000AC8A4FF6FF400440B0890443AC8201A812
:10099000FFF764FD1F48874202D1DDF810A001E097
:1009A000DDF80CA0A88900F4004040B10AEBCA00B1
:1009B00000EB0A1031684900B0FBF1F807E00AEBE0
:1009C000CA0000EB0A1031688900B0FBF1F864201E
:1009D000B8FBF0F004012009642101FB1089A8890B
:1009E00000F4004040B1322000EBC900B0FBF1F050
:1009F00000F00700044308E0322000EB09106421F6
:100A0000B0FBF1F000F00F0004432C8106B0BDE80C
:100A1000F08700000038014001468888C0F30800D4
:100A20007047C1F3080282807047014600BF7047DB
:100A3000002001490870704700000020014800783C
:100A4000704700000000002010B588B0FFF7F6FFE7
:100A5000002804DDFFF7ECFF0020304908702F4824
:100A6000007820B101281ED0022854D137E000219F
:100A7000684600F0C3F89DE80F001C46CDE9062348
:100A8000CDE90401A04700F085F825490968401A1E
:100A9000B0F5FA7F06D901202049087000F07AF8F5
:100AA0001F49086037E00021684600F0A7F89DE87C
:100AB0000F001446CDE90623CDE90401A04700F05C
:100AC00069F817490968401AB0F5FA7F06D902207B
:100AD0001249087000F05EF8114908601BE000211F
:100AE000684600F08BF89DE80F001C46CDE9062310
:100AF000CDE90401A04700F04DF809490968401A02
:100B0000B0F5FA7F06D901200449087000F042F8D8
:100B10000349086000BF00BF08B010BD01000020FD
:100B20000400002010B500F030F810BD1FB5012101
:100B30000846FFF753FC4FF47A70ADF808004720E1
:100B4000ADF804000020ADF80A00ADF8060001A9D8
:100B50004FF08040FFF7C6FD012211469007FFF7D6
:100B6000B8FD1C208DF8000000208DF80100032046
:100B70008DF8020001208DF803006846FFF7ECFBBA
:100B800001218807FFF788FD1FBD10B5FFF7CEFFD5
:100B900010BD000001480068704700000C000020F4
:100BA0004FF4A060FFF710FCFFF7BCFF00F004F863
:100BB00001E0FFF749FFFCE710B500F05DF800F039
:100BC00001F810BD00200749087007484861074830
:100BD0004860074903488160064901610649C160D0
:100BE0007047000068000020950B0008210D0008E8
:100BF000110D0008DD0C0008ED0C000830B50129CE
:100C000001DB00BFFEE7034A02EB01153CCD80E8A3
:100C10003C0030BD2400002008B501211020FFF762
:100C2000FDFB4FF40050ADF8000010208DF80300DC
:100C300003208DF8020069460448FFF7FDFA4FF4DF
:100C400000510248FFF785FB08BD0000001001407D
:100C500010B54FF400510248FFF779FB10BD0000BA
:100C60000010014010B54FF400510248FFF771FB2E
:100C700010BD00000010014010B5002009490870A7
:100C800009484860094888600948C860002406E0AF
:100C9000044901EB041148688047601CC4B2012C70
:100CA000F6DB10BD24000020190C0008650C0008BC
:100CB000510C00080749084A1288885406490988D7
:100CC000491C3222B1FBF2F302FB1311024A1180DC
:100CD00070470000340000200800002010B50248D2
:100CE000FFF79AFEC0B210BD0038014010B50446AF
:100CF00021460248FFF795FE002010BD0038014054
:100D000002480068401C0149086070470C00002040
:100D100010B50248FFF776FD002010BD00380140F5
:100D200000B587B001218803FFF778FB012104207B
:100D3000FFF774FB18208DF81B004FF40070ADF81E
:100D4000180003208DF81A0006A92148FFF774FA4D
:100D500048208DF81B004FF48060ADF81800032088
:100D60008DF81A0006A91A48FFF766FA4FF41650D4
:100D700002900020ADF814000C20ADF81200002005
:100D8000ADF81000ADF80E00ADF80C0002A9114846
:100D9000FFF7D6FD012240F225510E48FFF7AAFDCC
:100DA0004FF4A060FFF710FB25208DF80400012010
:100DB0008DF807008DF805008DF8060001A8FFF7F3
:100DC000CBFA01210348FFF710FD002007B000BD5A
:100DD0000008014000380140F80D00080000002024
:100DE00024000000280100081C0E00082400002038
:100DF000CC060000440100080000000000000000D4
:100E000000000000000000000000000001020304D8
:0C0E10000102030406070809020406089A
:04000005080000ED02
:00000001FF

View File

@ -7,8 +7,10 @@ Section Cross References
main.o(i.bsp_init) refers to bsp_timer.o(i.bsp_timer_init) for bsp_timer_init
main.o(i.main) refers to misc.o(i.NVIC_PriorityGroupConfig) for NVIC_PriorityGroupConfig
main.o(i.main) refers to main.o(i.bsp_init) for bsp_init
main.o(i.main) refers to mw_led.o(i.mw_led_drv_init) for mw_led_drv_init
main.o(i.main) refers to main.o(i.middleware_init) for middleware_init
main.o(i.main) refers to app_led.o(i.app_led_marquee) for app_led_marquee
main.o(i.middleware_init) refers to mw_led.o(i.mw_led_drv_init) for mw_led_drv_init
main.o(i.middleware_init) refers to mw_bluetooth.o(i.mw_bluetooth_drv_init) for mw_bluetooth_drv_init
app_led.o(i.app_led_change_style_disable) refers to app_led.o(.data) for led_style_change_flag
app_led.o(i.app_led_change_style_enable) refers to app_led.o(.data) for led_style_change_flag
app_led.o(i.app_led_get_change_style_value) refers to app_led.o(.data) for led_style_change_flag
@ -133,6 +135,24 @@ Section Cross References
interrupt_handler.o(i.USART1_IRQHandler) refers to stm32f10x_usart.o(i.USART_ClearITPendingBit) for USART_ClearITPendingBit
interrupt_handler.o(i.USART1_IRQHandler) refers to stm32f10x_usart.o(i.USART_ReceiveData) for USART_ReceiveData
interrupt_handler.o(i.USART1_IRQHandler) refers to mw_printf.o(i.mw_printf_insert_data) for mw_printf_insert_data
mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(.bss) for bluetooth_drv_buf
mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_soft_timer.o(i.get_systick_ms) for get_systick_ms
mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.mw_usart_init) for mw_usart_init
mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.mw_usart_deinit) for mw_usart_deinit
mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.mw_receive_one_byte) for mw_receive_one_byte
mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.mw_send_one_byte) for mw_send_one_byte
mw_bluetooth.o(i.mw_get_bluetooth_drv) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4
mw_bluetooth.o(i.mw_get_bluetooth_drv) refers to mw_bluetooth.o(.bss) for bluetooth_drv_buf
mw_bluetooth.o(i.mw_receive_one_byte) refers to stm32f10x_usart.o(i.USART_ReceiveData) for USART_ReceiveData
mw_bluetooth.o(i.mw_send_one_byte) refers to stm32f10x_usart.o(i.USART_SendData) for USART_SendData
mw_bluetooth.o(i.mw_usart_deinit) refers to stm32f10x_usart.o(i.USART_DeInit) for USART_DeInit
mw_bluetooth.o(i.mw_usart_init) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd) for RCC_APB2PeriphClockCmd
mw_bluetooth.o(i.mw_usart_init) refers to stm32f10x_gpio.o(i.GPIO_Init) for GPIO_Init
mw_bluetooth.o(i.mw_usart_init) refers to stm32f10x_usart.o(i.USART_Init) for USART_Init
mw_bluetooth.o(i.mw_usart_init) refers to stm32f10x_usart.o(i.USART_ITConfig) for USART_ITConfig
mw_bluetooth.o(i.mw_usart_init) refers to misc.o(i.NVIC_PriorityGroupConfig) for NVIC_PriorityGroupConfig
mw_bluetooth.o(i.mw_usart_init) refers to misc.o(i.NVIC_Init) for NVIC_Init
mw_bluetooth.o(i.mw_usart_init) refers to stm32f10x_usart.o(i.USART_Cmd) for USART_Cmd
use_no_semi_2.o(.text) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
__main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li
@ -487,15 +507,12 @@ Removing Unused input sections from the image.
Removing stm32f10x_pwr.o(i.PWR_WakeUpPinCmd), (12 bytes).
Removing stm32f10x_rcc.o(i.RCC_ADCCLKConfig), (24 bytes).
Removing stm32f10x_rcc.o(i.RCC_AHBPeriphClockCmd), (32 bytes).
Removing stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd), (32 bytes).
Removing stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd), (32 bytes).
Removing stm32f10x_rcc.o(i.RCC_AdjustHSICalibrationValue), (24 bytes).
Removing stm32f10x_rcc.o(i.RCC_BackupResetCmd), (12 bytes).
Removing stm32f10x_rcc.o(i.RCC_ClearFlag), (20 bytes).
Removing stm32f10x_rcc.o(i.RCC_ClearITPendingBit), (12 bytes).
Removing stm32f10x_rcc.o(i.RCC_ClockSecuritySystemCmd), (12 bytes).
Removing stm32f10x_rcc.o(i.RCC_DeInit), (76 bytes).
Removing stm32f10x_rcc.o(i.RCC_GetClocksFreq), (212 bytes).
Removing stm32f10x_rcc.o(i.RCC_GetFlagStatus), (60 bytes).
Removing stm32f10x_rcc.o(i.RCC_GetITStatus), (24 bytes).
Removing stm32f10x_rcc.o(i.RCC_GetSYSCLKSource), (16 bytes).
@ -515,7 +532,6 @@ Removing Unused input sections from the image.
Removing stm32f10x_rcc.o(i.RCC_SYSCLKConfig), (24 bytes).
Removing stm32f10x_rcc.o(i.RCC_USBCLKConfig), (12 bytes).
Removing stm32f10x_rcc.o(i.RCC_WaitForHSEStartUp), (56 bytes).
Removing stm32f10x_rcc.o(.data), (20 bytes).
Removing stm32f10x_rtc.o(i.RTC_ClearFlag), (16 bytes).
Removing stm32f10x_rtc.o(i.RTC_ClearITPendingBit), (16 bytes).
Removing stm32f10x_rtc.o(i.RTC_EnterConfigMode), (20 bytes).
@ -672,13 +688,9 @@ Removing Unused input sections from the image.
Removing stm32f10x_usart.o(i.USART_ClearFlag), (18 bytes).
Removing stm32f10x_usart.o(i.USART_ClockInit), (34 bytes).
Removing stm32f10x_usart.o(i.USART_ClockStructInit), (12 bytes).
Removing stm32f10x_usart.o(i.USART_Cmd), (24 bytes).
Removing stm32f10x_usart.o(i.USART_DMACmd), (18 bytes).
Removing stm32f10x_usart.o(i.USART_DeInit), (156 bytes).
Removing stm32f10x_usart.o(i.USART_GetFlagStatus), (26 bytes).
Removing stm32f10x_usart.o(i.USART_HalfDuplexCmd), (24 bytes).
Removing stm32f10x_usart.o(i.USART_ITConfig), (74 bytes).
Removing stm32f10x_usart.o(i.USART_Init), (216 bytes).
Removing stm32f10x_usart.o(i.USART_IrDACmd), (24 bytes).
Removing stm32f10x_usart.o(i.USART_IrDAConfig), (18 bytes).
Removing stm32f10x_usart.o(i.USART_LINBreakDetectLengthConfig), (18 bytes).
@ -687,7 +699,6 @@ Removing Unused input sections from the image.
Removing stm32f10x_usart.o(i.USART_OverSampling8Cmd), (22 bytes).
Removing stm32f10x_usart.o(i.USART_ReceiverWakeUpCmd), (24 bytes).
Removing stm32f10x_usart.o(i.USART_SendBreak), (10 bytes).
Removing stm32f10x_usart.o(i.USART_SendData), (8 bytes).
Removing stm32f10x_usart.o(i.USART_SetAddress), (18 bytes).
Removing stm32f10x_usart.o(i.USART_SetGuardTime), (16 bytes).
Removing stm32f10x_usart.o(i.USART_SetPrescaler), (16 bytes).
@ -703,11 +714,10 @@ Removing Unused input sections from the image.
Removing stm32f10x_wwdg.o(i.WWDG_SetCounter), (16 bytes).
Removing stm32f10x_wwdg.o(i.WWDG_SetPrescaler), (24 bytes).
Removing stm32f10x_wwdg.o(i.WWDG_SetWindowValue), (40 bytes).
Removing mw_bluetooth.o(i.mw_bluetooth_drv_init), (2 bytes).
Removing mw_bluetooth.o(.bss), (44 bytes).
Removing mw_bluetooth.o(i.mw_get_bluetooth_drv), (40 bytes).
Removing hc06.o(i.hc06_init), (2 bytes).
469 unused section(s) (total 18908 bytes) removed from the image.
459 unused section(s) (total 18128 bytes) removed from the image.
==============================================================================
@ -718,50 +728,51 @@ Image Symbol Table
Symbol Name Value Ov Type Size Object(Section)
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.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/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE
../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE
../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.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 __rtentry2.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 rtexit.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_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 indicate_semi.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 use_no_semi_2.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE
../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE
../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.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 _get_argv_nomalloc.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 no_argv.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 libinit2.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 libshutdown2.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE
../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_w.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.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_stak_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtred_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_rtmem_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_general.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.s 0x00000000 Number 0 defsig.o ABSOLUTE
../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE
../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE
@ -863,40 +874,58 @@ Image Symbol Table
i.NVIC_Init 0x08000358 Section 0 misc.o(i.NVIC_Init)
i.NVIC_PriorityGroupConfig 0x080003c8 Section 0 misc.o(i.NVIC_PriorityGroupConfig)
i.RCC_APB1PeriphClockCmd 0x080003dc Section 0 stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd)
i.RCC_APB2PeriphClockCmd 0x080003fc Section 0 stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd)
i.SetSysClock 0x0800041c Section 0 system_stm32f10x.o(i.SetSysClock)
SetSysClock 0x0800041d Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
i.SetSysClockTo72 0x08000424 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
SetSysClockTo72 0x08000425 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
i.SystemInit 0x08000504 Section 0 system_stm32f10x.o(i.SystemInit)
i.TIM2_IRQHandler 0x08000564 Section 0 interrupt_handler.o(i.TIM2_IRQHandler)
i.TIM_ClearITPendingBit 0x0800057e Section 0 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
i.TIM_Cmd 0x08000584 Section 0 stm32f10x_tim.o(i.TIM_Cmd)
i.TIM_GetITStatus 0x0800059c Section 0 stm32f10x_tim.o(i.TIM_GetITStatus)
i.TIM_ITConfig 0x080005be Section 0 stm32f10x_tim.o(i.TIM_ITConfig)
i.TIM_TimeBaseInit 0x080005d0 Section 0 stm32f10x_tim.o(i.TIM_TimeBaseInit)
i.USART1_IRQHandler 0x08000674 Section 0 interrupt_handler.o(i.USART1_IRQHandler)
i.USART_ClearITPendingBit 0x080006b8 Section 0 stm32f10x_usart.o(i.USART_ClearITPendingBit)
i.USART_GetITStatus 0x080006d6 Section 0 stm32f10x_usart.o(i.USART_GetITStatus)
i.USART_ReceiveData 0x0800072a Section 0 stm32f10x_usart.o(i.USART_ReceiveData)
i._sys_exit 0x08000734 Section 0 bsp_usart.o(i._sys_exit)
i.app_led_change_style_disable 0x0800073c Section 0 app_led.o(i.app_led_change_style_disable)
i.app_led_get_change_style_value 0x08000748 Section 0 app_led.o(i.app_led_get_change_style_value)
app_led_get_change_style_value 0x08000749 Thumb Code 6 app_led.o(i.app_led_get_change_style_value)
i.app_led_marquee 0x08000754 Section 0 app_led.o(i.app_led_marquee)
i.bsp_init 0x08000830 Section 0 main.o(i.bsp_init)
i.bsp_timer_2_init 0x08000838 Section 0 bsp_timer.o(i.bsp_timer_2_init)
bsp_timer_2_init 0x08000839 Thumb Code 94 bsp_timer.o(i.bsp_timer_2_init)
i.bsp_timer_init 0x08000896 Section 0 bsp_timer.o(i.bsp_timer_init)
i.get_systick_ms 0x080008a0 Section 0 mw_soft_timer.o(i.get_systick_ms)
i.main 0x080008ac Section 0 main.o(i.main)
i.mw_get_led_obj 0x080008c4 Section 0 mw_led.o(i.mw_get_led_obj)
i.mw_led0_init 0x080008e0 Section 0 mw_led.o(i.mw_led0_init)
i.mw_led0_off 0x08000918 Section 0 mw_led.o(i.mw_led0_off)
i.mw_led0_on 0x0800092c Section 0 mw_led.o(i.mw_led0_on)
i.mw_led_drv_init 0x08000940 Section 0 mw_led.o(i.mw_led_drv_init)
i.mw_printf_insert_data 0x0800097c Section 0 mw_printf.o(i.mw_printf_insert_data)
i.mw_soft_timer_user_systick_update 0x080009a4 Section 0 mw_soft_timer.o(i.mw_soft_timer_user_systick_update)
i.RCC_APB1PeriphResetCmd 0x080003fc Section 0 stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd)
i.RCC_APB2PeriphClockCmd 0x0800041c Section 0 stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd)
i.RCC_APB2PeriphResetCmd 0x0800043c Section 0 stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd)
i.RCC_GetClocksFreq 0x0800045c Section 0 stm32f10x_rcc.o(i.RCC_GetClocksFreq)
i.SetSysClock 0x08000530 Section 0 system_stm32f10x.o(i.SetSysClock)
SetSysClock 0x08000531 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
i.SetSysClockTo72 0x08000538 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
SetSysClockTo72 0x08000539 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
i.SystemInit 0x08000618 Section 0 system_stm32f10x.o(i.SystemInit)
i.TIM2_IRQHandler 0x08000678 Section 0 interrupt_handler.o(i.TIM2_IRQHandler)
i.TIM_ClearITPendingBit 0x08000692 Section 0 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
i.TIM_Cmd 0x08000698 Section 0 stm32f10x_tim.o(i.TIM_Cmd)
i.TIM_GetITStatus 0x080006b0 Section 0 stm32f10x_tim.o(i.TIM_GetITStatus)
i.TIM_ITConfig 0x080006d2 Section 0 stm32f10x_tim.o(i.TIM_ITConfig)
i.TIM_TimeBaseInit 0x080006e4 Section 0 stm32f10x_tim.o(i.TIM_TimeBaseInit)
i.USART1_IRQHandler 0x08000788 Section 0 interrupt_handler.o(i.USART1_IRQHandler)
i.USART_ClearITPendingBit 0x080007cc Section 0 stm32f10x_usart.o(i.USART_ClearITPendingBit)
i.USART_Cmd 0x080007ea Section 0 stm32f10x_usart.o(i.USART_Cmd)
i.USART_DeInit 0x08000804 Section 0 stm32f10x_usart.o(i.USART_DeInit)
i.USART_GetITStatus 0x080008a0 Section 0 stm32f10x_usart.o(i.USART_GetITStatus)
i.USART_ITConfig 0x080008f4 Section 0 stm32f10x_usart.o(i.USART_ITConfig)
i.USART_Init 0x08000940 Section 0 stm32f10x_usart.o(i.USART_Init)
i.USART_ReceiveData 0x08000a18 Section 0 stm32f10x_usart.o(i.USART_ReceiveData)
i.USART_SendData 0x08000a22 Section 0 stm32f10x_usart.o(i.USART_SendData)
i._sys_exit 0x08000a2a Section 0 bsp_usart.o(i._sys_exit)
i.app_led_change_style_disable 0x08000a30 Section 0 app_led.o(i.app_led_change_style_disable)
i.app_led_get_change_style_value 0x08000a3c Section 0 app_led.o(i.app_led_get_change_style_value)
app_led_get_change_style_value 0x08000a3d Thumb Code 6 app_led.o(i.app_led_get_change_style_value)
i.app_led_marquee 0x08000a48 Section 0 app_led.o(i.app_led_marquee)
i.bsp_init 0x08000b24 Section 0 main.o(i.bsp_init)
i.bsp_timer_2_init 0x08000b2c Section 0 bsp_timer.o(i.bsp_timer_2_init)
bsp_timer_2_init 0x08000b2d Thumb Code 94 bsp_timer.o(i.bsp_timer_2_init)
i.bsp_timer_init 0x08000b8a Section 0 bsp_timer.o(i.bsp_timer_init)
i.get_systick_ms 0x08000b94 Section 0 mw_soft_timer.o(i.get_systick_ms)
i.main 0x08000ba0 Section 0 main.o(i.main)
i.middleware_init 0x08000bb8 Section 0 main.o(i.middleware_init)
i.mw_bluetooth_drv_init 0x08000bc4 Section 0 mw_bluetooth.o(i.mw_bluetooth_drv_init)
i.mw_get_led_obj 0x08000bfc Section 0 mw_led.o(i.mw_get_led_obj)
i.mw_led0_init 0x08000c18 Section 0 mw_led.o(i.mw_led0_init)
i.mw_led0_off 0x08000c50 Section 0 mw_led.o(i.mw_led0_off)
i.mw_led0_on 0x08000c64 Section 0 mw_led.o(i.mw_led0_on)
i.mw_led_drv_init 0x08000c78 Section 0 mw_led.o(i.mw_led_drv_init)
i.mw_printf_insert_data 0x08000cb4 Section 0 mw_printf.o(i.mw_printf_insert_data)
i.mw_receive_one_byte 0x08000cdc Section 0 mw_bluetooth.o(i.mw_receive_one_byte)
mw_receive_one_byte 0x08000cdd Thumb Code 12 mw_bluetooth.o(i.mw_receive_one_byte)
i.mw_send_one_byte 0x08000cec Section 0 mw_bluetooth.o(i.mw_send_one_byte)
mw_send_one_byte 0x08000ced Thumb Code 16 mw_bluetooth.o(i.mw_send_one_byte)
i.mw_soft_timer_user_systick_update 0x08000d00 Section 0 mw_soft_timer.o(i.mw_soft_timer_user_systick_update)
i.mw_usart_deinit 0x08000d10 Section 0 mw_bluetooth.o(i.mw_usart_deinit)
mw_usart_deinit 0x08000d11 Thumb Code 12 mw_bluetooth.o(i.mw_usart_deinit)
i.mw_usart_init 0x08000d20 Section 0 mw_bluetooth.o(i.mw_usart_init)
mw_usart_init 0x08000d21 Thumb Code 176 mw_bluetooth.o(i.mw_usart_init)
.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)
@ -905,14 +934,18 @@ Image Symbol Table
mw_printf_cache_head 0x20000008 Data 2 mw_printf.o(.data)
.data 0x2000000c Section 4 mw_soft_timer.o(.data)
systick_ms 0x2000000c Data 4 mw_soft_timer.o(.data)
.bss 0x20000010 Section 16 mw_led.o(.bss)
.bss 0x20000020 Section 50 mw_printf.o(.bss)
.bss 0x20000054 Section 96 libspace.o(.bss)
HEAP 0x200000b8 Section 512 startup_stm32f10x_md.o(HEAP)
Heap_Mem 0x200000b8 Data 512 startup_stm32f10x_md.o(HEAP)
STACK 0x200002b8 Section 1024 startup_stm32f10x_md.o(STACK)
Stack_Mem 0x200002b8 Data 1024 startup_stm32f10x_md.o(STACK)
__initial_sp 0x200006b8 Data 0 startup_stm32f10x_md.o(STACK)
.data 0x20000010 Section 20 stm32f10x_rcc.o(.data)
APBAHBPrescTable 0x20000010 Data 16 stm32f10x_rcc.o(.data)
ADCPrescTable 0x20000020 Data 4 stm32f10x_rcc.o(.data)
.bss 0x20000024 Section 16 mw_led.o(.bss)
.bss 0x20000034 Section 50 mw_printf.o(.bss)
.bss 0x20000068 Section 40 mw_bluetooth.o(.bss)
.bss 0x20000090 Section 96 libspace.o(.bss)
HEAP 0x200000f0 Section 512 startup_stm32f10x_md.o(HEAP)
Heap_Mem 0x200000f0 Data 512 startup_stm32f10x_md.o(HEAP)
STACK 0x200002f0 Section 1024 startup_stm32f10x_md.o(STACK)
Stack_Mem 0x200002f0 Data 1024 startup_stm32f10x_md.o(STACK)
__initial_sp 0x200006f0 Data 0 startup_stm32f10x_md.o(STACK)
Global Symbols
@ -1070,38 +1103,49 @@ Image Symbol Table
NVIC_Init 0x08000359 Thumb Code 100 misc.o(i.NVIC_Init)
NVIC_PriorityGroupConfig 0x080003c9 Thumb Code 10 misc.o(i.NVIC_PriorityGroupConfig)
RCC_APB1PeriphClockCmd 0x080003dd Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd)
RCC_APB2PeriphClockCmd 0x080003fd Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd)
SystemInit 0x08000505 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
TIM2_IRQHandler 0x08000565 Thumb Code 26 interrupt_handler.o(i.TIM2_IRQHandler)
TIM_ClearITPendingBit 0x0800057f Thumb Code 6 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
TIM_Cmd 0x08000585 Thumb Code 24 stm32f10x_tim.o(i.TIM_Cmd)
TIM_GetITStatus 0x0800059d Thumb Code 34 stm32f10x_tim.o(i.TIM_GetITStatus)
TIM_ITConfig 0x080005bf Thumb Code 18 stm32f10x_tim.o(i.TIM_ITConfig)
TIM_TimeBaseInit 0x080005d1 Thumb Code 122 stm32f10x_tim.o(i.TIM_TimeBaseInit)
USART1_IRQHandler 0x08000675 Thumb Code 62 interrupt_handler.o(i.USART1_IRQHandler)
USART_ClearITPendingBit 0x080006b9 Thumb Code 30 stm32f10x_usart.o(i.USART_ClearITPendingBit)
USART_GetITStatus 0x080006d7 Thumb Code 84 stm32f10x_usart.o(i.USART_GetITStatus)
USART_ReceiveData 0x0800072b Thumb Code 10 stm32f10x_usart.o(i.USART_ReceiveData)
_sys_exit 0x08000735 Thumb Code 6 bsp_usart.o(i._sys_exit)
app_led_change_style_disable 0x0800073d Thumb Code 8 app_led.o(i.app_led_change_style_disable)
app_led_marquee 0x08000755 Thumb Code 212 app_led.o(i.app_led_marquee)
bsp_init 0x08000831 Thumb Code 8 main.o(i.bsp_init)
bsp_timer_init 0x08000897 Thumb Code 8 bsp_timer.o(i.bsp_timer_init)
get_systick_ms 0x080008a1 Thumb Code 6 mw_soft_timer.o(i.get_systick_ms)
main 0x080008ad Thumb Code 24 main.o(i.main)
mw_get_led_obj 0x080008c5 Thumb Code 24 mw_led.o(i.mw_get_led_obj)
mw_led0_init 0x080008e1 Thumb Code 50 mw_led.o(i.mw_led0_init)
mw_led0_off 0x08000919 Thumb Code 14 mw_led.o(i.mw_led0_off)
mw_led0_on 0x0800092d Thumb Code 14 mw_led.o(i.mw_led0_on)
mw_led_drv_init 0x08000941 Thumb Code 44 mw_led.o(i.mw_led_drv_init)
mw_printf_insert_data 0x0800097d Thumb Code 30 mw_printf.o(i.mw_printf_insert_data)
mw_soft_timer_user_systick_update 0x080009a5 Thumb Code 12 mw_soft_timer.o(i.mw_soft_timer_user_systick_update)
Region$$Table$$Base 0x080009b4 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080009d4 Number 0 anon$$obj.o(Region$$Table)
led_drv_buf 0x20000010 Data 16 mw_led.o(.bss)
mw_printf_buf 0x20000020 Data 50 mw_printf.o(.bss)
__libspace_start 0x20000054 Data 96 libspace.o(.bss)
__temporary_stack_top$libspace 0x200000b4 Data 0 libspace.o(.bss)
RCC_APB1PeriphResetCmd 0x080003fd Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd)
RCC_APB2PeriphClockCmd 0x0800041d Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd)
RCC_APB2PeriphResetCmd 0x0800043d Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd)
RCC_GetClocksFreq 0x0800045d Thumb Code 192 stm32f10x_rcc.o(i.RCC_GetClocksFreq)
SystemInit 0x08000619 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
TIM2_IRQHandler 0x08000679 Thumb Code 26 interrupt_handler.o(i.TIM2_IRQHandler)
TIM_ClearITPendingBit 0x08000693 Thumb Code 6 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
TIM_Cmd 0x08000699 Thumb Code 24 stm32f10x_tim.o(i.TIM_Cmd)
TIM_GetITStatus 0x080006b1 Thumb Code 34 stm32f10x_tim.o(i.TIM_GetITStatus)
TIM_ITConfig 0x080006d3 Thumb Code 18 stm32f10x_tim.o(i.TIM_ITConfig)
TIM_TimeBaseInit 0x080006e5 Thumb Code 122 stm32f10x_tim.o(i.TIM_TimeBaseInit)
USART1_IRQHandler 0x08000789 Thumb Code 62 interrupt_handler.o(i.USART1_IRQHandler)
USART_ClearITPendingBit 0x080007cd Thumb Code 30 stm32f10x_usart.o(i.USART_ClearITPendingBit)
USART_Cmd 0x080007eb Thumb Code 24 stm32f10x_usart.o(i.USART_Cmd)
USART_DeInit 0x08000805 Thumb Code 134 stm32f10x_usart.o(i.USART_DeInit)
USART_GetITStatus 0x080008a1 Thumb Code 84 stm32f10x_usart.o(i.USART_GetITStatus)
USART_ITConfig 0x080008f5 Thumb Code 74 stm32f10x_usart.o(i.USART_ITConfig)
USART_Init 0x08000941 Thumb Code 210 stm32f10x_usart.o(i.USART_Init)
USART_ReceiveData 0x08000a19 Thumb Code 10 stm32f10x_usart.o(i.USART_ReceiveData)
USART_SendData 0x08000a23 Thumb Code 8 stm32f10x_usart.o(i.USART_SendData)
_sys_exit 0x08000a2b Thumb Code 6 bsp_usart.o(i._sys_exit)
app_led_change_style_disable 0x08000a31 Thumb Code 8 app_led.o(i.app_led_change_style_disable)
app_led_marquee 0x08000a49 Thumb Code 212 app_led.o(i.app_led_marquee)
bsp_init 0x08000b25 Thumb Code 8 main.o(i.bsp_init)
bsp_timer_init 0x08000b8b Thumb Code 8 bsp_timer.o(i.bsp_timer_init)
get_systick_ms 0x08000b95 Thumb Code 6 mw_soft_timer.o(i.get_systick_ms)
main 0x08000ba1 Thumb Code 24 main.o(i.main)
middleware_init 0x08000bb9 Thumb Code 12 main.o(i.middleware_init)
mw_bluetooth_drv_init 0x08000bc5 Thumb Code 30 mw_bluetooth.o(i.mw_bluetooth_drv_init)
mw_get_led_obj 0x08000bfd Thumb Code 24 mw_led.o(i.mw_get_led_obj)
mw_led0_init 0x08000c19 Thumb Code 50 mw_led.o(i.mw_led0_init)
mw_led0_off 0x08000c51 Thumb Code 14 mw_led.o(i.mw_led0_off)
mw_led0_on 0x08000c65 Thumb Code 14 mw_led.o(i.mw_led0_on)
mw_led_drv_init 0x08000c79 Thumb Code 44 mw_led.o(i.mw_led_drv_init)
mw_printf_insert_data 0x08000cb5 Thumb Code 30 mw_printf.o(i.mw_printf_insert_data)
mw_soft_timer_user_systick_update 0x08000d01 Thumb Code 12 mw_soft_timer.o(i.mw_soft_timer_user_systick_update)
Region$$Table$$Base 0x08000dd8 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08000df8 Number 0 anon$$obj.o(Region$$Table)
led_drv_buf 0x20000024 Data 16 mw_led.o(.bss)
mw_printf_buf 0x20000034 Data 50 mw_printf.o(.bss)
bluetooth_drv_buf 0x20000068 Data 40 mw_bluetooth.o(.bss)
__libspace_start 0x20000090 Data 96 libspace.o(.bss)
__temporary_stack_top$libspace 0x200000f0 Data 0 libspace.o(.bss)
@ -1111,126 +1155,142 @@ Memory Map of the image
Image Entry point : 0x080000ed
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000009e4, Max: 0x00010000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000e1c, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000009d4, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000df8, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 417 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000008 Code RO 3485 * !!!main c_w.l(__main.o)
0x080000f4 0x080000f4 0x00000034 Code RO 3642 !!!scatter c_w.l(__scatter.o)
0x08000128 0x08000128 0x0000001a Code RO 3644 !!handler_copy c_w.l(__scatter_copy.o)
0x08000000 0x08000000 0x000000ec Data RO 426 RESET startup_stm32f10x_md.o
0x080000ec 0x080000ec 0x00000008 Code RO 3522 * !!!main c_w.l(__main.o)
0x080000f4 0x080000f4 0x00000034 Code RO 3679 !!!scatter c_w.l(__scatter.o)
0x08000128 0x08000128 0x0000001a Code RO 3681 !!handler_copy c_w.l(__scatter_copy.o)
0x08000142 0x08000142 0x00000002 PAD
0x08000144 0x08000144 0x0000001c Code RO 3646 !!handler_zi c_w.l(__scatter_zi.o)
0x08000160 0x08000160 0x00000002 Code RO 3514 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x08000162 0x08000162 0x00000000 Code RO 3521 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3523 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3526 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3528 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3530 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3533 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3535 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3537 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3539 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3541 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3543 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3545 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3547 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3549 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3551 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3553 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3557 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3559 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3561 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3563 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000002 Code RO 3564 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o)
0x08000164 0x08000164 0x00000002 Code RO 3582 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
0x08000166 0x08000166 0x00000000 Code RO 3592 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3594 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3596 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3599 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3602 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3604 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3607 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000002 Code RO 3608 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o)
0x08000168 0x08000168 0x00000000 Code RO 3489 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
0x08000168 0x08000168 0x00000000 Code RO 3491 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x08000168 0x08000168 0x00000006 Code RO 3503 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
0x0800016e 0x0800016e 0x00000000 Code RO 3493 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0800016e 0x0800016e 0x00000004 Code RO 3494 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000000 Code RO 3496 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000008 Code RO 3497 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
0x0800017a 0x0800017a 0x00000002 Code RO 3518 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
0x0800017c 0x0800017c 0x00000000 Code RO 3566 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0800017c 0x0800017c 0x00000004 Code RO 3567 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
0x08000180 0x08000180 0x00000006 Code RO 3568 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x08000144 0x08000144 0x0000001c Code RO 3683 !!handler_zi c_w.l(__scatter_zi.o)
0x08000160 0x08000160 0x00000002 Code RO 3551 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x08000162 0x08000162 0x00000000 Code RO 3558 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3560 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3563 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3565 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3567 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3570 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3572 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3574 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3576 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3578 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3580 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3582 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3584 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3586 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3588 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3590 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3594 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3596 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3598 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 3600 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000002 Code RO 3601 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o)
0x08000164 0x08000164 0x00000002 Code RO 3619 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
0x08000166 0x08000166 0x00000000 Code RO 3629 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3631 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3633 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3636 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3639 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3641 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 3644 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000002 Code RO 3645 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o)
0x08000168 0x08000168 0x00000000 Code RO 3526 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
0x08000168 0x08000168 0x00000000 Code RO 3528 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x08000168 0x08000168 0x00000006 Code RO 3540 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
0x0800016e 0x0800016e 0x00000000 Code RO 3530 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0800016e 0x0800016e 0x00000004 Code RO 3531 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000000 Code RO 3533 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000008 Code RO 3534 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
0x0800017a 0x0800017a 0x00000002 Code RO 3555 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
0x0800017c 0x0800017c 0x00000000 Code RO 3603 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0800017c 0x0800017c 0x00000004 Code RO 3604 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
0x08000180 0x08000180 0x00000006 Code RO 3605 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x08000186 0x08000186 0x00000002 PAD
0x08000188 0x08000188 0x00000040 Code RO 418 .text startup_stm32f10x_md.o
0x080001c8 0x080001c8 0x00000002 Code RO 3481 .text c_w.l(use_no_semi_2.o)
0x080001ca 0x080001ca 0x00000006 Code RO 3483 .text c_w.l(heapauxi.o)
0x080001d0 0x080001d0 0x00000002 Code RO 3487 .text c_w.l(use_no_semi.o)
0x080001d2 0x080001d2 0x0000004a Code RO 3505 .text c_w.l(sys_stackheap_outer.o)
0x0800021c 0x0800021c 0x00000012 Code RO 3507 .text c_w.l(exit.o)
0x08000188 0x08000188 0x00000040 Code RO 427 .text startup_stm32f10x_md.o
0x080001c8 0x080001c8 0x00000002 Code RO 3516 .text c_w.l(use_no_semi_2.o)
0x080001ca 0x080001ca 0x00000006 Code RO 3520 .text c_w.l(heapauxi.o)
0x080001d0 0x080001d0 0x00000002 Code RO 3524 .text c_w.l(use_no_semi.o)
0x080001d2 0x080001d2 0x0000004a Code RO 3542 .text c_w.l(sys_stackheap_outer.o)
0x0800021c 0x0800021c 0x00000012 Code RO 3544 .text c_w.l(exit.o)
0x0800022e 0x0800022e 0x00000002 PAD
0x08000230 0x08000230 0x00000008 Code RO 3515 .text c_w.l(libspace.o)
0x08000238 0x08000238 0x00000116 Code RO 1597 i.GPIO_Init stm32f10x_gpio.o
0x0800034e 0x0800034e 0x00000004 Code RO 1604 i.GPIO_ResetBits stm32f10x_gpio.o
0x08000352 0x08000352 0x00000004 Code RO 1605 i.GPIO_SetBits stm32f10x_gpio.o
0x08000230 0x08000230 0x00000008 Code RO 3552 .text c_w.l(libspace.o)
0x08000238 0x08000238 0x00000116 Code RO 1606 i.GPIO_Init stm32f10x_gpio.o
0x0800034e 0x0800034e 0x00000004 Code RO 1613 i.GPIO_ResetBits stm32f10x_gpio.o
0x08000352 0x08000352 0x00000004 Code RO 1614 i.GPIO_SetBits stm32f10x_gpio.o
0x08000356 0x08000356 0x00000002 PAD
0x08000358 0x08000358 0x00000070 Code RO 422 i.NVIC_Init misc.o
0x080003c8 0x080003c8 0x00000014 Code RO 423 i.NVIC_PriorityGroupConfig misc.o
0x080003dc 0x080003dc 0x00000020 Code RO 2016 i.RCC_APB1PeriphClockCmd stm32f10x_rcc.o
0x080003fc 0x080003fc 0x00000020 Code RO 2018 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o
0x0800041c 0x0800041c 0x00000008 Code RO 381 i.SetSysClock system_stm32f10x.o
0x08000424 0x08000424 0x000000e0 Code RO 382 i.SetSysClockTo72 system_stm32f10x.o
0x08000504 0x08000504 0x00000060 Code RO 384 i.SystemInit system_stm32f10x.o
0x08000564 0x08000564 0x0000001a Code RO 3428 i.TIM2_IRQHandler interrupt_handler.o
0x0800057e 0x0800057e 0x00000006 Code RO 2654 i.TIM_ClearITPendingBit stm32f10x_tim.o
0x08000584 0x08000584 0x00000018 Code RO 2659 i.TIM_Cmd stm32f10x_tim.o
0x0800059c 0x0800059c 0x00000022 Code RO 2680 i.TIM_GetITStatus stm32f10x_tim.o
0x080005be 0x080005be 0x00000012 Code RO 2684 i.TIM_ITConfig stm32f10x_tim.o
0x080005d0 0x080005d0 0x000000a4 Code RO 2730 i.TIM_TimeBaseInit stm32f10x_tim.o
0x08000674 0x08000674 0x00000044 Code RO 3429 i.USART1_IRQHandler interrupt_handler.o
0x080006b8 0x080006b8 0x0000001e Code RO 3192 i.USART_ClearITPendingBit stm32f10x_usart.o
0x080006d6 0x080006d6 0x00000054 Code RO 3199 i.USART_GetITStatus stm32f10x_usart.o
0x0800072a 0x0800072a 0x0000000a Code RO 3209 i.USART_ReceiveData stm32f10x_usart.o
0x08000734 0x08000734 0x00000006 Code RO 330 i._sys_exit bsp_usart.o
0x0800073a 0x0800073a 0x00000002 PAD
0x0800073c 0x0800073c 0x0000000c Code RO 122 i.app_led_change_style_disable app_led.o
0x08000748 0x08000748 0x0000000c Code RO 124 i.app_led_get_change_style_value app_led.o
0x08000754 0x08000754 0x000000dc Code RO 125 i.app_led_marquee app_led.o
0x08000830 0x08000830 0x00000008 Code RO 1 i.bsp_init main.o
0x08000838 0x08000838 0x0000005e Code RO 307 i.bsp_timer_2_init bsp_timer.o
0x08000896 0x08000896 0x00000008 Code RO 308 i.bsp_timer_init bsp_timer.o
0x0800089e 0x0800089e 0x00000002 PAD
0x080008a0 0x080008a0 0x0000000c Code RO 287 i.get_systick_ms mw_soft_timer.o
0x080008ac 0x080008ac 0x00000018 Code RO 2 i.main main.o
0x080008c4 0x080008c4 0x0000001c Code RO 229 i.mw_get_led_obj mw_led.o
0x080008e0 0x080008e0 0x00000038 Code RO 230 i.mw_led0_init mw_led.o
0x08000918 0x08000918 0x00000014 Code RO 231 i.mw_led0_off mw_led.o
0x0800092c 0x0800092c 0x00000014 Code RO 232 i.mw_led0_on mw_led.o
0x08000940 0x08000940 0x0000003c Code RO 233 i.mw_led_drv_init mw_led.o
0x0800097c 0x0800097c 0x00000028 Code RO 268 i.mw_printf_insert_data mw_printf.o
0x080009a4 0x080009a4 0x00000010 Code RO 288 i.mw_soft_timer_user_systick_update mw_soft_timer.o
0x080009b4 0x080009b4 0x00000020 Data RO 3640 Region$$Table anon$$obj.o
0x08000358 0x08000358 0x00000070 Code RO 431 i.NVIC_Init misc.o
0x080003c8 0x080003c8 0x00000014 Code RO 432 i.NVIC_PriorityGroupConfig misc.o
0x080003dc 0x080003dc 0x00000020 Code RO 2025 i.RCC_APB1PeriphClockCmd stm32f10x_rcc.o
0x080003fc 0x080003fc 0x00000020 Code RO 2026 i.RCC_APB1PeriphResetCmd stm32f10x_rcc.o
0x0800041c 0x0800041c 0x00000020 Code RO 2027 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o
0x0800043c 0x0800043c 0x00000020 Code RO 2028 i.RCC_APB2PeriphResetCmd stm32f10x_rcc.o
0x0800045c 0x0800045c 0x000000d4 Code RO 2035 i.RCC_GetClocksFreq stm32f10x_rcc.o
0x08000530 0x08000530 0x00000008 Code RO 390 i.SetSysClock system_stm32f10x.o
0x08000538 0x08000538 0x000000e0 Code RO 391 i.SetSysClockTo72 system_stm32f10x.o
0x08000618 0x08000618 0x00000060 Code RO 393 i.SystemInit system_stm32f10x.o
0x08000678 0x08000678 0x0000001a Code RO 3437 i.TIM2_IRQHandler interrupt_handler.o
0x08000692 0x08000692 0x00000006 Code RO 2663 i.TIM_ClearITPendingBit stm32f10x_tim.o
0x08000698 0x08000698 0x00000018 Code RO 2668 i.TIM_Cmd stm32f10x_tim.o
0x080006b0 0x080006b0 0x00000022 Code RO 2689 i.TIM_GetITStatus stm32f10x_tim.o
0x080006d2 0x080006d2 0x00000012 Code RO 2693 i.TIM_ITConfig stm32f10x_tim.o
0x080006e4 0x080006e4 0x000000a4 Code RO 2739 i.TIM_TimeBaseInit stm32f10x_tim.o
0x08000788 0x08000788 0x00000044 Code RO 3438 i.USART1_IRQHandler interrupt_handler.o
0x080007cc 0x080007cc 0x0000001e Code RO 3201 i.USART_ClearITPendingBit stm32f10x_usart.o
0x080007ea 0x080007ea 0x00000018 Code RO 3204 i.USART_Cmd stm32f10x_usart.o
0x08000802 0x08000802 0x00000002 PAD
0x08000804 0x08000804 0x0000009c Code RO 3206 i.USART_DeInit stm32f10x_usart.o
0x080008a0 0x080008a0 0x00000054 Code RO 3208 i.USART_GetITStatus stm32f10x_usart.o
0x080008f4 0x080008f4 0x0000004a Code RO 3210 i.USART_ITConfig stm32f10x_usart.o
0x0800093e 0x0800093e 0x00000002 PAD
0x08000940 0x08000940 0x000000d8 Code RO 3211 i.USART_Init stm32f10x_usart.o
0x08000a18 0x08000a18 0x0000000a Code RO 3218 i.USART_ReceiveData stm32f10x_usart.o
0x08000a22 0x08000a22 0x00000008 Code RO 3221 i.USART_SendData stm32f10x_usart.o
0x08000a2a 0x08000a2a 0x00000006 Code RO 339 i._sys_exit bsp_usart.o
0x08000a30 0x08000a30 0x0000000c Code RO 131 i.app_led_change_style_disable app_led.o
0x08000a3c 0x08000a3c 0x0000000c Code RO 133 i.app_led_get_change_style_value app_led.o
0x08000a48 0x08000a48 0x000000dc Code RO 134 i.app_led_marquee app_led.o
0x08000b24 0x08000b24 0x00000008 Code RO 1 i.bsp_init main.o
0x08000b2c 0x08000b2c 0x0000005e Code RO 316 i.bsp_timer_2_init bsp_timer.o
0x08000b8a 0x08000b8a 0x00000008 Code RO 317 i.bsp_timer_init bsp_timer.o
0x08000b92 0x08000b92 0x00000002 PAD
0x08000b94 0x08000b94 0x0000000c Code RO 296 i.get_systick_ms mw_soft_timer.o
0x08000ba0 0x08000ba0 0x00000018 Code RO 2 i.main main.o
0x08000bb8 0x08000bb8 0x0000000c Code RO 3 i.middleware_init main.o
0x08000bc4 0x08000bc4 0x00000038 Code RO 3455 i.mw_bluetooth_drv_init mw_bluetooth.o
0x08000bfc 0x08000bfc 0x0000001c Code RO 238 i.mw_get_led_obj mw_led.o
0x08000c18 0x08000c18 0x00000038 Code RO 239 i.mw_led0_init mw_led.o
0x08000c50 0x08000c50 0x00000014 Code RO 240 i.mw_led0_off mw_led.o
0x08000c64 0x08000c64 0x00000014 Code RO 241 i.mw_led0_on mw_led.o
0x08000c78 0x08000c78 0x0000003c Code RO 242 i.mw_led_drv_init mw_led.o
0x08000cb4 0x08000cb4 0x00000028 Code RO 277 i.mw_printf_insert_data mw_printf.o
0x08000cdc 0x08000cdc 0x00000010 Code RO 3457 i.mw_receive_one_byte mw_bluetooth.o
0x08000cec 0x08000cec 0x00000014 Code RO 3458 i.mw_send_one_byte mw_bluetooth.o
0x08000d00 0x08000d00 0x00000010 Code RO 297 i.mw_soft_timer_user_systick_update mw_soft_timer.o
0x08000d10 0x08000d10 0x00000010 Code RO 3459 i.mw_usart_deinit mw_bluetooth.o
0x08000d20 0x08000d20 0x000000b8 Code RO 3460 i.mw_usart_init mw_bluetooth.o
0x08000dd8 0x08000dd8 0x00000020 Data RO 3677 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080009d4, Size: 0x000006b8, Max: 0x00005000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000df8, Size: 0x000006f0, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x080009d4 0x00000008 Data RW 126 .data app_led.o
0x20000008 0x080009dc 0x00000002 Data RW 270 .data mw_printf.o
0x2000000a 0x080009de 0x00000002 PAD
0x2000000c 0x080009e0 0x00000004 Data RW 289 .data mw_soft_timer.o
0x20000010 - 0x00000010 Zero RW 234 .bss mw_led.o
0x20000020 - 0x00000032 Zero RW 269 .bss mw_printf.o
0x20000052 0x080009e4 0x00000002 PAD
0x20000054 - 0x00000060 Zero RW 3516 .bss c_w.l(libspace.o)
0x200000b4 0x080009e4 0x00000004 PAD
0x200000b8 - 0x00000200 Zero RW 416 HEAP startup_stm32f10x_md.o
0x200002b8 - 0x00000400 Zero RW 415 STACK startup_stm32f10x_md.o
0x20000000 0x08000df8 0x00000008 Data RW 135 .data app_led.o
0x20000008 0x08000e00 0x00000002 Data RW 279 .data mw_printf.o
0x2000000a 0x08000e02 0x00000002 PAD
0x2000000c 0x08000e04 0x00000004 Data RW 298 .data mw_soft_timer.o
0x20000010 0x08000e08 0x00000014 Data RW 2055 .data stm32f10x_rcc.o
0x20000024 - 0x00000010 Zero RW 243 .bss mw_led.o
0x20000034 - 0x00000032 Zero RW 278 .bss mw_printf.o
0x20000066 0x08000e1c 0x00000002 PAD
0x20000068 - 0x00000028 Zero RW 3461 .bss mw_bluetooth.o
0x20000090 - 0x00000060 Zero RW 3553 .bss c_w.l(libspace.o)
0x200000f0 - 0x00000200 Zero RW 425 HEAP startup_stm32f10x_md.o
0x200002f0 - 0x00000400 Zero RW 424 STACK startup_stm32f10x_md.o
==============================================================================
@ -1240,27 +1300,28 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
244 18 0 8 0 10253 app_led.o
102 0 0 0 0 23521 bsp_timer.o
6 0 0 0 0 9164 bsp_usart.o
244 18 0 8 0 18257 app_led.o
102 0 0 0 0 23461 bsp_timer.o
6 0 0 0 0 9136 bsp_usart.o
0 0 0 0 0 32 core_cm3.o
94 6 0 0 0 1006 interrupt_handler.o
32 0 0 0 0 211514 main.o
132 22 0 0 0 1951 misc.o
184 38 0 0 16 3295 mw_led.o
40 10 0 2 50 1260 mw_printf.o
28 10 0 4 0 1593 mw_soft_timer.o
64 26 236 0 1536 984 startup_stm32f10x_md.o
286 0 0 0 0 3560 stm32f10x_gpio.o
64 12 0 0 0 1378 stm32f10x_rcc.o
246 42 0 0 0 4326 stm32f10x_tim.o
124 0 0 0 0 10234 stm32f10x_usart.o
328 28 0 0 0 2585 system_stm32f10x.o
94 6 0 0 0 974 interrupt_handler.o
44 0 0 0 0 221740 main.o
132 22 0 0 0 1911 misc.o
292 46 0 0 40 3392 mw_bluetooth.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
286 0 0 0 0 3500 stm32f10x_gpio.o
340 44 0 20 0 15332 stm32f10x_rcc.o
246 42 0 0 0 4234 stm32f10x_tim.o
602 28 0 0 0 14080 stm32f10x_usart.o
328 28 0 0 0 2529 system_stm32f10x.o
----------------------------------------------------------------------
1980 212 268 16 1604 286656 Object Totals
3040 318 268 36 1644 325502 Object Totals
0 0 32 0 0 0 (incl. Generated)
6 0 0 2 2 0 (incl. Padding)
8 0 0 2 2 0 (incl. Padding)
----------------------------------------------------------------------
@ -1287,8 +1348,8 @@ Image component sizes
2 0 0 0 0 68 use_no_semi_2.o
----------------------------------------------------------------------
268 12 0 0 100 584 Library Totals
6 0 0 0 4 0 (incl. Padding)
268 12 0 0 96 584 Library Totals
6 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
@ -1297,7 +1358,7 @@ Image component sizes
262 12 0 0 96 584 c_w.l
----------------------------------------------------------------------
268 12 0 0 100 584 Library Totals
268 12 0 0 96 584 Library Totals
----------------------------------------------------------------------
@ -1306,15 +1367,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
2248 224 268 16 1704 285416 Grand Totals
2248 224 268 16 1704 285416 ELF Image Totals
2248 224 268 16 0 0 ROM Totals
3308 330 268 36 1740 323534 Grand Totals
3308 330 268 36 1740 323534 ELF Image Totals
3308 330 268 36 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 2516 ( 2.46kB)
Total RW Size (RW Data + ZI Data) 1720 ( 1.68kB)
Total ROM Size (Code + RO Data + RW Data) 2532 ( 2.47kB)
Total RO Size (Code + RO Data) 3576 ( 3.49kB)
Total RW Size (RW Data + ZI Data) 1776 ( 1.73kB)
Total ROM Size (Code + RO Data + RW Data) 3612 ( 3.53kB)
==============================================================================

View File

@ -17,8 +17,8 @@
<TargetCommonOption>
<Device>STM32F103C8</Device>
<Vendor>STMicroelectronics</Vendor>
<PackID>Keil.STM32F1xx_DFP.2.4.1</PackID>
<PackURL>https://www.keil.com/pack/</PackURL>
<PackID>Keil.STM32F1xx_DFP.1.0.5</PackID>
<PackURL>http://www.keil.com/pack/</PackURL>
<Cpu>IRAM(0x20000000,0x5000) IROM(0x08000000,0x10000) CPUTYPE("Cortex-M3") CLOCK(12000000) ELITTLE</Cpu>
<FlashUtilSpec></FlashUtilSpec>
<StartupFile></StartupFile>