diff --git a/Code/SmartCarV1.code-workspace b/Code/SmartCarV1.code-workspace
index 7e8e9c7..7473510 100644
--- a/Code/SmartCarV1.code-workspace
+++ b/Code/SmartCarV1.code-workspace
@@ -6,45 +6,62 @@
],
"settings": {
"files.associations": {
- "app_dwin_gui.h": "c",
- "bsp_common.h": "c",
- "app_common.h": "c",
- "app_alarm.h": "c",
- "app_soft_timer.h": "c",
- "custom_motor_protocol.h": "c",
- "bsp_uart.h": "c",
- "dwin_dgus.h": "c",
- "t5los8051.h": "c",
- "custom_motor.h": "c",
- "motor_task.h": "c",
- "modbus.h": "c",
- "wtvb01_485.h": "c",
- "imu_task.h": "c",
- "sys.h": "c",
- "types.h": "c",
- "screen_comm.h": "c",
- "bsp.h": "c",
- "bsp_system.h": "c",
- "mw_led.h": "c",
- "bsp_usart.h": "c",
- "stm32f10x_usart.h": "c",
- "bsp_gpio.h": "c",
- "stm32f10x.h": "c",
- "stm32f10x_rcc.h": "c",
- "stm32f10x_gpio.h": "c",
- "mw_soft_timer.h": "c",
- "stm32f10x_tim.h": "c",
- "app_led.h": "c",
- "mw_printf.h": "c",
- "stdint.h": "c",
- "misc.h": "c",
- "mw_bluetooth.h": "c",
- "hc06.h": "c",
- "public_diy.h": "c",
- "bsp_timer.h": "c",
- "bsp_led.h": "c",
- "stm32f10x_conf.h": "c"
- },
+ "uart.h": "c",
+ "usb_data.h": "c",
+ "man_control_start.h": "c",
+ "uart2.h": "c",
+ "sys.h": "c",
+ "t5los8051.h": "c",
+ "user.h": "c",
+ "him_showdata.h": "c",
+ "string.h": "c",
+ "types.h": "c",
+ "mw_rtc.h": "c",
+ "mw_io_ctrl.h": "c",
+ "app_io_ctrl.h": "c",
+ "bsp_io.h": "c",
+ "mw_adc_ctrl.h": "c",
+ "app_hardware.h": "c",
+ "app_formula_manage.h": "c",
+ "mw_run_mode_manage.h": "c",
+ "mw_anim.h": "c",
+ "mw_soft_timer.h": "c",
+ "app_dwin_gui.h": "c",
+ "bsp_common.h": "c",
+ "app_common.h": "c",
+ "app_alarm.h": "c",
+ "app_soft_timer.h": "c",
+ "custom_motor_protocol.h": "c",
+ "bsp_uart.h": "c",
+ "dwin_dgus.h": "c",
+ "custom_motor.h": "c",
+ "motor_task.h": "c",
+ "modbus.h": "c",
+ "wtvb01_485.h": "c",
+ "imu_task.h": "c",
+ "screen_comm.h": "c",
+ "bsp.h": "c",
+ "bsp_system.h": "c",
+ "mw_led.h": "c",
+ "bsp_usart.h": "c",
+ "stm32f10x_usart.h": "c",
+ "bsp_gpio.h": "c",
+ "stm32f10x.h": "c",
+ "stm32f10x_rcc.h": "c",
+ "stm32f10x_gpio.h": "c",
+ "stm32f10x_tim.h": "c",
+ "app_led.h": "c",
+ "mw_printf.h": "c",
+ "stdint.h": "c",
+ "misc.h": "c",
+ "mw_bluetooth.h": "c",
+ "hc06.h": "c",
+ "public_diy.h": "c",
+ "bsp_timer.h": "c",
+ "bsp_led.h": "c",
+ "stm32f10x_conf.h": "c",
+ "stdio.h": "c"
+ },
diff --git a/Code/app/src/main.c b/Code/app/src/main.c
index 23ef5a4..160d03c 100644
--- a/Code/app/src/main.c
+++ b/Code/app/src/main.c
@@ -31,9 +31,9 @@
*************************************************************************************/
void bsp_init(void)
{
- bsp_InitTimer();
+// bsp_InitTimer();
// bsp_usart_1_init(115200);
- bsp_Init();
+// bsp_Init();
}
/*************************************************************************************
* @brief 【描述】
@@ -66,6 +66,6 @@ int main(void)
while (1)
{
- ;
+ bsp_pwm_test_loop();
}
}
diff --git a/Code/bsp/inc/bsp_timer.h b/Code/bsp/inc/bsp_timer.h
index 3db46c9..e29cc89 100644
--- a/Code/bsp/inc/bsp_timer.h
+++ b/Code/bsp/inc/bsp_timer.h
@@ -50,6 +50,10 @@ int32_t bsp_GetRunTime(void);
void bsp_InitHardTimer(void);
void bsp_StartHardTimer(uint8_t _CC, uint32_t _uiTimeOut, void * _pCallBack);
+
+void bsp_change_pwm(uint8_t ucData);
+void bsp_pwm_test_loop(void);
+
#endif
/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/
diff --git a/Code/bsp/src/bsp_timer-old.c b/Code/bsp/src/bsp_timer-old.c
index 3fec371..987ce8b 100644
--- a/Code/bsp/src/bsp_timer-old.c
+++ b/Code/bsp/src/bsp_timer-old.c
@@ -11,7 +11,12 @@
#define BSP_TINER_USER_SYSTICK_PERIOD (1000u)
-
+/*************************************************************************************
+ * @brief 定时器初始化
+ *
+ * @warning 【不可重入,阻塞等警告】
+ * @note 【重大修改】
+ *************************************************************************************/
static void bsp_timer_2_init(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
@@ -28,7 +33,6 @@ static void bsp_timer_2_init(void)
/* 3. 设置 TIM3_DIER 允许更新中断 */
TIM_ITConfig(BSP_TIMER_USER_SYSTICK_TYPE, TIM_IT_Update, ENABLE);
/* 4. TIM3 中断优先级设置。 */
-
NVIC_InitStructure.NVIC_IRQChannel = BSP_TIMER_USER_SYSTICK_IRQN; //TIM3 中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级 0 级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //从优先级 3 级
diff --git a/Code/bsp/src/bsp_timer.c b/Code/bsp/src/bsp_timer.c
index 34585e8..6c654dd 100644
--- a/Code/bsp/src/bsp_timer.c
+++ b/Code/bsp/src/bsp_timer.c
@@ -25,9 +25,24 @@
-#define TIM_HARD TIM2
-#define TIM_HARD_IRQn TIM2_IRQn
-#define TIM_HARD_RCC RCC_APB1Periph_TIM2
+/* 外部时钟源定时器 */
+#define TIM_EXTERN_INPUT TIM2
+#define TIM_EXTERN_INPUT_IRQn TIM2_IRQn
+#define TIM_EXTERN_INPUT_RCC RCC_APB1Periph_TIM2
+/* 硬件定时器 */
+#define TIM_HARD TIM3
+#define TIM_HARD_IRQn TIM3_IRQn
+#define TIM_HARD_RCC RCC_APB1Periph_TIM3
+/* PWM输出比较 定时器 */
+#define TIM_PWM TIM4
+#define TIM_PWM_IRQn TIM4_IRQn
+#define TIM_PWM_RCC RCC_APB1Periph_TIM4
+#define TIM_PWM_CH1_PORT GPIOB
+#define TIM_PWM_CH1_PIN GPIO_Pin_6
+
+
+// /* 测试 TIM2_ETR 是否使用重映射功能 */
+// #define USE_REMAP_PA15_ENABLE
/* 这2个全局变量转用于 bsp_DelayMS() 函数 */
static volatile uint32_t s_uiDelayCount = 0;
@@ -50,43 +65,7 @@ static void (*s_TIM_CallBack2)(void);
static void (*s_TIM_CallBack3)(void);
static void (*s_TIM_CallBack4)(void);
-/*
-*********************************************************************************************************
-* 函 数 名: bsp_InitTimer
-* 功能说明: 配置systick中断,并初始化软件定时器变量
-* 形 参: 无
-* 返 回 值: 无
-*********************************************************************************************************
-*/
-void bsp_InitTimer(void)
-{
- uint8_t i;
- /* 清零所有的软件定时器 */
- for (i = 0; i < TMR_COUNT; i++)
- {
- s_tTmr[i].Count = 0;
- s_tTmr[i].PreLoad = 0;
- s_tTmr[i].Flag = 0;
- s_tTmr[i].Mode = TMR_ONCE_MODE; /* 缺省是1次性工作模式 */
- }
-
- /*
- 配置systic中断周期为1ms,并启动systick中断。
-
- SystemCoreClock 是固件中定义的系统内核时钟,对于STM32F4XX,一般为 168MHz
-
- SysTick_Config() 函数的形参表示内核时钟多少个周期后触发一次Systick定时中断.
- -- SystemCoreClock / 1000 表示定时频率为 1000Hz, 也就是定时周期为 1ms
- -- SystemCoreClock / 500 表示定时频率为 500Hz, 也就是定时周期为 2ms
- -- SystemCoreClock / 2000 表示定时频率为 2000Hz, 也就是定时周期为 500us
-
- 对于常规的应用,我们一般取定时周期1ms。对于低速CPU或者低功耗应用,可以设置定时周期为 10ms
- */
- SysTick_Config(SystemCoreClock / 1000);
-
- bsp_InitHardTimer(); /* 开启硬件定时中断 */
-}
/*
*********************************************************************************************************
@@ -394,15 +373,12 @@ void SysTick_Handler(void)
SysTick_ISR();
}
-/*
-*********************************************************************************************************
-* 函 数 名: bsp_InitHardTimer
-* 功能说明: 配置 TIM2,用于us级别硬件定时。TIM4将自由运行,永不停止.
-* TIM4可以用TIM2 - TIM5 之间的TIM, 这些TIM有4个通道, 挂在 APB1 上,输入时钟=SystemCoreClock / 2
-* 形 参: 无
-* 返 回 值: 无
-*********************************************************************************************************
-*/
+/*************************************************************************************
+ * @brief 配置 TIM2,用于us级别硬件定时。自由运行,永不停止.
+ *
+ * @warning
+ * @note
+ *************************************************************************************/
void bsp_InitHardTimer(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
@@ -422,20 +398,19 @@ void bsp_InitHardTimer(void)
因为APB1 prescaler != 1, 所以 APB1上的TIMxCLK = PCLK1 x 2 = SystemCoreClock;
因为APB2 prescaler = 1, 所以 APB2上的TIMxCLK = PCLK2 = SystemCoreClock;
- APB1 定时器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM7, TIM12, TIM13,TIM14
- APB2 定时器有 TIM1, TIM8 ,TIM9, TIM10, TIM11
-
注意TIM_Prescaler 和 TIM_Period 不要溢出(0-65535)
----------------------------------------------------------------------- */
// 时基单元定义 此处定义1ms的
- TIM_TimeBaseStructure.TIM_Period = (10u - 1); // 周期 ARR自动重装器的值
+ TIM_TimeBaseStructure.TIM_Period = (10 - 1); // 周期 ARR自动重装器的值
TIM_TimeBaseStructure.TIM_Prescaler = (SystemCoreClock / 10000) - 1 ; // PSC预分频器的值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // 计数器模式
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; // 重复计数器的值,高级定时器才有
TIM_TimeBaseInit(TIM_HARD, &TIM_TimeBaseStructure);
/* 4. 开启更新中断到NVIC的通路 */
+ TIM_ClearITPendingBit(TIM_HARD, TIM_IT_Update);
+ // 在开启更新中断之前,先把这个更新中断清掉,防止一开始就触发了更新中断
TIM_ITConfig(TIM_HARD, TIM_IT_Update, ENABLE);
// 启用影子寄存器
TIM_ARRPreloadConfig(TIM_HARD, ENABLE);
@@ -449,6 +424,153 @@ void bsp_InitHardTimer(void)
TIM_Cmd(TIM_HARD, ENABLE);
}
+void bsp_pwm_init(void)
+{
+ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
+ GPIO_InitTypeDef GPIO_InitStructure;
+ // NVIC_InitTypeDef NVIC_InitStructure; /* 中断结构体在 misc.h 中定义 */
+ TIM_OCInitTypeDef TIM_OCInitStructure;
+ /* 1. 使能TIM时钟 */
+ RCC_APB1PeriphClockCmd(TIM_PWM_RCC, ENABLE);
+ /* 2. 使用内部时钟 */
+ TIM_InternalClockConfig(TIM_PWM);
+ /* 3. 初始化GPIO */
+ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
+ GPIO_StructInit(&GPIO_InitStructure);
+ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
+ GPIO_InitStructure.GPIO_Pin = TIM_PWM_CH1_PIN;
+ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
+ GPIO_Init(TIM_PWM_CH1_PORT, &GPIO_InitStructure);
+ /* 3. 配置时基单元 */
+ /*-----------------------------------------------------------------------
+ system_stm32f10x.c 文件中 void SetSysClock(void) 函数对时钟的配置如下:
+
+ HCLK = SYSCLK / 1 (AHBPeriph)
+ PCLK2 = HCLK / 1 (APB2Periph)
+ PCLK1 = HCLK / 2 (APB1Periph)
+
+ 因为APB1 prescaler != 1, 所以 APB1上的TIMxCLK = PCLK1 x 2 = SystemCoreClock;
+ 因为APB2 prescaler = 1, 所以 APB2上的TIMxCLK = PCLK2 = SystemCoreClock;
+
+ 注意TIM_Prescaler 和 TIM_Period 不要溢出(0-65535)
+
+ ----------------------------------------------------------------------- */
+ // 时基单元定义 此处定义1ms的
+ TIM_TimeBaseStructure.TIM_Period = (10 - 1); // 周期 ARR自动重装器的值
+ TIM_TimeBaseStructure.TIM_Prescaler = (36 - 1); // PSC预分频器的值
+ TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
+ TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // 计数器模式
+ TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; // 重复计数器的值,高级定时器才有
+ TIM_TimeBaseInit(TIM_PWM, &TIM_TimeBaseStructure);
+
+ TIM_OCStructInit(&TIM_OCInitStructure);
+ TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
+ TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
+ TIM_OCInitStructure.TIM_Pulse = 0;
+ TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
+ TIM_OC1Init(TIM_PWM, &TIM_OCInitStructure);
+ // /* 4. 开启更新中断到NVIC的通路 */
+ // TIM_ClearITPendingBit(TIM_PWM, TIM_IT_Update);
+ // // 在开启更新中断之前,先把这个更新中断清掉,防止一开始就触发了更新中断
+ // TIM_ITConfig(TIM_PWM, TIM_IT_Update, ENABLE);
+ // 启用影子寄存器
+ TIM_ARRPreloadConfig(TIM_PWM, ENABLE);
+ // /* 5. 配置TIM定时中断 (Update) */
+ // NVIC_InitStructure.NVIC_IRQChannel = TIM_HARD_IRQn;
+ // NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 4; /* 比串口优先级低 */
+ // NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
+ // NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
+ // NVIC_Init(&NVIC_InitStructure);
+ /* 6. TIMx enable counter */
+ TIM_Cmd(TIM_PWM, ENABLE);
+}
+
+void bsp_change_pwm(uint8_t ucData)
+{
+ TIM_SetCompare1(TIM_PWM, ucData);
+}
+
+/*************************************************************************************
+ * @brief 呼吸灯测试例程
+ *
+ * @warning
+ * @note
+ *************************************************************************************/
+void bsp_pwm_test_loop(void)
+{
+ int8_t tmp_i = 0;
+ for(tmp_i = 0; tmp_i <= 10; ++tmp_i)
+ {
+ bsp_change_pwm(tmp_i);
+ bsp_DelayMS(50);
+ }
+ for(tmp_i = 10; tmp_i >= 0; tmp_i--)
+ {
+ bsp_change_pwm(tmp_i);
+ bsp_DelayMS(50);
+ }
+}
+/*************************************************************************************
+ * @brief 初始化外部时钟
+ * 此处使用TIM2_ETR 外部时钟模式2, 假设外部时钟频率为 100kHz
+ * TIM2_ETR 使用 PA0引脚
+ *
+ * @warning
+ * @note
+ *************************************************************************************/
+void bsp_InitExternInputTimer(void)
+{
+ /* 采用PA0 作为外部ETR时钟信号 */
+ GPIO_InitTypeDef GPIO_InitStructure;
+ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
+ NVIC_InitTypeDef NVIC_InitStructure;
+ /* 1. 使能TIM时钟 */
+ RCC_APB1PeriphClockCmd(TIM_EXTERN_INPUT_RCC, ENABLE);
+ /* 2. 使用外部时钟 ETR */
+ TIM_ETRClockMode2Config(TIM_EXTERN_INPUT, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_Inverted, 0x00);
+ /* 3. 初始化GPIO */
+#ifdef USE_REMAP_PA15_ENABLE
+ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能 PA 端口时钟
+ RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); //使能 PA 端口时钟
+ GPIO_PinRemapConfig(GPIO_PartialRemap1_TIM2, ENABLE);
+ GPIO_PinRemapConfig(GPIO_Remap_SWJ_NoJTRST, ENABLE);
+ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15; // ETR-->PA.0 端口配置
+ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // ? 上拉输入
+ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 口速度为 50MHz
+#else
+ GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化 GPIOA.0
+ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能 PA 端口时钟
+ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; // ETR-->PA.0 端口配置
+ GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; // ? 上拉输入
+ GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 口速度为 50MHz
+ GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化 GPIOA.0
+
+#endif
+ /* 4. 定义时基单元 */
+ // 此处以外部时钟为100KHz为例
+ TIM_TimeBaseStructure.TIM_Period = (100u - 1); // 周期 ARR自动重装器的值
+ TIM_TimeBaseStructure.TIM_Prescaler = (1000u - 1) ; // PSC预分频器的值
+ TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
+ TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // 计数器模式
+ TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; // 重复计数器的值,高级定时器才有
+ TIM_TimeBaseInit(TIM_EXTERN_INPUT, &TIM_TimeBaseStructure);
+ /* 5. 开启更新中断到NVIC的通路 */
+ TIM_ITConfig(TIM_EXTERN_INPUT, TIM_IT_Update, ENABLE);
+ // 在开启更新中断之前,先把这个更新中断清掉,防止一开始就触发了更新中断
+ TIM_ITConfig(TIM_EXTERN_INPUT, TIM_IT_Update, ENABLE);
+ // 启用影子寄存器
+ TIM_ARRPreloadConfig(TIM_EXTERN_INPUT, ENABLE);
+ /* 6. 配置TIM定时中断 (Update) */
+ NVIC_InitStructure.NVIC_IRQChannel = TIM_EXTERN_INPUT_IRQn;
+ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 5; /* 比串口优先级低 */
+ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
+ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
+ NVIC_Init(&NVIC_InitStructure);
+ /* 7. TIMx enable counter */
+ TIM_Cmd(TIM_EXTERN_INPUT, ENABLE);
+}
+
+
/*
*********************************************************************************************************
* 函 数 名: bsp_StartHardTimer
@@ -521,25 +643,80 @@ void bsp_StartHardTimer(uint8_t _CC, uint32_t _uiTimeOut, void * _pCallBack)
}
}
+
/*
*********************************************************************************************************
-* 函 数 名: TIMx_IRQHandler
-* 功能说明: TIM 中断服务程序
-* 形 参:无
+* 函 数 名: bsp_InitTimer
+* 功能说明: 配置systick中断,并初始化软件定时器变量
+* 形 参: 无
* 返 回 值: 无
*********************************************************************************************************
*/
-//void TIM2_IRQHandler(void)
-//void TIM3_IRQHandler(void)
-//void TIM4_IRQHandler(void)
+void bsp_InitTimer(void)
+{
+ uint8_t i;
+
+ /* 清零所有的软件定时器 */
+ for (i = 0; i < TMR_COUNT; i++)
+ {
+ s_tTmr[i].Count = 0;
+ s_tTmr[i].PreLoad = 0;
+ s_tTmr[i].Flag = 0;
+ s_tTmr[i].Mode = TMR_ONCE_MODE; /* 缺省是1次性工作模式 */
+ }
+
+ /*
+ 配置systic中断周期为1ms,并启动systick中断。
+
+ SystemCoreClock 是固件中定义的系统内核时钟,对于STM32F4XX,一般为 168MHz
+
+ SysTick_Config() 函数的形参表示内核时钟多少个周期后触发一次Systick定时中断.
+ -- SystemCoreClock / 1000 表示定时频率为 1000Hz, 也就是定时周期为 1ms
+ -- SystemCoreClock / 500 表示定时频率为 500Hz, 也就是定时周期为 2ms
+ -- SystemCoreClock / 2000 表示定时频率为 2000Hz, 也就是定时周期为 500us
+
+ 对于常规的应用,我们一般取定时周期1ms。对于低速CPU或者低功耗应用,可以设置定时周期为 10ms
+ */
+ SysTick_Config(SystemCoreClock / 1000);
+ /* 开启硬件定时中断 */
+ bsp_InitHardTimer();
+ /* 初始化外部输入定时器 */
+ bsp_InitExternInputTimer();
+ /* 初始化 pwm 输出比较 */
+ bsp_pwm_init();
+}
+
+/*************************************************************************************
+ * @brief TIM2 中断服务程序
+ *
+ * @warning
+ * @note
+ *************************************************************************************/
void TIM2_IRQHandler(void)
+{
+
+ if(RESET != TIM_GetITStatus(TIM_EXTERN_INPUT, TIM_IT_Update))
+ {
+ TIM_ClearITPendingBit(TIM_EXTERN_INPUT, TIM_IT_Update);
+ /* add your code here. */
+ bsp_LedToggle(LED1);
+ }
+}
+
+/*************************************************************************************
+ * @brief TIM3 中断服务程序
+ *
+ * @warning
+ * @note
+ *************************************************************************************/
+void TIM3_IRQHandler(void)
{
if(RESET != TIM_GetITStatus(TIM_HARD, TIM_IT_Update))
{
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_Update);
/* add your code here. */
- // bsp_LedToggle(LED2);
+ bsp_LedToggle(LED2);
}
@@ -580,4 +757,5 @@ void TIM2_IRQHandler(void)
}
}
+
/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/
diff --git a/Code/middleware/BlueTooth/mw_bluetooth.c b/Code/middleware/BlueTooth/mw_bluetooth.c
index 45454dc..37f7a94 100644
--- a/Code/middleware/BlueTooth/mw_bluetooth.c
+++ b/Code/middleware/BlueTooth/mw_bluetooth.c
@@ -11,7 +11,7 @@
#define BLUETOOTH_USART_PERIPH (USART1)
// Initial the entity of bluetooth buf.
-mw_bluetooth_t bluetooth_drv_buf[bluetooth_num];
+mw_bluetooth_t bt_drv_buf[bluetooth_num];
/*************************************************************************************
* @brief Get the bluetooth object
@@ -27,10 +27,16 @@ mw_bluetooth_t mw_get_bluetooth_drv(bluetooth_type_enum e_val)
{
while(1);
}
- return bluetooth_drv_buf[e_val];
+ return bt_drv_buf[e_val];
}
-
-static int8_t mw_usart_init(void)
+/*************************************************************************************
+ * @brief Bluetooth_usart init function
+ * @return int8_t 【返回值注释】
+ *
+ * @warning 【不可重入,阻塞等警告】
+ * @note 【重大修改】
+ *************************************************************************************/
+static int8_t bluetooth_system_usart_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
@@ -75,22 +81,39 @@ static int8_t mw_usart_init(void)
return RET_OK;
}
-static int8_t mw_usart_deinit(void)
+static int8_t bluetooth_system_usart_deinit(void)
{
USART_DeInit(BLUETOOTH_USART_PERIPH);
return RET_OK;
}
-static int8_t mw_send_one_byte(uint8_t uc_data)
+static int8_t bluetooth_system_usart_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)
+static uint8_t bluetooth_system_usart_receive_one_byte(void)
{
return (uint8_t)(USART_ReceiveData(BLUETOOTH_USART_PERIPH));
}
+
+static void bluetooth_init(void)
+{
+ ;
+}
+static void bluetooth_deinit(void)
+{
+ ;
+}
+static void bluetooth_send_bytes(uint8_t * tx_buf, uint16_t len)
+{
+ ;
+}
+static void bluetooth_recv_deal(void)
+{
+ ;
+}
/*************************************************************************************
* @brief bluetooth driver init.
*
@@ -99,19 +122,23 @@ static uint8_t mw_receive_one_byte(void)
*************************************************************************************/
void mw_bluetooth_drv_init(void)
{
-/* 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;
-
-
+/* =============== hc06 init ======================== */
+ /* launcg bluetooth driver type */
+ bt_drv_buf[hc06].bt_drv = hc06;
+ /* launch timer api - 32bit systick */
+ bt_drv_buf[hc06].bt_timer.pf_get_systick_ms = get_systick_ms;
+ /* launch the api of USART. */
+ bt_drv_buf[hc06].bt_usart.pf_init = bluetooth_system_usart_init;
+ bt_drv_buf[hc06].bt_usart.pf_deinit = bluetooth_system_usart_deinit;
+ bt_drv_buf[hc06].bt_usart.pf_recv_one_byte = bluetooth_system_usart_receive_one_byte;
+ bt_drv_buf[hc06].bt_usart.pf_trans_one_byte = bluetooth_system_usart_send_one_byte;
+ bt_drv_buf[hc06].bt_usart.pf_recv_one_byte = bluetooth_system_usart_receive_one_byte;
+ /* launch the api of inner bluetooth. */
+ bt_drv_buf[hc06].pf_init = bluetooth_init;
+ bt_drv_buf[hc06].pf_deinit = bluetooth_deinit;
+ bt_drv_buf[hc06].pf_send_bytes = bluetooth_send_bytes;
+ bt_drv_buf[hc06].pf_recv_deal = bluetooth_recv_deal;
+
}
diff --git a/Code/middleware/BlueTooth/mw_bluetooth.h b/Code/middleware/BlueTooth/mw_bluetooth.h
index 44c186f..2bdd17a 100644
--- a/Code/middleware/BlueTooth/mw_bluetooth.h
+++ b/Code/middleware/BlueTooth/mw_bluetooth.h
@@ -13,27 +13,27 @@ typedef enum
typedef struct
{
// void * usart_type;
- int8_t (*pf_init)(void);
- int8_t (*pf_deinit)(void);
+ int8_t (*pf_init)(void); // system_usart init. func.
+ int8_t (*pf_deinit)(void); // system_usart deinit. func.
// tx rx function
- int8_t (*pf_trans_one_byte)(uint8_t tx_data);
- uint8_t (*pf_recv_one_byte)(void);
+ int8_t (*pf_trans_one_byte)(uint8_t tx_data); // system_usart trans. one byte func.
+ uint8_t (*pf_recv_one_byte)(void); // system_usart recv. one byte func.
}system_usart_t;
/* timer api define */
typedef struct
{
- uint32_t (*pf_get_systick_ms)(void);
+ uint32_t (*pf_get_systick_ms)(void); // system_timers recv. one byte func. You can use software timer here.
}system_timetick_t;
typedef struct
{
// the type of bluetooth
- bluetooth_type_enum bluetooth_drv;
- // usart api
- system_usart_t bluetooth_usart;
- // timer api
- system_timetick_t timer_obj;
+ bluetooth_type_enum bt_drv;
+ // system_usart api
+ system_usart_t bt_usart;
+ // system_timers api
+ system_timetick_t bt_timer;
void (*pf_init)(void);
void (*pf_deinit)(void);
void (*pf_send_bytes)(uint8_t * tx_buf, uint16_t len);
diff --git a/Project/Output/TianyunV1.hex b/Project/Output/TianyunV1.hex
index 210cfcf..76304bc 100644
--- a/Project/Output/TianyunV1.hex
+++ b/Project/Output/TianyunV1.hex
@@ -1,8 +1,8 @@
:020000040800F2
-:1000000028070020890100089101000893010008D9
+:1000000018070020890100089101000893010008E9
:100010009501000897010008990100080000000000
:100020000000000000000000000000009B0100082C
-:100030009D010008000000009F010008190600084B
+:100030009D010008000000009F010008F90500086C
:10004000A3010008A3010008A3010008A301000800
:10005000A3010008A3010008A3010008A3010008F0
:10006000A3010008A3010008A3010008A3010008E0
@@ -10,31 +10,31 @@
:10008000A3010008A3010008A3010008A3010008C0
:10009000A3010008A3010008A3010008A3010008B0
:1000A000A3010008A3010008A3010008A3010008A0
-:1000B00005070008A3010008A3010008A301000828
+:1000B000E506000801070008A3010008A3010008E5
:1000C000A3010008A3010008A3010008A301000880
-:1000D000A3010008D1080008A3010008A30100083B
+:1000D000A3010008F9070008A3010008A301000814
:1000E000A3010008A3010008A301000800F002F822
:1000F00000F03AF80AA090E8000C82448344AAF188
:100100000107DA4501D100F02FF8AFF2090EBAE885
:100110000F0013F0010F18BFFB1A43F0010318473B
-:10012000B80E0000D80E0000103A24BF78C878C17D
+:10012000D40C0000F40C0000103A24BF78C878C149
:10013000FAD8520724BF30C830C144BF04680C60ED
:10014000704700000023002400250026103A28BF35
:1001500078C1FBD8520728BF30C148BF0B60704739
:100160001FB51FBD10B510BD00F033F81146FFF7E5
-:10017000F7FF00F02DFE00F051F803B4FFF7F2FF97
-:1001800003BC00F0F6FC000009488047094800471E
+:10017000F7FF00F09DFD00F051F803B4FFF7F2FF28
+:1001800003BC00F08DFC0000094880470948004787
:10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737
:1001A000FEE7FEE704480549054A064B7047000094
-:1001B000A5060008ED0000082801002028070020FF
-:1001C00028030020280300207047704770477047BD
+:1001B00085060008ED00000818010020180700203F
+:1001C00018030020180300207047704770477047DD
:1001D0007047754600F02CF8AE4605006946534658
:1001E00020F00700854618B020B5FFF7DBFFBDE81B
:1001F00020404FF000064FF000074FF000084FF08E
:10020000000B21F00701AC46ACE8C009ACE8C0091E
:10021000ACE8C009ACE8C0098D46704710B504468B
:10022000AFF300802046BDE81040FFF7A6BF0000F6
-:1002300000487047C80000202DE9F0410246002523
+:1002300000487047B40000202DE9F0410246002537
:100240000026002000230024002791F803C00CF0B2
:100250000F0591F803C00CF0100CBCF1000F03D097
:1002600091F802C04CEA050591F800C0BCF1000FFE
@@ -61,204 +61,172 @@
:1003B000044D0678761145F8264070BD0CED00E03E
:1003C00000E400E080E100E002490143024A1160DC
:1003D000704700000000FA050CED00E029B1064A64
-:1003E000D2690243044BDA6104E0034AD2698243D2
-:1003F000014BDA61704700000010024029B1064A43
-:1004000012690243044B1A6104E0034A12698243F1
-:10041000014B1A61704700000010024029B1064AE2
-:1004200092690243044B9A6104E0034A9269824351
-:10043000014B9A61704700000010024029B1064A42
-:10044000D2680243044BDA6004E0034AD268824374
-:10045000014BDA60704700000010024030B5002107
-:100460000022002400232D4D6D6805F00C0121B100
-:10047000042905D0082923D105E0294D056022E093
-:10048000274D05601FE0254D6D6805F47012234D62
-:100490006D6805F48034022505EB92421CB9214DAC
-:1004A000554305600BE01D4D6D6805F400351DB129
-:1004B0001C4D5543056002E0194D5543056002E0AF
-:1004C000174D056000BF00BF144D6D6805F0F001C9
-:1004D0000909154D6B5C0568DD4045600F4D6D6881
-:1004E00005F4E061090A104D6B5C4568DD408560EC
-:1004F0000A4D6D6805F46051C90A0B4D6B5C456887
-:10050000DD40C560054D6D6805F44041890B074D20
-:100510006B5CC568B5FBF3F5056130BD00100240AA
-:1005200000127A0000093D003C0000204C00002031
-:1005300010B500F001F810BD0CB50020019000903E
-:100540003348006840F480303149086000BF3048CB
-:10055000006800F4003000900198401C0190009861
-:1005600018B90198B0F5A06FF1D12948006800F4DE
-:10057000003010B10120009001E0002000900098B0
-:10058000012843D12348006840F010002149086049
-:100590000846006820F0070008600846006840F040
-:1005A000020008601A4840681949486008464068D7
-:1005B00048600846406840F48060486008464068EB
-:1005C00020F47C1048600846406840F4E810486019
-:1005D0000846006840F08070086000BF0C48006862
-:1005E00000F000700028F9D00948406820F00300AE
-:1005F000074948600846406840F00200486000BF74
-:100600000348406800F00C000828F9D10CBD000038
-:10061000001002400020024010B500F001F810BDAB
-:1006200010B51B48006840B119480068401E1849C1
-:10063000086010B9012017490870002408E004EB95
-:100640004401154A02EB810000F0A8FB601CC4B213
-:10065000012CF4DB11480068401C10490860084672
-:1006600000686FF00041884202D100200B49086009
-:1006700000F080FB0A480078401CC0B208490870AE
-:100680000A2803DB0020087000F072FB10BD000098
-:10069000080000200C000020940000201000002022
-:1006A0002400002010B51348006840F001001149F3
-:1006B000086008464068104908400E4948600846EE
-:1006C00000680E4908400B4908600846006820F49D
-:1006D000802008600846406820F4FE0048604FF41F
-:1006E0001F008860FFF724FF4FF000600449086096
-:1006F00010BD0000001002400000FFF8FFFFF6FEF2
-:1007000008ED00E010B50121880700F06EF818B17F
-:100710000121880700F05AF80221480700F065F827
-:1007200058B10221480700F051F800220221480781
-:1007300000F06CF81B48006880470421080700F0AF
-:1007400054F858B10421080700F040F800220421B1
-:10075000080700F05BF81448006880470821C806C5
-:1007600000F043F858B10821C80600F02FF8002225
-:100770000821C80600F04AF80C480068804710219C
-:10078000880600F032F858B11021880600F01EF8F3
-:1007900000221021880600F039F8054800688047DB
-:1007A00010BD000014000020180000201C000020D4
-:1007B0002000002021B1028842F08002028004E083
-:1007C00002884FF67F731A4002807047CA43028244
-:1007D000704721B1028842F00102028004E00288E1
-:1007E0004FF6FE731A400280704730B50246002073
-:1007F00000230024158A05EA0103958905EA01040E
-:1008000013B10CB1012000E0002030BD1AB1838982
-:100810000B43838102E083898B4383817047018985
-:100820004FF6F872114001817047000000220288E3
-:100830001D4B98420ED01D4B98420BD0B0F1804F0B
-:1008400008D01B4B984205D01A4B984202D01A4B45
-:10085000984204D14FF68F731A404B881A43174BB6
-:10086000984207D0164B984204D04FF6FF431A40E7
-:10087000CB881A4302808B8883850B8803850A4BBB
-:1008800098420BD0094B984208D00E4B984205D0A5
-:100890000D4B984202D00D4B984201D10B7A038642
-:1008A0000123838270470000002C01400034014086
-:1008B0000004004000080040000C00400010004010
-:1008C0000014004000400140004401400048014045
-:1008D00010B540F226610E4800F086F820B140F2D3
-:1008E00026610B4800F016F840F22551084800F048
-:1008F0007BF858B140F22551054800F00BF8044848
-:1009000000F02EF9C4B2204600F0DCFA10BD000061
-:100910000038014010B50022002340F66A14A142BD
-:1009200000D100BF0A1201249440A3B2DC4304802A
-:1009300010BD21B1828942F40052828104E0828993
-:100940004DF6FF731A4082817047000010B50446CF
-:100950002048844209D101218803FFF76FFD00215F
-:100960004FF48040FFF76AFD32E01B48844209D112
-:1009700001214804FFF742FD00214FF40030FFF74A
-:100980003DFD25E01548844209D101218804FFF787
-:1009900035FD00214FF48020FFF730FD18E01048AE
-:1009A000844209D10121C804FFF728FD00214FF43A
-:1009B0000020FFF723FD0BE00A48844208D1012103
-:1009C0000805FFF71BFD00214FF48010FFF716FD0F
-:1009D00010BD0000003801400044004000480040C5
-:1009E000004C00400050004070B502460024002337
-:1009F0000025002040F66A16B14200D100BFC1F3C5
-:100A0000421501F01F03012606FA03F3012D02D15E
-:100A10009689334006E0022D02D1168A334001E068
-:100A2000968A33400C12012606FA04F416883440E4
-:100A300013B10CB1012000E0002070BDF0B50346F9
-:100A4000002400260025002040F66A17B94200D194
-:100A500000BF1846C1F3421401F01F06012707FA30
-:100A600006F5012C01D10C3004E0022C01D110302C
-:100A700000E014301AB107682F43076002E00768EE
-:100A8000AF430760F0BD00002DE9F04786B0054692
-:100A90000E460024A24600BFA1460027B08900B13F
-:100AA00000BF2F462C8A4CF6FF700440F0880443A8
-:100AB0002C82AC894EF6F3100440B088318908438B
-:100AC000718908430443AC81AC8A4FF6FF4004406F
-:100AD000B0890443AC8201A8FFF7C0FC1F488742DD
-:100AE00002D1DDF810A001E0DDF80CA0A88900F427
-:100AF000004040B10AEBCA0000EB0A10316849001F
-:100B0000B0FBF1F807E00AEBCA0000EB0A1031680D
-:100B10008900B0FBF1F86420B8FBF0F00401200973
-:100B2000642101FB1089A88900F4004040B1322003
-:100B300000EBC900B0FBF1F000F00700044308E04F
-:100B4000322000EB09106421B0FBF1F000F00F003F
-:100B500004432C8106B0BDE8F08700000038014056
-:100B600001468888C0F308007047C1F308028280FC
-:100B70007047014600BF704710B54FF4A060FFF703
-:100B800023FC00F059F84FF0FF300021002807DA6D
-:100B90000A07140E054A00F00F031B1FD45403E08C
-:100BA0000A07130E024A135400BF10BD18ED00E0EF
-:100BB00000E400E01FB501210846FFF70FFC4FF0ED
-:100BC0008040FFF72CFE0920ADF8080019480068A6
-:100BD00042F21071B0FBF1F0401E80B2ADF804009B
-:100BE0000020ADF80A00ADF806008DF80C0001A950
-:100BF0004FF08040FFF71AFE012211469007FFF7E1
-:100C000005FE01218807FFF7D5FD1C208DF80000A7
-:100C100004208DF8010000208DF8020001208DF8DD
-:100C200003006846FFF798FB01218807FFF7D1FD15
-:100C30001FBD00002800002008B501211820FFF783
-:100C4000EDFB012000F074F8022000F071F84FF481
-:100C50000050ADF8000010208DF8030003208DF83F
-:100C6000020069460848FFF7E7FA4FF40070ADF854
-:100C7000000010208DF8030003208DF80200694663
-:100C80000248FFF7D9FA08BD00100140000C0140EE
-:100C900070B5002416E0002004EB4401204A02EB6A
-:100CA0008101486004EB440102EB8101886004EBA0
-:100CB000440102EB8101487004EB440102F8210079
-:100CC000601CC4B2012CE6DB164800684FF47A724F
-:100CD000B0FBF2F1B1F1807F00D31DE021F07F4045
-:100CE000401E4FF0E022506150170F22002807DA13
-:100CF00013071E0E0C4B00F00F052D1F5E5503E071
-:100D000013071D0E094B1D5400BF00204FF0E022B9
-:100D100090610720106100BFFFF74CFF70BD00001D
-:100D2000940000202800002018ED00E000E400E01E
-:100D3000411EC8B218B94FF40051014A51617047C1
-:100D400000100140012806D10749C96881F400510B
-:100D5000054AD16007E0022805D10449096881F4F9
-:100D60000071024A11607047001001400C0C0140F4
-:100D70007047000010B508480078FA2805DA0648E0
-:100D80000078401C0449087005E000200249087002
-:100D90000120FFF7D7FF10BD25000020416851B1A9
-:100DA0004168491E416031B9012141700178012932
-:100DB00001D181684160704710B5FFF769FFFFF707
-:100DC000DBFE10BD014800687047000004000020F1
-:100DD0004FF4A060FFF7F8FAFFF7EEFF00F002F81B
-:100DE00000BFFEE710B500F04FF800F001F810BDAD
-:100DF00000200749087007484861074848600749CC
-:100E000003488160064901610649C16070470000DE
-:100E1000A0000020C50D0008210F0008110F0008D8
-:100E2000ED0E0008FD0E000808B501211020FFF7A7
-:100E3000F5FA4FF40050ADF8000010208DF80300D3
-:100E400003208DF8020069460448FFF7F5F94FF4D6
-:100E500000510248FFF77DFA08BD00000010014074
-:100E600010B54FF400510248FFF771FA10BD0000B1
-:100E70000010014010B54FF400510248FFF769FA25
-:100E800010BD00000010014010B500200949087095
-:100E900009484860094888600948C860002406E09D
-:100EA000044901EB041148688047601CC4B2012C5E
-:100EB000F6DB10BD50000020290E0008750E00085A
-:100EC000610E00080749084A1288885406490988B3
-:100ED000491C3222B1FBF2F302FB1311024A1180CA
-:100EE00070470000600000200000002010B502489C
-:100EF000FFF736FEC0B210BD0038014010B5044601
-:100F000021460248FFF731FE002010BD00380140A5
-:100F100010B50248FFF71AFD002010BD003801404F
-:100F200000B587B001218803FFF778FA012104207A
-:100F3000FFF774FA18208DF81B004FF40070ADF81D
-:100F4000180003208DF81A0006A92148FFF774F94C
-:100F500048208DF81B004FF48060ADF81800032086
-:100F60008DF81A0006A91A48FFF766F94FF41650D3
-:100F700002900020ADF814000C20ADF81200002003
-:100F8000ADF81000ADF80E00ADF80C0002A9114844
-:100F9000FFF77AFD012240F225510E48FFF74EFD82
-:100FA0004FF4A060FFF710FA25208DF8040001200F
-:100FB0008DF807008DF805008DF8060001A8FFF7F1
-:100FC000CBF901210348FFF7B4FC002007B000BDB6
-:100FD0000008014000380140F80F00080000002020
-:100FE00050000000280100084810000850000020B0
-:100FF000D8060000440100080000000000000000C6
-:1010000000000000000000000000000000000000E0
-:1010100000000000000000000000000000000000D0
-:1010200000A24A04000000000000000001020304C6
-:10103000060708090000000001020304010203047E
-:08104000060708090204060876
+:1003E00012690243044B1A6104E0034A1269824312
+:1003F000014B1A61704700000010024029B1064A03
+:1004000092690243044B9A6104E0034A9269824371
+:10041000014B9A61704700000010024029B1064A62
+:10042000D2680243044BDA6004E0034AD268824394
+:10043000014BDA60704700000010024030B5002127
+:100440000022002400232D4D6D6805F00C0121B120
+:10045000042905D0082923D105E0294D056022E0B3
+:10046000274D05601FE0254D6D6805F47012234D82
+:100470006D6805F48034022505EB92421CB9214DCC
+:10048000554305600BE01D4D6D6805F400351DB149
+:100490001C4D5543056002E0194D5543056002E0CF
+:1004A000174D056000BF00BF144D6D6805F0F001E9
+:1004B0000909154D6B5C0568DD4045600F4D6D68A1
+:1004C00005F4E061090A104D6B5C4568DD4085600C
+:1004D0000A4D6D6805F46051C90A0B4D6B5C4568A7
+:1004E000DD40C560054D6D6805F44041890B074D41
+:1004F0006B5CC568B5FBF3F5056130BD00100240CB
+:1005000000127A0000093D0026000020360000207D
+:1005100010B500F001F810BD0CB50020019000905E
+:100520003348006840F480303149086000BF3048EB
+:10053000006800F4003000900198401C0190009881
+:1005400018B90198B0F5A06FF1D12948006800F4FE
+:10055000003010B10120009001E0002000900098D0
+:10056000012843D12348006840F010002149086069
+:100570000846006820F0070008600846006840F060
+:10058000020008601A4840681949486008464068F7
+:1005900048600846406840F480604860084640680B
+:1005A00020F47C1048600846406840F4E810486039
+:1005B0000846006840F08070086000BF0C48006882
+:1005C00000F000700028F9D00948406820F00300CE
+:1005D000074948600846406840F00200486000BF94
+:1005E0000348406800F00C000828F9D10CBD000059
+:1005F000001002400020024010B500F001F810BDCC
+:1006000010B51B48006840B119480068401E1849E1
+:10061000086010B9012017490870002408E004EBB5
+:100620004401154A02EB810000F008FB601CC4B2D3
+:10063000012CF4DB11480068401C10490860084692
+:1006400000686FF00041884202D100200B49086029
+:1006500000F0E0FA0A480078401CC0B2084908706F
+:100660000A2803DB0020087000F0D2FA10BD000059
+:10067000080000200C000020800000201000002056
+:100680002400002010B51348006840F00100114913
+:10069000086008464068104908400E49486008460E
+:1006A00000680E4908400B4908600846006820F4BD
+:1006B000802008600846406820F4FE0048604FF43F
+:1006C0001F008860FFF724FF4FF0006004490860B6
+:1006D00010BD0000001002400000FFF8FFFFF6FE12
+:1006E00008ED00E010B50121880700F068F830B18E
+:1006F0000121880700F060F8012000F073FA10BDB6
+:1007000010B50121274800F05AF830B101212548E1
+:1007100000F052F8022000F065FA0221214800F0B2
+:100720004EF858B102211F4800F046F8002202217D
+:100730001C4800F055F81C480068804704211948FF
+:1007400000F03DF858B10421164800F035F80022B9
+:100750000421144800F044F8144800688047082138
+:10076000104800F02CF858B108210E4800F024F889
+:10077000002208210B4800F033F80D48006880473C
+:100780001021084800F01BF858B11021054800F06E
+:1007900013F800221021034800F022F805480068F1
+:1007A000804710BD00040040140000201800002005
+:1007B0001C00002020000020CA430282704730B590
+:1007C0000246002000230024158A05EA01039589CA
+:1007D00005EA010413B10CB1012000E0002030BD96
+:1007E0001AB183890B43838102E083898B43838120
+:1007F000704781867047000010B540F226610E48B0
+:1008000000F086F820B140F226610B4800F016F89F
+:1008100040F22551084800F07BF858B140F22551CC
+:10082000054800F00BF8044800F02EF9C4B2204649
+:1008300000F0CCFA10BD00000038014010B50022D5
+:10084000002340F66A14A14200D100BF0A1201241D
+:100850009440A3B2DC43048010BD21B1828942F4EC
+:100860000052828104E082894DF6FF731A40828132
+:100870007047000010B504462048844209D1012188
+:100880008803FFF7CBFD00214FF48040FFF7C6FD42
+:1008900032E01B48844209D101214804FFF79EFD44
+:1008A00000214FF40030FFF799FD25E01548844200
+:1008B00009D101218804FFF791FD00214FF4802028
+:1008C000FFF78CFD18E01048844209D10121C804CB
+:1008D000FFF784FD00214FF40020FFF77FFD0BE0C0
+:1008E0000A48844208D101210805FFF777FD00215D
+:1008F0004FF48010FFF772FD10BD0000003801407A
+:100900000044004000480040004C004000500040BF
+:1009100070B50246002400230025002040F66A1628
+:10092000B14200D100BFC1F3421501F01F030126FF
+:1009300006FA03F3012D02D19689334006E0022D19
+:1009400002D1168A334001E0968A33400C12012608
+:1009500006FA04F41688344013B10CB1012000E00B
+:10096000002070BDF0B503460024002600250020BD
+:1009700040F66A17B94200D100BF1846C1F34214CD
+:1009800001F01F06012707FA06F5012C01D10C30F2
+:1009900004E0022C01D1103000E014301AB10768D5
+:1009A0002F43076002E00768AF430760F0BD000017
+:1009B0002DE9F04786B005460E460024A24600BF4A
+:1009C000A1460027B08900B100BF2F462C8A4CF603
+:1009D000FF700440F08804432C82AC894EF6F3107B
+:1009E0000440B08831890843718908430443AC81CD
+:1009F000AC8A4FF6FF400440B0890443AC8201A8A2
+:100A0000FFF71CFD1F48874202D1DDF810A001E06E
+:100A1000DDF80CA0A88900F4004040B10AEBCA0040
+:100A200000EB0A1031684900B0FBF1F807E00AEB6F
+:100A3000CA0000EB0A1031688900B0FBF1F86420AD
+:100A4000B8FBF0F004012009642101FB1089A8899A
+:100A500000F4004040B1322000EBC900B0FBF1F0DF
+:100A600000F00700044308E0322000EB0910642185
+:100A7000B0FBF1F000F00F0004432C8106B0BDE89C
+:100A8000F08700000038014001468888C0F3080064
+:100A90007047C1F308028280704780F31088704766
+:100AA000014600BF704770477047704770470000AD
+:100AB00010B50248FFF7DEFE002010BD00380140EF
+:100AC00000B587B001218803FFF798FC01210420BD
+:100AD000FFF794FC18208DF81B004FF40070ADF860
+:100AE000180003208DF81A0006A92148FFF7A4FB7F
+:100AF00048208DF81B004FF48060ADF818000320EB
+:100B00008DF81A0006A91A48FFF796FB4FF4165005
+:100B100002900020ADF814000C20ADF81200002067
+:100B2000ADF81000ADF80E00ADF80C0002A91148A8
+:100B3000FFF73EFF012240F225510E48FFF712FF5A
+:100B40004FF4A060FFF740FC25208DF80400012041
+:100B50008DF807008DF805008DF8060001A8FFF755
+:100B6000FBFB01210348FFF778FE002007B000BD22
+:100B7000000801400038014010B50248FFF784FF2B
+:100B8000C0B210BD0038014010B5044621460248ED
+:100B9000FFF77FFF002010BD0038014010B504466C
+:100BA00004B910BD012C00D102240120FFF775FF0C
+:100BB00009480460002009490870FFF76EFF06E04D
+:100BC00000F00EF805480078012800D100E0F7E7B2
+:100BD00000BF00BFE5E70000080000200C00002077
+:100BE00070470000012806D10749C96881F4005107
+:100BF000054AD16007E0022805D10449096881F45B
+:100C00000071024A11607047001001400C0C014055
+:100C10007047000010B508480078FA2805DA064841
+:100C20000078401C0449087005E000200249087063
+:100C30000120FFF7D7FF10BD25000020416851B10A
+:100C40004168491E416031B9012141700178012993
+:100C500001D181684160704710B5044621460248C1
+:100C6000FFF7C7FD10BD000000080040704710B539
+:100C7000002400BF07E0E0B2FFF7EEFF3220FFF7ED
+:100C80008DFF601C44B20A2CF5DD0A2407E0E0B2B7
+:100C9000FFF7E2FF3220FFF781FF601E44B2002C15
+:100CA000F5DA10BD0148006870470000040000201C
+:100CB0004FF4A060FFF788FBFFF7D8FF00F004F8BF
+:100CC00001E0FFF7D4FFFCE710B500F061F800F099
+:100CD00001F810BD00200C4908700C4848610C4810
+:100CE00048600C49084881600B4901610B49C160AB
+:100CF000094901610A48044988610A48C8610A48EB
+:100D000008620A48486270478C000020A50C000861
+:100D1000C10A0008B10A0008790B0008890B000815
+:100D2000A90A0008A70A0008AD0A0008AB0A0008D3
+:100D300008B501211020FFF761FB4FF40050ADF81A
+:100D4000000010208DF8030003208DF80200694692
+:100D50000448FFF771FA4FF400510248FFF7F9FA1F
+:100D600008BD00000010014010B54FF400510248CA
+:100D7000FFF7EDFA10BD00000010014010B54FF470
+:100D800000510248FFF7E5FA10BD000000100140D5
+:100D900010B5002009490870094848600948886072
+:100DA0000948C860002406E0044901EB04114868C2
+:100DB0008047601CC4B2012CF6DB10BD3C00002053
+:100DC000310D00087D0D0008690D00080749084A2B
+:100DD0001288885406490988491C3222B1FBF2F373
+:100DE00002FB1311024A1180704700004C000020E2
+:100DF00000000020140E0008000000203C0000004D
+:100E000028010008500E00083C000020DC0600000D
+:100E10004401000800000000000000000000000085
+:100E200000000000000000000000000000000000C2
+:100E300000000000000000000000000000000102AF
+:100E4000030401020304060708090204060800005F
:04000005080000ED02
:00000001FF
diff --git a/Project/Output/TianyunV1.map b/Project/Output/TianyunV1.map
index 2531658..853567a 100644
--- a/Project/Output/TianyunV1.map
+++ b/Project/Output/TianyunV1.map
@@ -4,11 +4,10 @@ Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601]
Section Cross References
- main.o(i.bsp_init) refers to bsp_timer.o(i.bsp_InitTimer) for bsp_InitTimer
- main.o(i.bsp_init) refers to bsp.o(i.bsp_Init) for bsp_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 main.o(i.middleware_init) for middleware_init
+ main.o(i.main) refers to bsp_timer.o(i.bsp_pwm_test_loop) for bsp_pwm_test_loop
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_marquee) refers to bsp_led.o(i.bsp_LedToggle) for bsp_LedToggle
@@ -34,8 +33,12 @@ Section Cross References
bsp_timer.o(i.SysTick_ISR) refers to bsp_timer.o(.bss) for s_tTmr
bsp_timer.o(i.TIM2_IRQHandler) refers to stm32f10x_tim.o(i.TIM_GetITStatus) for TIM_GetITStatus
bsp_timer.o(i.TIM2_IRQHandler) refers to stm32f10x_tim.o(i.TIM_ClearITPendingBit) for TIM_ClearITPendingBit
- bsp_timer.o(i.TIM2_IRQHandler) refers to stm32f10x_tim.o(i.TIM_ITConfig) for TIM_ITConfig
- bsp_timer.o(i.TIM2_IRQHandler) refers to bsp_timer.o(.data) for s_TIM_CallBack1
+ bsp_timer.o(i.TIM2_IRQHandler) refers to bsp_led.o(i.bsp_LedToggle) for bsp_LedToggle
+ bsp_timer.o(i.TIM3_IRQHandler) refers to stm32f10x_tim.o(i.TIM_GetITStatus) for TIM_GetITStatus
+ bsp_timer.o(i.TIM3_IRQHandler) refers to stm32f10x_tim.o(i.TIM_ClearITPendingBit) for TIM_ClearITPendingBit
+ bsp_timer.o(i.TIM3_IRQHandler) refers to bsp_led.o(i.bsp_LedToggle) for bsp_LedToggle
+ bsp_timer.o(i.TIM3_IRQHandler) refers to stm32f10x_tim.o(i.TIM_ITConfig) for TIM_ITConfig
+ bsp_timer.o(i.TIM3_IRQHandler) refers to bsp_timer.o(.data) for s_TIM_CallBack1
bsp_timer.o(i.bsp_CheckTimer) refers to bsp_timer.o(.bss) for s_tTmr
bsp_timer.o(i.bsp_DelayMS) refers to bsp_timer.o(i.__set_PRIMASK) for __set_PRIMASK
bsp_timer.o(i.bsp_DelayMS) refers to bsp.o(i.bsp_Idle) for bsp_Idle
@@ -43,15 +46,27 @@ Section Cross References
bsp_timer.o(i.bsp_DelayUS) refers to system_stm32f10x.o(.data) for SystemCoreClock
bsp_timer.o(i.bsp_GetRunTime) refers to bsp_timer.o(i.__set_PRIMASK) for __set_PRIMASK
bsp_timer.o(i.bsp_GetRunTime) refers to bsp_timer.o(.data) for g_iRunTime
+ bsp_timer.o(i.bsp_InitExternInputTimer) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd) for RCC_APB1PeriphClockCmd
+ bsp_timer.o(i.bsp_InitExternInputTimer) refers to stm32f10x_tim.o(i.TIM_ETRClockMode2Config) for TIM_ETRClockMode2Config
+ bsp_timer.o(i.bsp_InitExternInputTimer) refers to stm32f10x_gpio.o(i.GPIO_Init) for GPIO_Init
+ bsp_timer.o(i.bsp_InitExternInputTimer) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd) for RCC_APB2PeriphClockCmd
+ bsp_timer.o(i.bsp_InitExternInputTimer) refers to stm32f10x_tim.o(i.TIM_TimeBaseInit) for TIM_TimeBaseInit
+ bsp_timer.o(i.bsp_InitExternInputTimer) refers to stm32f10x_tim.o(i.TIM_ITConfig) for TIM_ITConfig
+ bsp_timer.o(i.bsp_InitExternInputTimer) refers to stm32f10x_tim.o(i.TIM_ARRPreloadConfig) for TIM_ARRPreloadConfig
+ bsp_timer.o(i.bsp_InitExternInputTimer) refers to misc.o(i.NVIC_Init) for NVIC_Init
+ bsp_timer.o(i.bsp_InitExternInputTimer) refers to stm32f10x_tim.o(i.TIM_Cmd) for TIM_Cmd
bsp_timer.o(i.bsp_InitHardTimer) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd) for RCC_APB1PeriphClockCmd
bsp_timer.o(i.bsp_InitHardTimer) refers to stm32f10x_tim.o(i.TIM_InternalClockConfig) for TIM_InternalClockConfig
bsp_timer.o(i.bsp_InitHardTimer) refers to stm32f10x_tim.o(i.TIM_TimeBaseInit) for TIM_TimeBaseInit
+ bsp_timer.o(i.bsp_InitHardTimer) refers to stm32f10x_tim.o(i.TIM_ClearITPendingBit) for TIM_ClearITPendingBit
bsp_timer.o(i.bsp_InitHardTimer) refers to stm32f10x_tim.o(i.TIM_ITConfig) for TIM_ITConfig
bsp_timer.o(i.bsp_InitHardTimer) refers to stm32f10x_tim.o(i.TIM_ARRPreloadConfig) for TIM_ARRPreloadConfig
bsp_timer.o(i.bsp_InitHardTimer) refers to misc.o(i.NVIC_Init) for NVIC_Init
bsp_timer.o(i.bsp_InitHardTimer) refers to stm32f10x_tim.o(i.TIM_Cmd) for TIM_Cmd
bsp_timer.o(i.bsp_InitHardTimer) refers to system_stm32f10x.o(.data) for SystemCoreClock
bsp_timer.o(i.bsp_InitTimer) refers to bsp_timer.o(i.bsp_InitHardTimer) for bsp_InitHardTimer
+ bsp_timer.o(i.bsp_InitTimer) refers to bsp_timer.o(i.bsp_InitExternInputTimer) for bsp_InitExternInputTimer
+ bsp_timer.o(i.bsp_InitTimer) refers to bsp_timer.o(i.bsp_pwm_init) for bsp_pwm_init
bsp_timer.o(i.bsp_InitTimer) refers to bsp_timer.o(.bss) for s_tTmr
bsp_timer.o(i.bsp_InitTimer) refers to system_stm32f10x.o(.data) for SystemCoreClock
bsp_timer.o(i.bsp_StartAutoTimer) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
@@ -83,6 +98,19 @@ Section Cross References
bsp_timer.o(i.bsp_StopTimer) refers to bsp_timer.o(i.__set_PRIMASK) for __set_PRIMASK
bsp_timer.o(i.bsp_StopTimer) refers to bsp_timer.o(.constdata) for __FUNCTION__
bsp_timer.o(i.bsp_StopTimer) refers to bsp_timer.o(.bss) for s_tTmr
+ bsp_timer.o(i.bsp_change_pwm) refers to stm32f10x_tim.o(i.TIM_SetCompare1) for TIM_SetCompare1
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd) for RCC_APB1PeriphClockCmd
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_tim.o(i.TIM_InternalClockConfig) for TIM_InternalClockConfig
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd) for RCC_APB2PeriphClockCmd
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_gpio.o(i.GPIO_StructInit) for GPIO_StructInit
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_gpio.o(i.GPIO_Init) for GPIO_Init
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_tim.o(i.TIM_TimeBaseInit) for TIM_TimeBaseInit
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_tim.o(i.TIM_OCStructInit) for TIM_OCStructInit
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_tim.o(i.TIM_OC1Init) for TIM_OC1Init
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_tim.o(i.TIM_ARRPreloadConfig) for TIM_ARRPreloadConfig
+ bsp_timer.o(i.bsp_pwm_init) refers to stm32f10x_tim.o(i.TIM_Cmd) for TIM_Cmd
+ bsp_timer.o(i.bsp_pwm_test_loop) refers to bsp_timer.o(i.bsp_change_pwm) for bsp_change_pwm
+ bsp_timer.o(i.bsp_pwm_test_loop) refers to bsp_timer.o(i.bsp_DelayMS) for bsp_DelayMS
bsp_usart.o(i._sys_exit) refers (Special) to use_no_semi_2.o(.text) for __use_no_semihosting
bsp_usart.o(i.bsp_usart_1_init) refers (Special) to use_no_semi_2.o(.text) for __use_no_semihosting
bsp_usart.o(i.bsp_usart_1_init) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd) for RCC_APB2PeriphClockCmd
@@ -115,6 +143,7 @@ Section Cross References
startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler
startup_stm32f10x_md.o(RESET) refers to bsp_timer.o(i.SysTick_Handler) for SysTick_Handler
startup_stm32f10x_md.o(RESET) refers to bsp_timer.o(i.TIM2_IRQHandler) for TIM2_IRQHandler
+ startup_stm32f10x_md.o(RESET) refers to bsp_timer.o(i.TIM3_IRQHandler) for TIM3_IRQHandler
startup_stm32f10x_md.o(RESET) refers to interrupt_handler.o(i.USART1_IRQHandler) for USART1_IRQHandler
startup_stm32f10x_md.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_stm32f10x_md.o(.text) refers to system_stm32f10x.o(i.SystemInit) for SystemInit
@@ -184,24 +213,28 @@ 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.bluetooth_system_usart_deinit) refers to stm32f10x_usart.o(i.USART_DeInit) for USART_DeInit
+ mw_bluetooth.o(i.bluetooth_system_usart_init) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd) for RCC_APB2PeriphClockCmd
+ mw_bluetooth.o(i.bluetooth_system_usart_init) refers to stm32f10x_gpio.o(i.GPIO_Init) for GPIO_Init
+ mw_bluetooth.o(i.bluetooth_system_usart_init) refers to stm32f10x_usart.o(i.USART_Init) for USART_Init
+ mw_bluetooth.o(i.bluetooth_system_usart_init) refers to stm32f10x_usart.o(i.USART_ITConfig) for USART_ITConfig
+ mw_bluetooth.o(i.bluetooth_system_usart_init) refers to misc.o(i.NVIC_PriorityGroupConfig) for NVIC_PriorityGroupConfig
+ mw_bluetooth.o(i.bluetooth_system_usart_init) refers to misc.o(i.NVIC_Init) for NVIC_Init
+ mw_bluetooth.o(i.bluetooth_system_usart_init) refers to stm32f10x_usart.o(i.USART_Cmd) for USART_Cmd
+ mw_bluetooth.o(i.bluetooth_system_usart_receive_one_byte) refers to stm32f10x_usart.o(i.USART_ReceiveData) for USART_ReceiveData
+ mw_bluetooth.o(i.bluetooth_system_usart_send_one_byte) refers to stm32f10x_usart.o(i.USART_SendData) for USART_SendData
+ mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(.bss) for bt_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_bluetooth_drv_init) refers to mw_bluetooth.o(i.bluetooth_system_usart_init) for bluetooth_system_usart_init
+ mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.bluetooth_system_usart_deinit) for bluetooth_system_usart_deinit
+ mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.bluetooth_system_usart_receive_one_byte) for bluetooth_system_usart_receive_one_byte
+ mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.bluetooth_system_usart_send_one_byte) for bluetooth_system_usart_send_one_byte
+ mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.bluetooth_init) for bluetooth_init
+ mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.bluetooth_deinit) for bluetooth_deinit
+ mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.bluetooth_send_bytes) for bluetooth_send_bytes
+ mw_bluetooth.o(i.mw_bluetooth_drv_init) refers to mw_bluetooth.o(i.bluetooth_recv_deal) for bluetooth_recv_deal
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
+ mw_bluetooth.o(i.mw_get_bluetooth_drv) refers to mw_bluetooth.o(.bss) for bt_drv_buf
use_no_semi_2.o(.text) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
__2printf.o(.text) refers to _printf_char_file.o(.text) for _printf_char_file
__2printf.o(.text) refers to bsp_usart.o(.data) for __stdout
@@ -337,25 +370,30 @@ Removing Unused input sections from the image.
Removing app_led.o(i.app_led_marquee), (10 bytes).
Removing mw_led.o(i.mw_get_led_obj), (28 bytes).
Removing mw_soft_timer.o(i.mw_soft_timer_user_systick_update), (16 bytes).
- Removing bsp_timer.o(i.__set_PRIMASK), (6 bytes).
Removing bsp_timer.o(i.bsp_CheckTimer), (52 bytes).
- Removing bsp_timer.o(i.bsp_DelayMS), (68 bytes).
Removing bsp_timer.o(i.bsp_DelayUS), (84 bytes).
Removing bsp_timer.o(i.bsp_GetRunTime), (28 bytes).
+ Removing bsp_timer.o(i.bsp_InitExternInputTimer), (180 bytes).
+ Removing bsp_timer.o(i.bsp_InitHardTimer), (140 bytes).
+ Removing bsp_timer.o(i.bsp_InitTimer), (168 bytes).
Removing bsp_timer.o(i.bsp_StartAutoTimer), (152 bytes).
Removing bsp_timer.o(i.bsp_StartHardTimer), (200 bytes).
Removing bsp_timer.o(i.bsp_StartTimer), (148 bytes).
Removing bsp_timer.o(i.bsp_StopTimer), (136 bytes).
+ Removing bsp_timer.o(i.bsp_pwm_init), (156 bytes).
Removing bsp_timer.o(.constdata), (48 bytes).
Removing bsp_usart.o(i.bsp_usart_1_init), (168 bytes).
Removing bsp_usart.o(i.bsp_usart_send_data), (84 bytes).
Removing bsp_usart.o(i.fputc), (36 bytes).
Removing bsp_usart.o(.data), (4 bytes).
- Removing bsp.o(i.bsp_Idle), (2 bytes).
+ Removing bsp.o(i.bsp_Init), (60 bytes).
+ Removing bsp_led.o(i.bsp_InitLed), (88 bytes).
Removing bsp_led.o(i.bsp_IsLedOn), (32 bytes).
+ Removing bsp_led.o(i.bsp_LedOff), (20 bytes).
Removing bsp_led.o(i.bsp_LedOn), (24 bytes).
Removing core_cm3.o(.emb_text), (32 bytes).
Removing system_stm32f10x.o(i.SystemCoreClockUpdate), (164 bytes).
+ Removing system_stm32f10x.o(.data), (20 bytes).
Removing misc.o(i.NVIC_SetVectorTable), (20 bytes).
Removing misc.o(i.NVIC_SystemLPConfig), (32 bytes).
Removing misc.o(i.SysTick_CLKSourceConfig), (40 bytes).
@@ -598,6 +636,7 @@ 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_APB1PeriphClockCmd), (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).
@@ -694,6 +733,7 @@ Removing Unused input sections from the image.
Removing stm32f10x_tim.o(i.TI2_Config), (152 bytes).
Removing stm32f10x_tim.o(i.TI3_Config), (144 bytes).
Removing stm32f10x_tim.o(i.TI4_Config), (152 bytes).
+ Removing stm32f10x_tim.o(i.TIM_ARRPreloadConfig), (24 bytes).
Removing stm32f10x_tim.o(i.TIM_BDTRConfig), (32 bytes).
Removing stm32f10x_tim.o(i.TIM_BDTRStructInit), (18 bytes).
Removing stm32f10x_tim.o(i.TIM_CCPreloadControl), (24 bytes).
@@ -704,6 +744,7 @@ Removing Unused input sections from the image.
Removing stm32f10x_tim.o(i.TIM_ClearOC2Ref), (24 bytes).
Removing stm32f10x_tim.o(i.TIM_ClearOC3Ref), (18 bytes).
Removing stm32f10x_tim.o(i.TIM_ClearOC4Ref), (24 bytes).
+ Removing stm32f10x_tim.o(i.TIM_Cmd), (24 bytes).
Removing stm32f10x_tim.o(i.TIM_CounterModeConfig), (18 bytes).
Removing stm32f10x_tim.o(i.TIM_CtrlPWMOutputs), (30 bytes).
Removing stm32f10x_tim.o(i.TIM_DMACmd), (18 bytes).
@@ -728,6 +769,7 @@ Removing Unused input sections from the image.
Removing stm32f10x_tim.o(i.TIM_ICInit), (172 bytes).
Removing stm32f10x_tim.o(i.TIM_ICStructInit), (18 bytes).
Removing stm32f10x_tim.o(i.TIM_ITRxExternalClockConfig), (24 bytes).
+ Removing stm32f10x_tim.o(i.TIM_InternalClockConfig), (12 bytes).
Removing stm32f10x_tim.o(i.TIM_OC1FastConfig), (18 bytes).
Removing stm32f10x_tim.o(i.TIM_OC1Init), (152 bytes).
Removing stm32f10x_tim.o(i.TIM_OC1NPolarityConfig), (18 bytes).
@@ -761,7 +803,6 @@ Removing Unused input sections from the image.
Removing stm32f10x_tim.o(i.TIM_SelectSlaveMode), (18 bytes).
Removing stm32f10x_tim.o(i.TIM_SetAutoreload), (4 bytes).
Removing stm32f10x_tim.o(i.TIM_SetClockDivision), (18 bytes).
- Removing stm32f10x_tim.o(i.TIM_SetCompare1), (4 bytes).
Removing stm32f10x_tim.o(i.TIM_SetCompare2), (4 bytes).
Removing stm32f10x_tim.o(i.TIM_SetCompare3), (4 bytes).
Removing stm32f10x_tim.o(i.TIM_SetCompare4), (6 bytes).
@@ -771,6 +812,7 @@ Removing Unused input sections from the image.
Removing stm32f10x_tim.o(i.TIM_SetIC3Prescaler), (18 bytes).
Removing stm32f10x_tim.o(i.TIM_SetIC4Prescaler), (26 bytes).
Removing stm32f10x_tim.o(i.TIM_TIxExternalClockConfig), (62 bytes).
+ Removing stm32f10x_tim.o(i.TIM_TimeBaseInit), (164 bytes).
Removing stm32f10x_tim.o(i.TIM_TimeBaseStructInit), (18 bytes).
Removing stm32f10x_tim.o(i.TIM_UpdateDisableConfig), (24 bytes).
Removing stm32f10x_tim.o(i.TIM_UpdateRequestConfig), (24 bytes).
@@ -806,7 +848,7 @@ Removing Unused input sections from the image.
Removing mw_bluetooth.o(i.mw_get_bluetooth_drv), (40 bytes).
Removing hc06.o(i.hc06_init), (2 bytes).
-471 unused section(s) (total 19094 bytes) removed from the image.
+480 unused section(s) (total 20102 bytes) removed from the image.
==============================================================================
@@ -816,73 +858,73 @@ Image Symbol Table
Symbol Name Value Ov Type Size Object(Section)
+ ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.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_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 __rtentry2.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE
- ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.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 rtexit2.o ABSOLUTE
../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE
../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE
../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE
- ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.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 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 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/sysapp.c 0x00000000 Number 0 sys_wrch.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 argv_veneer.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/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.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 libinit.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 libshutdown2.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE
../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_w.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE
- ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE
+ ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE
../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE
../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE
../clib/printf_percent.s 0x00000000 Number 0 _printf_s.o ABSOLUTE
- ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE
- ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.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 __raise.o ABSOLUTE
- ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE
- ../clib/signal.c 0x00000000 Number 0 defsig_rtred_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_stak_inner.o ABSOLUTE
- ../clib/signal.c 0x00000000 Number 0 defsig_cppl_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_rtmem_outer.o ABSOLUTE
+ ../clib/signal.c 0x00000000 Number 0 defsig_other.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_rtred_inner.o ABSOLUTE
+ ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE
../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE
- ../clib/stdio.c 0x00000000 Number 0 ferror_locked.o ABSOLUTE
../clib/stdio.c 0x00000000 Number 0 ferror.o ABSOLUTE
+ ../clib/stdio.c 0x00000000 Number 0 ferror_locked.o ABSOLUTE
../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE
../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE
..\Code\app\src\app_led.c 0x00000000 Number 0 app_led.o ABSOLUTE
@@ -984,64 +1026,70 @@ Image Symbol Table
i.GPIO_SetBits 0x08000352 Section 0 stm32f10x_gpio.o(i.GPIO_SetBits)
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_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.SysTick_Handler 0x08000618 Section 0 bsp_timer.o(i.SysTick_Handler)
- i.SysTick_ISR 0x08000620 Section 0 bsp_timer.o(i.SysTick_ISR)
- i.SystemInit 0x080006a4 Section 0 system_stm32f10x.o(i.SystemInit)
- i.TIM2_IRQHandler 0x08000704 Section 0 bsp_timer.o(i.TIM2_IRQHandler)
- i.TIM_ARRPreloadConfig 0x080007b4 Section 0 stm32f10x_tim.o(i.TIM_ARRPreloadConfig)
- i.TIM_ClearITPendingBit 0x080007cc Section 0 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
- i.TIM_Cmd 0x080007d2 Section 0 stm32f10x_tim.o(i.TIM_Cmd)
- i.TIM_GetITStatus 0x080007ea Section 0 stm32f10x_tim.o(i.TIM_GetITStatus)
- i.TIM_ITConfig 0x0800080c Section 0 stm32f10x_tim.o(i.TIM_ITConfig)
- i.TIM_InternalClockConfig 0x0800081e Section 0 stm32f10x_tim.o(i.TIM_InternalClockConfig)
- i.TIM_TimeBaseInit 0x0800082c Section 0 stm32f10x_tim.o(i.TIM_TimeBaseInit)
- i.USART1_IRQHandler 0x080008d0 Section 0 interrupt_handler.o(i.USART1_IRQHandler)
- i.USART_ClearITPendingBit 0x08000914 Section 0 stm32f10x_usart.o(i.USART_ClearITPendingBit)
- i.USART_Cmd 0x08000932 Section 0 stm32f10x_usart.o(i.USART_Cmd)
- i.USART_DeInit 0x0800094c Section 0 stm32f10x_usart.o(i.USART_DeInit)
- i.USART_GetITStatus 0x080009e8 Section 0 stm32f10x_usart.o(i.USART_GetITStatus)
- i.USART_ITConfig 0x08000a3c Section 0 stm32f10x_usart.o(i.USART_ITConfig)
- i.USART_Init 0x08000a88 Section 0 stm32f10x_usart.o(i.USART_Init)
- i.USART_ReceiveData 0x08000b60 Section 0 stm32f10x_usart.o(i.USART_ReceiveData)
- i.USART_SendData 0x08000b6a Section 0 stm32f10x_usart.o(i.USART_SendData)
- i._sys_exit 0x08000b72 Section 0 bsp_usart.o(i._sys_exit)
- i.bsp_Init 0x08000b78 Section 0 bsp.o(i.bsp_Init)
- i.bsp_InitHardTimer 0x08000bb4 Section 0 bsp_timer.o(i.bsp_InitHardTimer)
- i.bsp_InitLed 0x08000c38 Section 0 bsp_led.o(i.bsp_InitLed)
- i.bsp_InitTimer 0x08000c90 Section 0 bsp_timer.o(i.bsp_InitTimer)
- i.bsp_LedOff 0x08000d30 Section 0 bsp_led.o(i.bsp_LedOff)
- i.bsp_LedToggle 0x08000d44 Section 0 bsp_led.o(i.bsp_LedToggle)
- i.bsp_RunPer10ms 0x08000d70 Section 0 bsp.o(i.bsp_RunPer10ms)
- i.bsp_RunPer1ms 0x08000d74 Section 0 bsp.o(i.bsp_RunPer1ms)
- i.bsp_SoftTimerDec 0x08000d9c Section 0 bsp_timer.o(i.bsp_SoftTimerDec)
- bsp_SoftTimerDec 0x08000d9d Thumb Code 28 bsp_timer.o(i.bsp_SoftTimerDec)
- i.bsp_init 0x08000db8 Section 0 main.o(i.bsp_init)
- i.get_systick_ms 0x08000dc4 Section 0 mw_soft_timer.o(i.get_systick_ms)
- i.main 0x08000dd0 Section 0 main.o(i.main)
- i.middleware_init 0x08000de4 Section 0 main.o(i.middleware_init)
- i.mw_bluetooth_drv_init 0x08000df0 Section 0 mw_bluetooth.o(i.mw_bluetooth_drv_init)
- i.mw_led0_init 0x08000e28 Section 0 mw_led.o(i.mw_led0_init)
- i.mw_led0_off 0x08000e60 Section 0 mw_led.o(i.mw_led0_off)
- i.mw_led0_on 0x08000e74 Section 0 mw_led.o(i.mw_led0_on)
- i.mw_led_drv_init 0x08000e88 Section 0 mw_led.o(i.mw_led_drv_init)
- i.mw_printf_insert_data 0x08000ec4 Section 0 mw_printf.o(i.mw_printf_insert_data)
- i.mw_receive_one_byte 0x08000eec Section 0 mw_bluetooth.o(i.mw_receive_one_byte)
- mw_receive_one_byte 0x08000eed Thumb Code 12 mw_bluetooth.o(i.mw_receive_one_byte)
- i.mw_send_one_byte 0x08000efc Section 0 mw_bluetooth.o(i.mw_send_one_byte)
- mw_send_one_byte 0x08000efd Thumb Code 16 mw_bluetooth.o(i.mw_send_one_byte)
- i.mw_usart_deinit 0x08000f10 Section 0 mw_bluetooth.o(i.mw_usart_deinit)
- mw_usart_deinit 0x08000f11 Thumb Code 12 mw_bluetooth.o(i.mw_usart_deinit)
- i.mw_usart_init 0x08000f20 Section 0 mw_bluetooth.o(i.mw_usart_init)
- mw_usart_init 0x08000f21 Thumb Code 176 mw_bluetooth.o(i.mw_usart_init)
+ i.RCC_APB1PeriphResetCmd 0x080003dc Section 0 stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd)
+ i.RCC_APB2PeriphClockCmd 0x080003fc Section 0 stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd)
+ i.RCC_APB2PeriphResetCmd 0x0800041c Section 0 stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd)
+ i.RCC_GetClocksFreq 0x0800043c Section 0 stm32f10x_rcc.o(i.RCC_GetClocksFreq)
+ i.SetSysClock 0x08000510 Section 0 system_stm32f10x.o(i.SetSysClock)
+ SetSysClock 0x08000511 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
+ i.SetSysClockTo72 0x08000518 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
+ SetSysClockTo72 0x08000519 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
+ i.SysTick_Handler 0x080005f8 Section 0 bsp_timer.o(i.SysTick_Handler)
+ i.SysTick_ISR 0x08000600 Section 0 bsp_timer.o(i.SysTick_ISR)
+ i.SystemInit 0x08000684 Section 0 system_stm32f10x.o(i.SystemInit)
+ i.TIM2_IRQHandler 0x080006e4 Section 0 bsp_timer.o(i.TIM2_IRQHandler)
+ i.TIM3_IRQHandler 0x08000700 Section 0 bsp_timer.o(i.TIM3_IRQHandler)
+ i.TIM_ClearITPendingBit 0x080007b8 Section 0 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
+ i.TIM_GetITStatus 0x080007be Section 0 stm32f10x_tim.o(i.TIM_GetITStatus)
+ i.TIM_ITConfig 0x080007e0 Section 0 stm32f10x_tim.o(i.TIM_ITConfig)
+ i.TIM_SetCompare1 0x080007f2 Section 0 stm32f10x_tim.o(i.TIM_SetCompare1)
+ i.USART1_IRQHandler 0x080007f8 Section 0 interrupt_handler.o(i.USART1_IRQHandler)
+ i.USART_ClearITPendingBit 0x0800083c Section 0 stm32f10x_usart.o(i.USART_ClearITPendingBit)
+ i.USART_Cmd 0x0800085a Section 0 stm32f10x_usart.o(i.USART_Cmd)
+ i.USART_DeInit 0x08000874 Section 0 stm32f10x_usart.o(i.USART_DeInit)
+ i.USART_GetITStatus 0x08000910 Section 0 stm32f10x_usart.o(i.USART_GetITStatus)
+ i.USART_ITConfig 0x08000964 Section 0 stm32f10x_usart.o(i.USART_ITConfig)
+ i.USART_Init 0x080009b0 Section 0 stm32f10x_usart.o(i.USART_Init)
+ i.USART_ReceiveData 0x08000a88 Section 0 stm32f10x_usart.o(i.USART_ReceiveData)
+ i.USART_SendData 0x08000a92 Section 0 stm32f10x_usart.o(i.USART_SendData)
+ i.__set_PRIMASK 0x08000a9a Section 0 bsp_timer.o(i.__set_PRIMASK)
+ __set_PRIMASK 0x08000a9b Thumb Code 6 bsp_timer.o(i.__set_PRIMASK)
+ i._sys_exit 0x08000aa0 Section 0 bsp_usart.o(i._sys_exit)
+ i.bluetooth_deinit 0x08000aa6 Section 0 mw_bluetooth.o(i.bluetooth_deinit)
+ bluetooth_deinit 0x08000aa7 Thumb Code 2 mw_bluetooth.o(i.bluetooth_deinit)
+ i.bluetooth_init 0x08000aa8 Section 0 mw_bluetooth.o(i.bluetooth_init)
+ bluetooth_init 0x08000aa9 Thumb Code 2 mw_bluetooth.o(i.bluetooth_init)
+ i.bluetooth_recv_deal 0x08000aaa Section 0 mw_bluetooth.o(i.bluetooth_recv_deal)
+ bluetooth_recv_deal 0x08000aab Thumb Code 2 mw_bluetooth.o(i.bluetooth_recv_deal)
+ i.bluetooth_send_bytes 0x08000aac Section 0 mw_bluetooth.o(i.bluetooth_send_bytes)
+ bluetooth_send_bytes 0x08000aad Thumb Code 2 mw_bluetooth.o(i.bluetooth_send_bytes)
+ i.bluetooth_system_usart_deinit 0x08000ab0 Section 0 mw_bluetooth.o(i.bluetooth_system_usart_deinit)
+ bluetooth_system_usart_deinit 0x08000ab1 Thumb Code 12 mw_bluetooth.o(i.bluetooth_system_usart_deinit)
+ i.bluetooth_system_usart_init 0x08000ac0 Section 0 mw_bluetooth.o(i.bluetooth_system_usart_init)
+ bluetooth_system_usart_init 0x08000ac1 Thumb Code 176 mw_bluetooth.o(i.bluetooth_system_usart_init)
+ i.bluetooth_system_usart_receive_one_byte 0x08000b78 Section 0 mw_bluetooth.o(i.bluetooth_system_usart_receive_one_byte)
+ bluetooth_system_usart_receive_one_byte 0x08000b79 Thumb Code 12 mw_bluetooth.o(i.bluetooth_system_usart_receive_one_byte)
+ i.bluetooth_system_usart_send_one_byte 0x08000b88 Section 0 mw_bluetooth.o(i.bluetooth_system_usart_send_one_byte)
+ bluetooth_system_usart_send_one_byte 0x08000b89 Thumb Code 16 mw_bluetooth.o(i.bluetooth_system_usart_send_one_byte)
+ i.bsp_DelayMS 0x08000b9c Section 0 bsp_timer.o(i.bsp_DelayMS)
+ i.bsp_Idle 0x08000be0 Section 0 bsp.o(i.bsp_Idle)
+ i.bsp_LedToggle 0x08000be4 Section 0 bsp_led.o(i.bsp_LedToggle)
+ i.bsp_RunPer10ms 0x08000c10 Section 0 bsp.o(i.bsp_RunPer10ms)
+ i.bsp_RunPer1ms 0x08000c14 Section 0 bsp.o(i.bsp_RunPer1ms)
+ i.bsp_SoftTimerDec 0x08000c3c Section 0 bsp_timer.o(i.bsp_SoftTimerDec)
+ bsp_SoftTimerDec 0x08000c3d Thumb Code 28 bsp_timer.o(i.bsp_SoftTimerDec)
+ i.bsp_change_pwm 0x08000c58 Section 0 bsp_timer.o(i.bsp_change_pwm)
+ i.bsp_init 0x08000c6c Section 0 main.o(i.bsp_init)
+ i.bsp_pwm_test_loop 0x08000c6e Section 0 bsp_timer.o(i.bsp_pwm_test_loop)
+ i.get_systick_ms 0x08000ca4 Section 0 mw_soft_timer.o(i.get_systick_ms)
+ i.main 0x08000cb0 Section 0 main.o(i.main)
+ i.middleware_init 0x08000cc8 Section 0 main.o(i.middleware_init)
+ i.mw_bluetooth_drv_init 0x08000cd4 Section 0 mw_bluetooth.o(i.mw_bluetooth_drv_init)
+ i.mw_led0_init 0x08000d30 Section 0 mw_led.o(i.mw_led0_init)
+ i.mw_led0_off 0x08000d68 Section 0 mw_led.o(i.mw_led0_off)
+ i.mw_led0_on 0x08000d7c Section 0 mw_led.o(i.mw_led0_on)
+ i.mw_led_drv_init 0x08000d90 Section 0 mw_led.o(i.mw_led_drv_init)
+ i.mw_printf_insert_data 0x08000dcc Section 0 mw_printf.o(i.mw_printf_insert_data)
.data 0x20000000 Section 2 mw_printf.o(.data)
mw_printf_cache_head 0x20000000 Data 2 mw_printf.o(.data)
.data 0x20000004 Section 4 mw_soft_timer.o(.data)
@@ -1055,21 +1103,20 @@ Image Symbol Table
s_TIM_CallBack4 0x20000020 Data 4 bsp_timer.o(.data)
s_count 0x20000024 Data 1 bsp_timer.o(.data)
.data 0x20000025 Section 1 bsp.o(.data)
- .data 0x20000028 Section 20 system_stm32f10x.o(.data)
- .data 0x2000003c Section 20 stm32f10x_rcc.o(.data)
- APBAHBPrescTable 0x2000003c Data 16 stm32f10x_rcc.o(.data)
- ADCPrescTable 0x2000004c Data 4 stm32f10x_rcc.o(.data)
- .bss 0x20000050 Section 16 mw_led.o(.bss)
- .bss 0x20000060 Section 50 mw_printf.o(.bss)
- .bss 0x20000094 Section 12 bsp_timer.o(.bss)
- s_tTmr 0x20000094 Data 12 bsp_timer.o(.bss)
- .bss 0x200000a0 Section 40 mw_bluetooth.o(.bss)
- .bss 0x200000c8 Section 96 libspace.o(.bss)
- HEAP 0x20000128 Section 512 startup_stm32f10x_md.o(HEAP)
- Heap_Mem 0x20000128 Data 512 startup_stm32f10x_md.o(HEAP)
- STACK 0x20000328 Section 1024 startup_stm32f10x_md.o(STACK)
- Stack_Mem 0x20000328 Data 1024 startup_stm32f10x_md.o(STACK)
- __initial_sp 0x20000728 Data 0 startup_stm32f10x_md.o(STACK)
+ .data 0x20000026 Section 20 stm32f10x_rcc.o(.data)
+ APBAHBPrescTable 0x20000026 Data 16 stm32f10x_rcc.o(.data)
+ ADCPrescTable 0x20000036 Data 4 stm32f10x_rcc.o(.data)
+ .bss 0x2000003c Section 16 mw_led.o(.bss)
+ .bss 0x2000004c Section 50 mw_printf.o(.bss)
+ .bss 0x20000080 Section 12 bsp_timer.o(.bss)
+ s_tTmr 0x20000080 Data 12 bsp_timer.o(.bss)
+ .bss 0x2000008c Section 40 mw_bluetooth.o(.bss)
+ .bss 0x200000b4 Section 96 libspace.o(.bss)
+ HEAP 0x20000118 Section 512 startup_stm32f10x_md.o(HEAP)
+ Heap_Mem 0x20000118 Data 512 startup_stm32f10x_md.o(HEAP)
+ STACK 0x20000318 Section 1024 startup_stm32f10x_md.o(STACK)
+ Stack_Mem 0x20000318 Data 1024 startup_stm32f10x_md.o(STACK)
+ __initial_sp 0x20000718 Data 0 startup_stm32f10x_md.o(STACK)
Global Symbols
@@ -1205,7 +1252,6 @@ Image Symbol Table
TIM1_CC_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
TIM1_TRG_COM_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
TIM1_UP_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
- TIM3_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
TIM4_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
USART2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
USART3_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
@@ -1230,61 +1276,55 @@ Image Symbol Table
GPIO_SetBits 0x08000353 Thumb Code 4 stm32f10x_gpio.o(i.GPIO_SetBits)
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_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)
- SysTick_Handler 0x08000619 Thumb Code 8 bsp_timer.o(i.SysTick_Handler)
- SysTick_ISR 0x08000621 Thumb Code 110 bsp_timer.o(i.SysTick_ISR)
- SystemInit 0x080006a5 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
- TIM2_IRQHandler 0x08000705 Thumb Code 158 bsp_timer.o(i.TIM2_IRQHandler)
- TIM_ARRPreloadConfig 0x080007b5 Thumb Code 24 stm32f10x_tim.o(i.TIM_ARRPreloadConfig)
- TIM_ClearITPendingBit 0x080007cd Thumb Code 6 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
- TIM_Cmd 0x080007d3 Thumb Code 24 stm32f10x_tim.o(i.TIM_Cmd)
- TIM_GetITStatus 0x080007eb Thumb Code 34 stm32f10x_tim.o(i.TIM_GetITStatus)
- TIM_ITConfig 0x0800080d Thumb Code 18 stm32f10x_tim.o(i.TIM_ITConfig)
- TIM_InternalClockConfig 0x0800081f Thumb Code 12 stm32f10x_tim.o(i.TIM_InternalClockConfig)
- TIM_TimeBaseInit 0x0800082d Thumb Code 122 stm32f10x_tim.o(i.TIM_TimeBaseInit)
- USART1_IRQHandler 0x080008d1 Thumb Code 62 interrupt_handler.o(i.USART1_IRQHandler)
- USART_ClearITPendingBit 0x08000915 Thumb Code 30 stm32f10x_usart.o(i.USART_ClearITPendingBit)
- USART_Cmd 0x08000933 Thumb Code 24 stm32f10x_usart.o(i.USART_Cmd)
- USART_DeInit 0x0800094d Thumb Code 134 stm32f10x_usart.o(i.USART_DeInit)
- USART_GetITStatus 0x080009e9 Thumb Code 84 stm32f10x_usart.o(i.USART_GetITStatus)
- USART_ITConfig 0x08000a3d Thumb Code 74 stm32f10x_usart.o(i.USART_ITConfig)
- USART_Init 0x08000a89 Thumb Code 210 stm32f10x_usart.o(i.USART_Init)
- USART_ReceiveData 0x08000b61 Thumb Code 10 stm32f10x_usart.o(i.USART_ReceiveData)
- USART_SendData 0x08000b6b Thumb Code 8 stm32f10x_usart.o(i.USART_SendData)
- _sys_exit 0x08000b73 Thumb Code 6 bsp_usart.o(i._sys_exit)
- bsp_Init 0x08000b79 Thumb Code 52 bsp.o(i.bsp_Init)
- bsp_InitHardTimer 0x08000bb5 Thumb Code 126 bsp_timer.o(i.bsp_InitHardTimer)
- bsp_InitLed 0x08000c39 Thumb Code 80 bsp_led.o(i.bsp_InitLed)
- bsp_InitTimer 0x08000c91 Thumb Code 142 bsp_timer.o(i.bsp_InitTimer)
- bsp_LedOff 0x08000d31 Thumb Code 16 bsp_led.o(i.bsp_LedOff)
- bsp_LedToggle 0x08000d45 Thumb Code 36 bsp_led.o(i.bsp_LedToggle)
- bsp_RunPer10ms 0x08000d71 Thumb Code 2 bsp.o(i.bsp_RunPer10ms)
- bsp_RunPer1ms 0x08000d75 Thumb Code 36 bsp.o(i.bsp_RunPer1ms)
- bsp_init 0x08000db9 Thumb Code 12 main.o(i.bsp_init)
- get_systick_ms 0x08000dc5 Thumb Code 6 mw_soft_timer.o(i.get_systick_ms)
- main 0x08000dd1 Thumb Code 20 main.o(i.main)
- middleware_init 0x08000de5 Thumb Code 12 main.o(i.middleware_init)
- mw_bluetooth_drv_init 0x08000df1 Thumb Code 30 mw_bluetooth.o(i.mw_bluetooth_drv_init)
- mw_led0_init 0x08000e29 Thumb Code 50 mw_led.o(i.mw_led0_init)
- mw_led0_off 0x08000e61 Thumb Code 14 mw_led.o(i.mw_led0_off)
- mw_led0_on 0x08000e75 Thumb Code 14 mw_led.o(i.mw_led0_on)
- mw_led_drv_init 0x08000e89 Thumb Code 44 mw_led.o(i.mw_led_drv_init)
- mw_printf_insert_data 0x08000ec5 Thumb Code 30 mw_printf.o(i.mw_printf_insert_data)
- Region$$Table$$Base 0x08000fd8 Number 0 anon$$obj.o(Region$$Table)
- Region$$Table$$Limit 0x08000ff8 Number 0 anon$$obj.o(Region$$Table)
+ RCC_APB1PeriphResetCmd 0x080003dd Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd)
+ RCC_APB2PeriphClockCmd 0x080003fd Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd)
+ RCC_APB2PeriphResetCmd 0x0800041d Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd)
+ RCC_GetClocksFreq 0x0800043d Thumb Code 192 stm32f10x_rcc.o(i.RCC_GetClocksFreq)
+ SysTick_Handler 0x080005f9 Thumb Code 8 bsp_timer.o(i.SysTick_Handler)
+ SysTick_ISR 0x08000601 Thumb Code 110 bsp_timer.o(i.SysTick_ISR)
+ SystemInit 0x08000685 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
+ TIM2_IRQHandler 0x080006e5 Thumb Code 28 bsp_timer.o(i.TIM2_IRQHandler)
+ TIM3_IRQHandler 0x08000701 Thumb Code 164 bsp_timer.o(i.TIM3_IRQHandler)
+ TIM_ClearITPendingBit 0x080007b9 Thumb Code 6 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
+ TIM_GetITStatus 0x080007bf Thumb Code 34 stm32f10x_tim.o(i.TIM_GetITStatus)
+ TIM_ITConfig 0x080007e1 Thumb Code 18 stm32f10x_tim.o(i.TIM_ITConfig)
+ TIM_SetCompare1 0x080007f3 Thumb Code 4 stm32f10x_tim.o(i.TIM_SetCompare1)
+ USART1_IRQHandler 0x080007f9 Thumb Code 62 interrupt_handler.o(i.USART1_IRQHandler)
+ USART_ClearITPendingBit 0x0800083d Thumb Code 30 stm32f10x_usart.o(i.USART_ClearITPendingBit)
+ USART_Cmd 0x0800085b Thumb Code 24 stm32f10x_usart.o(i.USART_Cmd)
+ USART_DeInit 0x08000875 Thumb Code 134 stm32f10x_usart.o(i.USART_DeInit)
+ USART_GetITStatus 0x08000911 Thumb Code 84 stm32f10x_usart.o(i.USART_GetITStatus)
+ USART_ITConfig 0x08000965 Thumb Code 74 stm32f10x_usart.o(i.USART_ITConfig)
+ USART_Init 0x080009b1 Thumb Code 210 stm32f10x_usart.o(i.USART_Init)
+ USART_ReceiveData 0x08000a89 Thumb Code 10 stm32f10x_usart.o(i.USART_ReceiveData)
+ USART_SendData 0x08000a93 Thumb Code 8 stm32f10x_usart.o(i.USART_SendData)
+ _sys_exit 0x08000aa1 Thumb Code 6 bsp_usart.o(i._sys_exit)
+ bsp_DelayMS 0x08000b9d Thumb Code 58 bsp_timer.o(i.bsp_DelayMS)
+ bsp_Idle 0x08000be1 Thumb Code 2 bsp.o(i.bsp_Idle)
+ bsp_LedToggle 0x08000be5 Thumb Code 36 bsp_led.o(i.bsp_LedToggle)
+ bsp_RunPer10ms 0x08000c11 Thumb Code 2 bsp.o(i.bsp_RunPer10ms)
+ bsp_RunPer1ms 0x08000c15 Thumb Code 36 bsp.o(i.bsp_RunPer1ms)
+ bsp_change_pwm 0x08000c59 Thumb Code 14 bsp_timer.o(i.bsp_change_pwm)
+ bsp_init 0x08000c6d Thumb Code 2 main.o(i.bsp_init)
+ bsp_pwm_test_loop 0x08000c6f Thumb Code 54 bsp_timer.o(i.bsp_pwm_test_loop)
+ get_systick_ms 0x08000ca5 Thumb Code 6 mw_soft_timer.o(i.get_systick_ms)
+ main 0x08000cb1 Thumb Code 24 main.o(i.main)
+ middleware_init 0x08000cc9 Thumb Code 12 main.o(i.middleware_init)
+ mw_bluetooth_drv_init 0x08000cd5 Thumb Code 52 mw_bluetooth.o(i.mw_bluetooth_drv_init)
+ mw_led0_init 0x08000d31 Thumb Code 50 mw_led.o(i.mw_led0_init)
+ mw_led0_off 0x08000d69 Thumb Code 14 mw_led.o(i.mw_led0_off)
+ mw_led0_on 0x08000d7d Thumb Code 14 mw_led.o(i.mw_led0_on)
+ mw_led_drv_init 0x08000d91 Thumb Code 44 mw_led.o(i.mw_led_drv_init)
+ mw_printf_insert_data 0x08000dcd Thumb Code 30 mw_printf.o(i.mw_printf_insert_data)
+ Region$$Table$$Base 0x08000df4 Number 0 anon$$obj.o(Region$$Table)
+ Region$$Table$$Limit 0x08000e14 Number 0 anon$$obj.o(Region$$Table)
g_iRunTime 0x20000010 Data 4 bsp_timer.o(.data)
ubCounter 0x20000025 Data 1 bsp.o(.data)
- SystemCoreClock 0x20000028 Data 4 system_stm32f10x.o(.data)
- AHBPrescTable 0x2000002c Data 16 system_stm32f10x.o(.data)
- led_drv_buf 0x20000050 Data 16 mw_led.o(.bss)
- mw_printf_buf 0x20000060 Data 50 mw_printf.o(.bss)
- bluetooth_drv_buf 0x200000a0 Data 40 mw_bluetooth.o(.bss)
- __libspace_start 0x200000c8 Data 96 libspace.o(.bss)
- __temporary_stack_top$libspace 0x20000128 Data 0 libspace.o(.bss)
+ led_drv_buf 0x2000003c Data 16 mw_led.o(.bss)
+ mw_printf_buf 0x2000004c Data 50 mw_printf.o(.bss)
+ bt_drv_buf 0x2000008c Data 40 mw_bluetooth.o(.bss)
+ __libspace_start 0x200000b4 Data 96 libspace.o(.bss)
+ __temporary_stack_top$libspace 0x20000114 Data 0 libspace.o(.bss)
@@ -1294,153 +1334,156 @@ Memory Map of the image
Image Entry point : 0x080000ed
- Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001048, Max: 0x00010000, ABSOLUTE)
+ Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000e50, Max: 0x00010000, ABSOLUTE)
- Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000ff8, Max: 0x00010000, ABSOLUTE)
+ Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000e14, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
- 0x08000000 0x08000000 0x000000ec Data RO 640 RESET startup_stm32f10x_md.o
- 0x080000ec 0x080000ec 0x00000008 Code RO 3769 * !!!main c_w.l(__main.o)
- 0x080000f4 0x080000f4 0x00000034 Code RO 3939 !!!scatter c_w.l(__scatter.o)
- 0x08000128 0x08000128 0x0000001a Code RO 3941 !!handler_copy c_w.l(__scatter_copy.o)
+ 0x08000000 0x08000000 0x000000ec Data RO 670 RESET startup_stm32f10x_md.o
+ 0x080000ec 0x080000ec 0x00000008 Code RO 3819 * !!!main c_w.l(__main.o)
+ 0x080000f4 0x080000f4 0x00000034 Code RO 3989 !!!scatter c_w.l(__scatter.o)
+ 0x08000128 0x08000128 0x0000001a Code RO 3991 !!handler_copy c_w.l(__scatter_copy.o)
0x08000142 0x08000142 0x00000002 PAD
- 0x08000144 0x08000144 0x0000001c Code RO 3943 !!handler_zi c_w.l(__scatter_zi.o)
- 0x08000160 0x08000160 0x00000002 Code RO 3811 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3818 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3820 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3823 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3825 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3827 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3830 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3832 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3834 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3836 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3838 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3840 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3842 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3844 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3846 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3848 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3850 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3854 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3856 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3858 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000000 Code RO 3860 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
- 0x08000162 0x08000162 0x00000002 Code RO 3861 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o)
- 0x08000164 0x08000164 0x00000002 Code RO 3879 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
- 0x08000166 0x08000166 0x00000000 Code RO 3889 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
- 0x08000166 0x08000166 0x00000000 Code RO 3891 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
- 0x08000166 0x08000166 0x00000000 Code RO 3893 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o)
- 0x08000166 0x08000166 0x00000000 Code RO 3896 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o)
- 0x08000166 0x08000166 0x00000000 Code RO 3899 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
- 0x08000166 0x08000166 0x00000000 Code RO 3901 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o)
- 0x08000166 0x08000166 0x00000000 Code RO 3904 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o)
- 0x08000166 0x08000166 0x00000002 Code RO 3905 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o)
- 0x08000168 0x08000168 0x00000000 Code RO 3773 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
- 0x08000168 0x08000168 0x00000000 Code RO 3780 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
- 0x08000168 0x08000168 0x00000006 Code RO 3792 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
- 0x0800016e 0x0800016e 0x00000000 Code RO 3782 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
- 0x0800016e 0x0800016e 0x00000004 Code RO 3783 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
- 0x08000172 0x08000172 0x00000000 Code RO 3785 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
- 0x08000172 0x08000172 0x00000008 Code RO 3786 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
- 0x0800017a 0x0800017a 0x00000002 Code RO 3815 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
- 0x0800017c 0x0800017c 0x00000000 Code RO 3863 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
- 0x0800017c 0x0800017c 0x00000004 Code RO 3864 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
- 0x08000180 0x08000180 0x00000006 Code RO 3865 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
+ 0x08000144 0x08000144 0x0000001c Code RO 3993 !!handler_zi c_w.l(__scatter_zi.o)
+ 0x08000160 0x08000160 0x00000002 Code RO 3861 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3868 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3870 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3873 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3875 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3877 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3880 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3882 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3884 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3886 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3888 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3890 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3892 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3894 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3896 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3898 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3900 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3904 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3906 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3908 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000000 Code RO 3910 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
+ 0x08000162 0x08000162 0x00000002 Code RO 3911 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o)
+ 0x08000164 0x08000164 0x00000002 Code RO 3929 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
+ 0x08000166 0x08000166 0x00000000 Code RO 3939 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
+ 0x08000166 0x08000166 0x00000000 Code RO 3941 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
+ 0x08000166 0x08000166 0x00000000 Code RO 3943 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o)
+ 0x08000166 0x08000166 0x00000000 Code RO 3946 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o)
+ 0x08000166 0x08000166 0x00000000 Code RO 3949 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
+ 0x08000166 0x08000166 0x00000000 Code RO 3951 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o)
+ 0x08000166 0x08000166 0x00000000 Code RO 3954 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o)
+ 0x08000166 0x08000166 0x00000002 Code RO 3955 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o)
+ 0x08000168 0x08000168 0x00000000 Code RO 3823 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
+ 0x08000168 0x08000168 0x00000000 Code RO 3830 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
+ 0x08000168 0x08000168 0x00000006 Code RO 3842 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
+ 0x0800016e 0x0800016e 0x00000000 Code RO 3832 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
+ 0x0800016e 0x0800016e 0x00000004 Code RO 3833 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
+ 0x08000172 0x08000172 0x00000000 Code RO 3835 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
+ 0x08000172 0x08000172 0x00000008 Code RO 3836 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
+ 0x0800017a 0x0800017a 0x00000002 Code RO 3865 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
+ 0x0800017c 0x0800017c 0x00000000 Code RO 3913 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
+ 0x0800017c 0x0800017c 0x00000004 Code RO 3914 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
+ 0x08000180 0x08000180 0x00000006 Code RO 3915 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x08000186 0x08000186 0x00000002 PAD
- 0x08000188 0x08000188 0x00000040 Code RO 641 .text startup_stm32f10x_md.o
- 0x080001c8 0x080001c8 0x00000002 Code RO 3733 .text c_w.l(use_no_semi_2.o)
- 0x080001ca 0x080001ca 0x00000006 Code RO 3767 .text c_w.l(heapauxi.o)
- 0x080001d0 0x080001d0 0x00000002 Code RO 3771 .text c_w.l(use_no_semi.o)
- 0x080001d2 0x080001d2 0x0000004a Code RO 3800 .text c_w.l(sys_stackheap_outer.o)
- 0x0800021c 0x0800021c 0x00000012 Code RO 3804 .text c_w.l(exit.o)
+ 0x08000188 0x08000188 0x00000040 Code RO 671 .text startup_stm32f10x_md.o
+ 0x080001c8 0x080001c8 0x00000002 Code RO 3783 .text c_w.l(use_no_semi_2.o)
+ 0x080001ca 0x080001ca 0x00000006 Code RO 3817 .text c_w.l(heapauxi.o)
+ 0x080001d0 0x080001d0 0x00000002 Code RO 3821 .text c_w.l(use_no_semi.o)
+ 0x080001d2 0x080001d2 0x0000004a Code RO 3850 .text c_w.l(sys_stackheap_outer.o)
+ 0x0800021c 0x0800021c 0x00000012 Code RO 3854 .text c_w.l(exit.o)
0x0800022e 0x0800022e 0x00000002 PAD
- 0x08000230 0x08000230 0x00000008 Code RO 3812 .text c_w.l(libspace.o)
- 0x08000238 0x08000238 0x00000116 Code RO 1823 i.GPIO_Init stm32f10x_gpio.o
- 0x0800034e 0x0800034e 0x00000004 Code RO 1830 i.GPIO_ResetBits stm32f10x_gpio.o
- 0x08000352 0x08000352 0x00000004 Code RO 1831 i.GPIO_SetBits stm32f10x_gpio.o
+ 0x08000230 0x08000230 0x00000008 Code RO 3862 .text c_w.l(libspace.o)
+ 0x08000238 0x08000238 0x00000116 Code RO 1853 i.GPIO_Init stm32f10x_gpio.o
+ 0x0800034e 0x0800034e 0x00000004 Code RO 1860 i.GPIO_ResetBits stm32f10x_gpio.o
+ 0x08000352 0x08000352 0x00000004 Code RO 1861 i.GPIO_SetBits stm32f10x_gpio.o
0x08000356 0x08000356 0x00000002 PAD
- 0x08000358 0x08000358 0x00000070 Code RO 645 i.NVIC_Init misc.o
- 0x080003c8 0x080003c8 0x00000014 Code RO 646 i.NVIC_PriorityGroupConfig misc.o
- 0x080003dc 0x080003dc 0x00000020 Code RO 2245 i.RCC_APB1PeriphClockCmd stm32f10x_rcc.o
- 0x080003fc 0x080003fc 0x00000020 Code RO 2246 i.RCC_APB1PeriphResetCmd stm32f10x_rcc.o
- 0x0800041c 0x0800041c 0x00000020 Code RO 2247 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o
- 0x0800043c 0x0800043c 0x00000020 Code RO 2248 i.RCC_APB2PeriphResetCmd stm32f10x_rcc.o
- 0x0800045c 0x0800045c 0x000000d4 Code RO 2255 i.RCC_GetClocksFreq stm32f10x_rcc.o
- 0x08000530 0x08000530 0x00000008 Code RO 604 i.SetSysClock system_stm32f10x.o
- 0x08000538 0x08000538 0x000000e0 Code RO 605 i.SetSysClockTo72 system_stm32f10x.o
- 0x08000618 0x08000618 0x00000008 Code RO 324 i.SysTick_Handler bsp_timer.o
- 0x08000620 0x08000620 0x00000084 Code RO 325 i.SysTick_ISR bsp_timer.o
- 0x080006a4 0x080006a4 0x00000060 Code RO 607 i.SystemInit system_stm32f10x.o
- 0x08000704 0x08000704 0x000000b0 Code RO 326 i.TIM2_IRQHandler bsp_timer.o
- 0x080007b4 0x080007b4 0x00000018 Code RO 2876 i.TIM_ARRPreloadConfig stm32f10x_tim.o
- 0x080007cc 0x080007cc 0x00000006 Code RO 2883 i.TIM_ClearITPendingBit stm32f10x_tim.o
- 0x080007d2 0x080007d2 0x00000018 Code RO 2888 i.TIM_Cmd stm32f10x_tim.o
- 0x080007ea 0x080007ea 0x00000022 Code RO 2909 i.TIM_GetITStatus stm32f10x_tim.o
- 0x0800080c 0x0800080c 0x00000012 Code RO 2913 i.TIM_ITConfig stm32f10x_tim.o
- 0x0800081e 0x0800081e 0x0000000c Code RO 2915 i.TIM_InternalClockConfig stm32f10x_tim.o
- 0x0800082a 0x0800082a 0x00000002 PAD
- 0x0800082c 0x0800082c 0x000000a4 Code RO 2959 i.TIM_TimeBaseInit stm32f10x_tim.o
- 0x080008d0 0x080008d0 0x00000044 Code RO 3660 i.USART1_IRQHandler interrupt_handler.o
- 0x08000914 0x08000914 0x0000001e Code RO 3424 i.USART_ClearITPendingBit stm32f10x_usart.o
- 0x08000932 0x08000932 0x00000018 Code RO 3427 i.USART_Cmd stm32f10x_usart.o
- 0x0800094a 0x0800094a 0x00000002 PAD
- 0x0800094c 0x0800094c 0x0000009c Code RO 3429 i.USART_DeInit stm32f10x_usart.o
- 0x080009e8 0x080009e8 0x00000054 Code RO 3431 i.USART_GetITStatus stm32f10x_usart.o
- 0x08000a3c 0x08000a3c 0x0000004a Code RO 3433 i.USART_ITConfig stm32f10x_usart.o
- 0x08000a86 0x08000a86 0x00000002 PAD
- 0x08000a88 0x08000a88 0x000000d8 Code RO 3434 i.USART_Init stm32f10x_usart.o
- 0x08000b60 0x08000b60 0x0000000a Code RO 3441 i.USART_ReceiveData stm32f10x_usart.o
- 0x08000b6a 0x08000b6a 0x00000008 Code RO 3444 i.USART_SendData stm32f10x_usart.o
- 0x08000b72 0x08000b72 0x00000006 Code RO 427 i._sys_exit bsp_usart.o
- 0x08000b78 0x08000b78 0x0000003c Code RO 521 i.bsp_Init bsp.o
- 0x08000bb4 0x08000bb4 0x00000084 Code RO 332 i.bsp_InitHardTimer bsp_timer.o
- 0x08000c38 0x08000c38 0x00000058 Code RO 557 i.bsp_InitLed bsp_led.o
- 0x08000c90 0x08000c90 0x000000a0 Code RO 333 i.bsp_InitTimer bsp_timer.o
- 0x08000d30 0x08000d30 0x00000014 Code RO 559 i.bsp_LedOff bsp_led.o
- 0x08000d44 0x08000d44 0x0000002c Code RO 561 i.bsp_LedToggle bsp_led.o
- 0x08000d70 0x08000d70 0x00000002 Code RO 522 i.bsp_RunPer10ms bsp.o
- 0x08000d72 0x08000d72 0x00000002 PAD
- 0x08000d74 0x08000d74 0x00000028 Code RO 523 i.bsp_RunPer1ms bsp.o
- 0x08000d9c 0x08000d9c 0x0000001c Code RO 334 i.bsp_SoftTimerDec bsp_timer.o
- 0x08000db8 0x08000db8 0x0000000c Code RO 1 i.bsp_init main.o
- 0x08000dc4 0x08000dc4 0x0000000c Code RO 301 i.get_systick_ms mw_soft_timer.o
- 0x08000dd0 0x08000dd0 0x00000014 Code RO 2 i.main main.o
- 0x08000de4 0x08000de4 0x0000000c Code RO 3 i.middleware_init main.o
- 0x08000df0 0x08000df0 0x00000038 Code RO 3672 i.mw_bluetooth_drv_init mw_bluetooth.o
- 0x08000e28 0x08000e28 0x00000038 Code RO 238 i.mw_led0_init mw_led.o
- 0x08000e60 0x08000e60 0x00000014 Code RO 239 i.mw_led0_off mw_led.o
- 0x08000e74 0x08000e74 0x00000014 Code RO 240 i.mw_led0_on mw_led.o
- 0x08000e88 0x08000e88 0x0000003c Code RO 241 i.mw_led_drv_init mw_led.o
- 0x08000ec4 0x08000ec4 0x00000028 Code RO 276 i.mw_printf_insert_data mw_printf.o
- 0x08000eec 0x08000eec 0x00000010 Code RO 3674 i.mw_receive_one_byte mw_bluetooth.o
- 0x08000efc 0x08000efc 0x00000014 Code RO 3675 i.mw_send_one_byte mw_bluetooth.o
- 0x08000f10 0x08000f10 0x00000010 Code RO 3676 i.mw_usart_deinit mw_bluetooth.o
- 0x08000f20 0x08000f20 0x000000b8 Code RO 3677 i.mw_usart_init mw_bluetooth.o
- 0x08000fd8 0x08000fd8 0x00000020 Data RO 3937 Region$$Table anon$$obj.o
+ 0x08000358 0x08000358 0x00000070 Code RO 675 i.NVIC_Init misc.o
+ 0x080003c8 0x080003c8 0x00000014 Code RO 676 i.NVIC_PriorityGroupConfig misc.o
+ 0x080003dc 0x080003dc 0x00000020 Code RO 2276 i.RCC_APB1PeriphResetCmd stm32f10x_rcc.o
+ 0x080003fc 0x080003fc 0x00000020 Code RO 2277 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o
+ 0x0800041c 0x0800041c 0x00000020 Code RO 2278 i.RCC_APB2PeriphResetCmd stm32f10x_rcc.o
+ 0x0800043c 0x0800043c 0x000000d4 Code RO 2285 i.RCC_GetClocksFreq stm32f10x_rcc.o
+ 0x08000510 0x08000510 0x00000008 Code RO 634 i.SetSysClock system_stm32f10x.o
+ 0x08000518 0x08000518 0x000000e0 Code RO 635 i.SetSysClockTo72 system_stm32f10x.o
+ 0x080005f8 0x080005f8 0x00000008 Code RO 324 i.SysTick_Handler bsp_timer.o
+ 0x08000600 0x08000600 0x00000084 Code RO 325 i.SysTick_ISR bsp_timer.o
+ 0x08000684 0x08000684 0x00000060 Code RO 637 i.SystemInit system_stm32f10x.o
+ 0x080006e4 0x080006e4 0x0000001c Code RO 326 i.TIM2_IRQHandler bsp_timer.o
+ 0x08000700 0x08000700 0x000000b8 Code RO 327 i.TIM3_IRQHandler bsp_timer.o
+ 0x080007b8 0x080007b8 0x00000006 Code RO 2913 i.TIM_ClearITPendingBit stm32f10x_tim.o
+ 0x080007be 0x080007be 0x00000022 Code RO 2939 i.TIM_GetITStatus stm32f10x_tim.o
+ 0x080007e0 0x080007e0 0x00000012 Code RO 2943 i.TIM_ITConfig stm32f10x_tim.o
+ 0x080007f2 0x080007f2 0x00000004 Code RO 2979 i.TIM_SetCompare1 stm32f10x_tim.o
+ 0x080007f6 0x080007f6 0x00000002 PAD
+ 0x080007f8 0x080007f8 0x00000044 Code RO 3690 i.USART1_IRQHandler interrupt_handler.o
+ 0x0800083c 0x0800083c 0x0000001e Code RO 3454 i.USART_ClearITPendingBit stm32f10x_usart.o
+ 0x0800085a 0x0800085a 0x00000018 Code RO 3457 i.USART_Cmd stm32f10x_usart.o
+ 0x08000872 0x08000872 0x00000002 PAD
+ 0x08000874 0x08000874 0x0000009c Code RO 3459 i.USART_DeInit stm32f10x_usart.o
+ 0x08000910 0x08000910 0x00000054 Code RO 3461 i.USART_GetITStatus stm32f10x_usart.o
+ 0x08000964 0x08000964 0x0000004a Code RO 3463 i.USART_ITConfig stm32f10x_usart.o
+ 0x080009ae 0x080009ae 0x00000002 PAD
+ 0x080009b0 0x080009b0 0x000000d8 Code RO 3464 i.USART_Init stm32f10x_usart.o
+ 0x08000a88 0x08000a88 0x0000000a Code RO 3471 i.USART_ReceiveData stm32f10x_usart.o
+ 0x08000a92 0x08000a92 0x00000008 Code RO 3474 i.USART_SendData stm32f10x_usart.o
+ 0x08000a9a 0x08000a9a 0x00000006 Code RO 328 i.__set_PRIMASK bsp_timer.o
+ 0x08000aa0 0x08000aa0 0x00000006 Code RO 457 i._sys_exit bsp_usart.o
+ 0x08000aa6 0x08000aa6 0x00000002 Code RO 3702 i.bluetooth_deinit mw_bluetooth.o
+ 0x08000aa8 0x08000aa8 0x00000002 Code RO 3703 i.bluetooth_init mw_bluetooth.o
+ 0x08000aaa 0x08000aaa 0x00000002 Code RO 3704 i.bluetooth_recv_deal mw_bluetooth.o
+ 0x08000aac 0x08000aac 0x00000002 Code RO 3705 i.bluetooth_send_bytes mw_bluetooth.o
+ 0x08000aae 0x08000aae 0x00000002 PAD
+ 0x08000ab0 0x08000ab0 0x00000010 Code RO 3706 i.bluetooth_system_usart_deinit mw_bluetooth.o
+ 0x08000ac0 0x08000ac0 0x000000b8 Code RO 3707 i.bluetooth_system_usart_init mw_bluetooth.o
+ 0x08000b78 0x08000b78 0x00000010 Code RO 3708 i.bluetooth_system_usart_receive_one_byte mw_bluetooth.o
+ 0x08000b88 0x08000b88 0x00000014 Code RO 3709 i.bluetooth_system_usart_send_one_byte mw_bluetooth.o
+ 0x08000b9c 0x08000b9c 0x00000044 Code RO 330 i.bsp_DelayMS bsp_timer.o
+ 0x08000be0 0x08000be0 0x00000002 Code RO 550 i.bsp_Idle bsp.o
+ 0x08000be2 0x08000be2 0x00000002 PAD
+ 0x08000be4 0x08000be4 0x0000002c Code RO 591 i.bsp_LedToggle bsp_led.o
+ 0x08000c10 0x08000c10 0x00000002 Code RO 552 i.bsp_RunPer10ms bsp.o
+ 0x08000c12 0x08000c12 0x00000002 PAD
+ 0x08000c14 0x08000c14 0x00000028 Code RO 553 i.bsp_RunPer1ms bsp.o
+ 0x08000c3c 0x08000c3c 0x0000001c Code RO 336 i.bsp_SoftTimerDec bsp_timer.o
+ 0x08000c58 0x08000c58 0x00000014 Code RO 341 i.bsp_change_pwm bsp_timer.o
+ 0x08000c6c 0x08000c6c 0x00000002 Code RO 1 i.bsp_init main.o
+ 0x08000c6e 0x08000c6e 0x00000036 Code RO 343 i.bsp_pwm_test_loop bsp_timer.o
+ 0x08000ca4 0x08000ca4 0x0000000c Code RO 301 i.get_systick_ms mw_soft_timer.o
+ 0x08000cb0 0x08000cb0 0x00000018 Code RO 2 i.main main.o
+ 0x08000cc8 0x08000cc8 0x0000000c Code RO 3 i.middleware_init main.o
+ 0x08000cd4 0x08000cd4 0x0000005c Code RO 3710 i.mw_bluetooth_drv_init mw_bluetooth.o
+ 0x08000d30 0x08000d30 0x00000038 Code RO 238 i.mw_led0_init mw_led.o
+ 0x08000d68 0x08000d68 0x00000014 Code RO 239 i.mw_led0_off mw_led.o
+ 0x08000d7c 0x08000d7c 0x00000014 Code RO 240 i.mw_led0_on mw_led.o
+ 0x08000d90 0x08000d90 0x0000003c Code RO 241 i.mw_led_drv_init mw_led.o
+ 0x08000dcc 0x08000dcc 0x00000028 Code RO 276 i.mw_printf_insert_data mw_printf.o
+ 0x08000df4 0x08000df4 0x00000020 Data RO 3987 Region$$Table anon$$obj.o
- Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000ff8, Size: 0x00000728, Max: 0x00005000, ABSOLUTE)
+ Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000e14, Size: 0x00000718, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
- 0x20000000 0x08000ff8 0x00000002 Data RW 278 .data mw_printf.o
- 0x20000002 0x08000ffa 0x00000002 PAD
- 0x20000004 0x08000ffc 0x00000004 Data RW 303 .data mw_soft_timer.o
- 0x20000008 0x08001000 0x0000001d Data RW 341 .data bsp_timer.o
- 0x20000025 0x0800101d 0x00000001 Data RW 524 .data bsp.o
- 0x20000026 0x0800101e 0x00000002 PAD
- 0x20000028 0x08001020 0x00000014 Data RW 608 .data system_stm32f10x.o
- 0x2000003c 0x08001034 0x00000014 Data RW 2275 .data stm32f10x_rcc.o
- 0x20000050 - 0x00000010 Zero RW 242 .bss mw_led.o
- 0x20000060 - 0x00000032 Zero RW 277 .bss mw_printf.o
- 0x20000092 0x08001048 0x00000002 PAD
- 0x20000094 - 0x0000000c Zero RW 339 .bss bsp_timer.o
- 0x200000a0 - 0x00000028 Zero RW 3678 .bss mw_bluetooth.o
- 0x200000c8 - 0x00000060 Zero RW 3813 .bss c_w.l(libspace.o)
- 0x20000128 - 0x00000200 Zero RW 639 HEAP startup_stm32f10x_md.o
- 0x20000328 - 0x00000400 Zero RW 638 STACK startup_stm32f10x_md.o
+ 0x20000000 0x08000e14 0x00000002 Data RW 278 .data mw_printf.o
+ 0x20000002 0x08000e16 0x00000002 PAD
+ 0x20000004 0x08000e18 0x00000004 Data RW 303 .data mw_soft_timer.o
+ 0x20000008 0x08000e1c 0x0000001d Data RW 346 .data bsp_timer.o
+ 0x20000025 0x08000e39 0x00000001 Data RW 554 .data bsp.o
+ 0x20000026 0x08000e3a 0x00000014 Data RW 2305 .data stm32f10x_rcc.o
+ 0x2000003a 0x08000e4e 0x00000002 PAD
+ 0x2000003c - 0x00000010 Zero RW 242 .bss mw_led.o
+ 0x2000004c - 0x00000032 Zero RW 277 .bss mw_printf.o
+ 0x2000007e 0x08000e4e 0x00000002 PAD
+ 0x20000080 - 0x0000000c Zero RW 344 .bss bsp_timer.o
+ 0x2000008c - 0x00000028 Zero RW 3712 .bss mw_bluetooth.o
+ 0x200000b4 - 0x00000060 Zero RW 3863 .bss c_w.l(libspace.o)
+ 0x20000114 0x08000e4e 0x00000004 PAD
+ 0x20000118 - 0x00000200 Zero RW 669 HEAP startup_stm32f10x_md.o
+ 0x20000318 - 0x00000400 Zero RW 668 STACK startup_stm32f10x_md.o
==============================================================================
@@ -1450,30 +1493,30 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
- 0 0 0 0 0 37716 app_led.o
- 102 12 0 1 0 17271 bsp.o
- 152 20 0 0 0 1467 bsp_led.o
- 636 64 0 29 12 19606 bsp_timer.o
- 6 0 0 0 0 496 bsp_usart.o
+ 0 0 0 0 0 17200 app_led.o
+ 44 4 0 1 0 1808 bsp.o
+ 44 8 0 0 0 496 bsp_led.o
+ 528 58 0 29 12 21123 bsp_timer.o
+ 6 0 0 0 0 508 bsp_usart.o
0 0 0 0 0 32 core_cm3.o
- 68 6 0 0 0 540 interrupt_handler.o
- 44 0 0 0 0 221880 main.o
- 132 22 0 0 0 1971 misc.o
- 292 46 0 0 40 3544 mw_bluetooth.o
- 156 34 0 0 16 2750 mw_led.o
- 40 10 0 2 50 4380 mw_printf.o
- 12 6 0 4 0 1101 mw_soft_timer.o
- 64 26 236 0 1536 992 startup_stm32f10x_md.o
- 286 0 0 0 0 12268 stm32f10x_gpio.o
- 340 44 0 20 0 15520 stm32f10x_rcc.o
- 282 42 0 0 0 26355 stm32f10x_tim.o
- 602 28 0 0 0 14284 stm32f10x_usart.o
- 328 28 0 20 0 2981 system_stm32f10x.o
+ 68 6 0 0 0 552 interrupt_handler.o
+ 38 0 0 0 0 221944 main.o
+ 132 22 0 0 0 2011 misc.o
+ 336 60 0 0 40 5537 mw_bluetooth.o
+ 156 34 0 0 16 2822 mw_led.o
+ 40 10 0 2 50 4428 mw_printf.o
+ 12 6 0 4 0 1145 mw_soft_timer.o
+ 64 26 236 0 1536 1004 startup_stm32f10x_md.o
+ 286 0 0 0 0 12332 stm32f10x_gpio.o
+ 308 38 0 20 0 14911 stm32f10x_rcc.o
+ 62 0 0 0 0 24299 stm32f10x_tim.o
+ 602 28 0 0 0 14408 stm32f10x_usart.o
+ 328 28 0 0 0 2657 system_stm32f10x.o
----------------------------------------------------------------------
- 3552 388 268 80 1656 385154 Object Totals
+ 3068 328 268 60 1656 349217 Object Totals
0 0 32 0 0 0 (incl. Generated)
- 10 0 0 4 2 0 (incl. Padding)
+ 14 0 0 4 2 0 (incl. Padding)
----------------------------------------------------------------------
@@ -1500,8 +1543,8 @@ Image component sizes
2 0 0 0 0 68 use_no_semi_2.o
----------------------------------------------------------------------
- 268 12 0 0 96 584 Library Totals
- 6 0 0 0 0 0 (incl. Padding)
+ 268 12 0 0 100 584 Library Totals
+ 6 0 0 0 4 0 (incl. Padding)
----------------------------------------------------------------------
@@ -1510,7 +1553,7 @@ Image component sizes
262 12 0 0 96 584 c_w.l
----------------------------------------------------------------------
- 268 12 0 0 96 584 Library Totals
+ 268 12 0 0 100 584 Library Totals
----------------------------------------------------------------------
@@ -1519,15 +1562,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
- 3820 400 268 80 1752 382926 Grand Totals
- 3820 400 268 80 1752 382926 ELF Image Totals
- 3820 400 268 80 0 0 ROM Totals
+ 3336 340 268 60 1756 346937 Grand Totals
+ 3336 340 268 60 1756 346937 ELF Image Totals
+ 3336 340 268 60 0 0 ROM Totals
==============================================================================
- Total RO Size (Code + RO Data) 4088 ( 3.99kB)
- Total RW Size (RW Data + ZI Data) 1832 ( 1.79kB)
- Total ROM Size (Code + RO Data + RW Data) 4168 ( 4.07kB)
+ Total RO Size (Code + RO Data) 3604 ( 3.52kB)
+ Total RW Size (RW Data + ZI Data) 1816 ( 1.77kB)
+ Total ROM Size (Code + RO Data + RW Data) 3664 ( 3.58kB)
==============================================================================
diff --git a/Project/TianyunV1.uvprojx b/Project/TianyunV1.uvprojx
index c78818e..e2e75e0 100644
--- a/Project/TianyunV1.uvprojx
+++ b/Project/TianyunV1.uvprojx
@@ -12,7 +12,7 @@
ARM-ADS
5060960::V5.06 update 7 (build 960)::.\ARMCC
5060960::V5.06 update 7 (build 960)::.\ARMCC
- 0
+ 8
STM32F103C8
@@ -139,7 +139,7 @@
1
BIN\UL2CM3.DLL
-
+ "" ()
@@ -329,8 +329,8 @@
0
0
0
- 3
- 3
+ 1
+ 1
1
1
0