采用了Timer2作为硬件定时器的程序,目前只试了一下基本定时器的定时更新中断功能
This commit is contained in:
parent
7774ee8f75
commit
2d07561118
2
Code/.vscode/settings.json
vendored
2
Code/.vscode/settings.json
vendored
@ -37,4 +37,6 @@
|
||||
"public_diy.h": "c"
|
||||
},
|
||||
"cmake.sourceDirectory": "E:/xqq/workspace/STM32F103RC-StdLibrary/Code/middleware/FreeRTOS/Kernel"
|
||||
|
||||
|
||||
}
|
@ -44,6 +44,10 @@
|
||||
"bsp_timer.h": "c",
|
||||
"bsp_led.h": "c",
|
||||
"stm32f10x_conf.h": "c"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
|
||||
},
|
||||
|
||||
}
|
@ -18,65 +18,18 @@
|
||||
|
||||
#include "bsp.h"
|
||||
|
||||
static uint8_t led_style_change_flag = 0;
|
||||
|
||||
void app_led_change_style_enable(void)
|
||||
{
|
||||
led_style_change_flag = 1;
|
||||
}
|
||||
|
||||
static uint8_t app_led_get_change_style_value(void)
|
||||
{
|
||||
return led_style_change_flag;
|
||||
}
|
||||
|
||||
void app_led_change_style_disable(void)
|
||||
{
|
||||
led_style_change_flag = 0;
|
||||
}
|
||||
|
||||
void app_led_marquee(void)
|
||||
{
|
||||
static uint8_t tmp_state = 0;
|
||||
static uint32_t tmp_tick = 0;
|
||||
// static uint8_t tmp_state = 0;
|
||||
// static uint32_t tmp_tick = 0;
|
||||
|
||||
// if(get_systick_ms() - tmp_tick > 500)
|
||||
// {
|
||||
// tmp_tick = get_systick_ms();
|
||||
bsp_LedToggle(LED1);
|
||||
// }
|
||||
|
||||
if(app_led_get_change_style_value() > 0)
|
||||
{
|
||||
app_led_change_style_disable();
|
||||
tmp_state = 0;
|
||||
}
|
||||
|
||||
switch(tmp_state)
|
||||
{
|
||||
case 0:
|
||||
if(get_systick_ms() - tmp_tick > 500)
|
||||
{
|
||||
tmp_tick = get_systick_ms();
|
||||
bsp_LedOff(1);
|
||||
tmp_state = 1;
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if(get_systick_ms() - tmp_tick > 500)
|
||||
{
|
||||
tmp_tick = get_systick_ms();
|
||||
bsp_LedOn(1);
|
||||
tmp_state = 0;
|
||||
// printf("123\n");
|
||||
}
|
||||
break;
|
||||
|
||||
// case 2:
|
||||
// // mw_get_led_obj(Led0).off();
|
||||
// if(get_systick_ms() - tmp_tick > 500)
|
||||
// {
|
||||
// tmp_state = 1;
|
||||
// tmp_tick = get_systick_ms();
|
||||
// }
|
||||
// break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -31,12 +31,16 @@
|
||||
*************************************************************************************/
|
||||
void bsp_init(void)
|
||||
{
|
||||
// bsp_gpio_init();
|
||||
bsp_timer_init();
|
||||
bsp_InitTimer();
|
||||
// bsp_usart_1_init(115200);
|
||||
bsp_Init();
|
||||
}
|
||||
|
||||
/*************************************************************************************
|
||||
* @brief 【描述】
|
||||
*
|
||||
* @warning 【不可重入,阻塞等警告】
|
||||
* @note 【重大修改】
|
||||
*************************************************************************************/
|
||||
void middleware_init(void)
|
||||
{
|
||||
// led mw. init
|
||||
@ -62,6 +66,6 @@ int main(void)
|
||||
|
||||
while (1)
|
||||
{
|
||||
app_led_marquee();
|
||||
;
|
||||
}
|
||||
}
|
||||
|
@ -79,14 +79,14 @@ void bsp_RunPer1ms(void)
|
||||
// TimeOut--;
|
||||
// }
|
||||
|
||||
if (ubCounter < 50)
|
||||
if (ubCounter < 250)
|
||||
{
|
||||
ubCounter++;
|
||||
}
|
||||
else
|
||||
{
|
||||
ubCounter = 0x00;
|
||||
bsp_LedToggle(1);
|
||||
bsp_LedToggle(LED1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -44,7 +44,7 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "stdint.h"
|
||||
#ifndef TRUE
|
||||
#define TRUE 1
|
||||
#endif
|
||||
@ -66,7 +66,7 @@
|
||||
/* 通过取消注释或者添加注释的方式控制是否包含底层驱动模块 */
|
||||
// #include "bsp_uart_fifo.h"
|
||||
#include "bsp_led.h"
|
||||
// #include "bsp_timer.h"
|
||||
#include "bsp_timer.h"
|
||||
// #include "bsp_key.h"
|
||||
// #include "bsp_uart.h"
|
||||
|
||||
|
@ -14,6 +14,10 @@
|
||||
#ifndef __BSP_LED_H
|
||||
#define __BSP_LED_H
|
||||
|
||||
#define LED1 (1u)
|
||||
#define LED2 (2u)
|
||||
|
||||
|
||||
/* 供外部调用的函数声明 */
|
||||
void bsp_InitLed(void);
|
||||
void bsp_LedOn(uint8_t _no);
|
||||
|
6
Code/bsp/inc/bsp_timer-old.h
Normal file
6
Code/bsp/inc/bsp_timer-old.h
Normal file
@ -0,0 +1,6 @@
|
||||
#ifndef __BSP_TIMER_H__
|
||||
#define __BSP_TIMER_H__
|
||||
|
||||
void bsp_timer_init(void);
|
||||
|
||||
#endif
|
@ -1,6 +1,55 @@
|
||||
#ifndef __BSP_TIMER_H__
|
||||
#define __BSP_TIMER_H__
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*
|
||||
* 模块名称 : 定时器模块
|
||||
* 文件名称 : bsp_timer.h
|
||||
* 版 本 : V1.2
|
||||
* 说 明 : 头文件
|
||||
*
|
||||
* Copyright (C), 2014-2015, 安富莱电子 www.armfly.com
|
||||
*
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
void bsp_timer_init(void);
|
||||
#ifndef __BSP_TIMER_H
|
||||
#define __BSP_TIMER_H
|
||||
|
||||
#include "stdint.h"
|
||||
/*
|
||||
在此定义若干个软件定时器全局变量
|
||||
注意,必须增加__IO 即 volatile,因为这个变量在中断和主程序中同时被访问,有可能造成编译器错误优化。
|
||||
*/
|
||||
#define TMR_COUNT 1 /* 软件定时器的个数 (定时器ID范围 0 - 3) */
|
||||
|
||||
/* 定时器结构体,成员变量必须是 volatile, 否则C编译器优化时可能有问题 */
|
||||
typedef enum
|
||||
{
|
||||
TMR_ONCE_MODE = 0, /* 一次工作模式 */
|
||||
TMR_AUTO_MODE = 1 /* 自动定时工作模式 */
|
||||
}TMR_MODE_E;
|
||||
|
||||
/* 定时器结构体,成员变量必须是 volatile, 否则C编译器优化时可能有问题 */
|
||||
typedef struct
|
||||
{
|
||||
volatile uint8_t Mode; /* 计数器模式,1次性 */
|
||||
volatile uint8_t Flag; /* 定时到达标志 */
|
||||
volatile uint32_t Count; /* 计数器 */
|
||||
volatile uint32_t PreLoad; /* 计数器预装值 */
|
||||
}SOFT_TMR;
|
||||
|
||||
/* 提供给其他C文件调用的函数 */
|
||||
void bsp_InitTimer(void);
|
||||
void bsp_DelayMS(uint32_t n);
|
||||
void bsp_DelayUS(uint32_t n);
|
||||
void bsp_StartTimer(uint8_t _id, uint32_t _period);
|
||||
void bsp_StartAutoTimer(uint8_t _id, uint32_t _period);
|
||||
void bsp_StopTimer(uint8_t _id);
|
||||
uint8_t bsp_CheckTimer(uint8_t _id);
|
||||
int32_t bsp_GetRunTime(void);
|
||||
|
||||
void bsp_InitHardTimer(void);
|
||||
void bsp_StartHardTimer(uint8_t _CC, uint32_t _uiTimeOut, void * _pCallBack);
|
||||
|
||||
#endif
|
||||
|
||||
/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/
|
||||
|
@ -33,10 +33,14 @@
|
||||
LED3 :
|
||||
LED4 :
|
||||
*/
|
||||
#define RCC_ALL_LED RCC_APB2Periph_GPIOC /* 按键口对应的RCC时钟 */
|
||||
/* 按键口对应的RCC时钟 */
|
||||
#define RCC_ALL_LED (RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOB)
|
||||
|
||||
#define GPIO_PORT_LED1 GPIOC
|
||||
#define GPIO_PIN_LED1 GPIO_Pin_13
|
||||
|
||||
#define GPIO_PORT_LED2 GPIOB
|
||||
#define GPIO_PIN_LED2 GPIO_Pin_9
|
||||
|
||||
// #define GPIO_PORT_LED2 GPIOE
|
||||
// #define GPIO_PIN_LED2 GPIO_Pin_3
|
||||
@ -94,25 +98,19 @@ void bsp_InitLed(void)
|
||||
由于将GPIO设置为输出时,GPIO输出寄存器的值缺省是0,因此会驱动LED点亮.
|
||||
这是我不希望的,因此在改变GPIO为输出前,先关闭LED指示灯
|
||||
*/
|
||||
bsp_LedOff(1);
|
||||
// bsp_LedOff(2);
|
||||
// bsp_LedOff(3);
|
||||
// bsp_LedOff(4);
|
||||
bsp_LedOff(LED1);
|
||||
bsp_LedOff(LED2);
|
||||
|
||||
/* LED 1*/
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_PIN_LED1;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /* 设为 输出推挽模式 */
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /* IO口最大速度 */
|
||||
|
||||
GPIO_Init(GPIO_PORT_LED1, &GPIO_InitStructure);
|
||||
|
||||
// GPIO_InitStructure.GPIO_Pin = GPIO_PIN_LED2;
|
||||
// GPIO_Init(GPIO_PORT_LED2, &GPIO_InitStructure);
|
||||
|
||||
// GPIO_InitStructure.GPIO_Pin = GPIO_PIN_LED3;
|
||||
// GPIO_Init(GPIO_PORT_LED3, &GPIO_InitStructure);
|
||||
|
||||
// GPIO_InitStructure.GPIO_Pin = GPIO_PIN_LED4;
|
||||
// GPIO_Init(GPIO_PORT_LED4, &GPIO_InitStructure);
|
||||
/* LED 2*/
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_PIN_LED2;
|
||||
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /* 设为 输出推挽模式 */
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /* IO口最大速度 */
|
||||
GPIO_Init(GPIO_PORT_LED2, &GPIO_InitStructure);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -127,7 +125,7 @@ void bsp_LedOn(uint8_t _no)
|
||||
{
|
||||
_no--;
|
||||
|
||||
if (_no == 0)
|
||||
if (_no == (LED1-1))
|
||||
{
|
||||
// STM32F103C8T6开发板 1是亮,0是灭
|
||||
// GPIO_PORT_LED1->BRR = GPIO_PIN_LED1;
|
||||
@ -159,7 +157,7 @@ void bsp_LedOff(uint8_t _no)
|
||||
{
|
||||
_no--;
|
||||
|
||||
if (_no == 0)
|
||||
if (_no == (LED1-1))
|
||||
{
|
||||
// STM32F103C8T6开发板 1是亮,0是灭
|
||||
GPIO_PORT_LED1->BRR = GPIO_PIN_LED1;
|
||||
@ -188,14 +186,14 @@ void bsp_LedOff(uint8_t _no)
|
||||
*/
|
||||
void bsp_LedToggle(uint8_t _no)
|
||||
{
|
||||
if (_no == 1)
|
||||
if (_no == (LED1))
|
||||
{
|
||||
GPIO_PORT_LED1->ODR ^= GPIO_PIN_LED1;
|
||||
}
|
||||
// else if (_no == 2)
|
||||
// {
|
||||
// GPIO_PORT_LED2->ODR ^= GPIO_PIN_LED2;
|
||||
// }
|
||||
else if (_no == 2)
|
||||
{
|
||||
GPIO_PORT_LED2->ODR ^= GPIO_PIN_LED2;
|
||||
}
|
||||
// else if (_no == 3)
|
||||
// {
|
||||
// GPIO_PORT_LED3->ODR ^= GPIO_PIN_LED3;
|
||||
@ -216,7 +214,7 @@ void bsp_LedToggle(uint8_t _no)
|
||||
*/
|
||||
uint8_t bsp_IsLedOn(uint8_t _no)
|
||||
{
|
||||
if (_no == 1)
|
||||
if (_no == (LED1-1))
|
||||
{
|
||||
if ((GPIO_PORT_LED1->ODR & GPIO_PIN_LED1) == 0)
|
||||
{
|
||||
|
55
Code/bsp/src/bsp_timer-old.c
Normal file
55
Code/bsp/src/bsp_timer-old.c
Normal file
@ -0,0 +1,55 @@
|
||||
#include "bsp_timer.h"
|
||||
#include "stm32f10x_tim.h"
|
||||
#include "stm32f10x_rcc.h"
|
||||
#include "misc.h"
|
||||
#include "stm32f10x.h"
|
||||
|
||||
#define BSP_TIMER_USER_SYSTICK_TYPE (TIM2)
|
||||
#define BSP_TIMER_USER_SYSTICK_RCC (RCC_APB1Periph_TIM2)
|
||||
#define BSP_TIMER_USER_SYSTICK_IRQN (TIM2_IRQn)
|
||||
#define BSP_TINER_USER_SYSTICK_PRESCALER (72 - 1)
|
||||
#define BSP_TINER_USER_SYSTICK_PERIOD (1000u)
|
||||
|
||||
|
||||
|
||||
static void bsp_timer_2_init(void)
|
||||
{
|
||||
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
|
||||
NVIC_InitTypeDef NVIC_InitStructure;
|
||||
|
||||
/* 1. 初始化时钟 */
|
||||
RCC_APB1PeriphClockCmd(BSP_TIMER_USER_SYSTICK_RCC, ENABLE);
|
||||
/* 2. 初始化定时器参数,设置自动重装值,分频系数,计数方式等 */
|
||||
TIM_TimeBaseStructure.TIM_Period = BSP_TINER_USER_SYSTICK_PERIOD;
|
||||
TIM_TimeBaseStructure.TIM_Prescaler =BSP_TINER_USER_SYSTICK_PRESCALER;
|
||||
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
|
||||
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
|
||||
TIM_TimeBaseInit(BSP_TIMER_USER_SYSTICK_TYPE, &TIM_TimeBaseStructure);
|
||||
/* 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 级
|
||||
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ 通道被使能
|
||||
NVIC_Init(&NVIC_InitStructure); //初始化 NVIC 寄存器
|
||||
/* 5. 使能定时器2 */
|
||||
TIM_Cmd(BSP_TIMER_USER_SYSTICK_TYPE, ENABLE);
|
||||
}
|
||||
|
||||
// /* 6. 编写中断服务函数 */
|
||||
// void bsp_timer_user_systick_isr_process(void) //TIM3 中断
|
||||
// {
|
||||
// if (TIM_GetITStatus(BSP_TIMER_USER_SYSTICK_TYPE, TIM_IT_Update) != RESET)
|
||||
// {
|
||||
// // 硬件置了1,需要软件来清0
|
||||
// TIM_ClearITPendingBit(BSP_TIMER_USER_SYSTICK_TYPE, TIM_IT_Update);
|
||||
// /* add your code here */
|
||||
|
||||
// }
|
||||
// }
|
||||
void bsp_timer_init(void)
|
||||
{
|
||||
bsp_timer_2_init();
|
||||
}
|
@ -1,55 +1,583 @@
|
||||
#include "bsp_timer.h"
|
||||
#include "stm32f10x_tim.h"
|
||||
#include "stm32f10x_rcc.h"
|
||||
#include "misc.h"
|
||||
#include "stm32f10x.h"
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
*
|
||||
* 模块名称 : 定时器模块
|
||||
* 文件名称 : bsp_timer.c
|
||||
* 版 本 : V1.2
|
||||
* 说 明 : 配置systick定时器作为系统滴答定时器。缺省定时周期为1ms。
|
||||
*
|
||||
* 实现了多个软件定时器供主程序使用(精度1ms), 可以通过修改 TMR_COUNT 增减定时器个数
|
||||
* 实现了ms级别延迟函数(精度1ms) 和us级延迟函数
|
||||
* 实现了系统运行时间函数(1ms单位)
|
||||
*
|
||||
* 修改记录 :
|
||||
* 版本号 日期 作者 说明
|
||||
* V1.0 2013-02-01 armfly 正式发布
|
||||
* V1.1 2013-06-21 armfly 增加us级延迟函数 bsp_DelayUS
|
||||
* V1.2 2014-09-07 armfly 增加TIM4 硬件定时中断,实现us级别定时.20us - 16秒
|
||||
*
|
||||
* Copyright (C), 2014-2015, 安富莱电子 www.armfly.com
|
||||
*
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
|
||||
#define BSP_TIMER_USER_SYSTICK_TYPE (TIM2)
|
||||
#define BSP_TIMER_USER_SYSTICK_RCC (RCC_APB1Periph_TIM2)
|
||||
#define BSP_TIMER_USER_SYSTICK_IRQN (TIM2_IRQn)
|
||||
#define BSP_TINER_USER_SYSTICK_PRESCALER (72 - 1)
|
||||
#define BSP_TINER_USER_SYSTICK_PERIOD (1000u)
|
||||
#include "bsp.h"
|
||||
|
||||
|
||||
|
||||
static void bsp_timer_2_init(void)
|
||||
#define TIM_HARD TIM2
|
||||
#define TIM_HARD_IRQn TIM2_IRQn
|
||||
#define TIM_HARD_RCC RCC_APB1Periph_TIM2
|
||||
|
||||
/* 这2个全局变量转用于 bsp_DelayMS() 函数 */
|
||||
static volatile uint32_t s_uiDelayCount = 0;
|
||||
static volatile uint8_t s_ucTimeOutFlag = 0;
|
||||
|
||||
/* 定于软件定时器结构体变量 */
|
||||
static SOFT_TMR s_tTmr[TMR_COUNT];
|
||||
|
||||
/*
|
||||
全局运行时间,单位1ms
|
||||
最长可以表示 24.85天,如果你的产品连续运行时间超过这个数,则必须考虑溢出问题
|
||||
*/
|
||||
__IO int32_t g_iRunTime = 0;
|
||||
|
||||
static void bsp_SoftTimerDec(SOFT_TMR *_tmr);
|
||||
|
||||
/* 保存 TIM定时中断到后执行的回调函数指针 */
|
||||
static void (*s_TIM_CallBack1)(void);
|
||||
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)
|
||||
{
|
||||
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
|
||||
NVIC_InitTypeDef NVIC_InitStructure;
|
||||
uint8_t i;
|
||||
|
||||
/* 1. 初始化时钟 */
|
||||
RCC_APB1PeriphClockCmd(BSP_TIMER_USER_SYSTICK_RCC, ENABLE);
|
||||
/* 2. 初始化定时器参数,设置自动重装值,分频系数,计数方式等 */
|
||||
TIM_TimeBaseStructure.TIM_Period = BSP_TINER_USER_SYSTICK_PERIOD;
|
||||
TIM_TimeBaseStructure.TIM_Prescaler =BSP_TINER_USER_SYSTICK_PRESCALER;
|
||||
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
|
||||
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
|
||||
TIM_TimeBaseInit(BSP_TIMER_USER_SYSTICK_TYPE, &TIM_TimeBaseStructure);
|
||||
/* 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 级
|
||||
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ 通道被使能
|
||||
NVIC_Init(&NVIC_InitStructure); //初始化 NVIC 寄存器
|
||||
/* 5. 使能定时器2 */
|
||||
TIM_Cmd(BSP_TIMER_USER_SYSTICK_TYPE, ENABLE);
|
||||
/* 清零所有的软件定时器 */
|
||||
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(); /* 开启硬件定时中断 */
|
||||
}
|
||||
|
||||
// /* 6. 编写中断服务函数 */
|
||||
// void bsp_timer_user_systick_isr_process(void) //TIM3 中断
|
||||
// {
|
||||
// if (TIM_GetITStatus(BSP_TIMER_USER_SYSTICK_TYPE, TIM_IT_Update) != RESET)
|
||||
// {
|
||||
// // 硬件置了1,需要软件来清0
|
||||
// TIM_ClearITPendingBit(BSP_TIMER_USER_SYSTICK_TYPE, TIM_IT_Update);
|
||||
// /* add your code here */
|
||||
|
||||
// }
|
||||
// }
|
||||
void bsp_timer_init(void)
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: SysTick_ISR
|
||||
* 功能说明: SysTick中断服务程序,每隔1ms进入1次
|
||||
* 形 参: 无
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
extern void bsp_RunPer1ms(void);
|
||||
extern void bsp_RunPer10ms(void);
|
||||
void SysTick_ISR(void)
|
||||
{
|
||||
bsp_timer_2_init();
|
||||
static uint8_t s_count = 0;
|
||||
uint8_t i;
|
||||
|
||||
/* 每隔1ms进来1次 (仅用于 bsp_DelayMS) */
|
||||
if (s_uiDelayCount > 0)
|
||||
{
|
||||
if (--s_uiDelayCount == 0)
|
||||
{
|
||||
s_ucTimeOutFlag = 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* 每隔1ms,对软件定时器的计数器进行减一操作 */
|
||||
for (i = 0; i < TMR_COUNT; i++)
|
||||
{
|
||||
bsp_SoftTimerDec(&s_tTmr[i]);
|
||||
}
|
||||
|
||||
/* 全局运行时间每1ms增1 */
|
||||
g_iRunTime++;
|
||||
if (g_iRunTime == 0x7FFFFFFF) /* 这个变量是 int32_t 类型,最大数为 0x7FFFFFFF */
|
||||
{
|
||||
g_iRunTime = 0;
|
||||
}
|
||||
|
||||
bsp_RunPer1ms(); /* 每隔1ms调用一次此函数,此函数在 bsp.c */
|
||||
|
||||
if (++s_count >= 10)
|
||||
{
|
||||
s_count = 0;
|
||||
|
||||
bsp_RunPer10ms(); /* 每隔10ms调用一次此函数,此函数在 bsp.c */
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_SoftTimerDec
|
||||
* 功能说明: 每隔1ms对所有定时器变量减1。必须被SysTick_ISR周期性调用。
|
||||
* 形 参: _tmr : 定时器变量指针
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
static void bsp_SoftTimerDec(SOFT_TMR *_tmr)
|
||||
{
|
||||
if (_tmr->Count > 0)
|
||||
{
|
||||
/* 如果定时器变量减到1则设置定时器到达标志 */
|
||||
if (--_tmr->Count == 0)
|
||||
{
|
||||
_tmr->Flag = 1;
|
||||
|
||||
/* 如果是自动模式,则自动重装计数器 */
|
||||
if(_tmr->Mode == TMR_AUTO_MODE)
|
||||
{
|
||||
_tmr->Count = _tmr->PreLoad;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_DelayMS
|
||||
* 功能说明: ms级延迟,延迟精度为正负1ms
|
||||
* 形 参: n : 延迟长度,单位1 ms。 n 应大于2
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void bsp_DelayMS(uint32_t n)
|
||||
{
|
||||
if (n == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (n == 1)
|
||||
{
|
||||
n = 2;
|
||||
}
|
||||
|
||||
DISABLE_INT(); /* 关中断 */
|
||||
|
||||
s_uiDelayCount = n;
|
||||
s_ucTimeOutFlag = 0;
|
||||
|
||||
ENABLE_INT(); /* 开中断 */
|
||||
|
||||
while (1)
|
||||
{
|
||||
bsp_Idle(); /* CPU空闲执行的操作, 见 bsp.c 和 bsp.h 文件 */
|
||||
|
||||
/*
|
||||
等待延迟时间到
|
||||
注意:编译器认为 s_ucTimeOutFlag = 0,所以可能优化错误,因此 s_ucTimeOutFlag 变量必须申明为 volatile
|
||||
*/
|
||||
if (s_ucTimeOutFlag == 1)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_DelayUS
|
||||
* 功能说明: us级延迟。 必须在systick定时器启动后才能调用此函数。
|
||||
* 形 参: n : 延迟长度,单位1 us
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void bsp_DelayUS(uint32_t n)
|
||||
{
|
||||
uint32_t ticks;
|
||||
uint32_t told;
|
||||
uint32_t tnow;
|
||||
uint32_t tcnt = 0;
|
||||
uint32_t reload;
|
||||
|
||||
reload = SysTick->LOAD;
|
||||
ticks = n * (SystemCoreClock / 1000000); /* 需要的节拍数 */
|
||||
|
||||
tcnt = 0;
|
||||
told = SysTick->VAL; /* 刚进入时的计数器值 */
|
||||
|
||||
while (1)
|
||||
{
|
||||
tnow = SysTick->VAL;
|
||||
if (tnow != told)
|
||||
{
|
||||
/* SYSTICK是一个递减的计数器 */
|
||||
if (tnow < told)
|
||||
{
|
||||
tcnt += told - tnow;
|
||||
}
|
||||
/* 重新装载递减 */
|
||||
else
|
||||
{
|
||||
tcnt += reload - tnow + told;
|
||||
}
|
||||
told = tnow;
|
||||
|
||||
/* 时间超过/等于要延迟的时间,则退出 */
|
||||
if (tcnt >= ticks)
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_StartTimer
|
||||
* 功能说明: 启动一个定时器,并设置定时周期。
|
||||
* 形 参: _id : 定时器ID,值域【0,TMR_COUNT-1】。用户必须自行维护定时器ID,以避免定时器ID冲突。
|
||||
* _period : 定时周期,单位1ms
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void bsp_StartTimer(uint8_t _id, uint32_t _period)
|
||||
{
|
||||
if (_id >= TMR_COUNT)
|
||||
{
|
||||
/* 打印出错的源代码文件名、函数名称 */
|
||||
BSP_Printf("Error: file %s, function %s()\r\n", __FILE__, __FUNCTION__);
|
||||
while(1); /* 参数异常,死机等待看门狗复位 */
|
||||
}
|
||||
|
||||
DISABLE_INT(); /* 关中断 */
|
||||
|
||||
s_tTmr[_id].Count = _period; /* 实时计数器初值 */
|
||||
s_tTmr[_id].PreLoad = _period; /* 计数器自动重装值,仅自动模式起作用 */
|
||||
s_tTmr[_id].Flag = 0; /* 定时时间到标志 */
|
||||
s_tTmr[_id].Mode = TMR_ONCE_MODE; /* 1次性工作模式 */
|
||||
|
||||
ENABLE_INT(); /* 开中断 */
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_StartAutoTimer
|
||||
* 功能说明: 启动一个自动定时器,并设置定时周期。
|
||||
* 形 参: _id : 定时器ID,值域【0,TMR_COUNT-1】。用户必须自行维护定时器ID,以避免定时器ID冲突。
|
||||
* _period : 定时周期,单位10ms
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void bsp_StartAutoTimer(uint8_t _id, uint32_t _period)
|
||||
{
|
||||
if (_id >= TMR_COUNT)
|
||||
{
|
||||
/* 打印出错的源代码文件名、函数名称 */
|
||||
BSP_Printf("Error: file %s, function %s()\r\n", __FILE__, __FUNCTION__);
|
||||
while(1); /* 参数异常,死机等待看门狗复位 */
|
||||
}
|
||||
|
||||
DISABLE_INT(); /* 关中断 */
|
||||
|
||||
s_tTmr[_id].Count = _period; /* 实时计数器初值 */
|
||||
s_tTmr[_id].PreLoad = _period; /* 计数器自动重装值,仅自动模式起作用 */
|
||||
s_tTmr[_id].Flag = 0; /* 定时时间到标志 */
|
||||
s_tTmr[_id].Mode = TMR_AUTO_MODE; /* 自动工作模式 */
|
||||
|
||||
ENABLE_INT(); /* 开中断 */
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_StopTimer
|
||||
* 功能说明: 停止一个定时器
|
||||
* 形 参: _id : 定时器ID,值域【0,TMR_COUNT-1】。用户必须自行维护定时器ID,以避免定时器ID冲突。
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void bsp_StopTimer(uint8_t _id)
|
||||
{
|
||||
if (_id >= TMR_COUNT)
|
||||
{
|
||||
/* 打印出错的源代码文件名、函数名称 */
|
||||
BSP_Printf("Error: file %s, function %s()\r\n", __FILE__, __FUNCTION__);
|
||||
while(1); /* 参数异常,死机等待看门狗复位 */
|
||||
}
|
||||
|
||||
DISABLE_INT(); /* 关中断 */
|
||||
|
||||
s_tTmr[_id].Count = 0; /* 实时计数器初值 */
|
||||
s_tTmr[_id].Flag = 0; /* 定时时间到标志 */
|
||||
s_tTmr[_id].Mode = TMR_ONCE_MODE; /* 自动工作模式 */
|
||||
|
||||
ENABLE_INT(); /* 开中断 */
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_CheckTimer
|
||||
* 功能说明: 检测定时器是否超时
|
||||
* 形 参: _id : 定时器ID,值域【0,TMR_COUNT-1】。用户必须自行维护定时器ID,以避免定时器ID冲突。
|
||||
* _period : 定时周期,单位1ms
|
||||
* 返 回 值: 返回 0 表示定时未到, 1表示定时到
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
uint8_t bsp_CheckTimer(uint8_t _id)
|
||||
{
|
||||
if (_id >= TMR_COUNT)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (s_tTmr[_id].Flag == 1)
|
||||
{
|
||||
s_tTmr[_id].Flag = 0;
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_GetRunTime
|
||||
* 功能说明: 获取CPU运行时间,单位1ms。最长可以表示 24.85天,如果你的产品连续运行时间超过这个数,则必须考虑溢出问题
|
||||
* 形 参: 无
|
||||
* 返 回 值: CPU运行时间,单位1ms
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
int32_t bsp_GetRunTime(void)
|
||||
{
|
||||
int32_t runtime;
|
||||
|
||||
DISABLE_INT(); /* 关中断 */
|
||||
|
||||
runtime = g_iRunTime; /* 这个变量在Systick中断中被改写,因此需要关中断进行保护 */
|
||||
|
||||
ENABLE_INT(); /* 开中断 */
|
||||
|
||||
return runtime;
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: SysTick_Handler
|
||||
* 功能说明: 系统嘀嗒定时器中断服务程序。启动文件中引用了该函数。
|
||||
* 形 参: 无
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void SysTick_Handler(void)
|
||||
{
|
||||
SysTick_ISR();
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_InitHardTimer
|
||||
* 功能说明: 配置 TIM2,用于us级别硬件定时。TIM4将自由运行,永不停止.
|
||||
* TIM4可以用TIM2 - TIM5 之间的TIM, 这些TIM有4个通道, 挂在 APB1 上,输入时钟=SystemCoreClock / 2
|
||||
* 形 参: 无
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void bsp_InitHardTimer(void)
|
||||
{
|
||||
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
|
||||
NVIC_InitTypeDef NVIC_InitStructure; /* 中断结构体在 misc.h 中定义 */
|
||||
/* 1. 使能TIM时钟 */
|
||||
RCC_APB1PeriphClockCmd(TIM_HARD_RCC, ENABLE);
|
||||
/* 2. 使用内部时钟 */
|
||||
TIM_InternalClockConfig(TIM_HARD);
|
||||
/* 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;
|
||||
|
||||
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_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_ITConfig(TIM_HARD, TIM_IT_Update, ENABLE);
|
||||
// 启用影子寄存器
|
||||
TIM_ARRPreloadConfig(TIM_HARD, 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_HARD, ENABLE);
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: bsp_StartHardTimer
|
||||
* 功能说明: 使用TIM2-5做单次定时器使用, 定时时间到后执行回调函数。可以同时启动4个定时器,互不干扰。
|
||||
* 定时精度正负10us (主要耗费在调用本函数的执行时间,函数内部进行了补偿减小误差)
|
||||
* TIM2和TIM5 是32位定时器。定时范围很大
|
||||
* TIM3和TIM4 是16位定时器。
|
||||
* 形 参: _CC : 捕获通道几,1,2,3, 4
|
||||
* _uiTimeOut : 超时时间, 单位 1us. 对于16位定时器,最大 65.5ms; 对于32位定时器,最大 4294秒
|
||||
* _pCallBack : 定时时间到后,被执行的函数
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
void bsp_StartHardTimer(uint8_t _CC, uint32_t _uiTimeOut, void * _pCallBack)
|
||||
{
|
||||
uint32_t cnt_now;
|
||||
uint32_t cnt_tar;
|
||||
|
||||
/*
|
||||
执行下面这个语句,时长 = 18us (通过逻辑分析仪测量IO翻转)
|
||||
bsp_StartTimer2(3, 500, (void *)test1);
|
||||
*/
|
||||
if (_uiTimeOut < 5)
|
||||
{
|
||||
;
|
||||
}
|
||||
else
|
||||
{
|
||||
_uiTimeOut -= 5;
|
||||
}
|
||||
|
||||
cnt_now = TIM_GetCounter(TIM_HARD); /* 读取当前的计数器值 */
|
||||
cnt_tar = cnt_now + _uiTimeOut; /* 计算捕获的计数器值 */
|
||||
if (_CC == 1)
|
||||
{
|
||||
s_TIM_CallBack1 = (void (*)(void))_pCallBack;
|
||||
|
||||
TIM_SetCompare1(TIM_HARD, cnt_tar); /* 设置捕获比较计数器CC1 */
|
||||
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC1);
|
||||
TIM_ITConfig(TIM_HARD, TIM_IT_CC1, ENABLE); /* 使能CC1中断 */
|
||||
|
||||
}
|
||||
else if (_CC == 2)
|
||||
{
|
||||
s_TIM_CallBack2 = (void (*)(void))_pCallBack;
|
||||
|
||||
TIM_SetCompare2(TIM_HARD, cnt_tar); /* 设置捕获比较计数器CC2 */
|
||||
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC2);
|
||||
TIM_ITConfig(TIM_HARD, TIM_IT_CC2, ENABLE); /* 使能CC2中断 */
|
||||
}
|
||||
else if (_CC == 3)
|
||||
{
|
||||
s_TIM_CallBack3 = (void (*)(void))_pCallBack;
|
||||
|
||||
TIM_SetCompare3(TIM_HARD, cnt_tar); /* 设置捕获比较计数器CC3 */
|
||||
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC3);
|
||||
TIM_ITConfig(TIM_HARD, TIM_IT_CC3, ENABLE); /* 使能CC3中断 */
|
||||
}
|
||||
else if (_CC == 4)
|
||||
{
|
||||
s_TIM_CallBack4 = (void (*)(void))_pCallBack;
|
||||
|
||||
TIM_SetCompare4(TIM_HARD, cnt_tar); /* 设置捕获比较计数器CC4 */
|
||||
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC4);
|
||||
TIM_ITConfig(TIM_HARD, TIM_IT_CC4, ENABLE); /* 使能CC4中断 */
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
*********************************************************************************************************
|
||||
* 函 数 名: TIMx_IRQHandler
|
||||
* 功能说明: TIM 中断服务程序
|
||||
* 形 参:无
|
||||
* 返 回 值: 无
|
||||
*********************************************************************************************************
|
||||
*/
|
||||
//void TIM2_IRQHandler(void)
|
||||
//void TIM3_IRQHandler(void)
|
||||
//void TIM4_IRQHandler(void)
|
||||
void TIM2_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);
|
||||
}
|
||||
|
||||
|
||||
if (TIM_GetITStatus(TIM_HARD, TIM_IT_CC1))
|
||||
{
|
||||
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC1);
|
||||
TIM_ITConfig(TIM_HARD, TIM_IT_CC1, DISABLE); /* 禁能CC1中断 */
|
||||
|
||||
/* 先关闭中断,再执行回调函数。因为回调函数可能需要重启定时器 */
|
||||
s_TIM_CallBack1();
|
||||
}
|
||||
|
||||
if (TIM_GetITStatus(TIM_HARD, TIM_IT_CC2))
|
||||
{
|
||||
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC2);
|
||||
TIM_ITConfig(TIM_HARD, TIM_IT_CC2, DISABLE); /* 禁能CC2中断 */
|
||||
|
||||
/* 先关闭中断,再执行回调函数。因为回调函数可能需要重启定时器 */
|
||||
s_TIM_CallBack2();
|
||||
}
|
||||
|
||||
if (TIM_GetITStatus(TIM_HARD, TIM_IT_CC3))
|
||||
{
|
||||
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC3);
|
||||
TIM_ITConfig(TIM_HARD, TIM_IT_CC3, DISABLE); /* 禁能CC3中断 */
|
||||
|
||||
/* 先关闭中断,再执行回调函数。因为回调函数可能需要重启定时器 */
|
||||
s_TIM_CallBack3();
|
||||
}
|
||||
|
||||
if (TIM_GetITStatus(TIM_HARD, TIM_IT_CC4))
|
||||
{
|
||||
TIM_ClearITPendingBit(TIM_HARD, TIM_IT_CC4);
|
||||
TIM_ITConfig(TIM_HARD, TIM_IT_CC4, DISABLE); /* 禁能CC4中断 */
|
||||
|
||||
/* 先关闭中断,再执行回调函数。因为回调函数可能需要重启定时器 */
|
||||
s_TIM_CallBack4();
|
||||
}
|
||||
}
|
||||
|
||||
/***************************** 安富莱电子 www.armfly.com (END OF FILE) *********************************/
|
||||
|
@ -7,16 +7,16 @@
|
||||
#include "mw_soft_timer.h"
|
||||
#include "mw_printf.h"
|
||||
|
||||
void TIM2_IRQHandler(void) // TIM3 interrupt
|
||||
{
|
||||
if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
|
||||
{
|
||||
// 硬件置了1,需要软件来清0
|
||||
TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
|
||||
/* add your code here */
|
||||
mw_soft_timer_user_systick_update();
|
||||
}
|
||||
}
|
||||
// void TIM2_IRQHandler(void) // TIM3 interrupt
|
||||
// {
|
||||
// if(TIM_GetITStatus(TIM2, TIM_IT_Update) != RESET)
|
||||
// {
|
||||
// // Ӳ<><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
|
||||
// TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
|
||||
// /* add your code here */
|
||||
// mw_soft_timer_user_systick_update();
|
||||
// }
|
||||
// }
|
||||
|
||||
void USART1_IRQHandler(void)
|
||||
{
|
||||
|
@ -49,6 +49,8 @@
|
||||
#ifndef __STM32F10x_H
|
||||
#define __STM32F10x_H
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
311
Code/library/stdint.h
Normal file
311
Code/library/stdint.h
Normal file
@ -0,0 +1,311 @@
|
||||
/* Copyright (C) ARM Ltd., 1999,2014 */
|
||||
/* All rights reserved */
|
||||
|
||||
/*
|
||||
* RCS $Revision$
|
||||
* Checkin $Date$
|
||||
* Revising $Author: agrant $
|
||||
*/
|
||||
|
||||
#ifndef __stdint_h
|
||||
#define __stdint_h
|
||||
#define __ARMCLIB_VERSION 5060044
|
||||
|
||||
#ifdef __INT64_TYPE__
|
||||
/* armclang predefines '__INT64_TYPE__' and '__INT64_C_SUFFIX__' */
|
||||
#define __INT64 __INT64_TYPE__
|
||||
#else
|
||||
/* armcc has builtin '__int64' which can be used in --strict mode */
|
||||
#define __INT64 __int64
|
||||
#define __INT64_C_SUFFIX__ ll
|
||||
#endif
|
||||
#define __PASTE2(x, y) x ## y
|
||||
#define __PASTE(x, y) __PASTE2(x, y)
|
||||
#define __INT64_C(x) __ESCAPE__(__PASTE(x, __INT64_C_SUFFIX__))
|
||||
#define __UINT64_C(x) __ESCAPE__(__PASTE(x ## u, __INT64_C_SUFFIX__))
|
||||
#if defined(__clang__) || (defined(__ARMCC_VERSION) && !defined(__STRICT_ANSI__))
|
||||
/* armclang and non-strict armcc allow 'long long' in system headers */
|
||||
#define __LONGLONG long long
|
||||
#else
|
||||
/* strict armcc has '__int64' */
|
||||
#define __LONGLONG __int64
|
||||
#endif
|
||||
|
||||
#ifndef __STDINT_DECLS
|
||||
#define __STDINT_DECLS
|
||||
|
||||
#undef __CLIBNS
|
||||
|
||||
#ifdef __cplusplus
|
||||
namespace std {
|
||||
#define __CLIBNS std::
|
||||
extern "C" {
|
||||
#else
|
||||
#define __CLIBNS
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
/*
|
||||
* 'signed' is redundant below, except for 'signed char' and if
|
||||
* the typedef is used to declare a bitfield.
|
||||
*/
|
||||
|
||||
/* 7.18.1.1 */
|
||||
|
||||
/* exact-width signed integer types */
|
||||
typedef signed char int8_t;
|
||||
typedef signed short int int16_t;
|
||||
typedef signed int int32_t;
|
||||
typedef signed __INT64 int64_t;
|
||||
|
||||
/* exact-width unsigned integer types */
|
||||
typedef unsigned char uint8_t;
|
||||
typedef unsigned short int uint16_t;
|
||||
typedef unsigned int uint32_t;
|
||||
typedef unsigned __INT64 uint64_t;
|
||||
|
||||
/* 7.18.1.2 */
|
||||
|
||||
/* smallest type of at least n bits */
|
||||
/* minimum-width signed integer types */
|
||||
typedef signed char int_least8_t;
|
||||
typedef signed short int int_least16_t;
|
||||
typedef signed int int_least32_t;
|
||||
typedef signed __INT64 int_least64_t;
|
||||
|
||||
/* minimum-width unsigned integer types */
|
||||
typedef unsigned char uint_least8_t;
|
||||
typedef unsigned short int uint_least16_t;
|
||||
typedef unsigned int uint_least32_t;
|
||||
typedef unsigned __INT64 uint_least64_t;
|
||||
|
||||
/* 7.18.1.3 */
|
||||
|
||||
/* fastest minimum-width signed integer types */
|
||||
typedef signed int int_fast8_t;
|
||||
typedef signed int int_fast16_t;
|
||||
typedef signed int int_fast32_t;
|
||||
typedef signed __INT64 int_fast64_t;
|
||||
|
||||
/* fastest minimum-width unsigned integer types */
|
||||
typedef unsigned int uint_fast8_t;
|
||||
typedef unsigned int uint_fast16_t;
|
||||
typedef unsigned int uint_fast32_t;
|
||||
typedef unsigned __INT64 uint_fast64_t;
|
||||
|
||||
/* 7.18.1.4 integer types capable of holding object pointers */
|
||||
#if __sizeof_ptr == 8
|
||||
typedef signed __INT64 intptr_t;
|
||||
typedef unsigned __INT64 uintptr_t;
|
||||
#else
|
||||
typedef signed int intptr_t;
|
||||
typedef unsigned int uintptr_t;
|
||||
#endif
|
||||
|
||||
/* 7.18.1.5 greatest-width integer types */
|
||||
typedef signed __LONGLONG intmax_t;
|
||||
typedef unsigned __LONGLONG uintmax_t;
|
||||
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
|
||||
|
||||
/* 7.18.2.1 */
|
||||
|
||||
/* minimum values of exact-width signed integer types */
|
||||
#define INT8_MIN -128
|
||||
#define INT16_MIN -32768
|
||||
#define INT32_MIN (~0x7fffffff) /* -2147483648 is unsigned */
|
||||
#define INT64_MIN __INT64_C(~0x7fffffffffffffff) /* -9223372036854775808 is unsigned */
|
||||
|
||||
/* maximum values of exact-width signed integer types */
|
||||
#define INT8_MAX 127
|
||||
#define INT16_MAX 32767
|
||||
#define INT32_MAX 2147483647
|
||||
#define INT64_MAX __INT64_C(9223372036854775807)
|
||||
|
||||
/* maximum values of exact-width unsigned integer types */
|
||||
#define UINT8_MAX 255
|
||||
#define UINT16_MAX 65535
|
||||
#define UINT32_MAX 4294967295u
|
||||
#define UINT64_MAX __UINT64_C(18446744073709551615)
|
||||
|
||||
/* 7.18.2.2 */
|
||||
|
||||
/* minimum values of minimum-width signed integer types */
|
||||
#define INT_LEAST8_MIN -128
|
||||
#define INT_LEAST16_MIN -32768
|
||||
#define INT_LEAST32_MIN (~0x7fffffff)
|
||||
#define INT_LEAST64_MIN __INT64_C(~0x7fffffffffffffff)
|
||||
|
||||
/* maximum values of minimum-width signed integer types */
|
||||
#define INT_LEAST8_MAX 127
|
||||
#define INT_LEAST16_MAX 32767
|
||||
#define INT_LEAST32_MAX 2147483647
|
||||
#define INT_LEAST64_MAX __INT64_C(9223372036854775807)
|
||||
|
||||
/* maximum values of minimum-width unsigned integer types */
|
||||
#define UINT_LEAST8_MAX 255
|
||||
#define UINT_LEAST16_MAX 65535
|
||||
#define UINT_LEAST32_MAX 4294967295u
|
||||
#define UINT_LEAST64_MAX __UINT64_C(18446744073709551615)
|
||||
|
||||
/* 7.18.2.3 */
|
||||
|
||||
/* minimum values of fastest minimum-width signed integer types */
|
||||
#define INT_FAST8_MIN (~0x7fffffff)
|
||||
#define INT_FAST16_MIN (~0x7fffffff)
|
||||
#define INT_FAST32_MIN (~0x7fffffff)
|
||||
#define INT_FAST64_MIN __INT64_C(~0x7fffffffffffffff)
|
||||
|
||||
/* maximum values of fastest minimum-width signed integer types */
|
||||
#define INT_FAST8_MAX 2147483647
|
||||
#define INT_FAST16_MAX 2147483647
|
||||
#define INT_FAST32_MAX 2147483647
|
||||
#define INT_FAST64_MAX __INT64_C(9223372036854775807)
|
||||
|
||||
/* maximum values of fastest minimum-width unsigned integer types */
|
||||
#define UINT_FAST8_MAX 4294967295u
|
||||
#define UINT_FAST16_MAX 4294967295u
|
||||
#define UINT_FAST32_MAX 4294967295u
|
||||
#define UINT_FAST64_MAX __UINT64_C(18446744073709551615)
|
||||
|
||||
/* 7.18.2.4 */
|
||||
|
||||
/* minimum value of pointer-holding signed integer type */
|
||||
#if __sizeof_ptr == 8
|
||||
#define INTPTR_MIN INT64_MIN
|
||||
#else
|
||||
#define INTPTR_MIN INT32_MIN
|
||||
#endif
|
||||
|
||||
/* maximum value of pointer-holding signed integer type */
|
||||
#if __sizeof_ptr == 8
|
||||
#define INTPTR_MAX INT64_MAX
|
||||
#else
|
||||
#define INTPTR_MAX INT32_MAX
|
||||
#endif
|
||||
|
||||
/* maximum value of pointer-holding unsigned integer type */
|
||||
#if __sizeof_ptr == 8
|
||||
#define UINTPTR_MAX UINT64_MAX
|
||||
#else
|
||||
#define UINTPTR_MAX UINT32_MAX
|
||||
#endif
|
||||
|
||||
/* 7.18.2.5 */
|
||||
|
||||
/* minimum value of greatest-width signed integer type */
|
||||
#define INTMAX_MIN __ESCAPE__(~0x7fffffffffffffffll)
|
||||
|
||||
/* maximum value of greatest-width signed integer type */
|
||||
#define INTMAX_MAX __ESCAPE__(9223372036854775807ll)
|
||||
|
||||
/* maximum value of greatest-width unsigned integer type */
|
||||
#define UINTMAX_MAX __ESCAPE__(18446744073709551615ull)
|
||||
|
||||
/* 7.18.3 */
|
||||
|
||||
/* limits of ptrdiff_t */
|
||||
#if __sizeof_ptr == 8
|
||||
#define PTRDIFF_MIN INT64_MIN
|
||||
#define PTRDIFF_MAX INT64_MAX
|
||||
#else
|
||||
#define PTRDIFF_MIN INT32_MIN
|
||||
#define PTRDIFF_MAX INT32_MAX
|
||||
#endif
|
||||
|
||||
/* limits of sig_atomic_t */
|
||||
#define SIG_ATOMIC_MIN (~0x7fffffff)
|
||||
#define SIG_ATOMIC_MAX 2147483647
|
||||
|
||||
/* limit of size_t */
|
||||
#if __sizeof_ptr == 8
|
||||
#define SIZE_MAX UINT64_MAX
|
||||
#else
|
||||
#define SIZE_MAX UINT32_MAX
|
||||
#endif
|
||||
|
||||
/* limits of wchar_t */
|
||||
/* NB we have to undef and redef because they're defined in both
|
||||
* stdint.h and wchar.h */
|
||||
#undef WCHAR_MIN
|
||||
#undef WCHAR_MAX
|
||||
|
||||
#if defined(__WCHAR32) || (defined(__ARM_SIZEOF_WCHAR_T) && __ARM_SIZEOF_WCHAR_T == 4)
|
||||
#define WCHAR_MIN 0
|
||||
#define WCHAR_MAX 0xffffffffU
|
||||
#else
|
||||
#define WCHAR_MIN 0
|
||||
#define WCHAR_MAX 65535
|
||||
#endif
|
||||
|
||||
/* limits of wint_t */
|
||||
#define WINT_MIN (~0x7fffffff)
|
||||
#define WINT_MAX 2147483647
|
||||
|
||||
#endif /* __STDC_LIMIT_MACROS */
|
||||
|
||||
#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
|
||||
|
||||
/* 7.18.4.1 macros for minimum-width integer constants */
|
||||
#define INT8_C(x) (x)
|
||||
#define INT16_C(x) (x)
|
||||
#define INT32_C(x) (x)
|
||||
#define INT64_C(x) __INT64_C(x)
|
||||
|
||||
#define UINT8_C(x) (x ## u)
|
||||
#define UINT16_C(x) (x ## u)
|
||||
#define UINT32_C(x) (x ## u)
|
||||
#define UINT64_C(x) __UINT64_C(x)
|
||||
|
||||
/* 7.18.4.2 macros for greatest-width integer constants */
|
||||
#define INTMAX_C(x) __ESCAPE__(x ## ll)
|
||||
#define UINTMAX_C(x) __ESCAPE__(x ## ull)
|
||||
|
||||
#endif /* __STDC_CONSTANT_MACROS */
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
} /* namespace std */
|
||||
#endif /* __cplusplus */
|
||||
#endif /* __STDINT_DECLS */
|
||||
|
||||
#ifdef __cplusplus
|
||||
#ifndef __STDINT_NO_EXPORTS
|
||||
using ::std::int8_t;
|
||||
using ::std::int16_t;
|
||||
using ::std::int32_t;
|
||||
using ::std::int64_t;
|
||||
using ::std::uint8_t;
|
||||
using ::std::uint16_t;
|
||||
using ::std::uint32_t;
|
||||
using ::std::uint64_t;
|
||||
using ::std::int_least8_t;
|
||||
using ::std::int_least16_t;
|
||||
using ::std::int_least32_t;
|
||||
using ::std::int_least64_t;
|
||||
using ::std::uint_least8_t;
|
||||
using ::std::uint_least16_t;
|
||||
using ::std::uint_least32_t;
|
||||
using ::std::uint_least64_t;
|
||||
using ::std::int_fast8_t;
|
||||
using ::std::int_fast16_t;
|
||||
using ::std::int_fast32_t;
|
||||
using ::std::int_fast64_t;
|
||||
using ::std::uint_fast8_t;
|
||||
using ::std::uint_fast16_t;
|
||||
using ::std::uint_fast32_t;
|
||||
using ::std::uint_fast64_t;
|
||||
using ::std::intptr_t;
|
||||
using ::std::uintptr_t;
|
||||
using ::std::intmax_t;
|
||||
using ::std::uintmax_t;
|
||||
#endif
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#undef __INT64
|
||||
#undef __LONGLONG
|
||||
|
||||
#endif /* __stdint_h */
|
||||
|
||||
/* end of stdint.h */
|
@ -1,8 +1,8 @@
|
||||
:020000040800F2
|
||||
:10000000F006002089010008910100089301000812
|
||||
:1000000028070020890100089101000893010008D9
|
||||
:100010009501000897010008990100080000000000
|
||||
:100020000000000000000000000000009B0100082C
|
||||
:100030009D010008000000009F010008A1010008C8
|
||||
:100030009D010008000000009F010008190600084B
|
||||
:10004000A3010008A3010008A3010008A301000800
|
||||
:10005000A3010008A3010008A3010008A3010008F0
|
||||
:10006000A3010008A3010008A3010008A3010008E0
|
||||
@ -10,31 +10,31 @@
|
||||
:10008000A3010008A3010008A3010008A3010008C0
|
||||
:10009000A3010008A3010008A3010008A3010008B0
|
||||
:1000A000A3010008A3010008A3010008A3010008A0
|
||||
:1000B00079060008A3010008A3010008A3010008B5
|
||||
:1000B00005070008A3010008A3010008A301000828
|
||||
:1000C000A3010008A3010008A3010008A301000880
|
||||
:1000D000A301000889070008A3010008A301000884
|
||||
:1000D000A3010008D1080008A3010008A30100083B
|
||||
:1000E000A3010008A3010008A301000800F002F822
|
||||
:1000F00000F03AF80AA090E8000C82448344AAF188
|
||||
:100100000107DA4501D100F02FF8AFF2090EBAE885
|
||||
:100110000F0013F0010F18BFFB1A43F0010318473B
|
||||
:10012000DC0C0000FC0C0000103A24BF78C878C139
|
||||
:10012000B80E0000D80E0000103A24BF78C878C17D
|
||||
:10013000FAD8520724BF30C830C144BF04680C60ED
|
||||
:10014000704700000023002400250026103A28BF35
|
||||
:1001500078C1FBD8520728BF30C148BF0B60704739
|
||||
:100160001FB51FBD10B510BD00F033F81146FFF7E5
|
||||
:10017000F7FF00F035FD00F051F803B4FFF7F2FF90
|
||||
:1001800003BC00F052FC00000948804709480047C2
|
||||
:10017000F7FF00F02DFE00F051F803B4FFF7F2FF97
|
||||
:1001800003BC00F0F6FC000009488047094800471E
|
||||
:10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737
|
||||
:1001A000FEE7FEE704480549054A064B7047000094
|
||||
:1001B00019060008ED000008F0000020F0060020FD
|
||||
:1001C000F0020020F002002070477047704770472F
|
||||
:1001B000A5060008ED0000082801002028070020FF
|
||||
:1001C00028030020280300207047704770477047BD
|
||||
:1001D0007047754600F02CF8AE4605006946534658
|
||||
:1001E00020F00700854618B020B5FFF7DBFFBDE81B
|
||||
:1001F00020404FF000064FF000074FF000084FF08E
|
||||
:10020000000B21F00701AC46ACE8C009ACE8C0091E
|
||||
:10021000ACE8C009ACE8C0098D46704710B504468B
|
||||
:10022000AFF300802046BDE81040FFF7A6BF0000F6
|
||||
:1002300000487047900000202DE9F041024600255B
|
||||
:1002300000487047C80000202DE9F0410246002523
|
||||
:100240000026002000230024002791F803C00CF0B2
|
||||
:100250000F0591F803C00CF0100CBCF1000F03D097
|
||||
:1002600091F802C04CEA050591F800C0BCF1000FFE
|
||||
@ -81,7 +81,7 @@
|
||||
:1004F0000A4D6D6805F46051C90A0B4D6B5C456887
|
||||
:10050000DD40C560054D6D6805F44041890B074D20
|
||||
:100510006B5CC568B5FBF3F5056130BD00100240AA
|
||||
:1005200000127A0000093D00100000202000002089
|
||||
:1005200000127A0000093D003C0000204C00002031
|
||||
:1005300010B500F001F810BD0CB50020019000903E
|
||||
:100540003348006840F480303149086000BF3048CB
|
||||
:10055000006800F4003000900198401C0190009861
|
||||
@ -96,136 +96,169 @@
|
||||
:1005E00000F000700028F9D00948406820F00300AE
|
||||
:1005F000074948600846406840F00200486000BF74
|
||||
:100600000348406800F00C000828F9D10CBD000038
|
||||
:10061000001002400020024010B51348006840F06E
|
||||
:1006200001001149086008464068104908400E4919
|
||||
:100630004860084600680E4908400B4908600846B3
|
||||
:10064000006820F4802008600846406820F4FE001E
|
||||
:1006500048604FF41F008860FFF76AFF4FF00060AA
|
||||
:100660000449086010BD0000001002400000FFF8BF
|
||||
:10067000FFFFF6FE08ED00E010B50121880700F04D
|
||||
:1006800017F828B10121880700F003F800F04AFBB1
|
||||
:1006900010BDCA430282704721B1028842F00102B4
|
||||
:1006A000028004E002884FF6FE731A400280704711
|
||||
:1006B00030B50246002000230024158A05EA010314
|
||||
:1006C000958905EA010413B10CB1012000E0002076
|
||||
:1006D00030BD1AB183890B43838102E083898B4348
|
||||
:1006E00083817047002202881D4B98420ED01D4B1B
|
||||
:1006F00098420BD0B0F1804F08D01B4B984205D0E8
|
||||
:100700001A4B984202D01A4B984204D14FF68F737D
|
||||
:100710001A404B881A43174B984207D0164B984201
|
||||
:1007200004D04FF6FF431A40CB881A4302808B88CF
|
||||
:1007300083850B8803850A4B98420BD0094B98425E
|
||||
:1007400008D00E4B984205D00D4B984202D00D4B6D
|
||||
:10075000984201D10B7A03860123838270470000FF
|
||||
:10076000002C01400034014000040040000800401B
|
||||
:10077000000C004000100040001400400040014008
|
||||
:10078000004401400048014010B540F226610E4887
|
||||
:1007900000F086F820B140F226610B4800F016F810
|
||||
:1007A00040F22551084800F07BF858B140F225513D
|
||||
:1007B000054800F00BF8044800F02EF9C4B22046BA
|
||||
:1007C00000F08AFA10BD00000038014010B5002288
|
||||
:1007D000002340F66A14A14200D100BF0A1201248E
|
||||
:1007E0009440A3B2DC43048010BD21B1828942F45D
|
||||
:1007F0000052828104E082894DF6FF731A408281A3
|
||||
:100800007047000010B504462048844209D10121F8
|
||||
:100810008803FFF713FE00214FF48040FFF70EFE20
|
||||
:1008200032E01B48844209D101214804FFF7E6FD6C
|
||||
:1008300000214FF40030FFF7E1FD25E01548844228
|
||||
:1008400009D101218804FFF7D9FD00214FF4802050
|
||||
:10085000FFF7D4FD18E01048844209D10121C804F3
|
||||
:10086000FFF7CCFD00214FF40020FFF7C7FD0BE0A0
|
||||
:100870000A48844208D101210805FFF7BFFD002185
|
||||
:100880004FF48010FFF7BAFD10BD000000380140A2
|
||||
:100890000044004000480040004C00400050004030
|
||||
:1008A00070B50246002400230025002040F66A1699
|
||||
:1008B000B14200D100BFC1F3421501F01F03012670
|
||||
:1008C00006FA03F3012D02D19689334006E0022D8A
|
||||
:1008D00002D1168A334001E0968A33400C12012679
|
||||
:1008E00006FA04F41688344013B10CB1012000E07C
|
||||
:1008F000002070BDF0B5034600240026002500202E
|
||||
:1009000040F66A17B94200D100BF1846C1F342143D
|
||||
:1009100001F01F06012707FA06F5012C01D10C3062
|
||||
:1009200004E0022C01D1103000E014301AB1076845
|
||||
:100930002F43076002E00768AF430760F0BD000087
|
||||
:100940002DE9F04786B005460E460024A24600BFBA
|
||||
:10095000A1460027B08900B100BF2F462C8A4CF673
|
||||
:10096000FF700440F08804432C82AC894EF6F310EB
|
||||
:100970000440B08831890843718908430443AC813D
|
||||
:10098000AC8A4FF6FF400440B0890443AC8201A812
|
||||
:10099000FFF764FD1F48874202D1DDF810A001E097
|
||||
:1009A000DDF80CA0A88900F4004040B10AEBCA00B1
|
||||
:1009B00000EB0A1031684900B0FBF1F807E00AEBE0
|
||||
:1009C000CA0000EB0A1031688900B0FBF1F864201E
|
||||
:1009D000B8FBF0F004012009642101FB1089A8890B
|
||||
:1009E00000F4004040B1322000EBC900B0FBF1F050
|
||||
:1009F00000F00700044308E0322000EB09106421F6
|
||||
:100A0000B0FBF1F000F00F0004432C8106B0BDE80C
|
||||
:100A1000F08700000038014001468888C0F30800D4
|
||||
:100A20007047C1F3080282807047014600BF7047DB
|
||||
:100A3000002001490870704700000020014800783C
|
||||
:100A4000704700000000002010B5FFF7F7FF0028F6
|
||||
:100A500004DDFFF7EDFF0020184908701748007803
|
||||
:100A600010B1012826D112E000F0B4F81449096849
|
||||
:100A7000401AB0F5FA7F09D900F0ACF810490860C7
|
||||
:100A8000012000F057F801200C49087013E000F035
|
||||
:100A9000A1F80B490968401AB0F5FA7F09D900F0AE
|
||||
:100AA00099F807490860012000F04EF8002003493A
|
||||
:100AB000087000E000BF00BF10BD00000100002072
|
||||
:100AC0000400002010B54FF4A060FFF77DFC00F09B
|
||||
:100AD00017F84FF0FF300021002807DA0A07140E3C
|
||||
:100AE000054A00F00F031B1FD45403E00A07130E3E
|
||||
:100AF000024A135400BF10BD18ED00E000E400E00E
|
||||
:100B000008B501211020FFF789FC012000F012F840
|
||||
:100B10004FF40050ADF8000010208DF803000320C2
|
||||
:100B20008DF8020069460248FFF786FB08BD000009
|
||||
:100B300000100140411EC8B218B94FF40051014ADB
|
||||
:100B40005161704700100140411EC8B228B90349E5
|
||||
:100B5000096941F40051014A1161704700100140D8
|
||||
:100B600010B500F032F8FFF7ADFF10BD1FB5012141
|
||||
:100B70000846FFF733FC4FF47A70ADF808004720C1
|
||||
:100B8000ADF804000020ADF80A00ADF8060001A998
|
||||
:100B90004FF08040FFF7A6FD012211469007FFF7B6
|
||||
:100BA00098FD1C208DF8000000208DF80100032026
|
||||
:100BB0008DF8020001208DF803006846FFF7CCFB9A
|
||||
:100BC00001218807FFF768FD1FBD10B5FFF7CEFFB5
|
||||
:100BD00010BD000001480068704700000C000020B4
|
||||
:100BE0004FF4A060FFF7F0FBFFF7BAFF00F004F846
|
||||
:100BF00001E0FFF729FFFCE710B500F04FF800F027
|
||||
:100C000001F810BD002007490870074848610748EF
|
||||
:100C10004860074903488160064901610649C1608F
|
||||
:100C20007047000068000020D50B0008450D000843
|
||||
:100C3000350D0008010D0008110D000808B501214F
|
||||
:100C40001020FFF7EBFB4FF40050ADF80000102030
|
||||
:100C50008DF8030003208DF8020069460448FFF771
|
||||
:100C6000EBFA4FF400510248FFF773FB08BD000098
|
||||
:100C70000010014010B54FF400510248FFF767FB28
|
||||
:100C800010BD00000010014010B54FF400510248A3
|
||||
:100C9000FFF75FFB10BD00000010014010B5002001
|
||||
:100CA0000949087009484860094888600948C860CF
|
||||
:100CB000002406E0044901EB041148688047601CE9
|
||||
:100CC000C4B2012CF6DB10BD240000203D0C00084E
|
||||
:100CD000890C0008750C00080749084A12888854D6
|
||||
:100CE00006490988491C3222B1FBF2F302FB1311B9
|
||||
:100CF000024A1180704700003400002008000020E4
|
||||
:100D000010B50248FFF788FEC0B210BD00380140A0
|
||||
:100D100010B5044621460248FFF783FE002010BDAF
|
||||
:100D20000038014002480068401C014908607047D3
|
||||
:100D30000C00002010B50248FFF764FD002010BD34
|
||||
:100D40000038014000B587B001218803FFF766FB3A
|
||||
:100D500001210420FFF762FB18208DF81B004FF4DF
|
||||
:100D60000070ADF8180003208DF81A0006A921487C
|
||||
:100D7000FFF762FA48208DF81B004FF48060ADF851
|
||||
:100D8000180003208DF81A0006A91A48FFF754FA34
|
||||
:100D90004FF4165002900020ADF814000C20ADF86E
|
||||
:100DA00012000020ADF81000ADF80E00ADF80C00F8
|
||||
:100DB00002A91148FFF7C4FD012240F225510E4857
|
||||
:100DC000FFF798FD4FF4A060FFF7FEFA25208DF89D
|
||||
:100DD000040001208DF807008DF805008DF806004D
|
||||
:100DE00001A8FFF7B9FA01210348FFF7FEFC002034
|
||||
:100DF00007B000BD00080140003801401C0E00088B
|
||||
:100E0000000000202400000028010008400E000817
|
||||
:100E100024000020CC06000044010008000000006F
|
||||
:100E200000000000000000000000000000000000C2
|
||||
:100E3000010203040102030406070809020406086C
|
||||
: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
|
||||
:04000005080000ED02
|
||||
:00000001FF
|
||||
|
@ -4,23 +4,14 @@ 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_timer_init) for bsp_timer_init
|
||||
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 app_led.o(i.app_led_marquee) for app_led_marquee
|
||||
main.o(i.middleware_init) refers to mw_led.o(i.mw_led_drv_init) for mw_led_drv_init
|
||||
main.o(i.middleware_init) refers to mw_bluetooth.o(i.mw_bluetooth_drv_init) for mw_bluetooth_drv_init
|
||||
app_led.o(i.app_led_change_style_disable) refers to app_led.o(.data) for led_style_change_flag
|
||||
app_led.o(i.app_led_change_style_enable) refers to app_led.o(.data) for led_style_change_flag
|
||||
app_led.o(i.app_led_get_change_style_value) refers to app_led.o(.data) for led_style_change_flag
|
||||
app_led.o(i.app_led_marquee) refers to app_led.o(i.app_led_get_change_style_value) for app_led_get_change_style_value
|
||||
app_led.o(i.app_led_marquee) refers to app_led.o(i.app_led_change_style_disable) for app_led_change_style_disable
|
||||
app_led.o(i.app_led_marquee) refers to mw_soft_timer.o(i.get_systick_ms) for get_systick_ms
|
||||
app_led.o(i.app_led_marquee) refers to bsp_led.o(i.bsp_LedOff) for bsp_LedOff
|
||||
app_led.o(i.app_led_marquee) refers to bsp_led.o(i.bsp_LedOn) for bsp_LedOn
|
||||
app_led.o(i.app_led_marquee) refers to app_led.o(.data) for tmp_state
|
||||
app_led.o(i.app_led_marquee) refers to bsp_led.o(i.bsp_LedToggle) for bsp_LedToggle
|
||||
mw_led.o(i.mw_get_led_obj) refers to mw_led.o(.bss) for led_drv_buf
|
||||
mw_led.o(i.mw_led0_init) refers to stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd) for RCC_APB2PeriphClockCmd
|
||||
mw_led.o(i.mw_led0_init) refers to stm32f10x_gpio.o(i.GPIO_Init) for GPIO_Init
|
||||
@ -35,12 +26,63 @@ Section Cross References
|
||||
mw_printf.o(i.mw_printf_insert_data) refers to mw_printf.o(.data) for mw_printf_cache_head
|
||||
mw_soft_timer.o(i.get_systick_ms) refers to mw_soft_timer.o(.data) for systick_ms
|
||||
mw_soft_timer.o(i.mw_soft_timer_user_systick_update) refers to mw_soft_timer.o(.data) for systick_ms
|
||||
bsp_timer.o(i.bsp_timer_2_init) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphClockCmd) for RCC_APB1PeriphClockCmd
|
||||
bsp_timer.o(i.bsp_timer_2_init) refers to stm32f10x_tim.o(i.TIM_TimeBaseInit) for TIM_TimeBaseInit
|
||||
bsp_timer.o(i.bsp_timer_2_init) refers to stm32f10x_tim.o(i.TIM_ITConfig) for TIM_ITConfig
|
||||
bsp_timer.o(i.bsp_timer_2_init) refers to misc.o(i.NVIC_Init) for NVIC_Init
|
||||
bsp_timer.o(i.bsp_timer_2_init) refers to stm32f10x_tim.o(i.TIM_Cmd) for TIM_Cmd
|
||||
bsp_timer.o(i.bsp_timer_init) refers to bsp_timer.o(i.bsp_timer_2_init) for bsp_timer_2_init
|
||||
bsp_timer.o(i.SysTick_Handler) refers to bsp_timer.o(i.SysTick_ISR) for SysTick_ISR
|
||||
bsp_timer.o(i.SysTick_ISR) refers to bsp_timer.o(i.bsp_SoftTimerDec) for bsp_SoftTimerDec
|
||||
bsp_timer.o(i.SysTick_ISR) refers to bsp.o(i.bsp_RunPer1ms) for bsp_RunPer1ms
|
||||
bsp_timer.o(i.SysTick_ISR) refers to bsp.o(i.bsp_RunPer10ms) for bsp_RunPer10ms
|
||||
bsp_timer.o(i.SysTick_ISR) refers to bsp_timer.o(.data) for s_uiDelayCount
|
||||
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.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
|
||||
bsp_timer.o(i.bsp_DelayMS) refers to bsp_timer.o(.data) for s_uiDelayCount
|
||||
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_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_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(.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
|
||||
bsp_timer.o(i.bsp_StartAutoTimer) refers to _printf_s.o(.ARM.Collect$$_printf_percent$$00000014) for _printf_s
|
||||
bsp_timer.o(i.bsp_StartAutoTimer) refers to _printf_str.o(.text) for _printf_str
|
||||
bsp_timer.o(i.bsp_StartAutoTimer) refers to noretval__2printf.o(.text) for __2printf
|
||||
bsp_timer.o(i.bsp_StartAutoTimer) refers to bsp_timer.o(i.__set_PRIMASK) for __set_PRIMASK
|
||||
bsp_timer.o(i.bsp_StartAutoTimer) refers to bsp_timer.o(.constdata) for __FUNCTION__
|
||||
bsp_timer.o(i.bsp_StartAutoTimer) refers to bsp_timer.o(.bss) for s_tTmr
|
||||
bsp_timer.o(i.bsp_StartHardTimer) refers to stm32f10x_tim.o(i.TIM_GetCounter) for TIM_GetCounter
|
||||
bsp_timer.o(i.bsp_StartHardTimer) refers to stm32f10x_tim.o(i.TIM_SetCompare1) for TIM_SetCompare1
|
||||
bsp_timer.o(i.bsp_StartHardTimer) refers to stm32f10x_tim.o(i.TIM_ClearITPendingBit) for TIM_ClearITPendingBit
|
||||
bsp_timer.o(i.bsp_StartHardTimer) refers to stm32f10x_tim.o(i.TIM_ITConfig) for TIM_ITConfig
|
||||
bsp_timer.o(i.bsp_StartHardTimer) refers to stm32f10x_tim.o(i.TIM_SetCompare2) for TIM_SetCompare2
|
||||
bsp_timer.o(i.bsp_StartHardTimer) refers to stm32f10x_tim.o(i.TIM_SetCompare3) for TIM_SetCompare3
|
||||
bsp_timer.o(i.bsp_StartHardTimer) refers to stm32f10x_tim.o(i.TIM_SetCompare4) for TIM_SetCompare4
|
||||
bsp_timer.o(i.bsp_StartHardTimer) refers to bsp_timer.o(.data) for s_TIM_CallBack1
|
||||
bsp_timer.o(i.bsp_StartTimer) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
bsp_timer.o(i.bsp_StartTimer) refers to _printf_s.o(.ARM.Collect$$_printf_percent$$00000014) for _printf_s
|
||||
bsp_timer.o(i.bsp_StartTimer) refers to _printf_str.o(.text) for _printf_str
|
||||
bsp_timer.o(i.bsp_StartTimer) refers to noretval__2printf.o(.text) for __2printf
|
||||
bsp_timer.o(i.bsp_StartTimer) refers to bsp_timer.o(i.__set_PRIMASK) for __set_PRIMASK
|
||||
bsp_timer.o(i.bsp_StartTimer) refers to bsp_timer.o(.constdata) for __FUNCTION__
|
||||
bsp_timer.o(i.bsp_StartTimer) refers to bsp_timer.o(.bss) for s_tTmr
|
||||
bsp_timer.o(i.bsp_StopTimer) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
bsp_timer.o(i.bsp_StopTimer) refers to _printf_s.o(.ARM.Collect$$_printf_percent$$00000014) for _printf_s
|
||||
bsp_timer.o(i.bsp_StopTimer) refers to _printf_str.o(.text) for _printf_str
|
||||
bsp_timer.o(i.bsp_StopTimer) refers to noretval__2printf.o(.text) for __2printf
|
||||
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_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
|
||||
@ -71,7 +113,8 @@ Section Cross References
|
||||
startup_stm32f10x_md.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
|
||||
startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(STACK) for __initial_sp
|
||||
startup_stm32f10x_md.o(RESET) refers to startup_stm32f10x_md.o(.text) for Reset_Handler
|
||||
startup_stm32f10x_md.o(RESET) refers to interrupt_handler.o(i.TIM2_IRQHandler) for TIM2_IRQHandler
|
||||
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 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
|
||||
@ -137,9 +180,6 @@ Section Cross References
|
||||
stm32f10x_usart.o(i.USART_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd) for RCC_APB1PeriphResetCmd
|
||||
stm32f10x_usart.o(i.USART_Init) refers to stm32f10x_rcc.o(i.RCC_GetClocksFreq) for RCC_GetClocksFreq
|
||||
stm32f10x_wwdg.o(i.WWDG_DeInit) refers to stm32f10x_rcc.o(i.RCC_APB1PeriphResetCmd) for RCC_APB1PeriphResetCmd
|
||||
interrupt_handler.o(i.TIM2_IRQHandler) refers to stm32f10x_tim.o(i.TIM_GetITStatus) for TIM_GetITStatus
|
||||
interrupt_handler.o(i.TIM2_IRQHandler) refers to stm32f10x_tim.o(i.TIM_ClearITPendingBit) for TIM_ClearITPendingBit
|
||||
interrupt_handler.o(i.TIM2_IRQHandler) refers to mw_soft_timer.o(i.mw_soft_timer_user_systick_update) for mw_soft_timer_user_systick_update
|
||||
interrupt_handler.o(i.USART1_IRQHandler) refers to stm32f10x_usart.o(i.USART_GetITStatus) for USART_GetITStatus
|
||||
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
|
||||
@ -163,6 +203,29 @@ Section Cross References
|
||||
mw_bluetooth.o(i.mw_usart_init) refers to misc.o(i.NVIC_Init) for NVIC_Init
|
||||
mw_bluetooth.o(i.mw_usart_init) refers to stm32f10x_usart.o(i.USART_Cmd) for USART_Cmd
|
||||
use_no_semi_2.o(.text) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
|
||||
__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
|
||||
noretval__2printf.o(.text) refers to _printf_char_file.o(.text) for _printf_char_file
|
||||
noretval__2printf.o(.text) refers to bsp_usart.o(.data) for __stdout
|
||||
__printf.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
_printf_str.o(.text) refers (Special) to _printf_char.o(.text) for _printf_cs_common
|
||||
__printf_flags.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
__printf_flags.o(.text) refers to __printf_flags.o(.constdata) for .constdata
|
||||
__printf_ss.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
__printf_flags_ss.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
__printf_flags_ss.o(.text) refers to __printf_flags_ss.o(.constdata) for .constdata
|
||||
__printf_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit
|
||||
__printf_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
__printf_flags_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit
|
||||
__printf_flags_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
__printf_flags_wp.o(.text) refers to __printf_flags_wp.o(.constdata) for .constdata
|
||||
__printf_ss_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit
|
||||
__printf_ss_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
__printf_flags_ss_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit
|
||||
__printf_flags_ss_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
|
||||
__printf_flags_ss_wp.o(.text) refers to __printf_flags_ss_wp.o(.constdata) for .constdata
|
||||
_printf_s.o(.ARM.Collect$$_printf_percent$$00000014) refers (Weak) to _printf_char.o(.text) for _printf_string
|
||||
_printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) refers (Special) to _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017) for _printf_percent_end
|
||||
__main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry
|
||||
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li
|
||||
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main
|
||||
@ -170,6 +233,10 @@ Section Cross References
|
||||
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000009) for __rt_entry_postsh_1
|
||||
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000002) for __rt_entry_presh_1
|
||||
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for __rt_entry_sh
|
||||
_printf_char.o(.text) refers (Weak) to _printf_str.o(.text) for _printf_str
|
||||
_printf_char_file.o(.text) refers to _printf_char_common.o(.text) for _printf_char_common
|
||||
_printf_char_file.o(.text) refers to ferror.o(.text) for ferror
|
||||
_printf_char_file.o(.text) refers to bsp_usart.o(i.fputc) for fputc
|
||||
__rtentry2.o(.ARM.Collect$$rtentry$$00000008) refers to boardinit2.o(.text) for _platform_post_stackheap_init
|
||||
__rtentry2.o(.ARM.Collect$$rtentry$$0000000A) refers to libinit.o(.ARM.Collect$$libinit$$00000000) for __rt_lib_init
|
||||
__rtentry2.o(.ARM.Collect$$rtentry$$0000000B) refers to boardinit3.o(.text) for _platform_post_lib_init
|
||||
@ -182,6 +249,7 @@ Section Cross References
|
||||
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for .ARM.Collect$$rtentry$$0000000D
|
||||
__rtentry4.o(.ARM.Collect$$rtentry$$00000004) refers to sys_stackheap_outer.o(.text) for __user_setup_stackheap
|
||||
__rtentry4.o(.ARM.exidx) refers to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for .ARM.Collect$$rtentry$$00000004
|
||||
_printf_char_common.o(.text) refers to __printf.o(.text) for __printf
|
||||
sys_stackheap_outer.o(.text) refers to libspace.o(.text) for __user_perproc_libspace
|
||||
sys_stackheap_outer.o(.text) refers to startup_stm32f10x_md.o(.text) for __user_initial_stackheap
|
||||
exit.o(.text) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for __rt_exit
|
||||
@ -266,21 +334,28 @@ Section Cross References
|
||||
|
||||
Removing Unused input sections from the image.
|
||||
|
||||
Removing app_led.o(i.app_led_change_style_enable), (12 bytes).
|
||||
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_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(.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_RunPer10ms), (2 bytes).
|
||||
Removing bsp.o(i.bsp_RunPer1ms), (40 bytes).
|
||||
Removing bsp.o(.data), (1 bytes).
|
||||
Removing bsp_led.o(i.bsp_IsLedOn), (32 bytes).
|
||||
Removing bsp_led.o(i.bsp_LedToggle), (24 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).
|
||||
@ -619,7 +694,6 @@ 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).
|
||||
@ -654,7 +728,6 @@ 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).
|
||||
@ -733,7 +806,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).
|
||||
|
||||
466 unused section(s) (total 18257 bytes) removed from the image.
|
||||
471 unused section(s) (total 19094 bytes) removed from the image.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@ -743,31 +816,31 @@ Image Symbol Table
|
||||
|
||||
Symbol Name Value Ov Type Size Object(Section)
|
||||
|
||||
../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE
|
||||
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE
|
||||
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE
|
||||
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE
|
||||
../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.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/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE
|
||||
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE
|
||||
../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE
|
||||
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE
|
||||
../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE
|
||||
../clib/angel/kernel.s 0x00000000 Number 0 __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/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 use_no_semi_2.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/sysapp.c 0x00000000 Number 0 sys_command.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 _get_argv_nomalloc.o ABSOLUTE
|
||||
../clib/armsys.c 0x00000000 Number 0 no_argv.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
|
||||
@ -775,21 +848,41 @@ Image Symbol Table
|
||||
../clib/libinit.s 0x00000000 Number 0 libinit2.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_ss_wp.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_rtmem_outer.o ABSOLUTE
|
||||
../clib/signal.c 0x00000000 Number 0 __raise.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.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE
|
||||
../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE
|
||||
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE
|
||||
../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE
|
||||
../clib/signal.c 0x00000000 Number 0 defsig_abrt_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/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
|
||||
@ -900,73 +993,83 @@ Image Symbol Table
|
||||
SetSysClock 0x08000531 Thumb Code 8 system_stm32f10x.o(i.SetSysClock)
|
||||
i.SetSysClockTo72 0x08000538 Section 0 system_stm32f10x.o(i.SetSysClockTo72)
|
||||
SetSysClockTo72 0x08000539 Thumb Code 214 system_stm32f10x.o(i.SetSysClockTo72)
|
||||
i.SystemInit 0x08000618 Section 0 system_stm32f10x.o(i.SystemInit)
|
||||
i.TIM2_IRQHandler 0x08000678 Section 0 interrupt_handler.o(i.TIM2_IRQHandler)
|
||||
i.TIM_ClearITPendingBit 0x08000692 Section 0 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
|
||||
i.TIM_Cmd 0x08000698 Section 0 stm32f10x_tim.o(i.TIM_Cmd)
|
||||
i.TIM_GetITStatus 0x080006b0 Section 0 stm32f10x_tim.o(i.TIM_GetITStatus)
|
||||
i.TIM_ITConfig 0x080006d2 Section 0 stm32f10x_tim.o(i.TIM_ITConfig)
|
||||
i.TIM_TimeBaseInit 0x080006e4 Section 0 stm32f10x_tim.o(i.TIM_TimeBaseInit)
|
||||
i.USART1_IRQHandler 0x08000788 Section 0 interrupt_handler.o(i.USART1_IRQHandler)
|
||||
i.USART_ClearITPendingBit 0x080007cc Section 0 stm32f10x_usart.o(i.USART_ClearITPendingBit)
|
||||
i.USART_Cmd 0x080007ea Section 0 stm32f10x_usart.o(i.USART_Cmd)
|
||||
i.USART_DeInit 0x08000804 Section 0 stm32f10x_usart.o(i.USART_DeInit)
|
||||
i.USART_GetITStatus 0x080008a0 Section 0 stm32f10x_usart.o(i.USART_GetITStatus)
|
||||
i.USART_ITConfig 0x080008f4 Section 0 stm32f10x_usart.o(i.USART_ITConfig)
|
||||
i.USART_Init 0x08000940 Section 0 stm32f10x_usart.o(i.USART_Init)
|
||||
i.USART_ReceiveData 0x08000a18 Section 0 stm32f10x_usart.o(i.USART_ReceiveData)
|
||||
i.USART_SendData 0x08000a22 Section 0 stm32f10x_usart.o(i.USART_SendData)
|
||||
i._sys_exit 0x08000a2a Section 0 bsp_usart.o(i._sys_exit)
|
||||
i.app_led_change_style_disable 0x08000a30 Section 0 app_led.o(i.app_led_change_style_disable)
|
||||
i.app_led_get_change_style_value 0x08000a3c Section 0 app_led.o(i.app_led_get_change_style_value)
|
||||
app_led_get_change_style_value 0x08000a3d Thumb Code 6 app_led.o(i.app_led_get_change_style_value)
|
||||
i.app_led_marquee 0x08000a48 Section 0 app_led.o(i.app_led_marquee)
|
||||
i.bsp_Init 0x08000ac4 Section 0 bsp.o(i.bsp_Init)
|
||||
i.bsp_InitLed 0x08000b00 Section 0 bsp_led.o(i.bsp_InitLed)
|
||||
i.bsp_LedOff 0x08000b34 Section 0 bsp_led.o(i.bsp_LedOff)
|
||||
i.bsp_LedOn 0x08000b48 Section 0 bsp_led.o(i.bsp_LedOn)
|
||||
i.bsp_init 0x08000b60 Section 0 main.o(i.bsp_init)
|
||||
i.bsp_timer_2_init 0x08000b6c Section 0 bsp_timer.o(i.bsp_timer_2_init)
|
||||
bsp_timer_2_init 0x08000b6d Thumb Code 94 bsp_timer.o(i.bsp_timer_2_init)
|
||||
i.bsp_timer_init 0x08000bca Section 0 bsp_timer.o(i.bsp_timer_init)
|
||||
i.get_systick_ms 0x08000bd4 Section 0 mw_soft_timer.o(i.get_systick_ms)
|
||||
i.main 0x08000be0 Section 0 main.o(i.main)
|
||||
i.middleware_init 0x08000bf8 Section 0 main.o(i.middleware_init)
|
||||
i.mw_bluetooth_drv_init 0x08000c04 Section 0 mw_bluetooth.o(i.mw_bluetooth_drv_init)
|
||||
i.mw_led0_init 0x08000c3c Section 0 mw_led.o(i.mw_led0_init)
|
||||
i.mw_led0_off 0x08000c74 Section 0 mw_led.o(i.mw_led0_off)
|
||||
i.mw_led0_on 0x08000c88 Section 0 mw_led.o(i.mw_led0_on)
|
||||
i.mw_led_drv_init 0x08000c9c Section 0 mw_led.o(i.mw_led_drv_init)
|
||||
i.mw_printf_insert_data 0x08000cd8 Section 0 mw_printf.o(i.mw_printf_insert_data)
|
||||
i.mw_receive_one_byte 0x08000d00 Section 0 mw_bluetooth.o(i.mw_receive_one_byte)
|
||||
mw_receive_one_byte 0x08000d01 Thumb Code 12 mw_bluetooth.o(i.mw_receive_one_byte)
|
||||
i.mw_send_one_byte 0x08000d10 Section 0 mw_bluetooth.o(i.mw_send_one_byte)
|
||||
mw_send_one_byte 0x08000d11 Thumb Code 16 mw_bluetooth.o(i.mw_send_one_byte)
|
||||
i.mw_soft_timer_user_systick_update 0x08000d24 Section 0 mw_soft_timer.o(i.mw_soft_timer_user_systick_update)
|
||||
i.mw_usart_deinit 0x08000d34 Section 0 mw_bluetooth.o(i.mw_usart_deinit)
|
||||
mw_usart_deinit 0x08000d35 Thumb Code 12 mw_bluetooth.o(i.mw_usart_deinit)
|
||||
i.mw_usart_init 0x08000d44 Section 0 mw_bluetooth.o(i.mw_usart_init)
|
||||
mw_usart_init 0x08000d45 Thumb Code 176 mw_bluetooth.o(i.mw_usart_init)
|
||||
.data 0x20000000 Section 8 app_led.o(.data)
|
||||
led_style_change_flag 0x20000000 Data 1 app_led.o(.data)
|
||||
tmp_state 0x20000001 Data 1 app_led.o(.data)
|
||||
tmp_tick 0x20000004 Data 4 app_led.o(.data)
|
||||
.data 0x20000008 Section 2 mw_printf.o(.data)
|
||||
mw_printf_cache_head 0x20000008 Data 2 mw_printf.o(.data)
|
||||
.data 0x2000000c Section 4 mw_soft_timer.o(.data)
|
||||
systick_ms 0x2000000c Data 4 mw_soft_timer.o(.data)
|
||||
.data 0x20000010 Section 20 stm32f10x_rcc.o(.data)
|
||||
APBAHBPrescTable 0x20000010 Data 16 stm32f10x_rcc.o(.data)
|
||||
ADCPrescTable 0x20000020 Data 4 stm32f10x_rcc.o(.data)
|
||||
.bss 0x20000024 Section 16 mw_led.o(.bss)
|
||||
.bss 0x20000034 Section 50 mw_printf.o(.bss)
|
||||
.bss 0x20000068 Section 40 mw_bluetooth.o(.bss)
|
||||
.bss 0x20000090 Section 96 libspace.o(.bss)
|
||||
HEAP 0x200000f0 Section 512 startup_stm32f10x_md.o(HEAP)
|
||||
Heap_Mem 0x200000f0 Data 512 startup_stm32f10x_md.o(HEAP)
|
||||
STACK 0x200002f0 Section 1024 startup_stm32f10x_md.o(STACK)
|
||||
Stack_Mem 0x200002f0 Data 1024 startup_stm32f10x_md.o(STACK)
|
||||
__initial_sp 0x200006f0 Data 0 startup_stm32f10x_md.o(STACK)
|
||||
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)
|
||||
.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)
|
||||
systick_ms 0x20000004 Data 4 mw_soft_timer.o(.data)
|
||||
.data 0x20000008 Section 29 bsp_timer.o(.data)
|
||||
s_uiDelayCount 0x20000008 Data 4 bsp_timer.o(.data)
|
||||
s_ucTimeOutFlag 0x2000000c Data 1 bsp_timer.o(.data)
|
||||
s_TIM_CallBack1 0x20000014 Data 4 bsp_timer.o(.data)
|
||||
s_TIM_CallBack2 0x20000018 Data 4 bsp_timer.o(.data)
|
||||
s_TIM_CallBack3 0x2000001c Data 4 bsp_timer.o(.data)
|
||||
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)
|
||||
|
||||
Global Symbols
|
||||
|
||||
@ -997,6 +1100,11 @@ Image Symbol Table
|
||||
_init_alloc - Undefined Weak Reference
|
||||
_init_user_alloc - Undefined Weak Reference
|
||||
_initio - Undefined Weak Reference
|
||||
_mutex_acquire - Undefined Weak Reference
|
||||
_mutex_release - Undefined Weak Reference
|
||||
_printf_mbtowc - Undefined Weak Reference
|
||||
_printf_post_padding - Undefined Weak Reference
|
||||
_printf_pre_padding - Undefined Weak Reference
|
||||
_rand_init - Undefined Weak Reference
|
||||
_signal_finish - Undefined Weak Reference
|
||||
_signal_init - Undefined Weak Reference
|
||||
@ -1064,7 +1172,6 @@ Image Symbol Table
|
||||
SVC_Handler 0x0800019b Thumb Code 2 startup_stm32f10x_md.o(.text)
|
||||
DebugMon_Handler 0x0800019d Thumb Code 2 startup_stm32f10x_md.o(.text)
|
||||
PendSV_Handler 0x0800019f Thumb Code 2 startup_stm32f10x_md.o(.text)
|
||||
SysTick_Handler 0x080001a1 Thumb Code 2 startup_stm32f10x_md.o(.text)
|
||||
ADC1_2_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||
CAN1_RX1_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||
CAN1_SCE_IRQHandler 0x080001a3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||
@ -1128,48 +1235,56 @@ Image Symbol Table
|
||||
RCC_APB2PeriphClockCmd 0x0800041d Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB2PeriphClockCmd)
|
||||
RCC_APB2PeriphResetCmd 0x0800043d Thumb Code 26 stm32f10x_rcc.o(i.RCC_APB2PeriphResetCmd)
|
||||
RCC_GetClocksFreq 0x0800045d Thumb Code 192 stm32f10x_rcc.o(i.RCC_GetClocksFreq)
|
||||
SystemInit 0x08000619 Thumb Code 78 system_stm32f10x.o(i.SystemInit)
|
||||
TIM2_IRQHandler 0x08000679 Thumb Code 26 interrupt_handler.o(i.TIM2_IRQHandler)
|
||||
TIM_ClearITPendingBit 0x08000693 Thumb Code 6 stm32f10x_tim.o(i.TIM_ClearITPendingBit)
|
||||
TIM_Cmd 0x08000699 Thumb Code 24 stm32f10x_tim.o(i.TIM_Cmd)
|
||||
TIM_GetITStatus 0x080006b1 Thumb Code 34 stm32f10x_tim.o(i.TIM_GetITStatus)
|
||||
TIM_ITConfig 0x080006d3 Thumb Code 18 stm32f10x_tim.o(i.TIM_ITConfig)
|
||||
TIM_TimeBaseInit 0x080006e5 Thumb Code 122 stm32f10x_tim.o(i.TIM_TimeBaseInit)
|
||||
USART1_IRQHandler 0x08000789 Thumb Code 62 interrupt_handler.o(i.USART1_IRQHandler)
|
||||
USART_ClearITPendingBit 0x080007cd Thumb Code 30 stm32f10x_usart.o(i.USART_ClearITPendingBit)
|
||||
USART_Cmd 0x080007eb Thumb Code 24 stm32f10x_usart.o(i.USART_Cmd)
|
||||
USART_DeInit 0x08000805 Thumb Code 134 stm32f10x_usart.o(i.USART_DeInit)
|
||||
USART_GetITStatus 0x080008a1 Thumb Code 84 stm32f10x_usart.o(i.USART_GetITStatus)
|
||||
USART_ITConfig 0x080008f5 Thumb Code 74 stm32f10x_usart.o(i.USART_ITConfig)
|
||||
USART_Init 0x08000941 Thumb Code 210 stm32f10x_usart.o(i.USART_Init)
|
||||
USART_ReceiveData 0x08000a19 Thumb Code 10 stm32f10x_usart.o(i.USART_ReceiveData)
|
||||
USART_SendData 0x08000a23 Thumb Code 8 stm32f10x_usart.o(i.USART_SendData)
|
||||
_sys_exit 0x08000a2b Thumb Code 6 bsp_usart.o(i._sys_exit)
|
||||
app_led_change_style_disable 0x08000a31 Thumb Code 8 app_led.o(i.app_led_change_style_disable)
|
||||
app_led_marquee 0x08000a49 Thumb Code 114 app_led.o(i.app_led_marquee)
|
||||
bsp_Init 0x08000ac5 Thumb Code 52 bsp.o(i.bsp_Init)
|
||||
bsp_InitLed 0x08000b01 Thumb Code 46 bsp_led.o(i.bsp_InitLed)
|
||||
bsp_LedOff 0x08000b35 Thumb Code 16 bsp_led.o(i.bsp_LedOff)
|
||||
bsp_LedOn 0x08000b49 Thumb Code 20 bsp_led.o(i.bsp_LedOn)
|
||||
bsp_init 0x08000b61 Thumb Code 12 main.o(i.bsp_init)
|
||||
bsp_timer_init 0x08000bcb Thumb Code 8 bsp_timer.o(i.bsp_timer_init)
|
||||
get_systick_ms 0x08000bd5 Thumb Code 6 mw_soft_timer.o(i.get_systick_ms)
|
||||
main 0x08000be1 Thumb Code 24 main.o(i.main)
|
||||
middleware_init 0x08000bf9 Thumb Code 12 main.o(i.middleware_init)
|
||||
mw_bluetooth_drv_init 0x08000c05 Thumb Code 30 mw_bluetooth.o(i.mw_bluetooth_drv_init)
|
||||
mw_led0_init 0x08000c3d Thumb Code 50 mw_led.o(i.mw_led0_init)
|
||||
mw_led0_off 0x08000c75 Thumb Code 14 mw_led.o(i.mw_led0_off)
|
||||
mw_led0_on 0x08000c89 Thumb Code 14 mw_led.o(i.mw_led0_on)
|
||||
mw_led_drv_init 0x08000c9d Thumb Code 44 mw_led.o(i.mw_led_drv_init)
|
||||
mw_printf_insert_data 0x08000cd9 Thumb Code 30 mw_printf.o(i.mw_printf_insert_data)
|
||||
mw_soft_timer_user_systick_update 0x08000d25 Thumb Code 12 mw_soft_timer.o(i.mw_soft_timer_user_systick_update)
|
||||
Region$$Table$$Base 0x08000dfc Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x08000e1c Number 0 anon$$obj.o(Region$$Table)
|
||||
led_drv_buf 0x20000024 Data 16 mw_led.o(.bss)
|
||||
mw_printf_buf 0x20000034 Data 50 mw_printf.o(.bss)
|
||||
bluetooth_drv_buf 0x20000068 Data 40 mw_bluetooth.o(.bss)
|
||||
__libspace_start 0x20000090 Data 96 libspace.o(.bss)
|
||||
__temporary_stack_top$libspace 0x200000f0 Data 0 libspace.o(.bss)
|
||||
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)
|
||||
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)
|
||||
|
||||
|
||||
|
||||
@ -1179,145 +1294,153 @@ Memory Map of the image
|
||||
|
||||
Image Entry point : 0x080000ed
|
||||
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000e40, Max: 0x00010000, ABSOLUTE)
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001048, Max: 0x00010000, ABSOLUTE)
|
||||
|
||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000e1c, Max: 0x00010000, ABSOLUTE)
|
||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000ff8, Max: 0x00010000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x08000000 0x08000000 0x000000ec Data RO 517 RESET startup_stm32f10x_md.o
|
||||
0x080000ec 0x080000ec 0x00000008 Code RO 3613 * !!!main c_w.l(__main.o)
|
||||
0x080000f4 0x080000f4 0x00000034 Code RO 3770 !!!scatter c_w.l(__scatter.o)
|
||||
0x08000128 0x08000128 0x0000001a Code RO 3772 !!handler_copy c_w.l(__scatter_copy.o)
|
||||
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)
|
||||
0x08000142 0x08000142 0x00000002 PAD
|
||||
0x08000144 0x08000144 0x0000001c Code RO 3774 !!handler_zi c_w.l(__scatter_zi.o)
|
||||
0x08000160 0x08000160 0x00000002 Code RO 3642 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3649 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3651 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3654 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3656 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3658 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3661 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3663 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3665 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3667 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3669 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3671 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3673 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3675 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3677 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3679 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3681 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3685 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3687 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3689 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000000 Code RO 3691 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
|
||||
0x08000162 0x08000162 0x00000002 Code RO 3692 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o)
|
||||
0x08000164 0x08000164 0x00000002 Code RO 3710 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
|
||||
0x08000166 0x08000166 0x00000000 Code RO 3720 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
|
||||
0x08000166 0x08000166 0x00000000 Code RO 3722 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
|
||||
0x08000166 0x08000166 0x00000000 Code RO 3724 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o)
|
||||
0x08000166 0x08000166 0x00000000 Code RO 3727 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o)
|
||||
0x08000166 0x08000166 0x00000000 Code RO 3730 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
|
||||
0x08000166 0x08000166 0x00000000 Code RO 3732 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o)
|
||||
0x08000166 0x08000166 0x00000000 Code RO 3735 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o)
|
||||
0x08000166 0x08000166 0x00000002 Code RO 3736 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o)
|
||||
0x08000168 0x08000168 0x00000000 Code RO 3617 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
|
||||
0x08000168 0x08000168 0x00000000 Code RO 3619 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
|
||||
0x08000168 0x08000168 0x00000006 Code RO 3631 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
|
||||
0x0800016e 0x0800016e 0x00000000 Code RO 3621 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
|
||||
0x0800016e 0x0800016e 0x00000004 Code RO 3622 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 3624 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
|
||||
0x08000172 0x08000172 0x00000008 Code RO 3625 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
|
||||
0x0800017a 0x0800017a 0x00000002 Code RO 3646 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
|
||||
0x0800017c 0x0800017c 0x00000000 Code RO 3694 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
|
||||
0x0800017c 0x0800017c 0x00000004 Code RO 3695 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
|
||||
0x08000180 0x08000180 0x00000006 Code RO 3696 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
|
||||
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)
|
||||
0x08000186 0x08000186 0x00000002 PAD
|
||||
0x08000188 0x08000188 0x00000040 Code RO 518 .text startup_stm32f10x_md.o
|
||||
0x080001c8 0x080001c8 0x00000002 Code RO 3607 .text c_w.l(use_no_semi_2.o)
|
||||
0x080001ca 0x080001ca 0x00000006 Code RO 3611 .text c_w.l(heapauxi.o)
|
||||
0x080001d0 0x080001d0 0x00000002 Code RO 3615 .text c_w.l(use_no_semi.o)
|
||||
0x080001d2 0x080001d2 0x0000004a Code RO 3633 .text c_w.l(sys_stackheap_outer.o)
|
||||
0x0800021c 0x0800021c 0x00000012 Code RO 3635 .text c_w.l(exit.o)
|
||||
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)
|
||||
0x0800022e 0x0800022e 0x00000002 PAD
|
||||
0x08000230 0x08000230 0x00000008 Code RO 3643 .text c_w.l(libspace.o)
|
||||
0x08000238 0x08000238 0x00000116 Code RO 1697 i.GPIO_Init stm32f10x_gpio.o
|
||||
0x0800034e 0x0800034e 0x00000004 Code RO 1704 i.GPIO_ResetBits stm32f10x_gpio.o
|
||||
0x08000352 0x08000352 0x00000004 Code RO 1705 i.GPIO_SetBits stm32f10x_gpio.o
|
||||
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
|
||||
0x08000356 0x08000356 0x00000002 PAD
|
||||
0x08000358 0x08000358 0x00000070 Code RO 522 i.NVIC_Init misc.o
|
||||
0x080003c8 0x080003c8 0x00000014 Code RO 523 i.NVIC_PriorityGroupConfig misc.o
|
||||
0x080003dc 0x080003dc 0x00000020 Code RO 2116 i.RCC_APB1PeriphClockCmd stm32f10x_rcc.o
|
||||
0x080003fc 0x080003fc 0x00000020 Code RO 2117 i.RCC_APB1PeriphResetCmd stm32f10x_rcc.o
|
||||
0x0800041c 0x0800041c 0x00000020 Code RO 2118 i.RCC_APB2PeriphClockCmd stm32f10x_rcc.o
|
||||
0x0800043c 0x0800043c 0x00000020 Code RO 2119 i.RCC_APB2PeriphResetCmd stm32f10x_rcc.o
|
||||
0x0800045c 0x0800045c 0x000000d4 Code RO 2126 i.RCC_GetClocksFreq stm32f10x_rcc.o
|
||||
0x08000530 0x08000530 0x00000008 Code RO 481 i.SetSysClock system_stm32f10x.o
|
||||
0x08000538 0x08000538 0x000000e0 Code RO 482 i.SetSysClockTo72 system_stm32f10x.o
|
||||
0x08000618 0x08000618 0x00000060 Code RO 484 i.SystemInit system_stm32f10x.o
|
||||
0x08000678 0x08000678 0x0000001a Code RO 3528 i.TIM2_IRQHandler interrupt_handler.o
|
||||
0x08000692 0x08000692 0x00000006 Code RO 2754 i.TIM_ClearITPendingBit stm32f10x_tim.o
|
||||
0x08000698 0x08000698 0x00000018 Code RO 2759 i.TIM_Cmd stm32f10x_tim.o
|
||||
0x080006b0 0x080006b0 0x00000022 Code RO 2780 i.TIM_GetITStatus stm32f10x_tim.o
|
||||
0x080006d2 0x080006d2 0x00000012 Code RO 2784 i.TIM_ITConfig stm32f10x_tim.o
|
||||
0x080006e4 0x080006e4 0x000000a4 Code RO 2830 i.TIM_TimeBaseInit stm32f10x_tim.o
|
||||
0x08000788 0x08000788 0x00000044 Code RO 3529 i.USART1_IRQHandler interrupt_handler.o
|
||||
0x080007cc 0x080007cc 0x0000001e Code RO 3292 i.USART_ClearITPendingBit stm32f10x_usart.o
|
||||
0x080007ea 0x080007ea 0x00000018 Code RO 3295 i.USART_Cmd stm32f10x_usart.o
|
||||
0x08000802 0x08000802 0x00000002 PAD
|
||||
0x08000804 0x08000804 0x0000009c Code RO 3297 i.USART_DeInit stm32f10x_usart.o
|
||||
0x080008a0 0x080008a0 0x00000054 Code RO 3299 i.USART_GetITStatus stm32f10x_usart.o
|
||||
0x080008f4 0x080008f4 0x0000004a Code RO 3301 i.USART_ITConfig stm32f10x_usart.o
|
||||
0x0800093e 0x0800093e 0x00000002 PAD
|
||||
0x08000940 0x08000940 0x000000d8 Code RO 3302 i.USART_Init stm32f10x_usart.o
|
||||
0x08000a18 0x08000a18 0x0000000a Code RO 3309 i.USART_ReceiveData stm32f10x_usart.o
|
||||
0x08000a22 0x08000a22 0x00000008 Code RO 3312 i.USART_SendData stm32f10x_usart.o
|
||||
0x08000a2a 0x08000a2a 0x00000006 Code RO 357 i._sys_exit bsp_usart.o
|
||||
0x08000a30 0x08000a30 0x0000000c Code RO 147 i.app_led_change_style_disable app_led.o
|
||||
0x08000a3c 0x08000a3c 0x0000000c Code RO 149 i.app_led_get_change_style_value app_led.o
|
||||
0x08000a48 0x08000a48 0x0000007c Code RO 150 i.app_led_marquee app_led.o
|
||||
0x08000ac4 0x08000ac4 0x0000003c Code RO 398 i.bsp_Init bsp.o
|
||||
0x08000b00 0x08000b00 0x00000034 Code RO 434 i.bsp_InitLed bsp_led.o
|
||||
0x08000b34 0x08000b34 0x00000014 Code RO 436 i.bsp_LedOff bsp_led.o
|
||||
0x08000b48 0x08000b48 0x00000018 Code RO 437 i.bsp_LedOn bsp_led.o
|
||||
0x08000b60 0x08000b60 0x0000000c Code RO 1 i.bsp_init main.o
|
||||
0x08000b6c 0x08000b6c 0x0000005e Code RO 334 i.bsp_timer_2_init bsp_timer.o
|
||||
0x08000bca 0x08000bca 0x00000008 Code RO 335 i.bsp_timer_init bsp_timer.o
|
||||
0x08000bd2 0x08000bd2 0x00000002 PAD
|
||||
0x08000bd4 0x08000bd4 0x0000000c Code RO 314 i.get_systick_ms mw_soft_timer.o
|
||||
0x08000be0 0x08000be0 0x00000018 Code RO 2 i.main main.o
|
||||
0x08000bf8 0x08000bf8 0x0000000c Code RO 3 i.middleware_init main.o
|
||||
0x08000c04 0x08000c04 0x00000038 Code RO 3546 i.mw_bluetooth_drv_init mw_bluetooth.o
|
||||
0x08000c3c 0x08000c3c 0x00000038 Code RO 254 i.mw_led0_init mw_led.o
|
||||
0x08000c74 0x08000c74 0x00000014 Code RO 255 i.mw_led0_off mw_led.o
|
||||
0x08000c88 0x08000c88 0x00000014 Code RO 256 i.mw_led0_on mw_led.o
|
||||
0x08000c9c 0x08000c9c 0x0000003c Code RO 257 i.mw_led_drv_init mw_led.o
|
||||
0x08000cd8 0x08000cd8 0x00000028 Code RO 292 i.mw_printf_insert_data mw_printf.o
|
||||
0x08000d00 0x08000d00 0x00000010 Code RO 3548 i.mw_receive_one_byte mw_bluetooth.o
|
||||
0x08000d10 0x08000d10 0x00000014 Code RO 3549 i.mw_send_one_byte mw_bluetooth.o
|
||||
0x08000d24 0x08000d24 0x00000010 Code RO 315 i.mw_soft_timer_user_systick_update mw_soft_timer.o
|
||||
0x08000d34 0x08000d34 0x00000010 Code RO 3550 i.mw_usart_deinit mw_bluetooth.o
|
||||
0x08000d44 0x08000d44 0x000000b8 Code RO 3551 i.mw_usart_init mw_bluetooth.o
|
||||
0x08000dfc 0x08000dfc 0x00000020 Data RO 3768 Region$$Table anon$$obj.o
|
||||
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
|
||||
|
||||
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000e1c, Size: 0x000006f0, Max: 0x00005000, ABSOLUTE)
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000ff8, Size: 0x00000728, Max: 0x00005000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x20000000 0x08000e1c 0x00000008 Data RW 151 .data app_led.o
|
||||
0x20000008 0x08000e24 0x00000002 Data RW 294 .data mw_printf.o
|
||||
0x2000000a 0x08000e26 0x00000002 PAD
|
||||
0x2000000c 0x08000e28 0x00000004 Data RW 316 .data mw_soft_timer.o
|
||||
0x20000010 0x08000e2c 0x00000014 Data RW 2146 .data stm32f10x_rcc.o
|
||||
0x20000024 - 0x00000010 Zero RW 258 .bss mw_led.o
|
||||
0x20000034 - 0x00000032 Zero RW 293 .bss mw_printf.o
|
||||
0x20000066 0x08000e40 0x00000002 PAD
|
||||
0x20000068 - 0x00000028 Zero RW 3552 .bss mw_bluetooth.o
|
||||
0x20000090 - 0x00000060 Zero RW 3644 .bss c_w.l(libspace.o)
|
||||
0x200000f0 - 0x00000200 Zero RW 516 HEAP startup_stm32f10x_md.o
|
||||
0x200002f0 - 0x00000400 Zero RW 515 STACK startup_stm32f10x_md.o
|
||||
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
|
||||
|
||||
|
||||
==============================================================================
|
||||
@ -1327,30 +1450,30 @@ Image component sizes
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
|
||||
|
||||
148 20 0 8 0 18409 app_led.o
|
||||
60 8 0 0 0 15938 bsp.o
|
||||
96 14 0 0 0 1455 bsp_led.o
|
||||
102 0 0 0 0 23581 bsp_timer.o
|
||||
6 0 0 0 0 9196 bsp_usart.o
|
||||
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 32 core_cm3.o
|
||||
94 6 0 0 0 1034 interrupt_handler.o
|
||||
48 0 0 0 0 221948 main.o
|
||||
132 22 0 0 0 1995 misc.o
|
||||
292 46 0 0 40 3600 mw_bluetooth.o
|
||||
156 34 0 0 16 2798 mw_led.o
|
||||
40 10 0 2 50 1304 mw_printf.o
|
||||
28 10 0 4 0 1641 mw_soft_timer.o
|
||||
64 26 236 0 1536 1000 startup_stm32f10x_md.o
|
||||
286 0 0 0 0 3616 stm32f10x_gpio.o
|
||||
340 44 0 20 0 15584 stm32f10x_rcc.o
|
||||
246 42 0 0 0 4406 stm32f10x_tim.o
|
||||
602 28 0 0 0 14364 stm32f10x_usart.o
|
||||
328 28 0 0 0 2641 system_stm32f10x.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
|
||||
|
||||
----------------------------------------------------------------------
|
||||
3076 338 268 36 1644 344542 Object Totals
|
||||
3552 388 268 80 1656 385154 Object Totals
|
||||
0 0 32 0 0 0 (incl. Generated)
|
||||
8 0 0 2 2 0 (incl. Padding)
|
||||
10 0 0 4 2 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@ -1396,15 +1519,15 @@ Image component sizes
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||
|
||||
3344 350 268 36 1740 342418 Grand Totals
|
||||
3344 350 268 36 1740 342418 ELF Image Totals
|
||||
3344 350 268 36 0 0 ROM Totals
|
||||
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
|
||||
|
||||
==============================================================================
|
||||
|
||||
Total RO Size (Code + RO Data) 3612 ( 3.53kB)
|
||||
Total RW Size (RW Data + ZI Data) 1776 ( 1.73kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 3648 ( 3.56kB)
|
||||
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)
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user