diff --git a/project/example/ble/ble_peripheral/app/src/rf433.c b/project/example/ble/ble_peripheral/app/src/rf433.c index a7d2f8c..995011d 100644 --- a/project/example/ble/ble_peripheral/app/src/rf433.c +++ b/project/example/ble/ble_peripheral/app/src/rf433.c @@ -234,11 +234,11 @@ void scan_433(void) long_timer--; } - if(rf433_sw_flag==1) - { - rf433_sw_flag=0; - } - else if(rf433_sw_flag==2) +// if(rf433_sw_flag==1) +// { +// rf433_sw_flag=0; +// } + if(rf433_sw_flag==2) { rf433_sw_flag=0; power=4; diff --git a/project/example/ble/ble_peripheral/app/src/switch_s.c b/project/example/ble/ble_peripheral/app/src/switch_s.c index 10e594e..2489b67 100644 --- a/project/example/ble/ble_peripheral/app/src/switch_s.c +++ b/project/example/ble/ble_peripheral/app/src/switch_s.c @@ -1,429 +1,587 @@ #include "switch_s.h" #include "xc_drv_gpio.h" #include "rf433.h" -// ==================== GPIO1 检测 ==================== -uint8_t trig1_cnt = 0; // 连续触发次数 -uint16_t trig1_timeout = 0; // 300ms 倒计时 -uint8_t trig1_wait = 0; // 0=空闲 1=连续出触发 -// ==================== GPIO19 检测 ==================== -uint8_t trig2_cnt = 0; // 连续触发次数 -uint16_t trig2_timeout = 0; // 300ms 倒计时 -uint8_t trig2_wait = 0; // 0=空闲 1=连续出触发 +/* + * ============================================================ + * GPIO1 / S1 检测变量 + * ============================================================ + */ +uint8_t trig1_cnt = 0; +uint16_t trig1_timeout = 0; +uint8_t trig1_wait = 0; -uint8_t rf433_sw_flag=0; //进入对码标志 +/* + * ============================================================ + * RF433 对码标志 + * ============================================================ + * + * 0:无对码 + * 2:GPIO1 快速按 5 次及以上进入对码 + */ +uint8_t rf433_sw_flag = 0; +/* + * ============================================================ + * 防抖状态机变量 + * ============================================================ + */ static volatile debounce_state_t s1_state = DB_IDLE; -static volatile debounce_state_t s2_state = DB_IDLE; static volatile uint16_t s1_debounce_cnt = 0; -static volatile uint16_t s2_debounce_cnt = 0; + +/* + * ============================================================ + * 按下持续时间计数 + * ============================================================ + */ +static volatile uint16_t s1_press_cnt = 0; + +/* + * ============================================================ + * 长按普通开关已处理标志 + * ============================================================ + */ +static volatile uint8_t s1_long_press_done = 0; + +/* + * ============================================================ + * 回弹点击标志 + * ============================================================ + */ +static volatile uint8_t s1_return_click_flag = 0; + +/* + * ============================================================ + * 5次对码失效标志 + * ============================================================ + * + * 作用: + * 快速拨动达到 5 次后,如果最后一次停留在打开状态超过 200ms, + * 则本次 5 次对码序列失效。 + * + * 这样可以避免: + * 快速拨动 5 次后停留在打开一段时间,再关闭,仍然进入对码。 + */ +static volatile uint8_t s1_pair_invalid_flag = 0; + +/* + * ============================================================ + * 防抖时间 + * ============================================================ + * trigger_check_process() 如果 10ms 调用一次: + * DEBOUNCE_MS = 2 表示 20ms 防抖 + */ +#define DEBOUNCE_MS 2 + +/* + * ============================================================ + * 释放标志 + * ============================================================ + */ +uint8_t switch1_RELEASE_flag = 0; + +/* + * ============================================================ + * 普通不回弹开关第一次按下标志 + * ============================================================ + */ +uint8_t s1_first_press_flag = 0; + +/* + * ============================================================ + * 上电时开关状态 + * ============================================================ + */ +uint8_t S1_first_on_state = 0; - -#define DEBOUNCE_MS 2 //消抖时间40ms - -//uint16_t switch1_debounce = 0; -//uint16_t switch2_debounce = 0; - -uint8_t switch1_RELEASE_flag=0; -uint8_t switch2_RELEASE_flag=0; - -uint8_t s1_first_press_flag = 0; //S2首次按下标志 -uint8_t s2_first_press_flag = 0; //S2首次按下标志 - -uint8_t S1_first_on_state=0; //上电时开关的状态 -uint8_t S2_first_on_state=0; //上电时开关的状态 - - -void switch_init(void) +/* + * ============================================================ + * S1 状态清理函数 + * ============================================================ + */ +static void switch_s1_clear_action_state(void) { + trig1_cnt = 0; + trig1_timeout = 0; + trig1_wait = 0; - GPIO_InitCfg_t GPIO_InitCfg = { 0 }; // 清零初始化配置结构体 - GPIO_InitCfg.Mux = GPIO_Mux0; // 选择功能复用器0 - GPIO_InitCfg.FunSel = GPIO_Dx; // 选择GPIO功能(非特殊功能) - GPIO_InitCfg.Pull = GPIO_PULLUP; //上拉电阻使能 - - - GPIO_InitCfg.Dir = GPIO_DIR_INPUT; // 输出方向 - GPIO_InitCfg.Int = FAIL_EDGE_INT; //使能中断 - GPIO_InitCfg.Pin = SWITCH_S1_PIN; // 设置S1引脚 - xc_gpio_init(&GPIO_InitCfg); // 初始化GPIO - -// GPIO_InitCfg.Dir = GPIO_DIR_INPUT; // 输出方向 -// GPIO_InitCfg.Int = FAIL_EDGE_INT; //使能中断 -// GPIO_InitCfg.Pin = SWITCH_S2_PIN; // 设置S2引脚 -// xc_gpio_init(&GPIO_InitCfg); // 初始化GPIO - - xc_gpio_it_config(GPIO_1,FAIL_EDGE_INT); - xc_gpio_it_config(GPIO_19,FAIL_EDGE_INT); - NVIC_EnableIRQ(GPIO_IRQn); - - - //判断首次上电开关状态 - if(xc_gpio_read_pin(SWITCH_S1_PIN)==0) - { - S1_first_on_state=1; - } - else - { - S1_first_on_state=0; - } - - if(xc_gpio_read_pin(SWITCH_S2_PIN)==0) - { - S2_first_on_state=1; - } - else - { - S2_first_on_state=0; - } - + switch1_RELEASE_flag = 0; + s1_first_press_flag = 0; + + s1_return_click_flag = 0; + s1_long_press_done = 0; + s1_press_cnt = 0; + + /* + * 新增: + * 清理 5 次对码失效标志。 + */ + s1_pair_invalid_flag = 0; } +/* + * ============================================================ + * S1 输出控制:GPIO5 + * ============================================================ + */ +static void switch_s1_output_on(void) +{ + xc_gpio_write_pin(GPIO_5, GPIO_PIN_SET); + flash_ch1_state = xc_gpio_read_pin(GPIO_5); + flash_run(); +} + +static void switch_s1_output_off(void) +{ + xc_gpio_write_pin(GPIO_5, GPIO_PIN_RESET); + flash_ch1_state = xc_gpio_read_pin(GPIO_5); + flash_run(); +} + +static void switch_s1_output_toggle(void) +{ + if(xc_gpio_read_pin(GPIO_5)) + { + xc_gpio_write_pin(GPIO_5, GPIO_PIN_RESET); + } + else + { + xc_gpio_write_pin(GPIO_5, GPIO_PIN_SET); + } + + flash_ch1_state = xc_gpio_read_pin(GPIO_5); + flash_run(); +} + + +/* + * ============================================================ + * 开关 GPIO 初始化 + * ============================================================ + */ +void switch_init(void) +{ + GPIO_InitCfg_t GPIO_InitCfg = { 0 }; + + GPIO_InitCfg.Mux = GPIO_Mux0; + GPIO_InitCfg.FunSel = GPIO_Dx; + GPIO_InitCfg.Pull = GPIO_PULLUP; + + /* + * GPIO1 输入初始化 + */ + GPIO_InitCfg.Dir = GPIO_DIR_INPUT; + GPIO_InitCfg.Int = FAIL_EDGE_INT; + GPIO_InitCfg.Pin = SWITCH_S1_PIN; + xc_gpio_init(&GPIO_InitCfg); + + /* + * GPIO1 下降沿中断 + */ + xc_gpio_it_config(GPIO_1, FAIL_EDGE_INT); + NVIC_EnableIRQ(GPIO_IRQn); + + /* + * 上电时检测 GPIO1 初始状态 + */ + if(xc_gpio_read_pin(SWITCH_S1_PIN) == 0) + { + S1_first_on_state = 1; + } + else + { + S1_first_on_state = 0; + } +} + + +/* + * ============================================================ + * 开关检测主处理函数 + * ============================================================ + * + * 需要周期调用。 + * 当前按 SWITCH_SCAN_PERIOD_MS = 10ms 计算。 + */ void trigger_check_process(void) { - if(S1_first_on_state==1) - { - S1_first_on_state=0; - - s1_state=DB_PRESS_DEBOUNCE; - } -// if(S2_first_on_state==1) -// { -// S2_first_on_state=0; -// -// s2_state=DB_PRESS_DEBOUNCE; -// } - -// if(S1_first_on_state==1) -// { -// S1_first_on_state=0; -// s1_first_press_flag=1; -// s1_state=DB_PRESSED; -// } -// if(S2_first_on_state==1) -// { -// S2_first_on_state=0; -// s2_first_press_flag=1; -// s2_state=DB_PRESSED; -// } - - switch(s1_state) - { - case DB_IDLE: //空闲状态 - break; - - case DB_PRESS_DEBOUNCE: //按下防抖 - if(s1_debounce_cnt>0) s1_debounce_cnt--; - if(s1_debounce_cnt==0) - { - //防抖时间到,采样当前电平是否是低电平 - if(xc_gpio_read_pin(SWITCH_S1_PIN)==0) - { - s1_state = DB_PRESSED; //进入按下状态,不响应中断 - if(trig1_wait == 0) - { - trig1_cnt = 1; - trig1_timeout = TRIGGER_TIMEOUT_MS; - trig1_wait = 1; - } - else - { - if(trig1_timeout>0) - { - trig1_cnt++; - } - - trig1_timeout = TRIGGER_TIMEOUT_MS; -// - } - } - else - { - // 杂波导致误触,回到空闲 - s1_state = DB_IDLE; - } - } - break; - - - case DB_PRESSED: //确认按下 - - - - // 等待引脚回高电平 - if(xc_gpio_read_pin(SWITCH_S1_PIN) == 1) + /* + * ======================================================== + * 上电时 GPIO1 已经按下 + * ======================================================== + */ + if(S1_first_on_state == 1) + { + S1_first_on_state = 0; + s1_state = DB_PRESS_DEBOUNCE; + s1_debounce_cnt = DEBOUNCE_MS; + } + + /* + * ======================================================== + * S1 状态机 + * ======================================================== + */ + switch(s1_state) + { + case DB_IDLE: + /* + * 空闲状态低电平补检,防止漏中断。 + */ + if(xc_gpio_read_pin(SWITCH_S1_PIN) == 0) { - s1_state = DB_RELEASE_DEBOUNCE; - s1_debounce_cnt = DEBOUNCE_MS; // 释放30ms防抖 + s1_state = DB_PRESS_DEBOUNCE; + s1_debounce_cnt = DEBOUNCE_MS; } break; - case DB_RELEASE_DEBOUNCE: //释放防抖 - if(s1_debounce_cnt > 0) s1_debounce_cnt--; + case DB_PRESS_DEBOUNCE: + if(s1_debounce_cnt > 0) + { + s1_debounce_cnt--; + } + if(s1_debounce_cnt == 0) { - if(xc_gpio_read_pin(SWITCH_S1_PIN) == 1) // 确认释放 + if(xc_gpio_read_pin(SWITCH_S1_PIN) == 0) { - s1_state = DB_IDLE; // 回到空闲 - trig1_timeout = TRIGGER_TIMEOUT_MS; - - switch1_RELEASE_flag=1; - if(s1_first_press_flag==1) - { - s1_first_press_flag=2; - - } - + s1_state = DB_PRESSED; + + s1_press_cnt = 0; + s1_long_press_done = 0; + + /* + * 连续触发计数 + */ + if(trig1_wait == 0) + { + trig1_cnt = 1; + trig1_timeout = TRIGGER_TIMEOUT_MS; + trig1_wait = 1; + } + else + { + if(trig1_timeout > 0) + { + trig1_cnt++; + } + else + { + /* + * 如果等待标志还在,但超时已经为 0, + * 说明旧状态异常,重新作为第一次点击。 + */ + trig1_cnt = 1; + } + + trig1_timeout = TRIGGER_TIMEOUT_MS; + } } else { - // 再等20ms - s1_debounce_cnt = DEBOUNCE_MS; // 30ms + s1_state = DB_IDLE; } } break; - } - - -// -// switch(s2_state) -// { -// case DB_IDLE: //空闲状态 -// break; -// -// case DB_PRESS_DEBOUNCE: //按下防抖 -// if(s2_debounce_cnt>0) s2_debounce_cnt--; -// if(s2_debounce_cnt==0) -// { -// //防抖时间到,采样当前电平是否是低电平 -// if(xc_gpio_read_pin(SWITCH_S2_PIN)==0) -// { -// s2_state = DB_PRESSED; //进入按下状态,不响应中断 -// if(trig2_wait == 0) -// { -// trig2_cnt = 1; -// trig2_timeout = TRIGGER_TIMEOUT_MS; -// trig2_wait = 1; -// } -// else -// { -// if(trig2_timeout>0) -// { -// trig2_cnt++; -// } -// -// trig2_timeout = TRIGGER_TIMEOUT_MS; -// } -// } -// else -// { -// // 杂波导致误触,回到空闲 -// s2_state = DB_IDLE; -// } -// } -// break; -// -// -// case DB_PRESSED: //确认按下 -// // 等待引脚回高电平 -// if(xc_gpio_read_pin(SWITCH_S2_PIN) == 1) -// { -// s2_state = DB_RELEASE_DEBOUNCE; -// s2_debounce_cnt = DEBOUNCE_MS; // 释放30ms防抖 -// } -// break; + case DB_PRESSED: + /* + * 按下超过 200ms: + * 认为是普通不回弹墙壁开关,打开 GPIO5。 + */ + if(s1_long_press_done == 0) + { + if(s1_press_cnt < RETURN_SWITCH_CNT) + { + s1_press_cnt++; + } -// case DB_RELEASE_DEBOUNCE: //释放防抖 -// if(s2_debounce_cnt > 0) s2_debounce_cnt--; -// if(s2_debounce_cnt == 0) -// { -// if(xc_gpio_read_pin(SWITCH_S2_PIN) == 1) // 确认释放 -// { -// s2_state = DB_IDLE; // 回到空闲 -// trig2_timeout = TRIGGER_TIMEOUT_MS; -// switch2_RELEASE_flag=1; -// if(s2_first_press_flag==1) -// { -// s2_first_press_flag=2; -// -// } -// -// -// } -// else -// { -// // 再等20ms -// s2_debounce_cnt = DEBOUNCE_MS; // 30ms -// } -// } -// break; -// } - - - - // S1 超时处理 + if(s1_press_cnt >= RETURN_SWITCH_CNT) + { + s1_long_press_done = 1; + + /* + * 普通不回弹开关只处理第一次有效按下。 + * + * 注意: + * 这里仍然要求 trig1_cnt == 1, + * 避免快速多次点击被误判成长按开关打开。 + */ + if(trig1_cnt == 1 && trig1_wait == 1) + { + trig1_cnt = 0; + trig1_timeout = 0; + trig1_wait = 0; + + s1_return_click_flag = 0; + switch1_RELEASE_flag = 0; + + s1_first_press_flag = 1; + + switch_s1_output_on(); + } + else if(trig1_cnt >= TRIGGER_CONTINUE_CNT) + { + /* + * ==================================================== + * 关键新增修复 + * ==================================================== + * + * 如果已经快速拨动到了 5 次或以上, + * 但是最后一次保持在打开状态超过 200ms, + * 那么这一次对码序列作废。 + * + * 后面即使再关闭,也不能进入对码。 + */ + s1_pair_invalid_flag = 1; + + /* + * 防止旧的回弹点击标志残留。 + */ + s1_return_click_flag = 0; + switch1_RELEASE_flag = 0; + } + } + } + + /* + * 检测释放 + */ + if(xc_gpio_read_pin(SWITCH_S1_PIN) == 1) + { + s1_state = DB_RELEASE_DEBOUNCE; + s1_debounce_cnt = DEBOUNCE_MS; + } + break; + + case DB_RELEASE_DEBOUNCE: + if(s1_debounce_cnt > 0) + { + s1_debounce_cnt--; + } + + if(s1_debounce_cnt == 0) + { + if(xc_gpio_read_pin(SWITCH_S1_PIN) == 1) + { + s1_state = DB_IDLE; + + /* + * ==================================================== + * 关键新增修复 + * ==================================================== + * + * 如果前面已经判定: + * 快速拨动 5 次后,最后一次停留打开超过 200ms, + * 那么这次释放只是无效释放。 + * + * 直接清理状态,不再进入后面的 5 次对码处理。 + */ + if(s1_pair_invalid_flag == 1) + { + switch_s1_clear_action_state(); + } + else + { + /* + * 释放后重新给连击窗口计时。 + */ + trig1_timeout = TRIGGER_TIMEOUT_MS; + switch1_RELEASE_flag = 1; + + if(s1_long_press_done == 0) + { + /* + * 200ms 内释放: + * 回弹点击。 + */ + s1_return_click_flag = 1; + } + else + { + /* + * 普通不回弹开关释放。 + */ + if(s1_first_press_flag == 1) + { + s1_first_press_flag = 2; + } + } + } + } + else + { + s1_debounce_cnt = DEBOUNCE_MS; + } + } + break; + + default: + s1_state = DB_IDLE; + break; + } + + + /* + * ======================================================== + * S1 连击超时处理 + * ======================================================== + */ if(trig1_timeout > 0) { trig1_timeout--; - } - else if(trig1_timeout==0 && switch1_RELEASE_flag==1 ) - { - switch1_RELEASE_flag=2; - } - - - // 600ms倒计时结束,且有计数 - if(trig1_timeout == 0 && trig1_cnt == 1 && trig1_wait == 1 && s1_state == DB_PRESSED) //确定按下1次 - { - //printf("按下一次 trig1_cnt %d\r\n",trig1_cnt); - trig1_cnt = 0; - trig1_wait = 0; - s1_first_press_flag=1; - xc_gpio_write_pin(GPIO_5,GPIO_PIN_SET); - flash_ch1_state=xc_gpio_read_pin(GPIO_5); - flash_run(); - - } - - else if(trig1_timeout == 0 && (trig1_cnt > 1 && trig1_cnt < TRIGGER_CONTINUE_CNT)) - { - // printf("乱按 trig1_cnt %d\r\n",trig1_cnt); - trig1_cnt = 0; - trig1_wait = 0; - - - - } - else if(trig1_timeout == 0 && trig1_cnt >= TRIGGER_CONTINUE_CNT) - { - //printf("对码 trig1_cnt %d\r\n",trig1_cnt); - if( s1_state == DB_IDLE) - { - rf433_sw_flag = 2; // HPW421: S1/GPIO5 is the single relay L2 pairing key - trig1_cnt = 0; - trig1_wait = 0; - } - else - { - trig1_cnt = 0; - trig1_wait = 0; - } - } - - else if(trig1_timeout == 0 && switch1_RELEASE_flag==2 && s1_state == DB_IDLE && s1_first_press_flag==2 ) - { - // printf("低电平 trig2_cnt %d\r\n",trig2_cnt); - s1_state = DB_IDLE; - switch1_RELEASE_flag=0; - s1_first_press_flag=0; - xc_gpio_write_pin(GPIO_5,GPIO_PIN_RESET); - flash_ch1_state=xc_gpio_read_pin(GPIO_5); - flash_run(); - - - } - - - - - -// // S2 超时处理 -// if(trig2_timeout > 0) -// { -// trig2_timeout--; -// } -// else if(trig2_timeout==0 && switch2_RELEASE_flag==1 ) -// { -// switch2_RELEASE_flag=2; -// } -// -// -// // 600ms倒计时结束,且有计数 -// if(trig2_timeout == 0 && trig2_cnt == 1 && trig2_wait == 1 && s2_state == DB_PRESSED) //确定按下1次 -// { -// -// trig2_cnt = 0; -// trig2_wait = 0; -// s2_first_press_flag=1; -// -// xc_gpio_write_pin(GPIO_2,GPIO_PIN_SET); -// -// flash_ch2_state=xc_gpio_read_pin(GPIO_2); -// flash_run(); -// -// -// } -// -// else if(trig2_timeout == 0 && (trig2_cnt > 1 && trig2_cnt < TRIGGER_CONTINUE_CNT)) -// { -// -// trig2_cnt = 0; -// trig2_wait = 0; -// -// -// -// } -// else if(trig2_timeout == 0 && trig2_cnt >= TRIGGER_CONTINUE_CNT) -// { -// -// -// if( s2_state == DB_IDLE) -// { -// rf433_sw_flag = 2; -// trig2_cnt = 0; -// trig2_wait = 0; -// } -// else -// { -// trig2_cnt = 0; -// trig2_wait = 0; -// } -// -// -// } -// -// -// -// else if(trig2_timeout == 0 && switch2_RELEASE_flag==2 && s2_state == DB_IDLE && s2_first_press_flag==2 ) -// { -// -// -// -// s2_state = DB_IDLE; -// switch2_RELEASE_flag=0; -// s2_first_press_flag=0; -// -// xc_gpio_write_pin(GPIO_2,GPIO_PIN_RESET); -// flash_ch2_state=xc_gpio_read_pin(GPIO_2); -// flash_run(); -// } - - - + } + else if(trig1_timeout == 0 && switch1_RELEASE_flag == 1) + { + switch1_RELEASE_flag = 2; + } + + + /* + * ======================================================== + * S1 回弹开关处理 + * ======================================================== + */ + if(trig1_timeout == 0 && + switch1_RELEASE_flag == 2 && + s1_state == DB_IDLE && + s1_return_click_flag == 1) + { + if(trig1_cnt == 1 && trig1_wait == 1) + { + /* + * 单击: + * GPIO5 翻转。 + */ + switch_s1_clear_action_state(); + switch_s1_output_toggle(); + } + else if(trig1_cnt > 1 && trig1_cnt < TRIGGER_CONTINUE_CNT) + { + /* + * 2~4 次: + * 不动作,但必须彻底清状态。 + */ + switch_s1_clear_action_state(); + } + else if(trig1_cnt >= TRIGGER_CONTINUE_CNT) + { + /* + * 5 次及以上: + * 进入对码。 + * + * 这里增加 s1_pair_invalid_flag 判断。 + * 正常快速拨动 5 次并最终关闭:进入对码。 + * 拨动 5 次后停留打开一段时间再关闭:不进入对码。 + */ + if(s1_pair_invalid_flag == 0) + { + rf433_sw_flag = 2; + } + + switch_s1_clear_action_state(); + } + else + { + /* + * 异常兜底清理。 + */ + switch_s1_clear_action_state(); + } + } + /* + * ======================================================== + * 普通不回弹开关释放后关闭 GPIO5 + * ======================================================== + */ + else if(trig1_timeout == 0 && + switch1_RELEASE_flag == 2 && + s1_state == DB_IDLE && + s1_first_press_flag == 2) + { + /* + * 普通不回弹开关释放后关闭 GPIO5。 + */ + switch_s1_clear_action_state(); + switch_s1_output_off(); + } + /* + * ======================================================== + * 兜底:2~4 次超时 + * ======================================================== + */ + else if(trig1_timeout == 0 && + trig1_cnt > 1 && + trig1_cnt < TRIGGER_CONTINUE_CNT) + { + /* + * 2~4 次: + * 不动作,但是必须清理全部状态。 + */ + switch_s1_clear_action_state(); + } + /* + * ======================================================== + * 兜底:5 次及以上超时 + * ======================================================== + */ + else if(trig1_timeout == 0 && + trig1_cnt >= TRIGGER_CONTINUE_CNT && + s1_state == DB_IDLE) + { + /* + * 5 次及以上: + * + * 这里必须保留对码。 + * 因为正常快速拨动 5 次后,经常就是走这个兜底分支进入对码。 + * + * 但是增加 s1_pair_invalid_flag 判断: + * 如果是“5次后停留打开超过200ms再关闭”,则不允许对码。 + */ + if(s1_pair_invalid_flag == 0) + { + rf433_sw_flag = 2; + } + + switch_s1_clear_action_state(); + } + /* + * ======================================================== + * 兜底:异常释放状态 + * ======================================================== + */ + else if(trig1_timeout == 0 && + switch1_RELEASE_flag == 2 && + s1_state == DB_IDLE && + trig1_cnt == 0 && + trig1_wait == 0) + { + /* + * 防止残留 switch1_RELEASE_flag == 2。 + */ + switch_s1_clear_action_state(); + } } +/* + * ============================================================ + * GPIO 中断回调 + * ============================================================ + */ void gpio_intr_callback(uint64_t intr_sta) { - if((intr_sta & ((uint64_t)1 << SWITCH_S1_PIN)) != 0) //如果是GPIO_1的中断 - { - if(s1_state == DB_IDLE && S1_first_on_state==0) // 只有空闲才响应 + /* + * GPIO1 下降沿中断 + */ + if((intr_sta & ((uint64_t)1 << SWITCH_S1_PIN)) != 0) + { + if(s1_state == DB_IDLE && S1_first_on_state == 0) { s1_state = DB_PRESS_DEBOUNCE; - s1_debounce_cnt = DEBOUNCE_MS; // 40ms防抖 + s1_debounce_cnt = DEBOUNCE_MS; } - } - - -// if((intr_sta & ((uint64_t)1 << SWITCH_S2_PIN)) != 0) //如果是GPIO_19的中断 -// { -// if(s2_state == DB_IDLE && S2_first_on_state==0) -// { -// s2_state = DB_PRESS_DEBOUNCE; -// s2_debounce_cnt = DEBOUNCE_MS; -// } -// } + } } diff --git a/project/example/ble/ble_peripheral/app/src/switch_s.h b/project/example/ble/ble_peripheral/app/src/switch_s.h index bb4c011..a522790 100644 --- a/project/example/ble/ble_peripheral/app/src/switch_s.h +++ b/project/example/ble/ble_peripheral/app/src/switch_s.h @@ -1,47 +1,75 @@ #ifndef __SWITCH_S_H__ #define __SWITCH_S_H__ - - - #include +#include "xc_drv_gpio.h" +/* + * ============================================================ + * 开关检测说明 + * ============================================================ + * + * 当前版本只保留 S1: + * + * 输入: + * GPIO1 + * + * 输出: + * GPIO5 + * + * 功能: + * + * 1. 普通不回弹墙壁开关: + * - GPIO1 按下超过 200ms 不松手: + * GPIO5 打开。 + * - GPIO1 释放后: + * GPIO5 关闭。 + * + * 2. 回弹开关: + * - GPIO1 200ms 内按下松开: + * 认为是一次回弹点击。 + * - 单击 1 次: + * GPIO5 翻转,开变关,关变开。 + * - 快速点击 2~4 次: + * 不动作。 + * - 快速点击 5 次及以上,并且最终释放为关: + * rf433_sw_flag = 2,进入对码。 + * + * 3. 修复点: + * - 对码后彻底清理所有开关状态,避免后续只能开不能关。 + * - DB_IDLE 状态增加 GPIO1 低电平补检,避免漏中断。 + * - 快速拨动 5 次后如果最后停在打开状态,等一段时间再关, + * 不再进入对码。 + */ -// 400ms 超时 -#define TRIGGER_TIMEOUT_MS 20 -// 连续触发次数 -#define TRIGGER_CONTINUE_CNT 5 +// trigger_check_process() 实际调用周期,单位 ms +#define SWITCH_SCAN_PERIOD_MS 10 -#define SWITCH_S1_PIN GPIO_1 -#define SWITCH_S2_PIN GPIO_19 +// 连击超时时间:20 * 10ms = 200ms +#define TRIGGER_TIMEOUT_MS 20 +// 连续触发次数,达到 5 次进入对码 +#define TRIGGER_CONTINUE_CNT 5 + +// 回弹开关判断时间:200ms 内松手,认为是回弹开关 +#define RETURN_SWITCH_TIME_MS 200 +#define RETURN_SWITCH_CNT (RETURN_SWITCH_TIME_MS / SWITCH_SCAN_PERIOD_MS) + +// S1 输入引脚 +#define SWITCH_S1_PIN GPIO_1 // 防抖状态机 typedef enum { - DB_IDLE = 0, // 空闲,等待下降沿 - DB_PRESS_DEBOUNCE, // 按下防抖中 - DB_PRESSED, // 确认按下,等待释放 - DB_RELEASE_DEBOUNCE // 释放防抖 + DB_IDLE = 0, + DB_PRESS_DEBOUNCE, + DB_PRESSED, + DB_RELEASE_DEBOUNCE } debounce_state_t; extern uint8_t rf433_sw_flag; - extern uint8_t S1_first_on_state; -extern uint8_t S2_first_on_state; void switch_init(void); - void trigger_check_process(void); - - - - - - - - - - - #endif diff --git a/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map b/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map index dbfda35..41df100 100644 --- a/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map +++ b/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map @@ -662,9 +662,11 @@ Section Cross References switch_s.o(i.switch_init) refers to xc_drv_gpio.o(i.xc_gpio_it_config) for xc_gpio_it_config switch_s.o(i.switch_init) refers to xc_drv_gpio.o(i.xc_gpio_read_pin) for xc_gpio_read_pin switch_s.o(i.switch_init) refers to switch_s.o(.data) for .data + switch_s.o(i.switch_s1_clear_action_state) refers to switch_s.o(.data) for .data switch_s.o(i.trigger_check_process) refers to xc_drv_gpio.o(i.xc_gpio_read_pin) for xc_gpio_read_pin switch_s.o(i.trigger_check_process) refers to xc_drv_gpio.o(i.xc_gpio_write_pin) for xc_gpio_write_pin switch_s.o(i.trigger_check_process) refers to rf433.o(i.flash_run) for flash_run + switch_s.o(i.trigger_check_process) refers to switch_s.o(i.switch_s1_clear_action_state) for switch_s1_clear_action_state switch_s.o(i.trigger_check_process) refers to switch_s.o(.data) for .data switch_s.o(i.trigger_check_process) refers to rf433.o(.data) for flash_ch1_state fmc_spi_1.o(i.fmc_spi_read) refers to xc_drv_fmc_spi.o(ram_code) for xc_fmc_spi_flash_read_page @@ -1425,11 +1427,6 @@ Removing Unused input sections from the image. Removing rf433.o(.data), (1 bytes). Removing rf433.o(.data), (8 bytes). Removing switch_s.o(.emb_text), (8 bytes). - Removing switch_s.o(.data), (1 bytes). - Removing switch_s.o(.data), (2 bytes). - Removing switch_s.o(.data), (1 bytes). - Removing switch_s.o(.data), (1 bytes). - Removing switch_s.o(.data), (1 bytes). Removing fmc_spi_1.o(.emb_text), (8 bytes). Removing key.o(.emb_text), (8 bytes). Removing key.o(i.app_key_register_callback), (12 bytes). @@ -1458,7 +1455,7 @@ Removing Unused input sections from the image. Removing rf433_decoder.o(.emb_text), (8 bytes). Removing rf433_decoder.o(i.rf433_decoder_get_lost_count), (12 bytes). -254 unused section(s) (total 14242 bytes) removed from the image. +249 unused section(s) (total 14236 bytes) removed from the image. ============================================================================== @@ -1513,147 +1510,147 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) ../clib/../cmprslib/zerorunl2.c 0x00000000 Number 0 __dczerorl2.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 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/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __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 __rtentry2.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_ctype_table.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_locale.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_locale_intlibspace.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0_sigfpe.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0_sigfpe.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0_sigfpe.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_ctype_table.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_locale.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0_sigfpe.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_locale_intlibspace.o ABSOLUTE ../clib/angel/scatterp.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 tempstk.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 tempstk.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 no_argv.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE ../clib/bigflt.c 0x00000000 Number 0 bigflt0.o ABSOLUTE ../clib/btod.c 0x00000000 Number 0 btod.o ABSOLUTE - ../clib/division.c 0x00000000 Number 0 rtudiv10.o ABSOLUTE - ../clib/division.c 0x00000000 Number 0 lludiv.o ABSOLUTE ../clib/division.c 0x00000000 Number 0 lludiv10.o ABSOLUTE + ../clib/division.c 0x00000000 Number 0 lludiv.o ABSOLUTE + ../clib/division.c 0x00000000 Number 0 rtudiv10.o ABSOLUTE ../clib/division.s 0x00000000 Number 0 aeabi_sdiv_div0.o ABSOLUTE ../clib/division.s 0x00000000 Number 0 aeabi_sdiv.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE ../clib/locale.c 0x00000000 Number 0 _wcrtomb.o ABSOLUTE ../clib/locale.s 0x00000000 Number 0 lc_numeric_c.o ABSOLUTE ../clib/locale.s 0x00000000 Number 0 lc_ctype_c.o ABSOLUTE ../clib/longlong.c 0x00000000 Number 0 llmul.o ABSOLUTE - ../clib/memcpset.c 0x00000000 Number 0 aeabi_memset.o ABSOLUTE ../clib/memcpset.c 0x00000000 Number 0 rt_memcpy.o ABSOLUTE ../clib/memcpset.c 0x00000000 Number 0 rt_memclr.o ABSOLUTE + ../clib/memcpset.c 0x00000000 Number 0 aeabi_memset.o ABSOLUTE ../clib/memcpset.c 0x00000000 Number 0 rt_memcpy.o ABSOLUTE ../clib/misc.s 0x00000000 Number 0 printf_stubs.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_fp_hex.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_wchar.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_oct_int_ll.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_oct_int.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_fp_infnan.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_truncate.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_oct_int.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.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.c 0x00000000 Number 0 printf.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_oct_ll.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_longlong_dec.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_wctomb.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_fp_dec.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_dec.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_pad.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.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_truncate.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_fp_hex.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_charcount.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_wctomb.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_wchar.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_g.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_o.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_p.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_charcount.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_fp_dec.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_pad.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_n.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_d.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_c.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_s.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_a.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_lli.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_lld.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_llu.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_l.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_lc.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_p.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_ls.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_llu.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_lld.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_lli.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_o.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_u.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_llo.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_llx.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_i.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_ll.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_f.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_e.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_g.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_a.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_lc.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_llx.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_l.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_llo.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_s.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_ll.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_i.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_c.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_formal.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.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_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_exit.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE - ../clib/string.c 0x00000000 Number 0 strcmp.o ABSOLUTE ../clib/string.c 0x00000000 Number 0 memcmp.o ABSOLUTE - ../clib/unhosted.c 0x00000000 Number 0 uwrite4.o ABSOLUTE + ../clib/string.c 0x00000000 Number 0 strcmp.o ABSOLUTE ../clib/unhosted.c 0x00000000 Number 0 uread4.o ABSOLUTE + ../clib/unhosted.c 0x00000000 Number 0 uwrite4.o ABSOLUTE ../fplib/cfplib/daddsub.c 0x00000000 Number 0 daddsub.o ABSOLUTE ../fplib/cfplib/dmul.c 0x00000000 Number 0 dmul.o ABSOLUTE ../fplib/cfplib/fdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE - ../fplib/cfplib/ffix.c 0x00000000 Number 0 dfixui.o ABSOLUTE ../fplib/cfplib/ffix.c 0x00000000 Number 0 ffixui.o ABSOLUTE + ../fplib/cfplib/ffix.c 0x00000000 Number 0 dfixui.o ABSOLUTE ../fplib/cfplib/fflt.c 0x00000000 Number 0 fflti.o ABSOLUTE ../fplib/cfplib/fflt.c 0x00000000 Number 0 dflti.o ABSOLUTE ../fplib/cfplib/fpinit.c 0x00000000 Number 0 fpinit.o ABSOLUTE @@ -1808,35 +1805,39 @@ Image Symbol Table .data 0x10002ec4 Section 34 rf433.o(.data) power 0x10002ec7 Data 1 rf433.o(.data) .data 0x10002ee6 Section 1 rf433.o(.data) - .data 0x10002ee8 Section 12 switch_s.o(.data) + .data 0x10002ee8 Section 16 switch_s.o(.data) s1_state 0x10002eeb Data 1 switch_s.o(.data) - s1_debounce_cnt 0x10002ef2 Data 2 switch_s.o(.data) - .data 0x10002ef4 Section 20 key.o(.data) - last_key_val 0x10002ef4 Data 2 key.o(.data) - key_down_count 0x10002ef6 Data 2 key.o(.data) - key_up_count 0x10002ef8 Data 2 key.o(.data) - .data 0x10002f08 Section 1 led.o(.data) - .data 0x10002f09 Section 1 led.o(.data) - pwm_state 0x10002f09 Data 1 led.o(.data) - .data 0x10002f0a Section 1 ota_flash_interface.o(.data) - .data 0x10002f0c Section 17 ota_protocol.o(.data) - .data 0x10002f1e Section 4 ota_server.o(.data) - .bss 0x10002f24 Section 28 arch_main.o(.bss) - .bss 0x10002f40 Section 24 nvds.o(.bss) - .bss 0x10002f58 Section 64 xc_drv_adc.o(.bss) - adc_value 0x10002f58 Data 64 xc_drv_adc.o(.bss) - .bss 0x10002f98 Section 16 xc_drv_clock.o(.bss) - .bss 0x10002fa8 Section 12 xc_drv_uart.o(.bss) - .bss 0x10002fb4 Section 12 rf433.o(.bss) - .bss 0x10002fc0 Section 512 fmc_spi_1.o(.bss) - .bss 0x100031c0 Section 272 ota_flash_interface.o(.bss) - .bss 0x100032d0 Section 276 ota_protocol.o(.bss) - fotas_write_env 0x100032d0 Data 276 ota_protocol.o(.bss) - .bss 0x100033e4 Section 1102 rf433_decoder.o(.bss) - s_fifo 0x100033e4 Data 1036 rf433_decoder.o(.bss) - s_dec 0x100037f0 Data 52 rf433_decoder.o(.bss) - s_repair 0x10003824 Data 14 rf433_decoder.o(.bss) - .bss 0x10003834 Section 96 libspace.o(.bss) + s1_long_press_done 0x10002eec Data 1 switch_s.o(.data) + s1_return_click_flag 0x10002eed Data 1 switch_s.o(.data) + s1_pair_invalid_flag 0x10002eee Data 1 switch_s.o(.data) + s1_debounce_cnt 0x10002ef4 Data 2 switch_s.o(.data) + s1_press_cnt 0x10002ef6 Data 2 switch_s.o(.data) + .data 0x10002ef8 Section 20 key.o(.data) + last_key_val 0x10002ef8 Data 2 key.o(.data) + key_down_count 0x10002efa Data 2 key.o(.data) + key_up_count 0x10002efc Data 2 key.o(.data) + .data 0x10002f0c Section 1 led.o(.data) + .data 0x10002f0d Section 1 led.o(.data) + pwm_state 0x10002f0d Data 1 led.o(.data) + .data 0x10002f0e Section 1 ota_flash_interface.o(.data) + .data 0x10002f10 Section 17 ota_protocol.o(.data) + .data 0x10002f22 Section 4 ota_server.o(.data) + .bss 0x10002f28 Section 28 arch_main.o(.bss) + .bss 0x10002f44 Section 24 nvds.o(.bss) + .bss 0x10002f5c Section 64 xc_drv_adc.o(.bss) + adc_value 0x10002f5c Data 64 xc_drv_adc.o(.bss) + .bss 0x10002f9c Section 16 xc_drv_clock.o(.bss) + .bss 0x10002fac Section 12 xc_drv_uart.o(.bss) + .bss 0x10002fb8 Section 12 rf433.o(.bss) + .bss 0x10002fc4 Section 512 fmc_spi_1.o(.bss) + .bss 0x100031c4 Section 272 ota_flash_interface.o(.bss) + .bss 0x100032d4 Section 276 ota_protocol.o(.bss) + fotas_write_env 0x100032d4 Data 276 ota_protocol.o(.bss) + .bss 0x100033e8 Section 1102 rf433_decoder.o(.bss) + s_fifo 0x100033e8 Data 1036 rf433_decoder.o(.bss) + s_dec 0x100037f4 Data 52 rf433_decoder.o(.bss) + s_repair 0x10003828 Data 14 rf433_decoder.o(.bss) + .bss 0x10003838 Section 96 libspace.o(.bss) HEAP 0x10003898 Section 0 startup_xinc.o(HEAP) Heap_Mem 0x10003898 Data 0 startup_xinc.o(HEAP) RESET 0x11012000 Section 192 startup_xinc.o(RESET) @@ -2113,118 +2114,120 @@ Image Symbol Table rf433_update_range_by_t 0x110169ed Thumb Code 104 rf433_decoder.o(i.rf433_update_range_by_t) i.rom_env_host_init 0x11016a58 Section 0 arch_main.o(i.rom_env_host_init) i.scan_433 0x11016a80 Section 0 rf433.o(i.scan_433) - i.scan_uart 0x11016bdc Section 0 uart_1.o(i.scan_uart) - i.set_TaskComps_timer 0x11016c4c Section 0 timeslice.o(i.set_TaskComps_timer) - i.set_single_addr_name 0x11016c5c Section 0 arch_main.o(i.set_single_addr_name) - i.set_vector 0x11016cf8 Section 0 system_xinc.o(i.set_vector) - i.slave_send_data 0x11016d34 Section 0 usr_server.o(i.slave_send_data) - i.srv_get_hdl_from_att_idx 0x11016dd0 Section 0 usr_server.o(i.srv_get_hdl_from_att_idx) - i.switch_init 0x11016de0 Section 0 switch_s.o(i.switch_init) - i.systick_callback 0x11016e40 Section 0 xc_drv_systick.o(i.systick_callback) - i.timer0_2_init 0x11016e44 Section 0 timer.o(i.timer0_2_init) - i.timer3_callback 0x11016ecc Section 0 xc_drv_timer.o(i.timer3_callback) - i.trigger_check_process 0x11016ed0 Section 0 switch_s.o(i.trigger_check_process) - i.uart_user_handler 0x11017008 Section 0 xc_drv_uart.o(i.uart_user_handler) - i.updateTimer 0x110170b8 Section 0 timer.o(i.updateTimer) - i.wdt_init 0x110170ce Section 0 arch_main.o(i.wdt_init) - i.wright_user_data 0x110170e8 Section 0 fmc_spi_1.o(i.wright_user_data) - i.xc_adc_data_average 0x11017194 Section 0 xc_drv_adc.o(i.xc_adc_data_average) - i.xc_ble_activity_delete 0x11017210 Section 0 xc_gap_api.o(i.xc_ble_activity_delete) - i.xc_bor_init 0x11017238 Section 0 xc_drv_bor.o(i.xc_bor_init) - i.xc_clock_bbpll_common_cfg 0x11017268 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) - i.xc_clock_bbpll_freq_cfg 0x110172a8 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) - i.xc_clock_hfclk_in_get 0x11017394 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_in_get) - i.xc_clock_hfclk_set 0x110173a0 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_set) - i.xc_clock_init_cfg 0x1101747c Section 0 xc_drv_clock.o(i.xc_clock_init_cfg) - i.xc_clock_lfclk_in_get 0x11017494 Section 0 xc_drv_clock.o(i.xc_clock_lfclk_in_get) - i.xc_clock_lfclk_set 0x110174a0 Section 0 xc_drv_clock.o(i.xc_clock_lfclk_set) - i.xc_fota_dev_ack_cmd 0x1101750c Section 0 ota_protocol.o(i.xc_fota_dev_ack_cmd) - i.xc_gpio_direction_config 0x11017534 Section 0 xc_drv_gpio.o(i.xc_gpio_direction_config) - i.xc_gpio_fun_sel 0x11017550 Section 0 xc_drv_gpio.o(i.xc_gpio_fun_sel) - i.xc_gpio_init 0x11017578 Section 0 xc_drv_gpio.o(i.xc_gpio_init) - i.xc_gpio_it_config 0x110175a8 Section 0 xc_drv_gpio.o(i.xc_gpio_it_config) - i.xc_gpio_mux_ctl 0x110175dc Section 0 xc_drv_gpio.o(i.xc_gpio_mux_ctl) - i.xc_gpio_pull_config 0x11017628 Section 0 xc_drv_gpio.o(i.xc_gpio_pull_config) - i.xc_gpio_read_pin 0x11017710 Section 0 xc_drv_gpio.o(i.xc_gpio_read_pin) - i.xc_gpio_toggle_pin 0x11017734 Section 0 xc_drv_gpio.o(i.xc_gpio_toggle_pin) - i.xc_gpio_write_pin 0x11017760 Section 0 xc_drv_gpio.o(i.xc_gpio_write_pin) - i.xc_hfclk_set 0x1101777c Section 0 xc_drv_clock.o(i.xc_hfclk_set) - i.xc_ota_schedule 0x110177bc Section 0 ota_protocol.o(i.xc_ota_schedule) - i.xc_pwm_dutycycle_set 0x11017820 Section 0 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) - i.xc_pwm_init 0x11017890 Section 0 xc_drv_pwm.o(i.xc_pwm_init) - i.xc_pwm_start_all 0x11017970 Section 0 xc_drv_pwm.o(i.xc_pwm_start_all) - i.xc_pwr_vol_set 0x1101798c Section 0 xc_drv_pwr.o(i.xc_pwr_vol_set) - i.xc_rc32k_soft_calib_set 0x110179e8 Section 0 xc_drv_calib.o(i.xc_rc32k_soft_calib_set) - i.xc_system_param_check 0x11017ae0 Section 0 xc_drv_clock.o(i.xc_system_param_check) - i.xc_systick_unit_get 0x11017cfc Section 0 xc_drv_clock.o(i.xc_systick_unit_get) - i.xc_timer_init 0x11017d08 Section 0 xc_drv_timer.o(i.xc_timer_init) - i.xc_timer_set_value 0x11017e28 Section 0 xc_drv_timer.o(i.xc_timer_set_value) - i.xc_timer_start 0x11017e50 Section 0 xc_drv_timer.o(i.xc_timer_start) - i.xc_timer_us_to_ticks 0x11017e8c Section 0 xc_drv_timer.o(i.xc_timer_us_to_ticks) - xc_timer_us_to_ticks 0x11017e8d Thumb Code 230 xc_drv_timer.o(i.xc_timer_us_to_ticks) - i.xc_uart_init 0x11017f80 Section 0 xc_drv_uart.o(i.xc_uart_init) - i.xc_unique_identification_read 0x11018170 Section 0 xc_drv_fmc_spi.o(i.xc_unique_identification_read) - i.xc_wdt_init 0x11018258 Section 0 xc_drv_wdt.o(i.xc_wdt_init) - i.xc_wdt_refresh 0x110182c0 Section 0 xc_drv_wdt.o(i.xc_wdt_refresh) - i.xc_wdt_reload 0x11018300 Section 0 xc_drv_wdt.o(i.xc_wdt_reload) - i.xc_wdt_start 0x11018344 Section 0 xc_drv_wdt.o(i.xc_wdt_start) - locale$$code 0x11018378 Section 44 lc_numeric_c.o(locale$$code) - locale$$code 0x110183a4 Section 44 lc_ctype_c.o(locale$$code) - x$fpl$fmul 0x110183d0 Section 176 fmul.o(x$fpl$fmul) - x$fpl$printf1 0x11018480 Section 16 printf1.o(x$fpl$printf1) - x$fpl$printf2 0x11018490 Section 16 printf2.o(x$fpl$printf2) - .constdata 0x110184a0 Section 8 app_task.o(.constdata) - x$fpl$usenofp 0x110184a0 Section 0 usenofp.o(x$fpl$usenofp) - .constdata 0x110184a8 Section 56 app_task.o(.constdata) - .constdata 0x110184e0 Section 2 arch_main.o(.constdata) - .constdata 0x110184e4 Section 40 app_sec.o(.constdata) - .constdata 0x1101850c Section 8 app_sec.o(.constdata) - .constdata 0x11018514 Section 134 usr_server.o(.constdata) - custom_server_atts 0x11018514 Data 36 usr_server.o(.constdata) - custom_src_cb 0x11018538 Data 20 usr_server.o(.constdata) - __func__ 0x1101854c Data 25 usr_server.o(.constdata) - __func__ 0x11018565 Data 27 usr_server.o(.constdata) - __func__ 0x11018580 Data 26 usr_server.o(.constdata) - .constdata 0x1101859a Section 4 nvds.o(.constdata) - .constdata 0x1101859e Section 31 xc_drv_pwm.o(.constdata) - pwm_offset 0x1101859e Data 12 xc_drv_pwm.o(.constdata) - __func__ 0x110185aa Data 19 xc_drv_pwm.o(.constdata) - .constdata 0x110185bd Section 4 xc_drv_timer.o(.constdata) - timer_offset 0x110185bd Data 4 xc_drv_timer.o(.constdata) - .constdata 0x110185c2 Section 6 xc_drv_uart.o(.constdata) - uart_offset 0x110185c2 Data 6 xc_drv_uart.o(.constdata) - .constdata 0x110185c8 Section 16 ota_protocol.o(.constdata) - __func__ 0x110185c8 Data 16 ota_protocol.o(.constdata) - .constdata 0x110185d8 Section 40 _printf_hex_int_ll_ptr.o(.constdata) - uc_hextab 0x110185d8 Data 20 _printf_hex_int_ll_ptr.o(.constdata) - lc_hextab 0x110185ec Data 20 _printf_hex_int_ll_ptr.o(.constdata) - .constdata 0x11018600 Section 17 __printf_flags_ss_wp.o(.constdata) - maptable 0x11018600 Data 17 __printf_flags_ss_wp.o(.constdata) - .constdata 0x11018611 Section 64 fdiv.o(.constdata) - fdiv_tab 0x11018611 Data 64 fdiv.o(.constdata) - .constdata 0x11018654 Section 8 _printf_wctomb.o(.constdata) - initial_mbstate 0x11018654 Data 8 _printf_wctomb.o(.constdata) - .constdata 0x1101865c Section 38 _printf_fp_hex.o(.constdata) - lc_hextab 0x1101865c Data 19 _printf_fp_hex.o(.constdata) - uc_hextab 0x1101866f Data 19 _printf_fp_hex.o(.constdata) - .constdata 0x11018684 Section 148 bigflt0.o(.constdata) - tenpwrs_x 0x11018684 Data 60 bigflt0.o(.constdata) - tenpwrs_i 0x110186c0 Data 64 bigflt0.o(.constdata) - .conststring 0x11018718 Section 207 app_task.o(.conststring) - .conststring 0x110187e8 Section 85 usr_server.o(.conststring) - .conststring 0x11018840 Section 98 xc_drv_pwm.o(.conststring) - .conststring 0x110188a4 Section 181 rf433_decoder.o(.conststring) - locale$$data 0x110189ac Section 28 lc_numeric_c.o(locale$$data) - __lcnum_c_name 0x110189b0 Data 2 lc_numeric_c.o(locale$$data) - __lcnum_c_start 0x110189b8 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_point 0x110189c4 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_thousands 0x110189c6 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_grouping 0x110189c7 Data 0 lc_numeric_c.o(locale$$data) - locale$$data 0x110189c8 Section 272 lc_ctype_c.o(locale$$data) - __lcnum_c_end 0x110189c8 Data 0 lc_numeric_c.o(locale$$data) - __lcctype_c_name 0x110189cc Data 2 lc_ctype_c.o(locale$$data) - __lcctype_c_start 0x110189d4 Data 0 lc_ctype_c.o(locale$$data) - __lcctype_c_end 0x11018ad8 Data 0 lc_ctype_c.o(locale$$data) + i.scan_uart 0x11016bd4 Section 0 uart_1.o(i.scan_uart) + i.set_TaskComps_timer 0x11016c44 Section 0 timeslice.o(i.set_TaskComps_timer) + i.set_single_addr_name 0x11016c54 Section 0 arch_main.o(i.set_single_addr_name) + i.set_vector 0x11016cf0 Section 0 system_xinc.o(i.set_vector) + i.slave_send_data 0x11016d2c Section 0 usr_server.o(i.slave_send_data) + i.srv_get_hdl_from_att_idx 0x11016dc8 Section 0 usr_server.o(i.srv_get_hdl_from_att_idx) + i.switch_init 0x11016dd8 Section 0 switch_s.o(i.switch_init) + i.switch_s1_clear_action_state 0x11016e20 Section 0 switch_s.o(i.switch_s1_clear_action_state) + switch_s1_clear_action_state 0x11016e21 Thumb Code 24 switch_s.o(i.switch_s1_clear_action_state) + i.systick_callback 0x11016e3c Section 0 xc_drv_systick.o(i.systick_callback) + i.timer0_2_init 0x11016e40 Section 0 timer.o(i.timer0_2_init) + i.timer3_callback 0x11016ec8 Section 0 xc_drv_timer.o(i.timer3_callback) + i.trigger_check_process 0x11016ecc Section 0 switch_s.o(i.trigger_check_process) + i.uart_user_handler 0x110170c4 Section 0 xc_drv_uart.o(i.uart_user_handler) + i.updateTimer 0x11017174 Section 0 timer.o(i.updateTimer) + i.wdt_init 0x1101718a Section 0 arch_main.o(i.wdt_init) + i.wright_user_data 0x110171a4 Section 0 fmc_spi_1.o(i.wright_user_data) + i.xc_adc_data_average 0x11017250 Section 0 xc_drv_adc.o(i.xc_adc_data_average) + i.xc_ble_activity_delete 0x110172cc Section 0 xc_gap_api.o(i.xc_ble_activity_delete) + i.xc_bor_init 0x110172f4 Section 0 xc_drv_bor.o(i.xc_bor_init) + i.xc_clock_bbpll_common_cfg 0x11017324 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) + i.xc_clock_bbpll_freq_cfg 0x11017364 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) + i.xc_clock_hfclk_in_get 0x11017450 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_in_get) + i.xc_clock_hfclk_set 0x1101745c Section 0 xc_drv_clock.o(i.xc_clock_hfclk_set) + i.xc_clock_init_cfg 0x11017538 Section 0 xc_drv_clock.o(i.xc_clock_init_cfg) + i.xc_clock_lfclk_in_get 0x11017550 Section 0 xc_drv_clock.o(i.xc_clock_lfclk_in_get) + i.xc_clock_lfclk_set 0x1101755c Section 0 xc_drv_clock.o(i.xc_clock_lfclk_set) + i.xc_fota_dev_ack_cmd 0x110175c8 Section 0 ota_protocol.o(i.xc_fota_dev_ack_cmd) + i.xc_gpio_direction_config 0x110175f0 Section 0 xc_drv_gpio.o(i.xc_gpio_direction_config) + i.xc_gpio_fun_sel 0x1101760c Section 0 xc_drv_gpio.o(i.xc_gpio_fun_sel) + i.xc_gpio_init 0x11017634 Section 0 xc_drv_gpio.o(i.xc_gpio_init) + i.xc_gpio_it_config 0x11017664 Section 0 xc_drv_gpio.o(i.xc_gpio_it_config) + i.xc_gpio_mux_ctl 0x11017698 Section 0 xc_drv_gpio.o(i.xc_gpio_mux_ctl) + i.xc_gpio_pull_config 0x110176e4 Section 0 xc_drv_gpio.o(i.xc_gpio_pull_config) + i.xc_gpio_read_pin 0x110177cc Section 0 xc_drv_gpio.o(i.xc_gpio_read_pin) + i.xc_gpio_toggle_pin 0x110177f0 Section 0 xc_drv_gpio.o(i.xc_gpio_toggle_pin) + i.xc_gpio_write_pin 0x1101781c Section 0 xc_drv_gpio.o(i.xc_gpio_write_pin) + i.xc_hfclk_set 0x11017838 Section 0 xc_drv_clock.o(i.xc_hfclk_set) + i.xc_ota_schedule 0x11017878 Section 0 ota_protocol.o(i.xc_ota_schedule) + i.xc_pwm_dutycycle_set 0x110178dc Section 0 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) + i.xc_pwm_init 0x1101794c Section 0 xc_drv_pwm.o(i.xc_pwm_init) + i.xc_pwm_start_all 0x11017a2c Section 0 xc_drv_pwm.o(i.xc_pwm_start_all) + i.xc_pwr_vol_set 0x11017a48 Section 0 xc_drv_pwr.o(i.xc_pwr_vol_set) + i.xc_rc32k_soft_calib_set 0x11017aa4 Section 0 xc_drv_calib.o(i.xc_rc32k_soft_calib_set) + i.xc_system_param_check 0x11017b9c Section 0 xc_drv_clock.o(i.xc_system_param_check) + i.xc_systick_unit_get 0x11017db8 Section 0 xc_drv_clock.o(i.xc_systick_unit_get) + i.xc_timer_init 0x11017dc4 Section 0 xc_drv_timer.o(i.xc_timer_init) + i.xc_timer_set_value 0x11017ee4 Section 0 xc_drv_timer.o(i.xc_timer_set_value) + i.xc_timer_start 0x11017f0c Section 0 xc_drv_timer.o(i.xc_timer_start) + i.xc_timer_us_to_ticks 0x11017f48 Section 0 xc_drv_timer.o(i.xc_timer_us_to_ticks) + xc_timer_us_to_ticks 0x11017f49 Thumb Code 230 xc_drv_timer.o(i.xc_timer_us_to_ticks) + i.xc_uart_init 0x1101803c Section 0 xc_drv_uart.o(i.xc_uart_init) + i.xc_unique_identification_read 0x1101822c Section 0 xc_drv_fmc_spi.o(i.xc_unique_identification_read) + i.xc_wdt_init 0x11018314 Section 0 xc_drv_wdt.o(i.xc_wdt_init) + i.xc_wdt_refresh 0x1101837c Section 0 xc_drv_wdt.o(i.xc_wdt_refresh) + i.xc_wdt_reload 0x110183bc Section 0 xc_drv_wdt.o(i.xc_wdt_reload) + i.xc_wdt_start 0x11018400 Section 0 xc_drv_wdt.o(i.xc_wdt_start) + locale$$code 0x11018434 Section 44 lc_numeric_c.o(locale$$code) + locale$$code 0x11018460 Section 44 lc_ctype_c.o(locale$$code) + x$fpl$fmul 0x1101848c Section 176 fmul.o(x$fpl$fmul) + x$fpl$printf1 0x1101853c Section 16 printf1.o(x$fpl$printf1) + x$fpl$printf2 0x1101854c Section 16 printf2.o(x$fpl$printf2) + .constdata 0x1101855c Section 8 app_task.o(.constdata) + x$fpl$usenofp 0x1101855c Section 0 usenofp.o(x$fpl$usenofp) + .constdata 0x11018564 Section 56 app_task.o(.constdata) + .constdata 0x1101859c Section 2 arch_main.o(.constdata) + .constdata 0x110185a0 Section 40 app_sec.o(.constdata) + .constdata 0x110185c8 Section 8 app_sec.o(.constdata) + .constdata 0x110185d0 Section 134 usr_server.o(.constdata) + custom_server_atts 0x110185d0 Data 36 usr_server.o(.constdata) + custom_src_cb 0x110185f4 Data 20 usr_server.o(.constdata) + __func__ 0x11018608 Data 25 usr_server.o(.constdata) + __func__ 0x11018621 Data 27 usr_server.o(.constdata) + __func__ 0x1101863c Data 26 usr_server.o(.constdata) + .constdata 0x11018656 Section 4 nvds.o(.constdata) + .constdata 0x1101865a Section 31 xc_drv_pwm.o(.constdata) + pwm_offset 0x1101865a Data 12 xc_drv_pwm.o(.constdata) + __func__ 0x11018666 Data 19 xc_drv_pwm.o(.constdata) + .constdata 0x11018679 Section 4 xc_drv_timer.o(.constdata) + timer_offset 0x11018679 Data 4 xc_drv_timer.o(.constdata) + .constdata 0x1101867e Section 6 xc_drv_uart.o(.constdata) + uart_offset 0x1101867e Data 6 xc_drv_uart.o(.constdata) + .constdata 0x11018684 Section 16 ota_protocol.o(.constdata) + __func__ 0x11018684 Data 16 ota_protocol.o(.constdata) + .constdata 0x11018694 Section 40 _printf_hex_int_ll_ptr.o(.constdata) + uc_hextab 0x11018694 Data 20 _printf_hex_int_ll_ptr.o(.constdata) + lc_hextab 0x110186a8 Data 20 _printf_hex_int_ll_ptr.o(.constdata) + .constdata 0x110186bc Section 17 __printf_flags_ss_wp.o(.constdata) + maptable 0x110186bc Data 17 __printf_flags_ss_wp.o(.constdata) + .constdata 0x110186cd Section 64 fdiv.o(.constdata) + fdiv_tab 0x110186cd Data 64 fdiv.o(.constdata) + .constdata 0x11018710 Section 8 _printf_wctomb.o(.constdata) + initial_mbstate 0x11018710 Data 8 _printf_wctomb.o(.constdata) + .constdata 0x11018718 Section 38 _printf_fp_hex.o(.constdata) + lc_hextab 0x11018718 Data 19 _printf_fp_hex.o(.constdata) + uc_hextab 0x1101872b Data 19 _printf_fp_hex.o(.constdata) + .constdata 0x11018740 Section 148 bigflt0.o(.constdata) + tenpwrs_x 0x11018740 Data 60 bigflt0.o(.constdata) + tenpwrs_i 0x1101877c Data 64 bigflt0.o(.constdata) + .conststring 0x110187d4 Section 207 app_task.o(.conststring) + .conststring 0x110188a4 Section 85 usr_server.o(.conststring) + .conststring 0x110188fc Section 98 xc_drv_pwm.o(.conststring) + .conststring 0x11018960 Section 181 rf433_decoder.o(.conststring) + locale$$data 0x11018a68 Section 28 lc_numeric_c.o(locale$$data) + __lcnum_c_name 0x11018a6c Data 2 lc_numeric_c.o(locale$$data) + __lcnum_c_start 0x11018a74 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_point 0x11018a80 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_thousands 0x11018a82 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_grouping 0x11018a83 Data 0 lc_numeric_c.o(locale$$data) + locale$$data 0x11018a84 Section 272 lc_ctype_c.o(locale$$data) + __lcnum_c_end 0x11018a84 Data 0 lc_numeric_c.o(locale$$data) + __lcctype_c_name 0x11018a88 Data 2 lc_ctype_c.o(locale$$data) + __lcctype_c_start 0x11018a90 Data 0 lc_ctype_c.o(locale$$data) + __lcctype_c_end 0x11018b94 Data 0 lc_ctype_c.o(locale$$data) ram_em 0x53006c00 Section 512 nvds.o(ram_em) ram_em 0x53006e00 Section 2091 ota_protocol.o(ram_em) @@ -2610,31 +2613,30 @@ Image Symbol Table trig1_cnt 0x10002ee8 Data 1 switch_s.o(.data) trig1_wait 0x10002ee9 Data 1 switch_s.o(.data) rf433_sw_flag 0x10002eea Data 1 switch_s.o(.data) - switch1_RELEASE_flag 0x10002eec Data 1 switch_s.o(.data) - s1_first_press_flag 0x10002eed Data 1 switch_s.o(.data) - S1_first_on_state 0x10002eee Data 1 switch_s.o(.data) - S2_first_on_state 0x10002eef Data 1 switch_s.o(.data) - trig1_timeout 0x10002ef0 Data 2 switch_s.o(.data) - key_callback 0x10002efc Data 4 key.o(.data) - g_key_click_state 0x10002f00 Data 8 key.o(.data) - led_state 0x10002f08 Data 1 led.o(.data) - app_op_flash_flag 0x10002f0a Data 1 ota_flash_interface.o(.data) - ota_flag 0x10002f0c Data 1 ota_protocol.o(.data) - jump2app 0x10002f10 Data 4 ota_protocol.o(.data) - fotas_status 0x10002f14 Data 9 ota_protocol.o(.data) - ota_srv_user_lid 0x10002f1e Data 1 ota_server.o(.data) - ota_svc_tx_char_notify 0x10002f1f Data 1 ota_server.o(.data) - ota_svc_start_hdl 0x10002f20 Data 2 ota_server.o(.data) - adv_info 0x10002f24 Data 28 arch_main.o(.bss) - nvds_env 0x10002f40 Data 24 nvds.o(.bss) - clock_cb 0x10002f98 Data 16 xc_drv_clock.o(.bss) - uart_ctl_block 0x10002fa8 Data 12 xc_drv_uart.o(.bss) - rf433_frame 0x10002fb4 Data 12 rf433.o(.bss) - r_data 0x10002fc0 Data 256 fmc_spi_1.o(.bss) - app_data 0x100030c0 Data 256 fmc_spi_1.o(.bss) - op_flash 0x100031c0 Data 272 ota_flash_interface.o(.bss) - __libspace_start 0x10003834 Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x10003894 Data 0 libspace.o(.bss) + switch1_RELEASE_flag 0x10002eef Data 1 switch_s.o(.data) + s1_first_press_flag 0x10002ef0 Data 1 switch_s.o(.data) + S1_first_on_state 0x10002ef1 Data 1 switch_s.o(.data) + trig1_timeout 0x10002ef2 Data 2 switch_s.o(.data) + key_callback 0x10002f00 Data 4 key.o(.data) + g_key_click_state 0x10002f04 Data 8 key.o(.data) + led_state 0x10002f0c Data 1 led.o(.data) + app_op_flash_flag 0x10002f0e Data 1 ota_flash_interface.o(.data) + ota_flag 0x10002f10 Data 1 ota_protocol.o(.data) + jump2app 0x10002f14 Data 4 ota_protocol.o(.data) + fotas_status 0x10002f18 Data 9 ota_protocol.o(.data) + ota_srv_user_lid 0x10002f22 Data 1 ota_server.o(.data) + ota_svc_tx_char_notify 0x10002f23 Data 1 ota_server.o(.data) + ota_svc_start_hdl 0x10002f24 Data 2 ota_server.o(.data) + adv_info 0x10002f28 Data 28 arch_main.o(.bss) + nvds_env 0x10002f44 Data 24 nvds.o(.bss) + clock_cb 0x10002f9c Data 16 xc_drv_clock.o(.bss) + uart_ctl_block 0x10002fac Data 12 xc_drv_uart.o(.bss) + rf433_frame 0x10002fb8 Data 12 rf433.o(.bss) + r_data 0x10002fc4 Data 256 fmc_spi_1.o(.bss) + app_data 0x100030c4 Data 256 fmc_spi_1.o(.bss) + op_flash 0x100031c4 Data 272 ota_flash_interface.o(.bss) + __libspace_start 0x10003838 Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x10003898 Data 0 libspace.o(.bss) _gatt_srv_att_read_get_cfm 0x11002d53 Thumb Code 0 rom_symdefs.o ABSOLUTE _gatt_srv_att_val_set_cfm 0x11002dc7 Thumb Code 0 rom_symdefs.o ABSOLUTE co_rand_word 0x11004109 Thumb Code 0 rom_symdefs.o ABSOLUTE @@ -2966,75 +2968,75 @@ Image Symbol Table rf433_decoder_sample 0x11016599 Thumb Code 104 rf433_decoder.o(i.rf433_decoder_sample) rf433_gpio_init 0x1101660d Thumb Code 30 rf433.o(i.rf433_gpio_init) rom_env_host_init 0x11016a59 Thumb Code 24 arch_main.o(i.rom_env_host_init) - scan_433 0x11016a81 Thumb Code 332 rf433.o(i.scan_433) - scan_uart 0x11016bdd Thumb Code 104 uart_1.o(i.scan_uart) - set_TaskComps_timer 0x11016c4d Thumb Code 10 timeslice.o(i.set_TaskComps_timer) - set_single_addr_name 0x11016c5d Thumb Code 118 arch_main.o(i.set_single_addr_name) - set_vector 0x11016cf9 Thumb Code 46 system_xinc.o(i.set_vector) - slave_send_data 0x11016d35 Thumb Code 84 usr_server.o(i.slave_send_data) - srv_get_hdl_from_att_idx 0x11016dd1 Thumb Code 10 usr_server.o(i.srv_get_hdl_from_att_idx) - switch_init 0x11016de1 Thumb Code 88 switch_s.o(i.switch_init) - systick_callback 0x11016e41 Thumb Code 2 xc_drv_systick.o(i.systick_callback) - timer0_2_init 0x11016e45 Thumb Code 124 timer.o(i.timer0_2_init) - timer3_callback 0x11016ecd Thumb Code 2 xc_drv_timer.o(i.timer3_callback) - trigger_check_process 0x11016ed1 Thumb Code 304 switch_s.o(i.trigger_check_process) - uart_user_handler 0x11017009 Thumb Code 138 xc_drv_uart.o(i.uart_user_handler) - updateTimer 0x110170b9 Thumb Code 22 timer.o(i.updateTimer) - wdt_init 0x110170cf Thumb Code 26 arch_main.o(i.wdt_init) - wright_user_data 0x110170e9 Thumb Code 136 fmc_spi_1.o(i.wright_user_data) - xc_adc_data_average 0x11017195 Thumb Code 120 xc_drv_adc.o(i.xc_adc_data_average) - xc_ble_activity_delete 0x11017211 Thumb Code 36 xc_gap_api.o(i.xc_ble_activity_delete) - xc_bor_init 0x11017239 Thumb Code 40 xc_drv_bor.o(i.xc_bor_init) - xc_clock_bbpll_common_cfg 0x11017269 Thumb Code 50 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) - xc_clock_bbpll_freq_cfg 0x110172a9 Thumb Code 224 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) - xc_clock_hfclk_in_get 0x11017395 Thumb Code 6 xc_drv_clock.o(i.xc_clock_hfclk_in_get) - xc_clock_hfclk_set 0x110173a1 Thumb Code 192 xc_drv_clock.o(i.xc_clock_hfclk_set) - xc_clock_init_cfg 0x1101747d Thumb Code 22 xc_drv_clock.o(i.xc_clock_init_cfg) - xc_clock_lfclk_in_get 0x11017495 Thumb Code 6 xc_drv_clock.o(i.xc_clock_lfclk_in_get) - xc_clock_lfclk_set 0x110174a1 Thumb Code 96 xc_drv_clock.o(i.xc_clock_lfclk_set) - xc_fota_dev_ack_cmd 0x1101750d Thumb Code 36 ota_protocol.o(i.xc_fota_dev_ack_cmd) - xc_gpio_direction_config 0x11017535 Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_direction_config) - xc_gpio_fun_sel 0x11017551 Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_fun_sel) - xc_gpio_init 0x11017579 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_init) - xc_gpio_it_config 0x110175a9 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_it_config) - xc_gpio_mux_ctl 0x110175dd Thumb Code 70 xc_drv_gpio.o(i.xc_gpio_mux_ctl) - xc_gpio_pull_config 0x11017629 Thumb Code 228 xc_drv_gpio.o(i.xc_gpio_pull_config) - xc_gpio_read_pin 0x11017711 Thumb Code 30 xc_drv_gpio.o(i.xc_gpio_read_pin) - xc_gpio_toggle_pin 0x11017735 Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_toggle_pin) - xc_gpio_write_pin 0x11017761 Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_write_pin) - xc_hfclk_set 0x1101777d Thumb Code 58 xc_drv_clock.o(i.xc_hfclk_set) - xc_ota_schedule 0x110177bd Thumb Code 68 ota_protocol.o(i.xc_ota_schedule) - xc_pwm_dutycycle_set 0x11017821 Thumb Code 104 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) - xc_pwm_init 0x11017891 Thumb Code 208 xc_drv_pwm.o(i.xc_pwm_init) - xc_pwm_start_all 0x11017971 Thumb Code 20 xc_drv_pwm.o(i.xc_pwm_start_all) - xc_pwr_vol_set 0x1101798d Thumb Code 70 xc_drv_pwr.o(i.xc_pwr_vol_set) - xc_rc32k_soft_calib_set 0x110179e9 Thumb Code 204 xc_drv_calib.o(i.xc_rc32k_soft_calib_set) - xc_system_param_check 0x11017ae1 Thumb Code 230 xc_drv_clock.o(i.xc_system_param_check) - xc_systick_unit_get 0x11017cfd Thumb Code 6 xc_drv_clock.o(i.xc_systick_unit_get) - xc_timer_init 0x11017d09 Thumb Code 274 xc_drv_timer.o(i.xc_timer_init) - xc_timer_set_value 0x11017e29 Thumb Code 32 xc_drv_timer.o(i.xc_timer_set_value) - xc_timer_start 0x11017e51 Thumb Code 48 xc_drv_timer.o(i.xc_timer_start) - xc_uart_init 0x11017f81 Thumb Code 476 xc_drv_uart.o(i.xc_uart_init) - xc_unique_identification_read 0x11018171 Thumb Code 228 xc_drv_fmc_spi.o(i.xc_unique_identification_read) - xc_wdt_init 0x11018259 Thumb Code 94 xc_drv_wdt.o(i.xc_wdt_init) - xc_wdt_refresh 0x110182c1 Thumb Code 56 xc_drv_wdt.o(i.xc_wdt_refresh) - xc_wdt_reload 0x11018301 Thumb Code 60 xc_drv_wdt.o(i.xc_wdt_reload) - xc_wdt_start 0x11018345 Thumb Code 44 xc_drv_wdt.o(i.xc_wdt_start) - _get_lc_numeric 0x11018379 Thumb Code 44 lc_numeric_c.o(locale$$code) - _get_lc_ctype 0x110183a5 Thumb Code 44 lc_ctype_c.o(locale$$code) - __aeabi_fmul 0x110183d1 Thumb Code 0 fmul.o(x$fpl$fmul) - _fmul 0x110183d1 Thumb Code 172 fmul.o(x$fpl$fmul) - _printf_fp_dec 0x11018481 Thumb Code 16 printf1.o(x$fpl$printf1) - _printf_fp_hex 0x11018491 Thumb Code 16 printf2.o(x$fpl$printf2) - __I$use$fp 0x110184a0 Number 0 usenofp.o(x$fpl$usenofp) - app_msg_handler_tab 0x110184a0 Data 8 app_task.o(.constdata) - TASK_DESC_APP 0x110184a8 Data 12 app_task.o(.constdata) - app_sec_msg_handler_list 0x110184e4 Data 40 app_sec.o(.constdata) - app_sec_handlers 0x1101850c Data 8 app_sec.o(.constdata) - nvds_magic_number 0x1101859a Data 4 nvds.o(.constdata) - Region$$Table$$Base 0x1101895c Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x110189ac Number 0 anon$$obj.o(Region$$Table) - __ctype 0x110189d5 Data 0 lc_ctype_c.o(locale$$data) + scan_433 0x11016a81 Thumb Code 322 rf433.o(i.scan_433) + scan_uart 0x11016bd5 Thumb Code 104 uart_1.o(i.scan_uart) + set_TaskComps_timer 0x11016c45 Thumb Code 10 timeslice.o(i.set_TaskComps_timer) + set_single_addr_name 0x11016c55 Thumb Code 118 arch_main.o(i.set_single_addr_name) + set_vector 0x11016cf1 Thumb Code 46 system_xinc.o(i.set_vector) + slave_send_data 0x11016d2d Thumb Code 84 usr_server.o(i.slave_send_data) + srv_get_hdl_from_att_idx 0x11016dc9 Thumb Code 10 usr_server.o(i.srv_get_hdl_from_att_idx) + switch_init 0x11016dd9 Thumb Code 64 switch_s.o(i.switch_init) + systick_callback 0x11016e3d Thumb Code 2 xc_drv_systick.o(i.systick_callback) + timer0_2_init 0x11016e41 Thumb Code 124 timer.o(i.timer0_2_init) + timer3_callback 0x11016ec9 Thumb Code 2 xc_drv_timer.o(i.timer3_callback) + trigger_check_process 0x11016ecd Thumb Code 494 switch_s.o(i.trigger_check_process) + uart_user_handler 0x110170c5 Thumb Code 138 xc_drv_uart.o(i.uart_user_handler) + updateTimer 0x11017175 Thumb Code 22 timer.o(i.updateTimer) + wdt_init 0x1101718b Thumb Code 26 arch_main.o(i.wdt_init) + wright_user_data 0x110171a5 Thumb Code 136 fmc_spi_1.o(i.wright_user_data) + xc_adc_data_average 0x11017251 Thumb Code 120 xc_drv_adc.o(i.xc_adc_data_average) + xc_ble_activity_delete 0x110172cd Thumb Code 36 xc_gap_api.o(i.xc_ble_activity_delete) + xc_bor_init 0x110172f5 Thumb Code 40 xc_drv_bor.o(i.xc_bor_init) + xc_clock_bbpll_common_cfg 0x11017325 Thumb Code 50 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) + xc_clock_bbpll_freq_cfg 0x11017365 Thumb Code 224 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) + xc_clock_hfclk_in_get 0x11017451 Thumb Code 6 xc_drv_clock.o(i.xc_clock_hfclk_in_get) + xc_clock_hfclk_set 0x1101745d Thumb Code 192 xc_drv_clock.o(i.xc_clock_hfclk_set) + xc_clock_init_cfg 0x11017539 Thumb Code 22 xc_drv_clock.o(i.xc_clock_init_cfg) + xc_clock_lfclk_in_get 0x11017551 Thumb Code 6 xc_drv_clock.o(i.xc_clock_lfclk_in_get) + xc_clock_lfclk_set 0x1101755d Thumb Code 96 xc_drv_clock.o(i.xc_clock_lfclk_set) + xc_fota_dev_ack_cmd 0x110175c9 Thumb Code 36 ota_protocol.o(i.xc_fota_dev_ack_cmd) + xc_gpio_direction_config 0x110175f1 Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_direction_config) + xc_gpio_fun_sel 0x1101760d Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_fun_sel) + xc_gpio_init 0x11017635 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_init) + xc_gpio_it_config 0x11017665 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_it_config) + xc_gpio_mux_ctl 0x11017699 Thumb Code 70 xc_drv_gpio.o(i.xc_gpio_mux_ctl) + xc_gpio_pull_config 0x110176e5 Thumb Code 228 xc_drv_gpio.o(i.xc_gpio_pull_config) + xc_gpio_read_pin 0x110177cd Thumb Code 30 xc_drv_gpio.o(i.xc_gpio_read_pin) + xc_gpio_toggle_pin 0x110177f1 Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_toggle_pin) + xc_gpio_write_pin 0x1101781d Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_write_pin) + xc_hfclk_set 0x11017839 Thumb Code 58 xc_drv_clock.o(i.xc_hfclk_set) + xc_ota_schedule 0x11017879 Thumb Code 68 ota_protocol.o(i.xc_ota_schedule) + xc_pwm_dutycycle_set 0x110178dd Thumb Code 104 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) + xc_pwm_init 0x1101794d Thumb Code 208 xc_drv_pwm.o(i.xc_pwm_init) + xc_pwm_start_all 0x11017a2d Thumb Code 20 xc_drv_pwm.o(i.xc_pwm_start_all) + xc_pwr_vol_set 0x11017a49 Thumb Code 70 xc_drv_pwr.o(i.xc_pwr_vol_set) + xc_rc32k_soft_calib_set 0x11017aa5 Thumb Code 204 xc_drv_calib.o(i.xc_rc32k_soft_calib_set) + xc_system_param_check 0x11017b9d Thumb Code 230 xc_drv_clock.o(i.xc_system_param_check) + xc_systick_unit_get 0x11017db9 Thumb Code 6 xc_drv_clock.o(i.xc_systick_unit_get) + xc_timer_init 0x11017dc5 Thumb Code 274 xc_drv_timer.o(i.xc_timer_init) + xc_timer_set_value 0x11017ee5 Thumb Code 32 xc_drv_timer.o(i.xc_timer_set_value) + xc_timer_start 0x11017f0d Thumb Code 48 xc_drv_timer.o(i.xc_timer_start) + xc_uart_init 0x1101803d Thumb Code 476 xc_drv_uart.o(i.xc_uart_init) + xc_unique_identification_read 0x1101822d Thumb Code 228 xc_drv_fmc_spi.o(i.xc_unique_identification_read) + xc_wdt_init 0x11018315 Thumb Code 94 xc_drv_wdt.o(i.xc_wdt_init) + xc_wdt_refresh 0x1101837d Thumb Code 56 xc_drv_wdt.o(i.xc_wdt_refresh) + xc_wdt_reload 0x110183bd Thumb Code 60 xc_drv_wdt.o(i.xc_wdt_reload) + xc_wdt_start 0x11018401 Thumb Code 44 xc_drv_wdt.o(i.xc_wdt_start) + _get_lc_numeric 0x11018435 Thumb Code 44 lc_numeric_c.o(locale$$code) + _get_lc_ctype 0x11018461 Thumb Code 44 lc_ctype_c.o(locale$$code) + __aeabi_fmul 0x1101848d Thumb Code 0 fmul.o(x$fpl$fmul) + _fmul 0x1101848d Thumb Code 172 fmul.o(x$fpl$fmul) + _printf_fp_dec 0x1101853d Thumb Code 16 printf1.o(x$fpl$printf1) + _printf_fp_hex 0x1101854d Thumb Code 16 printf2.o(x$fpl$printf2) + __I$use$fp 0x1101855c Number 0 usenofp.o(x$fpl$usenofp) + app_msg_handler_tab 0x1101855c Data 8 app_task.o(.constdata) + TASK_DESC_APP 0x11018564 Data 12 app_task.o(.constdata) + app_sec_msg_handler_list 0x110185a0 Data 40 app_sec.o(.constdata) + app_sec_handlers 0x110185c8 Data 8 app_sec.o(.constdata) + nvds_magic_number 0x11018656 Data 4 nvds.o(.constdata) + Region$$Table$$Base 0x11018a18 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x11018a68 Number 0 anon$$obj.o(Region$$Table) + __ctype 0x11018a91 Data 0 lc_ctype_c.o(locale$$data) write_buffer 0x53006c00 Data 512 nvds.o(ram_em) fota_env 0x53006e00 Data 2091 ota_protocol.o(ram_em) @@ -3046,39 +3048,39 @@ Memory Map of the image Image Entry point : 0x110120c1 - Load Region LOAD (Base: 0x11012000, Size: 0x00008128, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x000075e4]) + Load Region LOAD (Base: 0x11012000, Size: 0x000081e8, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x000076a0]) - Execution Region RW1 (Exec base: 0x10000100, Load base: 0x11018ad8, Size: 0x000006f0, Max: 0xffffffff, ABSOLUTE) + Execution Region RW1 (Exec base: 0x10000100, Load base: 0x11018b94, Size: 0x000006f0, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x10000100 - 0x000006f0 Zero RW 1 STACK startup_xinc.o - Execution Region RW (Exec base: 0x10002300, Load base: 0x11018ad8, Size: 0x00001598, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000068]) + Execution Region RW (Exec base: 0x10002300, Load base: 0x11018b94, Size: 0x00001598, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000068]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x10002300 0x11018ad8 0x00000040 Code RO 4812 .text c_p.l(rt_memclr.o) - 0x10002340 0x11018b18 0x0000015a Code RO 4818 .text c_p.l(aeabi_sdiv.o) + 0x10002300 0x11018b94 0x00000040 Code RO 4812 .text c_p.l(rt_memclr.o) + 0x10002340 0x11018bd4 0x0000015a Code RO 4818 .text c_p.l(aeabi_sdiv.o) 0x1000249a COMPRESSED 0x00000002 PAD - 0x1000249c 0x11018c74 0x0000000c Ven RO 5142 Veneer$$Code anon$$obj.o - 0x100024a8 0x11018c80 0x0000000c Ven RO 5143 Veneer$$Code anon$$obj.o - 0x100024b4 0x11018c8c 0x0000000c Ven RO 5144 Veneer$$Code anon$$obj.o - 0x100024c0 0x11018c98 0x0000000c Ven RO 5145 Veneer$$Code anon$$obj.o - 0x100024cc 0x11018ca4 0x0000000c Ven RO 5146 Veneer$$Code anon$$obj.o - 0x100024d8 0x11018cb0 0x0000000c Ven RO 5147 Veneer$$Code anon$$obj.o - 0x100024e4 0x11018cbc 0x0000000c Ven RO 5148 Veneer$$Code anon$$obj.o - 0x100024f0 0x11018cc8 0x0000000c Ven RO 5149 Veneer$$Code anon$$obj.o - 0x100024fc 0x11018cd4 0x0000000c Ven RO 5150 Veneer$$Code anon$$obj.o - 0x10002508 0x11018ce0 0x0000000c Ven RO 5151 Veneer$$Code anon$$obj.o - 0x10002514 0x11018cec 0x00000018 Code RO 17 ram_code system_xinc.o - 0x1000252c 0x11018d04 0x0000003c Code RO 687 ram_code arch_main.o - 0x10002568 0x11018d40 0x000000b8 Code RO 1630 ram_code xc_drv_bor.o - 0x10002620 0x11018df8 0x000005c8 Code RO 2172 ram_code xc_drv_fmc_spi.o - 0x10002be8 0x110193c0 0x0000002c Code RO 3295 ram_code xc_drv_rtc.o - 0x10002c14 0x110193ec 0x000000b0 Code RO 4053 ram_code timer.o - 0x10002cc4 0x1101949c 0x000000c8 Code RO 4333 ram_code key.o + 0x1000249c 0x11018d30 0x0000000c Ven RO 5142 Veneer$$Code anon$$obj.o + 0x100024a8 0x11018d3c 0x0000000c Ven RO 5143 Veneer$$Code anon$$obj.o + 0x100024b4 0x11018d48 0x0000000c Ven RO 5144 Veneer$$Code anon$$obj.o + 0x100024c0 0x11018d54 0x0000000c Ven RO 5145 Veneer$$Code anon$$obj.o + 0x100024cc 0x11018d60 0x0000000c Ven RO 5146 Veneer$$Code anon$$obj.o + 0x100024d8 0x11018d6c 0x0000000c Ven RO 5147 Veneer$$Code anon$$obj.o + 0x100024e4 0x11018d78 0x0000000c Ven RO 5148 Veneer$$Code anon$$obj.o + 0x100024f0 0x11018d84 0x0000000c Ven RO 5149 Veneer$$Code anon$$obj.o + 0x100024fc 0x11018d90 0x0000000c Ven RO 5150 Veneer$$Code anon$$obj.o + 0x10002508 0x11018d9c 0x0000000c Ven RO 5151 Veneer$$Code anon$$obj.o + 0x10002514 0x11018da8 0x00000018 Code RO 17 ram_code system_xinc.o + 0x1000252c 0x11018dc0 0x0000003c Code RO 687 ram_code arch_main.o + 0x10002568 0x11018dfc 0x000000b8 Code RO 1630 ram_code xc_drv_bor.o + 0x10002620 0x11018eb4 0x000005c8 Code RO 2172 ram_code xc_drv_fmc_spi.o + 0x10002be8 0x1101947c 0x0000002c Code RO 3295 ram_code xc_drv_rtc.o + 0x10002c14 0x110194a8 0x000000b0 Code RO 4053 ram_code timer.o + 0x10002cc4 0x11019558 0x000000c8 Code RO 4333 ram_code key.o 0x10002d8c COMPRESSED 0x00000004 Data RW 18 .data system_xinc.o 0x10002d90 COMPRESSED 0x00000034 Data RW 554 .data app_task.o 0x10002dc4 COMPRESSED 0x00000001 Data RW 555 .data app_task.o @@ -3098,33 +3100,32 @@ Memory Map of the image 0x10002ec4 COMPRESSED 0x00000022 Data RW 4182 .data rf433.o 0x10002ee6 COMPRESSED 0x00000001 Data RW 4184 .data rf433.o 0x10002ee7 COMPRESSED 0x00000001 PAD - 0x10002ee8 COMPRESSED 0x0000000c Data RW 4243 .data switch_s.o - 0x10002ef4 COMPRESSED 0x00000014 Data RW 4334 .data key.o - 0x10002f08 COMPRESSED 0x00000001 Data RW 4392 .data led.o - 0x10002f09 COMPRESSED 0x00000001 Data RW 4393 .data led.o - 0x10002f0a COMPRESSED 0x00000001 Data RW 4430 .data ota_flash_interface.o - 0x10002f0b COMPRESSED 0x00000001 PAD - 0x10002f0c COMPRESSED 0x00000011 Data RW 4496 .data ota_protocol.o - 0x10002f1d COMPRESSED 0x00000001 PAD - 0x10002f1e COMPRESSED 0x00000004 Data RW 4593 .data ota_server.o - 0x10002f22 COMPRESSED 0x00000002 PAD - 0x10002f24 - 0x0000001c Zero RW 688 .bss arch_main.o - 0x10002f40 - 0x00000018 Zero RW 1073 .bss nvds.o - 0x10002f58 - 0x00000040 Zero RW 1388 .bss xc_drv_adc.o - 0x10002f98 - 0x00000010 Zero RW 1898 .bss xc_drv_clock.o - 0x10002fa8 - 0x0000000c Zero RW 3778 .bss xc_drv_uart.o - 0x10002fb4 - 0x0000000c Zero RW 4181 .bss rf433.o - 0x10002fc0 - 0x00000200 Zero RW 4287 .bss fmc_spi_1.o - 0x100031c0 - 0x00000110 Zero RW 4429 .bss ota_flash_interface.o - 0x100032d0 - 0x00000114 Zero RW 4493 .bss ota_protocol.o - 0x100033e4 - 0x0000044e Zero RW 4655 .bss rf433_decoder.o - 0x10003832 COMPRESSED 0x00000002 PAD - 0x10003834 - 0x00000060 Zero RW 4975 .bss c_p.l(libspace.o) - 0x10003894 COMPRESSED 0x00000004 PAD + 0x10002ee8 COMPRESSED 0x00000010 Data RW 4244 .data switch_s.o + 0x10002ef8 COMPRESSED 0x00000014 Data RW 4334 .data key.o + 0x10002f0c COMPRESSED 0x00000001 Data RW 4392 .data led.o + 0x10002f0d COMPRESSED 0x00000001 Data RW 4393 .data led.o + 0x10002f0e COMPRESSED 0x00000001 Data RW 4430 .data ota_flash_interface.o + 0x10002f0f COMPRESSED 0x00000001 PAD + 0x10002f10 COMPRESSED 0x00000011 Data RW 4496 .data ota_protocol.o + 0x10002f21 COMPRESSED 0x00000001 PAD + 0x10002f22 COMPRESSED 0x00000004 Data RW 4593 .data ota_server.o + 0x10002f26 COMPRESSED 0x00000002 PAD + 0x10002f28 - 0x0000001c Zero RW 688 .bss arch_main.o + 0x10002f44 - 0x00000018 Zero RW 1073 .bss nvds.o + 0x10002f5c - 0x00000040 Zero RW 1388 .bss xc_drv_adc.o + 0x10002f9c - 0x00000010 Zero RW 1898 .bss xc_drv_clock.o + 0x10002fac - 0x0000000c Zero RW 3778 .bss xc_drv_uart.o + 0x10002fb8 - 0x0000000c Zero RW 4181 .bss rf433.o + 0x10002fc4 - 0x00000200 Zero RW 4287 .bss fmc_spi_1.o + 0x100031c4 - 0x00000110 Zero RW 4429 .bss ota_flash_interface.o + 0x100032d4 - 0x00000114 Zero RW 4493 .bss ota_protocol.o + 0x100033e8 - 0x0000044e Zero RW 4655 .bss rf433_decoder.o + 0x10003836 COMPRESSED 0x00000002 PAD + 0x10003838 - 0x00000060 Zero RW 4975 .bss c_p.l(libspace.o) 0x10003898 - 0x00000000 Zero RW 2 HEAP startup_xinc.o - Execution Region EXE (Exec base: 0x11012000, Load base: 0x11012000, Size: 0x00006ad8, Max: 0xffffffff, ABSOLUTE) + Execution Region EXE (Exec base: 0x11012000, Load base: 0x11012000, Size: 0x00006b94, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -3403,106 +3404,107 @@ Memory Map of the image 0x110169d4 0x110169d4 0x00000018 Code RO 4653 i.rf433_repair_reset rf433_decoder.o 0x110169ec 0x110169ec 0x0000006c Code RO 4654 i.rf433_update_range_by_t rf433_decoder.o 0x11016a58 0x11016a58 0x00000028 Code RO 683 i.rom_env_host_init arch_main.o - 0x11016a80 0x11016a80 0x0000015c Code RO 4180 i.scan_433 rf433.o - 0x11016bdc 0x11016bdc 0x00000070 Code RO 4138 i.scan_uart uart_1.o - 0x11016c4c 0x11016c4c 0x00000010 Code RO 4093 i.set_TaskComps_timer timeslice.o - 0x11016c5c 0x11016c5c 0x0000009c Code RO 684 i.set_single_addr_name arch_main.o - 0x11016cf8 0x11016cf8 0x0000003c Code RO 16 i.set_vector system_xinc.o - 0x11016d34 0x11016d34 0x0000009c Code RO 942 i.slave_send_data usr_server.o - 0x11016dd0 0x11016dd0 0x00000010 Code RO 943 i.srv_get_hdl_from_att_idx usr_server.o - 0x11016de0 0x11016de0 0x00000060 Code RO 4241 i.switch_init switch_s.o - 0x11016e40 0x11016e40 0x00000002 Code RO 3531 i.systick_callback xc_drv_systick.o - 0x11016e42 0x11016e42 0x00000002 PAD - 0x11016e44 0x11016e44 0x00000088 Code RO 4051 i.timer0_2_init timer.o - 0x11016ecc 0x11016ecc 0x00000002 Code RO 3573 i.timer3_callback xc_drv_timer.o - 0x11016ece 0x11016ece 0x00000002 PAD - 0x11016ed0 0x11016ed0 0x00000138 Code RO 4242 i.trigger_check_process switch_s.o - 0x11017008 0x11017008 0x000000b0 Code RO 3768 i.uart_user_handler xc_drv_uart.o - 0x110170b8 0x110170b8 0x00000016 Code RO 4052 i.updateTimer timer.o - 0x110170ce 0x110170ce 0x0000001a Code RO 686 i.wdt_init arch_main.o - 0x110170e8 0x110170e8 0x000000ac Code RO 4286 i.wright_user_data fmc_spi_1.o - 0x11017194 0x11017194 0x0000007c Code RO 1373 i.xc_adc_data_average xc_drv_adc.o - 0x11017210 0x11017210 0x00000028 Code RO 1168 i.xc_ble_activity_delete xc_gap_api.o - 0x11017238 0x11017238 0x00000030 Code RO 1629 i.xc_bor_init xc_drv_bor.o - 0x11017268 0x11017268 0x00000040 Code RO 1872 i.xc_clock_bbpll_common_cfg xc_drv_clock.o - 0x110172a8 0x110172a8 0x000000ec Code RO 1873 i.xc_clock_bbpll_freq_cfg xc_drv_clock.o - 0x11017394 0x11017394 0x0000000c Code RO 1874 i.xc_clock_hfclk_in_get xc_drv_clock.o - 0x110173a0 0x110173a0 0x000000dc Code RO 1875 i.xc_clock_hfclk_set xc_drv_clock.o - 0x1101747c 0x1101747c 0x00000016 Code RO 1877 i.xc_clock_init_cfg xc_drv_clock.o - 0x11017492 0x11017492 0x00000002 PAD - 0x11017494 0x11017494 0x0000000c Code RO 1878 i.xc_clock_lfclk_in_get xc_drv_clock.o - 0x110174a0 0x110174a0 0x0000006c Code RO 1879 i.xc_clock_lfclk_set xc_drv_clock.o - 0x1101750c 0x1101750c 0x00000028 Code RO 4487 i.xc_fota_dev_ack_cmd ota_protocol.o - 0x11017534 0x11017534 0x0000001c Code RO 2303 i.xc_gpio_direction_config xc_drv_gpio.o - 0x11017550 0x11017550 0x00000028 Code RO 2304 i.xc_gpio_fun_sel xc_drv_gpio.o - 0x11017578 0x11017578 0x0000002e Code RO 2305 i.xc_gpio_init xc_drv_gpio.o - 0x110175a6 0x110175a6 0x00000002 PAD - 0x110175a8 0x110175a8 0x00000034 Code RO 2306 i.xc_gpio_it_config xc_drv_gpio.o - 0x110175dc 0x110175dc 0x0000004c Code RO 2307 i.xc_gpio_mux_ctl xc_drv_gpio.o - 0x11017628 0x11017628 0x000000e8 Code RO 2308 i.xc_gpio_pull_config xc_drv_gpio.o - 0x11017710 0x11017710 0x00000024 Code RO 2309 i.xc_gpio_read_pin xc_drv_gpio.o - 0x11017734 0x11017734 0x0000002c Code RO 2310 i.xc_gpio_toggle_pin xc_drv_gpio.o - 0x11017760 0x11017760 0x0000001c Code RO 2311 i.xc_gpio_write_pin xc_drv_gpio.o - 0x1101777c 0x1101777c 0x00000040 Code RO 1894 i.xc_hfclk_set xc_drv_clock.o - 0x110177bc 0x110177bc 0x00000064 Code RO 4491 i.xc_ota_schedule ota_protocol.o - 0x11017820 0x11017820 0x00000070 Code RO 2517 i.xc_pwm_dutycycle_set xc_drv_pwm.o - 0x11017890 0x11017890 0x000000e0 Code RO 2518 i.xc_pwm_init xc_drv_pwm.o - 0x11017970 0x11017970 0x0000001c Code RO 2523 i.xc_pwm_start_all xc_drv_pwm.o - 0x1101798c 0x1101798c 0x0000005c Code RO 2941 i.xc_pwr_vol_set xc_drv_pwr.o - 0x110179e8 0x110179e8 0x000000f8 Code RO 1717 i.xc_rc32k_soft_calib_set xc_drv_calib.o - 0x11017ae0 0x11017ae0 0x0000021c Code RO 1895 i.xc_system_param_check xc_drv_clock.o - 0x11017cfc 0x11017cfc 0x0000000c Code RO 1897 i.xc_systick_unit_get xc_drv_clock.o - 0x11017d08 0x11017d08 0x00000120 Code RO 3574 i.xc_timer_init xc_drv_timer.o - 0x11017e28 0x11017e28 0x00000028 Code RO 3575 i.xc_timer_set_value xc_drv_timer.o - 0x11017e50 0x11017e50 0x0000003c Code RO 3576 i.xc_timer_start xc_drv_timer.o - 0x11017e8c 0x11017e8c 0x000000f4 Code RO 3578 i.xc_timer_us_to_ticks xc_drv_timer.o - 0x11017f80 0x11017f80 0x000001f0 Code RO 3772 i.xc_uart_init xc_drv_uart.o - 0x11018170 0x11018170 0x000000e8 Code RO 2171 i.xc_unique_identification_read xc_drv_fmc_spi.o - 0x11018258 0x11018258 0x00000068 Code RO 3981 i.xc_wdt_init xc_drv_wdt.o - 0x110182c0 0x110182c0 0x00000040 Code RO 3982 i.xc_wdt_refresh xc_drv_wdt.o - 0x11018300 0x11018300 0x00000044 Code RO 3983 i.xc_wdt_reload xc_drv_wdt.o - 0x11018344 0x11018344 0x00000034 Code RO 3984 i.xc_wdt_start xc_drv_wdt.o - 0x11018378 0x11018378 0x0000002c Code RO 4956 locale$$code c_p.l(lc_numeric_c.o) - 0x110183a4 0x110183a4 0x0000002c Code RO 4983 locale$$code c_p.l(lc_ctype_c.o) - 0x110183d0 0x110183d0 0x000000b0 Code RO 4841 x$fpl$fmul fz_ps.l(fmul.o) - 0x11018480 0x11018480 0x00000010 Code RO 4895 x$fpl$printf1 fz_ps.l(printf1.o) - 0x11018490 0x11018490 0x00000010 Code RO 4897 x$fpl$printf2 fz_ps.l(printf2.o) - 0x110184a0 0x110184a0 0x00000000 Code RO 4903 x$fpl$usenofp fz_ps.l(usenofp.o) - 0x110184a0 0x110184a0 0x00000008 Data RO 551 .constdata app_task.o - 0x110184a8 0x110184a8 0x00000038 Data RO 552 .constdata app_task.o - 0x110184e0 0x110184e0 0x00000002 Data RO 689 .constdata arch_main.o - 0x110184e2 0x110184e2 0x00000002 PAD - 0x110184e4 0x110184e4 0x00000028 Data RO 813 .constdata app_sec.o - 0x1101850c 0x1101850c 0x00000008 Data RO 814 .constdata app_sec.o - 0x11018514 0x11018514 0x00000086 Data RO 944 .constdata usr_server.o - 0x1101859a 0x1101859a 0x00000004 Data RO 1074 .constdata nvds.o - 0x1101859e 0x1101859e 0x0000001f Data RO 2534 .constdata xc_drv_pwm.o - 0x110185bd 0x110185bd 0x00000004 Data RO 3579 .constdata xc_drv_timer.o - 0x110185c1 0x110185c1 0x00000001 PAD - 0x110185c2 0x110185c2 0x00000006 Data RO 3779 .constdata xc_drv_uart.o - 0x110185c8 0x110185c8 0x00000010 Data RO 4494 .constdata ota_protocol.o - 0x110185d8 0x110185d8 0x00000028 Data RO 4778 .constdata c_p.l(_printf_hex_int_ll_ptr.o) - 0x11018600 0x11018600 0x00000011 Data RO 4798 .constdata c_p.l(__printf_flags_ss_wp.o) - 0x11018611 0x11018611 0x00000040 Data RO 4835 .constdata fz_ps.l(fdiv.o) - 0x11018651 0x11018651 0x00000003 PAD - 0x11018654 0x11018654 0x00000008 Data RO 4863 .constdata c_p.l(_printf_wctomb.o) - 0x1101865c 0x1101865c 0x00000026 Data RO 4926 .constdata c_p.l(_printf_fp_hex.o) - 0x11018682 0x11018682 0x00000002 PAD - 0x11018684 0x11018684 0x00000094 Data RO 4949 .constdata c_p.l(bigflt0.o) - 0x11018718 0x11018718 0x000000cf Data RO 553 .conststring app_task.o - 0x110187e7 0x110187e7 0x00000001 PAD - 0x110187e8 0x110187e8 0x00000055 Data RO 945 .conststring usr_server.o - 0x1101883d 0x1101883d 0x00000003 PAD - 0x11018840 0x11018840 0x00000062 Data RO 2535 .conststring xc_drv_pwm.o - 0x110188a2 0x110188a2 0x00000002 PAD - 0x110188a4 0x110188a4 0x000000b5 Data RO 4656 .conststring rf433_decoder.o - 0x11018959 0x11018959 0x00000003 PAD - 0x1101895c 0x1101895c 0x00000050 Data RO 5105 Region$$Table anon$$obj.o - 0x110189ac 0x110189ac 0x0000001c Data RO 4955 locale$$data c_p.l(lc_numeric_c.o) - 0x110189c8 0x110189c8 0x00000110 Data RO 4982 locale$$data c_p.l(lc_ctype_c.o) + 0x11016a80 0x11016a80 0x00000154 Code RO 4180 i.scan_433 rf433.o + 0x11016bd4 0x11016bd4 0x00000070 Code RO 4138 i.scan_uart uart_1.o + 0x11016c44 0x11016c44 0x00000010 Code RO 4093 i.set_TaskComps_timer timeslice.o + 0x11016c54 0x11016c54 0x0000009c Code RO 684 i.set_single_addr_name arch_main.o + 0x11016cf0 0x11016cf0 0x0000003c Code RO 16 i.set_vector system_xinc.o + 0x11016d2c 0x11016d2c 0x0000009c Code RO 942 i.slave_send_data usr_server.o + 0x11016dc8 0x11016dc8 0x00000010 Code RO 943 i.srv_get_hdl_from_att_idx usr_server.o + 0x11016dd8 0x11016dd8 0x00000048 Code RO 4241 i.switch_init switch_s.o + 0x11016e20 0x11016e20 0x0000001c Code RO 4242 i.switch_s1_clear_action_state switch_s.o + 0x11016e3c 0x11016e3c 0x00000002 Code RO 3531 i.systick_callback xc_drv_systick.o + 0x11016e3e 0x11016e3e 0x00000002 PAD + 0x11016e40 0x11016e40 0x00000088 Code RO 4051 i.timer0_2_init timer.o + 0x11016ec8 0x11016ec8 0x00000002 Code RO 3573 i.timer3_callback xc_drv_timer.o + 0x11016eca 0x11016eca 0x00000002 PAD + 0x11016ecc 0x11016ecc 0x000001f8 Code RO 4243 i.trigger_check_process switch_s.o + 0x110170c4 0x110170c4 0x000000b0 Code RO 3768 i.uart_user_handler xc_drv_uart.o + 0x11017174 0x11017174 0x00000016 Code RO 4052 i.updateTimer timer.o + 0x1101718a 0x1101718a 0x0000001a Code RO 686 i.wdt_init arch_main.o + 0x110171a4 0x110171a4 0x000000ac Code RO 4286 i.wright_user_data fmc_spi_1.o + 0x11017250 0x11017250 0x0000007c Code RO 1373 i.xc_adc_data_average xc_drv_adc.o + 0x110172cc 0x110172cc 0x00000028 Code RO 1168 i.xc_ble_activity_delete xc_gap_api.o + 0x110172f4 0x110172f4 0x00000030 Code RO 1629 i.xc_bor_init xc_drv_bor.o + 0x11017324 0x11017324 0x00000040 Code RO 1872 i.xc_clock_bbpll_common_cfg xc_drv_clock.o + 0x11017364 0x11017364 0x000000ec Code RO 1873 i.xc_clock_bbpll_freq_cfg xc_drv_clock.o + 0x11017450 0x11017450 0x0000000c Code RO 1874 i.xc_clock_hfclk_in_get xc_drv_clock.o + 0x1101745c 0x1101745c 0x000000dc Code RO 1875 i.xc_clock_hfclk_set xc_drv_clock.o + 0x11017538 0x11017538 0x00000016 Code RO 1877 i.xc_clock_init_cfg xc_drv_clock.o + 0x1101754e 0x1101754e 0x00000002 PAD + 0x11017550 0x11017550 0x0000000c Code RO 1878 i.xc_clock_lfclk_in_get xc_drv_clock.o + 0x1101755c 0x1101755c 0x0000006c Code RO 1879 i.xc_clock_lfclk_set xc_drv_clock.o + 0x110175c8 0x110175c8 0x00000028 Code RO 4487 i.xc_fota_dev_ack_cmd ota_protocol.o + 0x110175f0 0x110175f0 0x0000001c Code RO 2303 i.xc_gpio_direction_config xc_drv_gpio.o + 0x1101760c 0x1101760c 0x00000028 Code RO 2304 i.xc_gpio_fun_sel xc_drv_gpio.o + 0x11017634 0x11017634 0x0000002e Code RO 2305 i.xc_gpio_init xc_drv_gpio.o + 0x11017662 0x11017662 0x00000002 PAD + 0x11017664 0x11017664 0x00000034 Code RO 2306 i.xc_gpio_it_config xc_drv_gpio.o + 0x11017698 0x11017698 0x0000004c Code RO 2307 i.xc_gpio_mux_ctl xc_drv_gpio.o + 0x110176e4 0x110176e4 0x000000e8 Code RO 2308 i.xc_gpio_pull_config xc_drv_gpio.o + 0x110177cc 0x110177cc 0x00000024 Code RO 2309 i.xc_gpio_read_pin xc_drv_gpio.o + 0x110177f0 0x110177f0 0x0000002c Code RO 2310 i.xc_gpio_toggle_pin xc_drv_gpio.o + 0x1101781c 0x1101781c 0x0000001c Code RO 2311 i.xc_gpio_write_pin xc_drv_gpio.o + 0x11017838 0x11017838 0x00000040 Code RO 1894 i.xc_hfclk_set xc_drv_clock.o + 0x11017878 0x11017878 0x00000064 Code RO 4491 i.xc_ota_schedule ota_protocol.o + 0x110178dc 0x110178dc 0x00000070 Code RO 2517 i.xc_pwm_dutycycle_set xc_drv_pwm.o + 0x1101794c 0x1101794c 0x000000e0 Code RO 2518 i.xc_pwm_init xc_drv_pwm.o + 0x11017a2c 0x11017a2c 0x0000001c Code RO 2523 i.xc_pwm_start_all xc_drv_pwm.o + 0x11017a48 0x11017a48 0x0000005c Code RO 2941 i.xc_pwr_vol_set xc_drv_pwr.o + 0x11017aa4 0x11017aa4 0x000000f8 Code RO 1717 i.xc_rc32k_soft_calib_set xc_drv_calib.o + 0x11017b9c 0x11017b9c 0x0000021c Code RO 1895 i.xc_system_param_check xc_drv_clock.o + 0x11017db8 0x11017db8 0x0000000c Code RO 1897 i.xc_systick_unit_get xc_drv_clock.o + 0x11017dc4 0x11017dc4 0x00000120 Code RO 3574 i.xc_timer_init xc_drv_timer.o + 0x11017ee4 0x11017ee4 0x00000028 Code RO 3575 i.xc_timer_set_value xc_drv_timer.o + 0x11017f0c 0x11017f0c 0x0000003c Code RO 3576 i.xc_timer_start xc_drv_timer.o + 0x11017f48 0x11017f48 0x000000f4 Code RO 3578 i.xc_timer_us_to_ticks xc_drv_timer.o + 0x1101803c 0x1101803c 0x000001f0 Code RO 3772 i.xc_uart_init xc_drv_uart.o + 0x1101822c 0x1101822c 0x000000e8 Code RO 2171 i.xc_unique_identification_read xc_drv_fmc_spi.o + 0x11018314 0x11018314 0x00000068 Code RO 3981 i.xc_wdt_init xc_drv_wdt.o + 0x1101837c 0x1101837c 0x00000040 Code RO 3982 i.xc_wdt_refresh xc_drv_wdt.o + 0x110183bc 0x110183bc 0x00000044 Code RO 3983 i.xc_wdt_reload xc_drv_wdt.o + 0x11018400 0x11018400 0x00000034 Code RO 3984 i.xc_wdt_start xc_drv_wdt.o + 0x11018434 0x11018434 0x0000002c Code RO 4956 locale$$code c_p.l(lc_numeric_c.o) + 0x11018460 0x11018460 0x0000002c Code RO 4983 locale$$code c_p.l(lc_ctype_c.o) + 0x1101848c 0x1101848c 0x000000b0 Code RO 4841 x$fpl$fmul fz_ps.l(fmul.o) + 0x1101853c 0x1101853c 0x00000010 Code RO 4895 x$fpl$printf1 fz_ps.l(printf1.o) + 0x1101854c 0x1101854c 0x00000010 Code RO 4897 x$fpl$printf2 fz_ps.l(printf2.o) + 0x1101855c 0x1101855c 0x00000000 Code RO 4903 x$fpl$usenofp fz_ps.l(usenofp.o) + 0x1101855c 0x1101855c 0x00000008 Data RO 551 .constdata app_task.o + 0x11018564 0x11018564 0x00000038 Data RO 552 .constdata app_task.o + 0x1101859c 0x1101859c 0x00000002 Data RO 689 .constdata arch_main.o + 0x1101859e 0x1101859e 0x00000002 PAD + 0x110185a0 0x110185a0 0x00000028 Data RO 813 .constdata app_sec.o + 0x110185c8 0x110185c8 0x00000008 Data RO 814 .constdata app_sec.o + 0x110185d0 0x110185d0 0x00000086 Data RO 944 .constdata usr_server.o + 0x11018656 0x11018656 0x00000004 Data RO 1074 .constdata nvds.o + 0x1101865a 0x1101865a 0x0000001f Data RO 2534 .constdata xc_drv_pwm.o + 0x11018679 0x11018679 0x00000004 Data RO 3579 .constdata xc_drv_timer.o + 0x1101867d 0x1101867d 0x00000001 PAD + 0x1101867e 0x1101867e 0x00000006 Data RO 3779 .constdata xc_drv_uart.o + 0x11018684 0x11018684 0x00000010 Data RO 4494 .constdata ota_protocol.o + 0x11018694 0x11018694 0x00000028 Data RO 4778 .constdata c_p.l(_printf_hex_int_ll_ptr.o) + 0x110186bc 0x110186bc 0x00000011 Data RO 4798 .constdata c_p.l(__printf_flags_ss_wp.o) + 0x110186cd 0x110186cd 0x00000040 Data RO 4835 .constdata fz_ps.l(fdiv.o) + 0x1101870d 0x1101870d 0x00000003 PAD + 0x11018710 0x11018710 0x00000008 Data RO 4863 .constdata c_p.l(_printf_wctomb.o) + 0x11018718 0x11018718 0x00000026 Data RO 4926 .constdata c_p.l(_printf_fp_hex.o) + 0x1101873e 0x1101873e 0x00000002 PAD + 0x11018740 0x11018740 0x00000094 Data RO 4949 .constdata c_p.l(bigflt0.o) + 0x110187d4 0x110187d4 0x000000cf Data RO 553 .conststring app_task.o + 0x110188a3 0x110188a3 0x00000001 PAD + 0x110188a4 0x110188a4 0x00000055 Data RO 945 .conststring usr_server.o + 0x110188f9 0x110188f9 0x00000003 PAD + 0x110188fc 0x110188fc 0x00000062 Data RO 2535 .conststring xc_drv_pwm.o + 0x1101895e 0x1101895e 0x00000002 PAD + 0x11018960 0x11018960 0x000000b5 Data RO 4656 .conststring rf433_decoder.o + 0x11018a15 0x11018a15 0x00000003 PAD + 0x11018a18 0x11018a18 0x00000050 Data RO 5105 Region$$Table anon$$obj.o + 0x11018a68 0x11018a68 0x0000001c Data RO 4955 locale$$data c_p.l(lc_numeric_c.o) + 0x11018a84 0x11018a84 0x00000110 Data RO 4982 locale$$data c_p.l(lc_ctype_c.o) - Execution Region RW2 (Exec base: 0x53006c00, Load base: 0x110195cc, Size: 0x00000a2c, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000018]) + Execution Region RW2 (Exec base: 0x53006c00, Load base: 0x11019688, Size: 0x00000a2c, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000018]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -3517,44 +3519,44 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 0 0 0 0 0 124975 app_batt.o - 1620 798 48 2 0 6012 app_sec.o - 2000 814 271 53 0 14810 app_task.o - 1048 336 2 0 28 17019 arch_main.o - 428 80 0 0 512 3169 fmc_spi_1.o - 522 30 0 20 0 7491 key.o - 112 16 0 2 0 1254 led.o - 1052 192 4 516 24 13407 nvds.o - 340 86 0 1 272 5039 ota_flash_interface.o - 200 50 16 2108 276 2951 ota_protocol.o - 172 80 0 4 0 2305 ota_server.o - 636 46 0 35 12 5830 rf433.o - 1386 114 181 0 1102 12022 rf433_decoder.o - 112 18 0 0 0 8669 sleep.o - 72 32 192 0 1776 764 startup_xinc.o - 440 20 0 12 0 3919 switch_s.o - 200 38 0 4 0 42213 system_xinc.o - 334 30 0 24 0 3118 timer.o - 100 16 0 160 0 5586 timeslice.o - 192 18 0 12 0 3213 uart_1.o - 1336 568 219 10 0 28969 usr_server.o - 284 42 0 2 64 11061 xc_drv_adc.o - 232 22 0 0 0 16492 xc_drv_bor.o - 248 44 0 4 0 5420 xc_drv_calib.o - 1290 410 0 0 16 25557 xc_drv_clock.o - 1826 28 0 0 0 18866 xc_drv_fmc_spi.o - 618 46 0 0 0 20628 xc_drv_gpio.o - 832 108 129 16 0 18557 xc_drv_pwm.o - 92 22 0 0 0 785 xc_drv_pwr.o - 44 4 0 0 0 1774 xc_drv_rtc.o - 58 4 0 0 0 1776 xc_drv_systick.o - 778 96 4 16 0 26346 xc_drv_timer.o - 702 58 6 0 12 27338 xc_drv_uart.o - 320 52 0 0 0 5740 xc_drv_wdt.o - 40 4 0 0 0 1385 xc_gap_api.o + 0 0 0 0 0 125179 app_batt.o + 1620 798 48 2 0 6152 app_sec.o + 2000 814 271 53 0 15074 app_task.o + 1048 336 2 0 28 17291 arch_main.o + 428 80 0 0 512 3281 fmc_spi_1.o + 522 30 0 20 0 7671 key.o + 112 16 0 2 0 1310 led.o + 1052 192 4 516 24 13683 nvds.o + 340 86 0 1 272 5183 ota_flash_interface.o + 200 50 16 2108 276 3035 ota_protocol.o + 172 80 0 4 0 2385 ota_server.o + 628 48 0 35 12 5982 rf433.o + 1386 114 181 0 1102 12306 rf433_decoder.o + 112 18 0 0 0 8709 sleep.o + 72 32 192 0 1776 776 startup_xinc.o + 636 26 0 16 0 4785 switch_s.o + 200 38 0 4 0 42621 system_xinc.o + 334 30 0 24 0 3206 timer.o + 100 16 0 160 0 5686 timeslice.o + 192 18 0 12 0 3321 uart_1.o + 1336 568 219 10 0 29305 usr_server.o + 284 42 0 2 64 11273 xc_drv_adc.o + 232 22 0 0 0 16784 xc_drv_bor.o + 248 44 0 4 0 5576 xc_drv_calib.o + 1290 410 0 0 16 26313 xc_drv_clock.o + 1826 28 0 0 0 19254 xc_drv_fmc_spi.o + 618 46 0 0 0 21188 xc_drv_gpio.o + 832 108 129 16 0 19097 xc_drv_pwm.o + 92 22 0 0 0 805 xc_drv_pwr.o + 44 4 0 0 0 1830 xc_drv_rtc.o + 58 4 0 0 0 1824 xc_drv_systick.o + 778 96 4 16 0 27142 xc_drv_timer.o + 702 58 6 0 12 28050 xc_drv_uart.o + 320 52 0 0 0 5876 xc_drv_wdt.o + 40 4 0 0 0 1425 xc_gap_api.o ---------------------------------------------------------------------- - 20126 4470 1164 3012 4096 494460 Object Totals + 20314 4478 1164 3016 4096 503378 Object Totals 444 148 80 0 0 0 (incl. Generated) 16 0 12 11 2 0 (incl. Padding) @@ -3652,8 +3654,8 @@ Image component sizes 44 4 0 0 0 60 fpclassify.o ---------------------------------------------------------------------- - 8142 232 620 0 100 4468 Library Totals - 12 0 5 0 4 0 (incl. Padding) + 8142 232 620 0 96 4468 Library Totals + 12 0 5 0 0 0 (incl. Padding) ---------------------------------------------------------------------- @@ -3664,7 +3666,7 @@ Image component sizes 44 4 0 0 0 60 m_ps.l ---------------------------------------------------------------------- - 8142 232 620 0 100 4468 Library Totals + 8142 232 620 0 96 4468 Library Totals ---------------------------------------------------------------------- @@ -3673,15 +3675,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 28268 4702 1784 3012 4196 489032 Grand Totals - 28268 4702 1784 128 4196 489032 ELF Image Totals (compressed) - 28268 4702 1784 128 0 0 ROM Totals + 28456 4710 1784 3016 4192 497906 Grand Totals + 28456 4710 1784 128 4192 497906 ELF Image Totals (compressed) + 28456 4710 1784 128 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 30052 ( 29.35kB) + Total RO Size (Code + RO Data) 30240 ( 29.53kB) Total RW Size (RW Data + ZI Data) 7208 ( 7.04kB) - Total ROM Size (Code + RO Data + RW Data) 30180 ( 29.47kB) + Total ROM Size (Code + RO Data + RW Data) 30368 ( 29.66kB) ============================================================================== diff --git a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf index bc2488f..d7a5718 100644 Binary files a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf and b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf differ diff --git a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.build_log.htm b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.build_log.htm index 2d69c7b..5189095 100644 --- a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.build_log.htm +++ b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.build_log.htm @@ -21,7 +21,7 @@ Target DLL: UL2CM3.DLL V1.164.8.0 Dialog DLL: TARMCM1.DLL V1.14.6.0

Project:

-C:\Users\QJM\Desktop\42158\project\example\ble\ble_peripheral\mdk\ble_peripheral.uvprojx +C:\Users\QJM\Desktop\42158ң\project\example\ble\ble_peripheral\mdk\ble_peripheral.uvprojx Project File Date: 07/21/2026

Output:

@@ -44,39 +44,39 @@ compiling usr_server.c... ..\app\src\usr_server.c: 1 warning, 0 errors compiling aes.c... compiling app_task.c... -compiling nvds.c... compiling xc_drv_adc.c... +compiling nvds.c... compiling xc_drv_aotimer.c... -compiling xc_gap_api.c... compiling xc_drv_bor.c... +compiling xc_gap_api.c... compiling xc_gatt_client_api.c... compiling xc_gatt_server_api.c... compiling xc_drv_calib.c... -compiling xc_drv_clock.c... compiling xc_drv_dma.c... -compiling xc_drv_fmc_spi.c... +compiling xc_drv_clock.c... compiling xc_drv_fmc_spi_dma.c... -compiling xc_drv_gpio.c... +compiling xc_drv_fmc_spi.c... compiling xc_drv_i2c.c... +compiling xc_drv_gpio.c... compiling xc_drv_pga.c... compiling xc_drv_pwm.c... -compiling xc_drv_pwr.c... compiling xc_drv_qdec.c... -compiling xc_drv_spi.c... +compiling xc_drv_pwr.c... compiling xc_drv_rtc.c... +compiling xc_drv_spi.c... compiling xc_drv_spi_dma.c... compiling xc_drv_sw_i2c.c... compiling xc_drv_systick.c... compiling xc_drv_timer.c... -compiling xc_drv_uart_dma.c... compiling xc_drv_uart.c... -compiling timer.c... +compiling xc_drv_uart_dma.c... compiling xc_drv_wdt.c... +compiling timer.c... compiling switch_s.c... compiling fmc_spi_1.c... -compiling key.c... compiling led.c... compiling timeslice.c... +compiling key.c... compiling uart_1.c... compiling rf433.c... ..\app\src\rf433.c(116): warning: #177-D: function "set_click" was declared but never referenced @@ -93,35 +93,35 @@ compiling ota_protocol.c... compiling ota_server.c... linking... .\Linker\cpu_xip.scat(21): warning: L6329W: Pattern uread4.o(.text) only matches removed unused sections. -Program Size: Code=28268 RO-data=1784 RW-data=3012 ZI-data=4196 +Program Size: Code=28456 RO-data=1784 RW-data=3016 ZI-data=4192 Finished: 0 information, 1 warning and 0 error messages. After Build - User command #1: fromelf --bin --output=app.bin .\Objects\Xinc_ble_sdk.axf After Build - User command #2: .\output_tool\Double_ota\ge_ota.bat -Size of file: 30180 bytes. -all_size=30180 -size:30180 PageCNT118 +Size of file: 30368 bytes. +all_size=30368 +size:30368 PageCNT119 dual_xip -length:30472 -size:30472 +length:30728 +size:30728 Addr:12000 - Size:0x7600 + Size:0x7700 BAddr:0x12000 - Acheck:0x741cdb80 + Acheck:0x21e62240 SoftVer:0x10 RomVer:0x20 LoadAddr:0x11012000 Is xip ota?:1 ota_data.bin successѸ 1 ļ -Size of file: 30180 bytes. -all_size=30180 -size:30180 PageCNT118 +Size of file: 30368 bytes. +all_size=30368 +size:30368 PageCNT119 dual_xip -length:30472 -size:30472 +length:30728 +size:30728 Addr:12000 - Size:0x7600 + Size:0x7700 BAddr:0x1e000 - Acheck:0x741cdb80 + Acheck:0x21e62240 SoftVer:0x10 RomVer:0x20 LoadAddr:0x11012000 @@ -155,11 +155,11 @@ is_db=1 is_th=0 Ҫ0sector all_size:1a000 -size: 30180 +size: 30368 updata file success ! Ѹ 1 ļ 2в - ִ :C:\Users\QJM\Desktop\42158\tools\offline_burn\Xinc_mac_tool.exe + ִ :C:\Users\QJM\Desktop\42158ң\tools\offline_burn\Xinc_mac_tool.exe һв:40-ab-00-cd-01-01 ڶв:1000000 ¼burn_times=1000000 @@ -195,399 +195,399 @@ crc:26:c6f0eb20 crc:27:25ecd560 crc:28:57384220 crc:29:b08b2bc0 -crc:30:e1a2b940 -crc:31:47fc4b60 -crc:32:c27823c0 -crc:33:11f82b40 -crc:34:2d6f6aa0 -crc:35:b0392d00 -crc:36:401f46a0 -crc:37:8390a5c0 -crc:38:bf87ea40 -crc:39:c8a721e0 -crc:40:86d31a80 -crc:41:8be11c20 -crc:42:374eca60 -crc:43:b006f720 -crc:44:39cd6ee0 -crc:45:7712960 -crc:46:779a9dc0 -crc:47:e1fa0080 -crc:48:31290d00 -crc:49:6abb1860 -crc:50:ae9bb4c0 -crc:51:f95677a0 -crc:52:10d3a280 -crc:53:5e050800 -crc:54:38f19840 -crc:55:9c788100 -crc:56:5e940ac0 -crc:57:9edd18e0 -crc:58:d3ef8860 -crc:59:7d4e26c0 -crc:60:703f73a0 -crc:61:5a43cc20 -crc:62:fd2d7f80 -crc:63:470db080 -crc:64:4f181b20 -crc:65:808b86a0 -crc:66:fc5c88a0 -crc:67:9b1072e0 -crc:68:4d182440 -crc:69:dcc9bde0 -crc:70:6f547d60 -crc:71:d8ec8e0 -crc:72:440f72c0 -crc:73:39aeb560 -crc:74:ceb10f60 -crc:75:68620300 -crc:76:888f4620 -crc:77:b82d9fe0 -crc:78:59251d00 -crc:79:8c9f95a0 -crc:80:2c9abd20 -crc:81:803bef40 -crc:82:b980af60 -crc:83:95503420 -crc:84:5fdecca0 -crc:85:b4aff440 -crc:86:2f74d160 -crc:87:b6fbce00 -crc:88:d6bfc880 -crc:89:b0cb5080 -crc:90:d2d2d60 -crc:91:72885fe0 -crc:92:2af87600 -crc:93:ebee5080 -crc:94:9fadd2a0 -crc:95:1bab0c60 -crc:96:884941e0 -crc:97:3b483e20 -crc:98:2cb130e0 -crc:99:7a70ba00 -crc:100:b64585a0 -crc:101:7f2c1fc0 -crc:102:df4b28e0 -crc:103:789166c0 -crc:104:30d42cc0 -crc:105:91cee2c0 -crc:106:e2651700 -crc:107:f1597ee0 -crc:108:abcc4780 -crc:109:81d65380 -crc:110:5d830c60 -crc:111:f4037a40 -crc:112:10733d00 -crc:113:20da18e0 -crc:114:a1d0dae0 -crc:115:d356e880 -crc:116:460020e0 -crc:117:3e569e20 -crc:118:eb234e00 -crc:119:c0c72500 -crc:120:3f640c0 -crc:121:cb475280 -crc:122:24730a00 -crc:123:62339d20 -crc:124:106ada00 -crc:125:56f44e40 -crc:126:5bdad3c0 -crc:127:64227c00 -crc:128:3faed80 -crc:129:69d33aa0 -crc:130:bf45e4c0 -crc:131:504b5860 -crc:132:735615c0 -crc:133:cf0c80a0 -crc:134:353daa60 -crc:135:afbda200 -crc:136:f13e0480 -crc:137:46ed4f00 -crc:138:dc223be0 -crc:139:f777aa00 -crc:140:c25ac140 -crc:141:55ff7ba0 -crc:142:c51b7a40 -crc:143:90cc9cc0 -crc:144:1918be40 -crc:145:36e0e620 -crc:146:ce5dff20 -crc:147:4b0e7a40 -crc:148:99817c80 -crc:149:241fac20 -crc:150:2f032400 -crc:151:3f8eae20 -crc:152:aa546a0 -crc:153:79594a00 -crc:154:4d82e920 -crc:155:311a54e0 -crc:156:d1da5f20 -crc:157:3b6921e0 -crc:158:f2f86a40 -crc:159:9ea748e0 -crc:160:29356280 -crc:161:20becf20 -crc:162:a02d0080 -crc:163:9e9ba9e0 -crc:164:8538daa0 -crc:165:5aab7500 -crc:166:3eb67be0 -crc:167:5cc299c0 -crc:168:990e9040 -crc:169:3971eea0 -crc:170:b6b9ef40 -crc:171:85d6d7c0 -crc:172:75a78be0 -crc:173:828a9ec0 -crc:174:1e55dba0 -crc:175:3d3f0160 -crc:176:2c26cd60 -crc:177:2b841920 -crc:178:5fc736a0 -crc:179:e596de0 -crc:180:ed70cda0 -crc:181:539c65c0 -crc:182:7f997500 -crc:183:48c819c0 -crc:184:9dec0740 -crc:185:c1711560 -crc:186:d5b64280 -crc:187:5e8b5380 -crc:188:bb426300 -crc:189:1d962e80 -crc:190:b7c27dc0 -crc:191:76b9160 -crc:192:7b30f520 -crc:193:26844700 -crc:194:144a3320 -crc:195:a1e22ec0 -crc:196:9ed604e0 -crc:197:7658b0c0 -crc:198:dddad000 -crc:199:4de914a0 -crc:200:ca3a9e0 -crc:201:93712f40 -crc:202:e8d81ca0 -crc:203:928e3e0 -crc:204:b6eb0b60 -crc:205:35393080 -crc:206:5f107d60 -crc:207:4f88e240 -crc:208:ab279f00 -crc:209:8b580b60 -crc:210:c6f31a60 -crc:211:fcd2b3a0 -crc:212:6f9c3d00 -crc:213:555d10a0 -crc:214:ff8bb2a0 -crc:215:c948fa60 -crc:216:477fdec0 -crc:217:37028fc0 -crc:218:3025ad00 -crc:219:632ead20 -crc:220:aadaa4c0 -crc:221:39764440 -crc:222:baad1500 -crc:223:ea848400 -crc:224:99dd7100 -crc:225:300cd9a0 -crc:226:ec9c5e0 -crc:227:7560f8e0 -crc:228:e85ebce0 -crc:229:9fbdda0 -crc:230:aaddd200 -crc:231:24141fc0 -crc:232:70000bc0 -crc:233:3b8958e0 -crc:234:e46cc400 -crc:235:eec7cae0 -crc:236:edc6da60 -crc:237:45102560 -crc:238:2923c9c0 -crc:239:93497800 -crc:240:ad1aa2c0 -crc:241:96507740 -crc:242:73b2180 -crc:243:95569720 -crc:244:cc5ce8a0 -crc:245:cc63e2a0 -crc:246:a2079a00 -crc:247:9990e7c0 -crc:248:760d1060 -crc:249:39fa9dc0 -crc:250:17c00240 -crc:251:bed960a0 -crc:252:33f3d020 -crc:253:1ca25ac0 -crc:254:ec072660 -crc:255:186cf880 -crc:256:e8f6ba80 -crc:257:36d3c8c0 -crc:258:a91f9280 -crc:259:1e79a780 -crc:260:98059f00 -crc:261:f153ffa0 -crc:262:5e074420 -crc:263:220d6b20 -crc:264:ad4479a0 -crc:265:8c4ecac0 -crc:266:28e1c760 -crc:267:12d37d60 -crc:268:a60fc3a0 -crc:269:8c9e0d20 -crc:270:6f6a04c0 -crc:271:a5782ae0 -crc:272:c45ffce0 -crc:273:ffb662c0 -crc:274:40b6f120 -crc:275:18546f40 -crc:276:ec7aa0e0 -crc:277:38422a60 -crc:278:752406c0 -crc:279:471f62a0 -crc:280:f9ea0580 -crc:281:9b258060 -crc:282:17a9dc80 -crc:283:baee4380 -crc:284:6d8be900 -crc:285:6c07cec0 -crc:286:3eeb4760 -crc:287:d44fda0 -crc:288:41a6c900 -crc:289:c0935040 -crc:290:968816e0 -crc:291:61023220 -crc:292:a1180480 -crc:293:e4b4f6a0 -crc:294:ffd20a00 -crc:295:ddca1a00 -crc:296:29449f00 -crc:297:c6743ea0 -crc:298:1883f640 -crc:299:601529e0 -crc:300:b7e45a20 -crc:301:d939a6c0 -crc:302:c1ae36e0 -crc:303:b7579e20 -crc:304:b09f5880 -crc:305:8d035540 -crc:306:cc844f40 -crc:307:98a20700 -crc:308:3bc23ac0 -crc:309:44af7180 -crc:310:2d005620 -crc:311:f29b9d80 -crc:312:6916ae40 -crc:313:482f96c0 -crc:314:47e0d160 -crc:315:6d1f5a00 -crc:316:7ee8a480 -crc:317:afa4d560 -crc:318:e9350040 -crc:319:6c875480 -crc:320:2f5ae3c0 -crc:321:7c32b6e0 -crc:322:263f1320 -crc:323:59e36c60 -crc:324:b6dd64e0 -crc:325:5d8e16e0 -crc:326:b4be9860 -crc:327:9b58d6e0 -crc:328:fbd55c80 -crc:329:9ea6b5c0 -crc:330:7100f400 -crc:331:445eafc0 -crc:332:35be09e0 -crc:333:4b27a000 -crc:334:2b125bc0 -crc:335:f90ec5a0 -crc:336:53a034a0 -crc:337:8ed61ec0 -crc:338:efad3c00 -crc:339:370ba720 -crc:340:88cc59a0 -crc:341:8a5ca260 -crc:342:29b5be20 -crc:343:11fe0a20 -crc:344:4ff30260 -crc:345:89c42000 -crc:346:b2eef280 -crc:347:4987a780 -crc:348:6ad18aa0 -crc:349:d7dfed00 -crc:350:c6e09500 -crc:351:3aed0300 -crc:352:83259cc0 -crc:353:54b81720 -crc:354:9c3a8260 -crc:355:5c4e7420 -crc:356:218c2800 -crc:357:bcf198a0 -crc:358:c453f140 -crc:359:c3a6ef60 -crc:360:a36cfe80 -crc:361:66655000 -crc:362:52957360 -crc:363:69af65c0 -crc:364:a02c8f40 -crc:365:f9a1c920 -crc:366:56b66720 -crc:367:88c326a0 -crc:368:83de9f80 -crc:369:b041e720 -crc:370:50e5b560 -crc:371:be9ef5e0 -crc:372:63da24e0 -crc:373:10b272c0 -crc:374:3b32a680 -crc:375:bae000 -crc:376:b19c8280 -crc:377:495e8160 -crc:378:43590a0 -crc:379:8c092de0 -crc:380:a75c9080 -crc:381:1c745860 -crc:382:186ecee0 -crc:383:f49045c0 -crc:384:953ffdc0 -crc:385:ebaa3560 -crc:386:b2378680 -crc:387:57417460 -crc:388:4cf7eb20 -crc:389:66339f60 -crc:390:cac5d1a0 -crc:391:f4cc3440 -crc:392:6280e620 -crc:393:c45d9a0 -crc:394:9c6fe4e0 -crc:395:1ebaf2c0 -crc:396:d8da48c0 -crc:397:b88b2540 -crc:398:b3a3b2a0 -crc:399:1acf2ac0 -crc:400:3657b040 -crc:401:ffa3b9e0 -crc:402:67462620 -crc:403:a762aca0 -crc:404:e760a9c0 -crc:405:fb5e14e0 -crc:406:1462e540 -crc:407:d43a1500 -crc:408:465bbe0 -crc:409:46a1ac60 -crc:410:9b639880 -crc:411:a8b33b20 -crc:412:6fc21c40 -crc:413:74f886a0 -crc:414:8f568980 -crc:415:5e0ba1e0 -PageCNT:416remain:256file_sumcheck:5e0ba1e0 i:416 +crc:30:5dd40500 +crc:31:b2d345c0 +crc:32:35241b80 +crc:33:caf9a220 +crc:34:4811f7e0 +crc:35:760e56e0 +crc:36:fe5caee0 +crc:37:9096fd00 +crc:38:2cae7660 +crc:39:b60a5900 +crc:40:548ad6c0 +crc:41:8b6eafa0 +crc:42:f28bd0e0 +crc:43:d17f94a0 +crc:44:de59a2c0 +crc:45:73193080 +crc:46:d8da74a0 +crc:47:4c632020 +crc:48:66695b00 +crc:49:d76df9a0 +crc:50:23a62e0 +crc:51:93c10ba0 +crc:52:964f3c80 +crc:53:7fb6c120 +crc:54:d6107500 +crc:55:ed2b0960 +crc:56:f5764860 +crc:57:40fc3220 +crc:58:417f8300 +crc:59:8c0de520 +crc:60:ee46dbc0 +crc:61:9e85c540 +crc:62:c87b9c40 +crc:63:6ba3760 +crc:64:e7ac58a0 +crc:65:eca7ba0 +crc:66:54d67d40 +crc:67:4b6989e0 +crc:68:5d052240 +crc:69:78b9c760 +crc:70:23c42fe0 +crc:71:a95fbd00 +crc:72:dd9fa100 +crc:73:d4d2dca0 +crc:74:898379e0 +crc:75:3e2171a0 +crc:76:d05fbdc0 +crc:77:b55abc0 +crc:78:bf93d1c0 +crc:79:c21b1160 +crc:80:6a33c220 +crc:81:e6c64a60 +crc:82:4646c100 +crc:83:13fe54c0 +crc:84:62301960 +crc:85:536f3040 +crc:86:dbb13220 +crc:87:db527e80 +crc:88:225fd560 +crc:89:c1404a40 +crc:90:6988dca0 +crc:91:38527fc0 +crc:92:559ff600 +crc:93:3eb92f80 +crc:94:7dfc6e00 +crc:95:50e440a0 +crc:96:81ae8760 +crc:97:a5fb6f80 +crc:98:e245bc20 +crc:99:3fe0c960 +crc:100:57890aa0 +crc:101:33c0b760 +crc:102:d1ec1d20 +crc:103:d76feb20 +crc:104:ac2c800 +crc:105:fa858ca0 +crc:106:db8ff560 +crc:107:697479e0 +crc:108:4e57c7e0 +crc:109:3746aac0 +crc:110:5af187a0 +crc:111:7fdc0820 +crc:112:df356a80 +crc:113:45167a0 +crc:114:f0b85520 +crc:115:ed30b580 +crc:116:9c166240 +crc:117:46048720 +crc:118:488ae100 +crc:119:4f508200 +crc:120:5ad6bd00 +crc:121:6d9de7c0 +crc:122:12e49340 +crc:123:c8115e80 +crc:124:29e709a0 +crc:125:54bef0a0 +crc:126:f7e21c20 +crc:127:89e00720 +crc:128:4b140 +crc:129:d52f90c0 +crc:130:38d12ec0 +crc:131:39cc5680 +crc:132:85a77a40 +crc:133:996662e0 +crc:134:bbeca6e0 +crc:135:5cf67420 +crc:136:99ce0700 +crc:137:cfbd25c0 +crc:138:548176e0 +crc:139:f7799d00 +crc:140:5f660080 +crc:141:f0c64ec0 +crc:142:86f6bb00 +crc:143:2f3628a0 +crc:144:f056f820 +crc:145:417b1460 +crc:146:52aa4360 +crc:147:7f2402e0 +crc:148:c193a040 +crc:149:bd761120 +crc:150:1e1cf880 +crc:151:94606b40 +crc:152:815c8960 +crc:153:1ef41580 +crc:154:f3800680 +crc:155:6295cd80 +crc:156:9075db00 +crc:157:b6165500 +crc:158:47e725a0 +crc:159:7a5e3d40 +crc:160:c5577640 +crc:161:f546bcc0 +crc:162:67d4a860 +crc:163:cd28b4c0 +crc:164:45898860 +crc:165:ae2819a0 +crc:166:b79dd2e0 +crc:167:f489f240 +crc:168:df61c740 +crc:169:ae51ac40 +crc:170:459d15e0 +crc:171:c8af6bc0 +crc:172:d6b41aa0 +crc:173:ce9fdde0 +crc:174:72dbb600 +crc:175:6232bae0 +crc:176:f58c59e0 +crc:177:47438c20 +crc:178:78dd88e0 +crc:179:3bc755e0 +crc:180:cf10e980 +crc:181:6e6153e0 +crc:182:1ffbbbc0 +crc:183:9238a3c0 +crc:184:3071fac0 +crc:185:1614fda0 +crc:186:b9fbc300 +crc:187:61485ac0 +crc:188:d4162060 +crc:189:c289f360 +crc:190:5fa88860 +crc:191:2c0f4640 +crc:192:13002dc0 +crc:193:ecafbb00 +crc:194:6be8cde0 +crc:195:80b01920 +crc:196:74245ea0 +crc:197:d62fd620 +crc:198:e48febe0 +crc:199:31b28880 +crc:200:587ec140 +crc:201:39f67920 +crc:202:1328aa40 +crc:203:c2770ca0 +crc:204:678bb340 +crc:205:7e9dc6c0 +crc:206:ad3b1b80 +crc:207:3a7b88e0 +crc:208:78c43720 +crc:209:fbacbe80 +crc:210:7d88cc00 +crc:211:fee53700 +crc:212:ffbe6240 +crc:213:f487ea60 +crc:214:104e5c00 +crc:215:afb84840 +crc:216:20082cc0 +crc:217:89935020 +crc:218:662b46a0 +crc:219:17ce8a00 +crc:220:b0906840 +crc:221:1e2171a0 +crc:222:82e97380 +crc:223:9746b680 +crc:224:c0748fe0 +crc:225:fe938d60 +crc:226:25504640 +crc:227:efe909a0 +crc:228:319f2600 +crc:229:25e9bfe0 +crc:230:3c802800 +crc:231:470b0a00 +crc:232:fb95bf20 +crc:233:caaaaac0 +crc:234:fdef3ea0 +crc:235:8d7aaea0 +crc:236:fc99d20 +crc:237:93f98240 +crc:238:6d5b5880 +crc:239:3f057f80 +crc:240:6bd740a0 +crc:241:7ed04080 +crc:242:aadbca0 +crc:243:2b1b600 +crc:244:d7875260 +crc:245:e0477fa0 +crc:246:28aa0280 +crc:247:19ad47e0 +crc:248:246ce200 +crc:249:e5336d60 +crc:250:c890ae20 +crc:251:fe426cc0 +crc:252:2cad39c0 +crc:253:29967280 +crc:254:6504de80 +crc:255:469509e0 +crc:256:1d5f4ce0 +crc:257:c08f7fc0 +crc:258:af5a6a0 +crc:259:c2da6260 +crc:260:c598a440 +crc:261:938c2b20 +crc:262:e68bc0e0 +crc:263:a539f940 +crc:264:36525220 +crc:265:fa4db8a0 +crc:266:200e0ae0 +crc:267:e5c16280 +crc:268:539f27c0 +crc:269:b1cd6900 +crc:270:46abe5c0 +crc:271:677e3800 +crc:272:ee804420 +crc:273:2a6ad2a0 +crc:274:7f51a1c0 +crc:275:393f7ea0 +crc:276:8e4e6680 +crc:277:bfe05480 +crc:278:26085340 +crc:279:f6b6c0e0 +crc:280:e4bc0360 +crc:281:7e0b9f60 +crc:282:d0f2da20 +crc:283:f2afb8c0 +crc:284:a56c76c0 +crc:285:2e5e6880 +crc:286:c5faf120 +crc:287:a8dd78c0 +crc:288:1000fca0 +crc:289:473d920 +crc:290:cbdcd5e0 +crc:291:e994f120 +crc:292:7bec0380 +crc:293:189ecea0 +crc:294:31b6f080 +crc:295:b5a84fc0 +crc:296:2270680 +crc:297:29c1f260 +crc:298:8e157300 +crc:299:bed38ec0 +crc:300:c9ac64a0 +crc:301:366bb540 +crc:302:7e5c34c0 +crc:303:2abe5660 +crc:304:99dd2ba0 +crc:305:eec6e920 +crc:306:259991a0 +crc:307:801903e0 +crc:308:4b6a4520 +crc:309:d99b8740 +crc:310:dd845d60 +crc:311:c6f0edc0 +crc:312:d80b8fe0 +crc:313:d833f560 +crc:314:96bd6a60 +crc:315:88cceb20 +crc:316:43d3a9c0 +crc:317:7a38df80 +crc:318:fc744c0 +crc:319:b15e7ea0 +crc:320:96870540 +crc:321:cfa02dc0 +crc:322:c38c2c80 +crc:323:fb416440 +crc:324:fdcff660 +crc:325:ffa044c0 +crc:326:44000ce0 +crc:327:bdcc1ae0 +crc:328:6924f0a0 +crc:329:19858380 +crc:330:5d78b7c0 +crc:331:756a43c0 +crc:332:ca474d80 +crc:333:625b23c0 +crc:334:98f60040 +crc:335:244bf920 +crc:336:12f64cc0 +crc:337:69e55020 +crc:338:2f2e1e40 +crc:339:aa025cc0 +crc:340:23031ec0 +crc:341:33fda400 +crc:342:bcfa3300 +crc:343:bf95b840 +crc:344:84ddc760 +crc:345:538d8580 +crc:346:bcb51720 +crc:347:f3abc820 +crc:348:f1b137e0 +crc:349:4c15c420 +crc:350:ae0825a0 +crc:351:e0cc3640 +crc:352:ab8dee80 +crc:353:f21cc5a0 +crc:354:82375ba0 +crc:355:e3532440 +crc:356:fd119e40 +crc:357:b6b8ccc0 +crc:358:1d0be220 +crc:359:5ec9fc60 +crc:360:29dda300 +crc:361:6971e3e0 +crc:362:243e3be0 +crc:363:eab8cca0 +crc:364:d43e8120 +crc:365:19fc9e80 +crc:366:f21d3980 +crc:367:691221c0 +crc:368:4b291440 +crc:369:7df61720 +crc:370:ad9aeac0 +crc:371:23f0f3c0 +crc:372:e4039100 +crc:373:a67190c0 +crc:374:c7ec2860 +crc:375:4f60c3e0 +crc:376:a49183e0 +crc:377:ba90db80 +crc:378:bee37560 +crc:379:76c755c0 +crc:380:2968c780 +crc:381:57a99840 +crc:382:90bb99e0 +crc:383:db700800 +crc:384:57d6ba20 +crc:385:fc8581c0 +crc:386:4d3b40 +crc:387:e2c8f0a0 +crc:388:cd09d080 +crc:389:b3541400 +crc:390:ef541da0 +crc:391:876504c0 +crc:392:ffd09800 +crc:393:1dbef980 +crc:394:c6c85740 +crc:395:af76bce0 +crc:396:76538ca0 +crc:397:91e60a60 +crc:398:698e0280 +crc:399:34399e80 +crc:400:7f978f00 +crc:401:fa26d6c0 +crc:402:b6a12140 +crc:403:1b39dc20 +crc:404:5f86d180 +crc:405:27b710c0 +crc:406:b3fb8b60 +crc:407:c9e121e0 +crc:408:7b6732e0 +crc:409:78e37d40 +crc:410:6046e0 +crc:411:fc3f7fa0 +crc:412:17b44fe0 +crc:413:3728d240 +crc:414:b7a4a8e0 +crc:415:df464f60 +PageCNT:416remain:256file_sumcheck:df464f60 i:416 length:1a000 00 106496updata mac success ! merge file success ! -Checksum source: C:\Users\QJM\Desktop\42158\tools\offline_burn\40-ab-00-cd-01-01_5E0BA1E0_1000000.bin -Online BIN: C:\Users\QJM\Desktop\42158\release\online\HPW421_V1.3_XC6517_5E0BA1E0.bin -OTA BIN: C:\Users\QJM\Desktop\42158\release\ota\HPW421_V1.3_XC6517_5E0BA1E0_OTA.bin +Checksum source: C:\Users\QJM\Desktop\42158ң\tools\offline_burn\40-ab-00-cd-01-01_DF464F60_1000000.bin +Online BIN: C:\Users\QJM\Desktop\42158ң\release\online\HPW421_V1.3_XC6517_DF464F60.bin +OTA BIN: C:\Users\QJM\Desktop\42158ң\release\ota\HPW421_V1.3_XC6517_DF464F60_OTA.bin ".\Objects\Xinc_ble_sdk.axf" - 0 Error(s), 7 Warning(s).

Software Packages used:

@@ -601,7 +601,7 @@ Package Vendor: ARM D:/Keil_v5/Packs/ARM/CMSIS/5.9.0/Device/ARM/ARMCM0/Include

Collection of Component Files used:

-Build Time Elapsed: 00:00:22 +Build Time Elapsed: 00:00:20 diff --git a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.htm b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.htm index 9b7d316..c103de9 100644 --- a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.htm +++ b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.htm @@ -3,7 +3,7 @@ Static Call Graph - [.\Objects\Xinc_ble_sdk.axf]

Static Call Graph for image .\Objects\Xinc_ble_sdk.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Jul 21 15:56:41 2026 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Wed Jul 22 10:59:11 2026

Maximum Stack Usage = 600 bytes + Unknown(Functions without stacksize, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

@@ -104,13 +104,13 @@ Global Symbols

BLE_Handler (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE), UNUSED)
[Address Reference Count : 1]

-

co_buf_alloc (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE), UNUSED) +

co_buf_alloc (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE), UNUSED)

[Called By]

-

co_buf_copy_data_from_mem (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE), UNUSED) +

co_buf_copy_data_from_mem (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE), UNUSED)

[Called By]

-

co_buf_release (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE), UNUSED) +

co_buf_release (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE), UNUSED)

[Called By]

ke_msg_alloc (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE)) @@ -150,10 +150,10 @@ Global Symbols

[Called By]

-

FMC_SPI_Flash_PowerDown (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE), UNUSED) +

FMC_SPI_Flash_PowerDown (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE), UNUSED)

[Called By]

-

FMC_SPI_Flash_WakeUp (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE)) +

FMC_SPI_Flash_WakeUp (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE))

[Called By]

@@ -173,13 +173,13 @@ Global Symbols

[Called By] -

_memset_w (Thumb, 26 bytes, Stack size 0 bytes, rt_memclr.o(.text)) -

[Called By]