diff --git a/AC701N.cbp b/AC701N.cbp index cea591c..9b6443f 100644 --- a/AC701N.cbp +++ b/AC701N.cbp @@ -174,7 +174,6 @@ - @@ -1145,24 +1144,6 @@ - - - - - - - - - - - - diff --git a/AC701N.depend b/AC701N.depend index fe91f6b..effd475 100644 --- a/AC701N.depend +++ b/AC701N.depend @@ -131622,7 +131622,7 @@ 1756104107 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\board\br28\board_config.h "board_jl701n_demo_cfg.h" -1784862781 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\board\br28\board_jl701n_demo_cfg.h +1784866489 d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\board\br28\board_jl701n_demo_cfg.h "board_jl701n_demo_global_build_cfg.h" "usb_std_class_def.h" "usb_std_class_def.h" @@ -134918,7 +134918,7 @@ "bt_tws.h" "icsd_adt_app.h" -1784863842 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\app_main.c +1784865606 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\app_main.c "system/includes.h" "btstack/btstack_task.h" "app_config.h" @@ -135037,7 +135037,7 @@ "bt_tws.h" "debug.h" -1764556418 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\board\br28\board_jl701n_demo.c +1784865576 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\board\br28\board_jl701n_demo.c "app_config.h" "app_main.h" "system/includes.h" @@ -135397,7 +135397,7 @@ "key_event_deal.h" "btstack/btstack_typedef.h" -1763363930 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\key_event_deal.c +1784865741 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\earphone\key_event_deal.c "key_event_deal.h" "btstack/avctp_user.h" "event.h" @@ -136061,27 +136061,18 @@ "mjson.h" -1784863793 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_adv.c +1784865368 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_adv.c "system/includes.h" "app_config.h" - "asm/pwm_led.h" - "tone_player.h" - "ui_manage.h" "app_main.h" "app_task.h" - "asm/charge.h" - "app_power_manage.h" - "app_charge.h" "user_cfg.h" - "audio.h" "vm.h" "bleproto.h" "bleproto_api.h" - "bleproto.h" "debug.h" -1784800103 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_recieve.c - "system/includes.h" +1784865445 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\apps\usr_le_code\usr_le_recieve.c "app_config.h" "asm/pwm_led.h" "tone_player.h" @@ -136869,7 +136860,7 @@ "cpu.h" -1760581843 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\cpu\br28\mcpwm.c +1784865607 source:d:\jianbao\project\À¶ÑÀת½Ó°å-¶ºÃ¨°ô\sdk\cpu\br28\mcpwm.c "asm/mcpwm.h" "asm/clock.h" "asm/gpio.h" diff --git a/AC701N.layout b/AC701N.layout index d748dd4..d506d34 100644 --- a/AC701N.layout +++ b/AC701N.layout @@ -2,569 +2,19 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - + @@ -572,214 +22,9 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -787,64 +32,29 @@ - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -852,209 +62,29 @@ + + + + + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1062,149 +92,9 @@ - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1212,44 +102,59 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + @@ -1257,69 +162,24 @@ - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1327,19 +187,209 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1347,14 +397,964 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/apps/earphone/app_main.c b/apps/earphone/app_main.c index 93931db..45c0252 100644 --- a/apps/earphone/app_main.c +++ b/apps/earphone/app_main.c @@ -45,9 +45,6 @@ u8 user_at_cmd_send_support = 1; #endif -extern void usr_le_notify_data(); - - /*任务列表 */ const struct task_info task_info_table[] = { {"app_core", 1, 0, 768+768, 256 }, @@ -149,39 +146,15 @@ const struct task_info task_info_table[] = { APP_VAR app_var; USR_VAR usr_var; void clr_wdt(void); -u8 usr_get_ldoin(); void app_earphone_play_voice_file(const char *name); -extern void usr_clear_battery_cache(); extern int cpu_reset_by_soft(); extern int audio_dec_init(); extern int audio_enc_init(); extern u32 timer_get_ms(void); extern void uart_dev_test_main(); -extern int utc_test_main(); -extern void timer_pwm_test(void); -extern int ana_demo(); -extern void uart_dev_main_init(); -extern void usr_check_mcu_all_sta(); -extern int utc_dec_test_main(); -extern int plan_test_main(); -extern void usr_clear_moto(); -extern void usr_rtc_get_time(); extern void usr_read_device_sta(); -extern void usr_rcsp_process_timer(); extern void usr_clear_pair_info_noreset(); -extern void usr_disable_intterupt(); -extern void usr_disable_charge_intterupt(); -extern void app_rtc_task(); -extern void usr_plan_init(); -u8 power_reset_flag=0;///ä¸å®šä¹‰çš„è¯RTC编译报错 -/* - * 2ms timer中断回调函数 - */ - -void timer_2ms_handler() -{ - -} +u8 power_reset_flag = 0; void app_var_init(void) { @@ -190,52 +163,6 @@ void app_var_init(void) } -void check_power_on_key(void) -{ - u32 delay_10ms_cnt = 0; - usr_var.usr_power_charge_flag=2; - - os_time_dly(10); - while (1) { - clr_wdt(); - os_time_dly(1); - - extern u8 get_power_on_status(void); - if (get_power_on_status()) { - log_info("+"); - delay_10ms_cnt++; - if (delay_10ms_cnt > 60) { - /* extern void set_key_poweron_flag(u8 flag); */ - /* set_key_poweron_flag(1); */ - _usr_module_cfg.local_moto_mode=1; - usr_var.usr_power_charge_flag=2; - app_var.play_poweron_tone=1; - //wdt_init(WDT_256MS); - //while(1); - return; - } - } - else if((usr_get_ldoin())||(gpio_read(IO_PORTC_05)==0)) - { - putchar('*'); - delay_10ms_cnt++; - if (delay_10ms_cnt > 10) { - usr_var.usr_power_charge_flag=1; - //wdt_init(WDT_256MS); - //while(1); - return; - } - } - else { - log_info("-"); - delay_10ms_cnt = 0; - log_info("enter softpoweroff\n"); - usr_clear_battery_cache(); - power_set_soft_poweroff(); - } - } -} - __attribute__((weak)) u8 get_charge_online_flag(void) { @@ -257,312 +184,83 @@ static void app_poweron_check(int update) return; } #endif -//#ifdef CONFIG_RELEASE_ENABLE -#if TCFG_POWER_ON_NEED_KEY - check_power_on_key(); -#endif -//#endif - #endif } -void usr_led_w_out(u8 flag) -{ - gpio_set_direction(IO_PORTA_07, !flag); - gpio_set_pull_up(IO_PORTA_07, 0); - gpio_set_pull_down(IO_PORTA_07,0); - gpio_set_output_value(IO_PORTA_07,!flag); -} -void usr_led_b_out(u8 flag) -{ - gpio_set_direction(IO_PORTA_08,!flag); - gpio_set_pull_down(IO_PORTA_08,0); - gpio_set_pull_up (IO_PORTA_08,0); - gpio_set_output_value(IO_PORTA_08,!flag); -} - - - -extern void usr_moto_timer_init(); - - -u8 usr_get_ldoin() -{ - if(gpio_read(IO_PORTG_08)==0)return 1; - return 0; -} -u8 usr_get_full() -{ - if(gpio_read(IO_PORTC_05)==0)return 1; - return 0; -} -u8 usr_get_ldoin_all() -{ - if(usr_get_ldoin()||usr_get_full())return 1; - return 0; -} - -void usr_charge_deal() -{ - static u8 rled_flag=0; - u8 usr_chg_in=0; - usr_chg_in=usr_get_ldoin(); - //printf("usr_chg_in = %d\n",usr_chg_in); - if(usr_chg_in) - { -// charge_check_and_set_pinr(0); - usr_clear_moto(); - if(usr_get_full()) - { - rled_flag=1; - if(usr_var.usr_power_charge_flag==2) - { - usr_var.usr_power_charge_flag=1; - usr_le_notify_data(); - } - printf("charge full power off00\n"); - //power_set_soft_poweroff(); - } - else - { - rled_flag=!rled_flag; - printf("charging \n"); - if(usr_var.usr_power_charge_flag==2) - { - usr_var.usr_power_charge_flag=1; - usr_le_notify_data(); - } - } - usr_led_b_out(0); - usr_led_w_out(rled_flag); - } - else - { -// charge_check_and_set_pinr(1); - if(usr_get_full()) - { - if(usr_var.usr_power_charge_flag==2) - { - usr_var.usr_power_charge_flag=1; - usr_le_notify_data(); - } - usr_clear_moto(); - usr_led_b_out(0); - rled_flag=1; - usr_led_w_out(rled_flag); - printf("charge full power off11\n"); - } - else - { - if(usr_var.usr_power_charge_flag==1) - { - usr_var.usr_power_charge_flag=2; - usr_var.usr_allow_to_sleep_cnt=8; - //power_set_soft_poweroff(); - printf("charge plug power off\n"); - } - } - } - usr_rtc_get_time(); - //read_sys_time(&usr_current_time1); - //printf("#### usr_current_time1 %d-%d-%d %d:%d:%d \n",usr_current_time1.year,usr_current_time1.month,usr_current_time1.day,usr_current_time1.hour,usr_current_time1.min,usr_current_time1.sec); - usr_rcsp_process_timer(); - -} - -#if 0 -const struct sys_time def_sys_time = { //åˆå§‹ä¸€ä¸‹å½“剿—¶é—´ - .year = 2020, - .month = 1, - .day = 1, - .hour = 0, - .min = 0, - .sec = 0, -}; - - -const struct rtc_dev_platform_data rtc_init_data= -{ - .default_sys_time = &def_sys_time, - .default_alarm = NULL, - .clk_sel = CLK_SEL_32K,//CLK_SEL_LRC,//CLK_SEL_32K, - .cbfun = NULL, //闹钟中断的回调函数,用户自行定义 - /* .cbfun = alarm_isr_user_cbfun, */ -}; -#endif // 0 extern void bt_osc_offset_ext_updata(s32 offset); -extern void usr_test_protocol(void); void app_main() { int update = 0; - u32 addr = 0, size = 0; struct intent it; - u16 pair_cnt=0; - log_info("app_main........4444444444444.......#####\n"); + log_info("app_main usb-ble bridge\n"); bt_osc_offset_ext_updata(11); - //usr_disable_charge_intterupt(); - app_rtc_task(); - //alarm_init(); - usr_var.usr_ota_succ_flag=0; - //rtc_init(&rtc_init_data); - //read_sys_time(&usr_current_time1); - //printf("#### usr_current_time1 %d %d %d %d %d %d \n",usr_current_time1.year,usr_current_time1.month,usr_current_time1.day,usr_current_time1.hour,usr_current_time1.min,usr_current_time1.sec); - - // usb_iomode(1); + usr_var.usr_ota_succ_flag = 0; gpio_set_die(IO_PORTB_01, 1); gpio_set_direction(IO_PORTB_01, 1); gpio_set_pull_up(IO_PORTB_01, 1); - gpio_set_pull_down(IO_PORTB_01,0); - - // gpio_set_die(IO_PORTG_08, 1);///充电æ’入检测 - // gpio_set_direction(IO_PORTG_08, 1); - // gpio_set_pull_up(IO_PORTG_08, 1); - // gpio_set_pull_down(IO_PORTG_08,0); - - // gpio_set_die (IO_PORTC_05,1);///充满检测 - // gpio_set_direction(IO_PORTC_05,1); - // gpio_set_pull_down(IO_PORTC_05,0); - // gpio_set_pull_up (IO_PORTC_05,1); - - - //usr_disable_intterupt(); + gpio_set_pull_down(IO_PORTB_01, 0); #ifndef CONFIG_DEBUG_ENABLE uart_dev_test_main(); -#endif // CONFIG_DEBUG_ENABLE +#endif app_var.start_time = timer_get_ms(); #if (defined(CONFIG_MEDIA_NEW_ENABLE) || (defined(CONFIG_MEDIA_DEVELOP_ENABLE))) - /*è§£ç å™¨*/ audio_enc_init(); audio_dec_init(); #endif -//rtc_init(&rtc_init_data); #ifdef BT_DUT_INTERFERE void audio_demo(void); audio_demo(); -#endif/*BT_DUT_INTERFERE*/ +#endif #ifdef BT_DUT_ADC_INTERFERE void audio_adc_mic_dut_open(void); audio_adc_mic_dut_open(); -#endif/*BT_DUT_ADC_INTERFERE*/ +#endif if (!UPDATE_SUPPORT_DEV_IS_NULL()) { - update = 0;//update_result_deal(); + update = 0; } app_var_init(); #if TCFG_MC_BIAS_AUTO_ADJUST mc_trim_init(update); -#endif/*TCFG_MC_BIAS_AUTO_ADJUST*/ - - //if (get_charge_online_flag()) - if(0){ - -#if(TCFG_SYS_LVD_EN == 1) - vbat_check_init(); #endif - init_intent(&it); - it.name = "idle"; - it.action = ACTION_IDLE_MAIN; - start_app(&it); - } else { - _usr_module_cfg.local_moto_mode=0; - check_power_on_voltage(); + check_power_on_voltage(); + app_poweron_check(update); - app_poweron_check(update); - //uart_dev_main_init(); - //sys_timeout_add(NULL,usr_check_mcu_all_sta,1000); - if(usr_get_ldoin()||usr_get_full()) - { - usr_var.usr_power_charge_flag=1; - _usr_module_cfg.local_moto_mode=3; - } - else - { - usr_var.usr_power_charge_flag=2; - } - //utc_dec_test_main(); - //utc_test_main(); - //usr_check_mcu_all_sta(); - //ana_demo(); + usr_read_device_sta(); + usr_var.usr_goto_pair = 1; + usr_clear_pair_info_noreset(); - pair_cnt=0; - timer_pwm_test(); - usr_moto_timer_init(); - - // sys_timer_add(NULL,usr_charge_deal,1000); - //plan_test_main(); - usr_led_w_out(1); - - usr_read_device_sta(); - usr_var.usr_goto_pair=1; - // if(app_var.play_poweron_tone==0) - // { - // _usr_module_cfg.local_moto_mode=3; - // _usr_module_cfg.usr_dizhuo_mode=0; - // _usr_module_cfg.usr_douban_mode=0; - // } - // if(usr_var.usr_power_charge_flag==2) - // { - // while(1) - // { - // delay_2ms(30); - // if(gpio_read(IO_PORTB_01)==0) - // { - // pair_cnt++; - // printf("pair_cnt = %d\n",pair_cnt); - // if(pair_cnt>=30) - // { - // pair_cnt=0; - // usr_var.usr_goto_pair=1; - // _usr_module_cfg.local_moto_mode=3; - // usr_clear_pair_info_noreset(); - // break; - // } - // } - // else - // { - // pair_cnt=0; - // usr_var.usr_goto_pair=0; - // break; - // } - // } - // } - - usr_plan_init(); - - - ui_manage_init(); - ui_update_status(STATUS_POWERON); + ui_manage_init(); + ui_update_status(STATUS_POWERON); #if TCFG_WIRELESS_MIC_ENABLE - extern void wireless_mic_main_run(void); - wireless_mic_main_run(); + extern void wireless_mic_main_run(void); + wireless_mic_main_run(); #endif -#if TCFG_ENTER_PC_MODE - init_intent(&it); - it.name = "pc"; - it.action = ACTION_PC_MAIN; - start_app(&it); +#if TCFG_ENTER_PC_MODE + init_intent(&it); + it.name = "pc"; + it.action = ACTION_PC_MAIN; + start_app(&it); #else - init_intent(&it); - it.name = "earphone"; - it.action = ACTION_EARPHONE_MAIN; - start_app(&it); + init_intent(&it); + it.name = "earphone"; + it.action = ACTION_EARPHONE_MAIN; + start_app(&it); #endif - } #if TCFG_CHARGE_ENABLE set_charge_event_flag(1); #endif - } int __attribute__((weak)) eSystemConfirmStopStatus(void) diff --git a/apps/earphone/board/br28/board_jl701n_demo.c b/apps/earphone/board/br28/board_jl701n_demo.c index 215a1f2..5eeb74f 100644 --- a/apps/earphone/board/br28/board_jl701n_demo.c +++ b/apps/earphone/board/br28/board_jl701n_demo.c @@ -720,80 +720,8 @@ const struct low_power_param power_param = { }; /************************** wk_param ****************************/ -struct port_wakeup port0 = { - .iomap = IO_PORTB_01, //唤醒å£é€‰æ‹© - .pullup_down_enable = ENABLE, //é…ç½®I/O 内部上下拉是å¦ä½¿èƒ½ - .edge = FALLING_EDGE, //唤醒方å¼é€‰æ‹©,å¯é€‰ï¼šä¸Šå‡æ²¿\䏋陿²¿ - .filter = PORT_FLT_4ms, - -}; -struct port_wakeup port2_1 = { - .iomap = IO_PORTA_03, //唤醒å£é€‰æ‹© - .pullup_down_enable = 0, //é…ç½®I/O 内部上下拉是å¦ä½¿èƒ½ - .edge = FALLING_EDGE, //唤醒方å¼é€‰æ‹©,å¯é€‰ï¼šä¸Šå‡æ²¿\䏋陿²¿ - .filter = PORT_FLT_16ms, - -}; -struct port_wakeup port_1 = { - .iomap = IO_PORTG_08, //唤醒å£é€‰æ‹© - .pullup_down_enable = ENABLE, //é…ç½®I/O 内部上下拉是å¦ä½¿èƒ½ - .edge = FALLING_EDGE, //唤醒方å¼é€‰æ‹©,å¯é€‰ï¼šä¸Šå‡æ²¿\䏋陿²¿ - .filter = PORT_FLT_4ms, -}; -struct port_wakeup port_2 = { - .iomap = IO_PORTC_04, //唤醒å£é€‰æ‹© - .pullup_down_enable = ENABLE, //é…ç½®I/O 内部上下拉是å¦ä½¿èƒ½ - .edge = FALLING_EDGE, //唤醒方å¼é€‰æ‹©,å¯é€‰ï¼šä¸Šå‡æ²¿\䏋陿²¿ - .filter = PORT_FLT_4ms, -}; -#if (TCFG_TEST_BOX_ENABLE || TCFG_CHARGESTORE_ENABLE || TCFG_ANC_BOX_ENABLE || TCFG_UMIDIGI_BOX_ENABLE) -struct port_wakeup port1 = { - .pullup_down_enable = DISABLE, //é…ç½®I/O 内部上下拉是å¦ä½¿èƒ½ -#if (TCFG_TEST_BOX_ANY_IO_UPDATE) - .edge = RISING_EDGE, //唤醒方å¼é€‰æ‹©,å¯é€‰ï¼šä¸Šå‡æ²¿\䏋陿²¿ -#else - .edge = FALLING_EDGE, //唤醒方å¼é€‰æ‹©,å¯é€‰ï¼šä¸Šå‡æ²¿\䏋陿²¿ -#endif - .filter = PORT_FLT_1ms, - .iomap = TCFG_CHARGESTORE_PORT, //唤醒å£é€‰æ‹© -}; -#endif - -#if TCFG_CHARGE_ENABLE -struct port_wakeup charge_port = { - .edge = RISING_EDGE, //唤醒方å¼é€‰æ‹©,å¯é€‰ï¼šä¸Šå‡æ²¿\䏋陿²¿\åŒè¾¹æ²¿ - .filter = PORT_FLT_16ms, - .iomap = IO_CHGFL_DET, //唤醒å£é€‰æ‹© -}; - -struct port_wakeup vbat_port = { - .edge = BOTH_EDGE, //唤醒方å¼é€‰æ‹©,å¯é€‰ï¼šä¸Šå‡æ²¿\䏋陿²¿\åŒè¾¹æ²¿ - .filter = PORT_FLT_4ms, - .iomap = IO_VBTCH_DET, //唤醒å£é€‰æ‹© -}; - -struct port_wakeup ldoin_port = { - .edge = BOTH_EDGE, //唤醒方å¼é€‰æ‹©,å¯é€‰ï¼šä¸Šå‡æ²¿\䏋陿²¿\åŒè¾¹æ²¿ - .filter = PORT_FLT_4ms, - .iomap = IO_LDOIN_DET, //唤醒å£é€‰æ‹© -}; -#endif - +/* 桥接æ¿ï¼šæ— ä¼‘çœ ã€æ— å……ç”µå”¤é†’æº */ const struct wakeup_param wk_param = { -#if 1//(!(TCFG_LP_TOUCH_KEY_ENABLE && TCFG_LP_TOUCH_KEY1_EN)) - .port[1] = &port0, - .port[2] = &port2_1, - .port[3] = &port_1, - .port[4] = &port_2, -#endif -#if 0//(TCFG_TEST_BOX_ENABLE || TCFG_CHARGESTORE_ENABLE || TCFG_ANC_BOX_ENABLE || TCFG_UMIDIGI_BOX_ENABLE) - .port[3] = &port1, -#endif -#if TCFG_CHARGE_ENABLE - .aport[0] = &charge_port, - .aport[1] = &vbat_port, - .aport[2] = &ldoin_port, -#endif }; void gSensor_wkupup_disable(void) @@ -1034,107 +962,35 @@ void board_set_soft_poweroff(void) #define APP_IO_DEBUG_0(i,x) {JL_PORT##i->DIR &= ~BIT(x), JL_PORT##i->OUT &= ~BIT(x);} #define APP_IO_DEBUG_1(i,x) {JL_PORT##i->DIR &= ~BIT(x), JL_PORT##i->OUT |= BIT(x);} -extern void usr_intterupt_close(); -extern void usr_intterupt_reinit(); -extern void usr_pwm_close(); -extern void key_active_set(u8 port); +/* 休眠已关闭,回调仅ä¿ç•™ SDK 注册接å£ï¼›ä¸åš PWM/唤醒å£ä¸šåŠ¡ */ void sleep_exit_callback(u32 usec) { + (void)usec; sleep_exit_callback_common(NULL); - power_wakeup_index_enable(2, 0); - power_wakeup_index_enable(3, 0); - putchar('>'); -} -void usr_disable_intterupt() -{ - power_wakeup_index_enable(2, 0); } - -void usr_disable_charge_intterupt() -{ - power_wakeup_index_enable(3, 0); -} -void usr_disable_all_intterupt() -{ - usr_disable_intterupt(); - usr_disable_charge_intterupt(); -} - -void sleep_enter_callback(u8 step) +void sleep_enter_callback(u8 step) { /* æ­¤å‡½æ•°ç¦æ­¢æ·»åŠ æ‰“å° */ if (step == 1) { - usr_pwm_close(); - usr_var.usr_interrupt_cnt=0; - putchar('<'); - } else { - gpio_set_pull_up(TCFG_CHARGESTORE_PORT, 0); - gpio_set_pull_down(TCFG_CHARGESTORE_PORT, 0); - gpio_set_die(TCFG_CHARGESTORE_PORT, 1); - gpio_set_dieh(TCFG_CHARGESTORE_PORT, 1); - gpio_set_direction(TCFG_CHARGESTORE_PORT, 1); - - sleep_enter_callback_common(NULL); - //if(_usr_module_cfg.power_on_flag==0) - { - if(_usr_module_cfg.zhengdong_kaiji) - { - if(usr_var.usr_disable_zjhendong==0)power_wakeup_index_enable(2, 1); - } - } - power_wakeup_index_enable(3, 1); - usr_intterupt_close(); - } + return; + } + sleep_enter_callback_common(NULL); } static void port_wakeup_callback(u8 index, u8 gpio) { - log_info("%s:%d,%d",__FUNCTION__,index,gpio); - if(index==2) - { - //if(_usr_module_cfg.power_on_flag==0) - { - usr_var.usr_interrupt_cnt=0; - usr_var.usr_intterupt_reinit_falg=0; - if(_usr_module_cfg.zhengdong_kaiji) - { - if(usr_var.usr_disable_zjhendong==0)usr_intterupt_reinit(); - } - } - } - -#if TCFG_UMIDIGI_BOX_ENABLE - if (index == 2) { - ldo_port_wakeup_to_cmessage(); - } -#endif - switch (index) { -#if (TCFG_TEST_BOX_ENABLE || TCFG_CHARGESTORE_ENABLE || TCFG_ANC_BOX_ENABLE) - case 2: - extern void chargestore_ldo5v_fall_deal(void); - chargestore_ldo5v_fall_deal(); - break; -#endif - } + (void)index; + (void)gpio; } static void aport_wakeup_callback(u8 index, u8 gpio, u8 edge) { - /* log_info("%s:%d,%d",__FUNCTION__,index,gpio); */ -#if TCFG_CHARGE_ENABLE - switch (gpio) { - case IO_CHGFL_DET://charge port - charge_wakeup_isr(); - break; - case IO_VBTCH_DET://vbat port - case IO_LDOIN_DET://ldoin port - ldoin_wakeup_isr(); - break; - } -#endif + (void)index; + (void)gpio; + (void)edge; } void board_power_init(void) @@ -1145,19 +1001,12 @@ void board_power_init(void) power_set_callback(TCFG_LOWPOWER_LOWPOWER_SEL, sleep_enter_callback, sleep_exit_callback, board_set_soft_poweroff); -#if TCFG_UMIDIGI_BOX_ENABLE - gpio_set_die(TCFG_CHARGESTORE_PORT, 1); - umidigi_chargestore_message_callback(app_umidigi_chargetore_message_deal); -#endif - power_keep_dacvdd_en(0); - power_wakeup_init(&wk_param); + power_wakeup_init(&wk_param); power_awakeup_set_callback(aport_wakeup_callback); power_wakeup_set_callback(port_wakeup_callback); - usr_disable_all_intterupt(); - } #endif /* #ifdef CONFIG_BOARD_JL701N_DEMO */ diff --git a/apps/earphone/board/br28/board_jl701n_demo_cfg.h b/apps/earphone/board/br28/board_jl701n_demo_cfg.h index 2c05fab..3a0998f 100644 --- a/apps/earphone/board/br28/board_jl701n_demo_cfg.h +++ b/apps/earphone/board/br28/board_jl701n_demo_cfg.h @@ -747,19 +747,13 @@ DAC硬件上的连接方å¼,å¯é€‰çš„é…置: //*********************************************************************************// // å……ç”µå‚æ•°é…ç½® // //*********************************************************************************// -//æ˜¯å¦æ”¯æŒèŠ¯ç‰‡å†…ç½®å……ç”µ +//桥接æ¿ä¸ä½¿ç”¨å†…置充电 / 充电舱 #define TCFG_CHARGE_ENABLE 0 -//æ˜¯å¦æ”¯æŒå¼€æœºå……电 #define TCFG_CHARGE_POWERON_ENABLE DISABLE -//æ˜¯å¦æ”¯æŒæ‹”出充电自动开机功能 -#define TCFG_CHARGE_OFF_POWERON_NE ENABLE -/*充电截止电压å¯é€‰é…ç½®*/ +#define TCFG_CHARGE_OFF_POWERON_NE DISABLE #define TCFG_CHARGE_FULL_V CHARGE_FULL_V_4199 -/*充电截止电æµå¯é€‰é…ç½®*/ #define TCFG_CHARGE_FULL_MA CHARGE_FULL_mA_10 -/*æ’æµå……电电æµå¯é€‰é…ç½®*/ #define TCFG_CHARGE_MA CHARGE_mA_50 -/*æ¶“æµå……电电æµé…ç½®*/ #define TCFG_CHARGE_TRICKLE_MA CHARGE_mA_10 //*********************************************************************************// @@ -787,7 +781,7 @@ DAC硬件上的连接方å¼,å¯é€‰çš„é…置: //*********************************************************************************// #define TCFG_LOWPOWER_POWER_SEL PWR_LDO15//PWR_LDO15 //ç”µæºæ¨¡å¼è®¾ç½®ï¼Œå¯é€‰DCDCå’ŒLDO #define TCFG_LOWPOWER_BTOSC_DISABLE 0 //低功耗模å¼ä¸‹BTOSC是å¦ä¿æŒ -#define TCFG_LOWPOWER_LOWPOWER_SEL SLEEP_EN//DEEP_SLEEP_EN//SLEEP_EN//DEEP_SLEEP_EN //低功耗使能,è“牙&&系统空闲å¯è¿›å…¥ä½ŽåŠŸè€— +#define TCFG_LOWPOWER_LOWPOWER_SEL 0 // 桥接æ¿å¸¸ä¾›ç”µï¼Œä¸è¿›ç³»ç»Ÿä¼‘眠//SLEEP_EN//DEEP_SLEEP_EN //低功耗使能,è“牙&&系统空闲å¯è¿›å…¥ä½ŽåŠŸè€— #define TCFG_LOWPOWER_VDDIOM_LEVEL VDDIOM_VOL_28V //vddiom等级 #define TCFG_LOWPOWER_OSC_TYPE OSC_TYPE_LRC //低功耗晶振类型,btosc/lrc ///#if (TCFG_AUDIO_ASR_DEVELOP && TCFG_CVP_DEVELOP_ENABLE) diff --git a/apps/earphone/key_event_deal.c b/apps/earphone/key_event_deal.c index b8e1292..f3c2640 100644 --- a/apps/earphone/key_event_deal.c +++ b/apps/earphone/key_event_deal.c @@ -49,18 +49,13 @@ extern int bt_get_low_latency_mode(); extern void bt_set_low_latency_mode(int enable); extern void usr_goto_pair_mode(); -extern void usr_write_device_sta(); extern u16 usr_get_conn_service(); extern void usr_ble_adv_init(); - -extern void usr_le_notify_data(); -extern void usr_clear_up(); void audio_aec_pitch_change_ctrl(); void audio_surround_voice_ctrl(); extern void start_streamer_test(void); extern int jl_kws_voice_event_handle(struct key_event *key); extern void usr_app_ota_init(); -extern void usr_intterupt_close(); u8 poweroff_sametime_flag = 0; @@ -377,109 +372,54 @@ int app_earphone_key_event_handler(struct sys_event *event) switch (key_event) { case KEY_MUSIC_PP: - - //extern void usr_le_low_power_notify(); - //usr_le_low_power_notify(); - - if(_usr_module_cfg.power_on_flag==0)break; - if(usr_var.usr_goto_pair)break; - if(usr_var.usr_power_charge_flag==1)break; - - usr_var.usr_auto_off_cnt=0; - usr_var.usr_allow_to_sleep_cnt=8; - - if(_usr_module_cfg.local_moto_mode==2)_usr_module_cfg.local_moto_mode=1; - else _usr_module_cfg.local_moto_mode=2; - usr_clear_up(); - usr_write_device_sta(); - printf("_usr_module_cfg.local_moto_mode = %d\n",_usr_module_cfg.local_moto_mode); + /* cat-toy moto mode switch removed */ break; case KEY_IR_NUM_0: -// tone_play_by_path(TONE_POWER_ON, 0); break; case KEY_IR_NUM_1: -// tone_play_by_path(TONE_RING, 0); break; case KEY_IR_NUM_2: -// tone_play_by_path(TONE_RING, 0); - if(_usr_module_cfg.power_on_flag==0)break; - if(usr_var.usr_goto_pair)break; - if(usr_var.usr_power_charge_flag==1)break; - usr_var.usr_allow_to_sleep_cnt=8; + if (usr_var.usr_goto_pair) { + break; + } usr_app_ota_init(); break; case KEY_POWEROFF: - if(usr_var.usr_power_charge_flag==1)break; goto_poweroff_cnt = 0; poweroff_sametime_flag = 0; goto_poweroff_flag = 1; - usr_var.usr_allow_to_sleep_cnt=8; user_send_cmd_prepare(USER_CTRL_ALL_SNIFF_EXIT, 0, NULL); break; case KEY_POWEROFF_HOLD: - if(usr_var.usr_power_charge_flag==1)break; #if (TCFG_USER_TWS_ENABLE && CONFIG_TWS_POWEROFF_SAME_TIME == 0) if ((u32)event->arg == KEY_EVENT_FROM_TWS) { break; } #endif log_info("power flag cnt:%d cnt:%d\n", goto_poweroff_flag, goto_poweroff_cnt); - usr_var.usr_allow_to_sleep_cnt=12; if (goto_poweroff_flag) { - if(goto_poweroff_cnt<(POWER_OFF_CNT*3))goto_poweroff_cnt++; + if (goto_poweroff_cnt < (POWER_OFF_CNT * 3)) { + goto_poweroff_cnt++; + } if (goto_poweroff_cnt == POWER_OFF_CNT) { - //goto_poweroff_cnt = 0; - //sys_enter_soft_poweroff(NULL); - if(_usr_module_cfg.power_on_flag==0) - { - _usr_module_cfg.power_on_flag=1; - usr_var.usr_can_pair=1; - } - else - { - usr_var.usr_intterupt_reinit_falg=1; - usr_intterupt_close(); - if((usr_auth_data.paired_flag==0)&&(_usr_module_cfg.zhengdong_kaiji==0)) - { - sys_enter_soft_poweroff(NULL); - } - else - { - _usr_module_cfg.power_on_flag=0; - _usr_module_cfg.local_moto_mode=0; - usr_clear_up(); - usr_le_notify_data(); - } + if (_usr_module_cfg.power_on_flag == 0) { + _usr_module_cfg.power_on_flag = 1; + usr_var.usr_can_pair = 1; + } else { + usr_var.usr_can_pair = 1; } } - if(usr_var.usr_can_pair) - { - if(goto_poweroff_cnt==(POWER_OFF_CNT*3)) - { - usr_var.usr_can_pair=0; - //goto_poweroff_cnt=0; + if (usr_var.usr_can_pair) { + if (goto_poweroff_cnt == (POWER_OFF_CNT * 3)) { + usr_var.usr_can_pair = 0; usr_goto_pair_mode(); } } } break; case KEY_POWEROFF_HOLD_UP: - if((usr_var.usr_can_pair)&&(goto_poweroff_cnt<(POWER_OFF_CNT*3))) - { - usr_clear_up(); - _usr_module_cfg.local_moto_mode=2; - if(usr_get_conn_service()==0) - { - usr_ble_adv_init(); - } - else - { - usr_le_notify_data(); - } - } - usr_var.usr_can_pair=0; - goto_poweroff_cnt=0; - usr_var.usr_allow_to_sleep_cnt=12; + usr_var.usr_can_pair = 0; + goto_poweroff_cnt = 0; break; case KEY_MUSIC_PREV: //user_send_cmd_prepare(USER_CTRL_AVCTP_OPID_PREV, 0, NULL); diff --git a/apps/usr_le_code/Untitled b/apps/usr_le_code/Untitled deleted file mode 100644 index 90da4f1..0000000 --- a/apps/usr_le_code/Untitled +++ /dev/null @@ -1 +0,0 @@ -usr_goto_pair_mode \ No newline at end of file diff --git a/apps/usr_le_code/usr_le_adv.c b/apps/usr_le_code/usr_le_adv.c index a86f97a..fbe002c 100644 --- a/apps/usr_le_code/usr_le_adv.c +++ b/apps/usr_le_code/usr_le_adv.c @@ -1,248 +1,188 @@ +/****************************************************************************** + * @file usr_le_adv.c + * @brief BLE broadcast / pair / reconnect (USB-BLE bridge, cat-toy logic removed) + * @author cyWu <1917507415@qq.com> + * @date 2026-07-24 + * @version V1.0.0 + * @history + * - V1.0.0, 2026-07-24, cyWu, trim cat-toy deps, keep bind/reconn adv + ******************************************************************************/ #include "system/includes.h" #include "app_config.h" -#include "asm/pwm_led.h" -#include "tone_player.h" -#include "ui_manage.h" #include "app_main.h" #include "app_task.h" -#include "asm/charge.h" -#include "app_power_manage.h" -#include "app_charge.h" #include "user_cfg.h" - -#include "audio.h" #include "vm.h" #include "bleproto.h" #include "bleproto_api.h" -#include "bleproto.h" #define LOG_TAG_CONST APP #define LOG_TAG "[APP]" #define LOG_ERROR_ENABLE #define LOG_DEBUG_ENABLE #define LOG_INFO_ENABLE -/* #define LOG_DUMP_ENABLE */ #define LOG_CLI_ENABLE #include "debug.h" -extern u8 muti_adv_data[31];//={0}; +extern u8 muti_adv_data[31]; extern u8 muti_adv_data_len; - -extern u8 usr_get_full(); extern u16 usr_get_conn_service(); -extern int muti_make_set_adv_data(u8* data,u8 data_len); -extern void usr_clear_plan(); +extern int muti_make_set_adv_data(u8 *data, u8 data_len); extern void usr_reset_device_sta(); -extern u8 usr_get_ldoin_all(); +extern void usr_set_adv_interval(u16 val); +extern u16 usr_get_adv_interval(); +extern void ble_multi_trans_disconnect(void); +extern void ble_trans_module_enable(u8 flag); +extern u8 usr_get_ota_status(); +extern void usr_ota_exit(); +extern int muti_make_set_adv_data_updata(); void usr_ble_adv_updata(); +void usr_ble_adv_init(); -static int le_timer_handle=0; -static int le_timer_handle2=0; - - -extern void usr_led_w_out(u8 flag); -extern void usr_led_b_out(u8 flag); -extern u8 get_ldo5v_online_hw(void); -extern u8 usr_get_work_status(); -extern void usr_printf_sta(); -extern int muti_make_set_adv_data_updata(); +static int le_timer_handle = 0; void usr_get_pair_info() { - int ret = 0xffff; - ret = syscfg_read(CFG_USER_PAIR_INFO, (u8 *)&usr_auth_data, sizeof(usr_auth_data)); - if(ret<=0) - { - memset(&usr_auth_data,0x00,sizeof(usr_auth_data)); - usr_auth_data.paired_flag=0; + int ret = syscfg_read(CFG_USER_PAIR_INFO, (u8 *)&usr_auth_data, sizeof(usr_auth_data)); + if (ret <= 0) { + memset(&usr_auth_data, 0x00, sizeof(usr_auth_data)); + usr_auth_data.paired_flag = 0; syscfg_write(CFG_USER_PAIR_INFO, (u8 *)&usr_auth_data, sizeof(usr_auth_data)); } } + void usr_write_pair_info() { - usr_auth_data.paired_flag=1; + usr_auth_data.paired_flag = 1; syscfg_write(CFG_USER_PAIR_INFO, (u8 *)&usr_auth_data, sizeof(usr_auth_data)); } void usr_clear_pair_info() { printf("usr_clear_pair_info\n"); - memset(&usr_auth_data,0x00,sizeof(usr_auth_data)); - usr_auth_data.paired_flag=0; + memset(&usr_auth_data, 0x00, sizeof(usr_auth_data)); + usr_auth_data.paired_flag = 0; syscfg_write(CFG_USER_PAIR_INFO, (u8 *)&usr_auth_data, sizeof(usr_auth_data)); - usr_clear_plan(); - if(_usr_module_cfg.power_on_flag)sys_timeout_add(NULL,cpu_reset,600); - else sys_enter_soft_poweroff(NULL); + if (_usr_module_cfg.power_on_flag) { + sys_timeout_add(NULL, cpu_reset, 600); + } else { + sys_enter_soft_poweroff(NULL); + } } + void usr_clear_pair_info_noreset() { printf("usr_clear_pair_info2\n"); - memset(&usr_auth_data,0x00,sizeof(usr_auth_data)); - usr_auth_data.paired_flag=0; + memset(&usr_auth_data, 0x00, sizeof(usr_auth_data)); + usr_auth_data.paired_flag = 0; syscfg_write(CFG_USER_PAIR_INFO, (u8 *)&usr_auth_data, sizeof(usr_auth_data)); - usr_clear_plan(); usr_reset_device_sta(); - //sys_timeout_add(NULL,cpu_reset,600); } -extern void usr_set_adv_interval(u16 val); -extern u16 usr_get_adv_interval(); -extern void ble_multi_trans_disconnect(void); -void usr_ble_adv_init(); + void usr_goto_pair_mode() { ble_multi_trans_disconnect(); usr_clear_pair_info_noreset(); - usr_var.usr_goto_pair=1; - _usr_module_cfg.local_moto_mode=3; + usr_var.usr_goto_pair = 1; os_time_dly(5); usr_ble_adv_init(); } - void usr_ble_adv_init() { - int8_t txpower = 0; - uint8_t manucode[BLEPROTO_ADV_TLV_LENGTH_MANUCODE] = { 0 }; + int8_t txpower = 0; + uint8_t manucode[BLEPROTO_ADV_TLV_LENGTH_MANUCODE] = {0}; uint8_t prodcode[BLEPROTO_ADV_TLV_LENGTH_PRODCODE] = {'C', 'B', 'C', '0'}; - uint8_t gmac[6]={0}; - uint8_t pcode[6]={'P','I','C','B','C','0'}; + uint8_t gmac[6] = {0}; + uint8_t pcode[6] = {'P', 'I', 'C', 'B', 'C', '0'}; + usr_set_adv_interval(80); - if(usr_var.usr_ota_succ_flag)return; - //muti_adv_data - if(usr_var.usr_goto_pair) - { - usr_clear_pair_info_noreset(); - printf("power on force to par flag= %d\n",usr_auth_data.paired_flag); - //if(usr_auth_data.paired_flag==0) - { - muti_adv_data_len=bleproto_advdata_encode4bind(muti_adv_data,txpower,manucode,pcode,prodcode); - } - usr_var.usr_adv_flag=1; + if (usr_var.usr_ota_succ_flag) { + return; } - else - { + + if (usr_var.usr_goto_pair) { + usr_clear_pair_info_noreset(); + printf("power on force to pair flag= %d\n", usr_auth_data.paired_flag); + muti_adv_data_len = bleproto_advdata_encode4bind(muti_adv_data, txpower, manucode, pcode, prodcode); + usr_var.usr_adv_flag = 1; + } else { usr_get_pair_info(); - if(usr_auth_data.paired_flag==0) - { - muti_adv_data_len=bleproto_advdata_encode4bind(muti_adv_data,txpower,manucode,pcode,prodcode); - usr_var.usr_adv_flag=0; - } - else - { - memcpy(gmac,usr_auth_data.gwmac,6); - muti_adv_data_len=bleproto_advdata_encode4reconn(muti_adv_data,txpower,gmac,manucode,pcode,prodcode); - usr_var.usr_adv_flag=1; + if (usr_auth_data.paired_flag == 0) { + muti_adv_data_len = bleproto_advdata_encode4bind(muti_adv_data, txpower, manucode, pcode, prodcode); + usr_var.usr_adv_flag = 0; + } else { + memcpy(gmac, usr_auth_data.gwmac, 6); + muti_adv_data_len = bleproto_advdata_encode4reconn(muti_adv_data, txpower, gmac, manucode, pcode, prodcode); + usr_var.usr_adv_flag = 1; } } usr_ble_adv_updata(); - if(le_timer_handle==0)le_timer_handle = sys_timer_add(NULL, usr_ble_adv_updata, 500); - //user_send_cmd_prepare(USER_CTRL_ALL_SNIFF_EXIT, 0, NULL); + if (le_timer_handle == 0) { + le_timer_handle = sys_timer_add(NULL, usr_ble_adv_updata, 500); + } } u8 usr_get_pair_flag() { return usr_auth_data.paired_flag; } -/* -void usr_reconn_adv() -{ - int8_t txpower = 0; - uint8_t gmac[6]={0}; - uint8_t manucode[BLEPROTO_ADV_TLV_LENGTH_MANUCODE] = { 0 }; - uint8_t prodcode[BLEPROTO_ADV_TLV_LENGTH_PRODCODE] = {'C', 'B', 'F', 'D'}; - uint8_t pcode[6]={'P','C','B','F','D','0'}; - memcpy(gmac,usr_auth_data.gwmac,6); - muti_adv_data_len=bleproto_advdata_encode4reconn(muti_adv_data,txpower,gmac,manucode,pcode,prodcode); - usr_adv_flag=1; -}*/ -extern u16 get_vbat_level(void); -extern void ble_trans_module_enable(u8 flag); -extern u8 usr_get_ota_status(); void usr_ble_adv_updata() { - //printf("usr_ble_adv_updata\n"); - static u16 usr_goto_slow_adv=0; - if(usr_var.usr_adv_flag) - { + static u16 usr_goto_slow_adv = 0; + + if (usr_var.usr_adv_flag) { ble_trans_module_enable(0); - usr_var.usr_adv_flag=0; - muti_make_set_adv_data(muti_adv_data,muti_adv_data_len); + usr_var.usr_adv_flag = 0; + muti_make_set_adv_data(muti_adv_data, muti_adv_data_len); printf("###muti_adv_data = "); - printf_buf(muti_adv_data,muti_adv_data_len); + printf_buf(muti_adv_data, muti_adv_data_len); ble_trans_module_enable(1); } - if(usr_get_conn_service()==0) - { - if(usr_get_adv_interval()==80) - { - if((usr_var.usr_goto_pair==0)&&(usr_auth_data.paired_flag)) - { - if(usr_var.usr_ota_succ_flag==0) - { + if (usr_get_conn_service() == 0) { + if (usr_get_adv_interval() == 80) { + if ((usr_var.usr_goto_pair == 0) && (usr_auth_data.paired_flag)) { + if (usr_var.usr_ota_succ_flag == 0) { usr_goto_slow_adv++; - printf("usr_goto_slow_adv = %d\n",usr_goto_slow_adv); } - if(usr_goto_slow_adv>=120) - { - usr_goto_slow_adv=0; - usr_set_adv_interval(80*10); - usr_var.usr_adv_flag=1; + if (usr_goto_slow_adv >= 120) { + usr_goto_slow_adv = 0; + usr_set_adv_interval(80 * 10); + usr_var.usr_adv_flag = 1; } } + } else { + usr_goto_slow_adv = 0; } - else - { - usr_goto_slow_adv=0; - } - } - else - { - usr_goto_slow_adv=0; + } else { + usr_goto_slow_adv = 0; } - - if(usr_get_ota_status()==0) - { - if(usr_get_conn_service()==0) - { - if(usr_var.usr_ota_succ_flag==0)usr_ota_exit(); + if (usr_get_ota_status() == 0) { + if (usr_get_conn_service() == 0) { + if (usr_var.usr_ota_succ_flag == 0) { + usr_ota_exit(); + } } } - - } - void usr_ble_adv_updata_OTA() { - //printf("usr_ble_adv_updata\n"); - if(1) - { - ble_trans_module_enable(0); - usr_var.usr_adv_flag=0; + ble_trans_module_enable(0); + usr_var.usr_adv_flag = 0; - #if 1 - extern u8 usr_mac_addr[6]; - //u8 ble_mac[6]; - extern int le_controller_set_mac(void *addr); - //extern void lib_make_ble_address(u8 * ble_address, u8 * edr_address); - //bt_update_mac_addr(mac); - //lmp_hci_write_local_address(mac); - //bt_update_testbox_addr(mac); - //lib_make_ble_address(ble_mac, mac); - usr_mac_addr[0]=usr_mac_addr[0]+1; - le_controller_set_mac(usr_mac_addr); //修改BLEåœ°å€ + extern u8 usr_mac_addr[6]; + extern int le_controller_set_mac(void *addr); + usr_mac_addr[0] = usr_mac_addr[0] + 1; + le_controller_set_mac(usr_mac_addr); - #endif - - - muti_make_set_adv_data_updata(); - printf("###muti_adv_data = "); - printf_buf(muti_adv_data,muti_adv_data_len); - ble_trans_module_enable(1); - } + muti_make_set_adv_data_updata(); + printf("###muti_adv_data = "); + printf_buf(muti_adv_data, muti_adv_data_len); + ble_trans_module_enable(1); } diff --git a/apps/usr_le_code/usr_le_recieve.c b/apps/usr_le_code/usr_le_recieve.c index dd5dac4..4359e29 100644 --- a/apps/usr_le_code/usr_le_recieve.c +++ b/apps/usr_le_code/usr_le_recieve.c @@ -1,4 +1,4 @@ -#include "system/includes.h" +#include "system/includes.h" #include "app_config.h" #include "asm/pwm_led.h" #include "tone_player.h" @@ -29,7 +29,6 @@ #define FIRM_PACK_LEN 2048//128 -extern u8 usr_we_plan_table[170];//[17]; static u8 start_data[10]={0x55,0xAA,0xFE,0x61,0x06,0x00,0x00,0x00,0x00,0x00}; static u8 end_data[2]={0xaa,0x55}; static int encode_len=0x00; @@ -39,34 +38,19 @@ static u8 ota_source_data[FIRM_PACK_LEN*2]={0}; extern u16 usr_get_conn_service(); -extern void usr_clear_up(); extern void ble_multi_trans_disconnect(void); extern void usr_ble_adv_updata_OTA(); -extern void usr_ble_send_data(u8* data,u16 len);///BLEå‘逿ޥå£ï¼ŒMTU 244 +extern void usr_ble_send_data(u8* data,u16 len); extern void usr_write_pair_info(); extern void usr_clear_pair_info(); -extern void usr_write_plan(u8 write_num,u8*data); -extern void usr_read_plan(); -extern void usr_clear_plan(); -extern void usr_write_plan_to_vm(); -extern void usr_set_werishi(int cnt,u8 weishi_type); -extern void usr_set_led_sta(u8 flag); -extern void app_audio_volume_set(u8 value); -extern int dual_ota_app_data_deal(u32 msg, u8 *buf, u32 len); -extern void usr_write_time_flag(u8 falg); -extern u8 usr_get_time_flag(); -extern int uart_tr_send_data(u8 *data, u32 len); -extern void usr_set_data_time(int64_t timestampMs, int64_t timezoneOffset); extern void usr_set_device_default(); -extern void usr_intterupt_close(); +extern int dual_ota_app_data_deal(u32 msg, u8 *buf, u32 len); +extern int uart_tr_send_data(u8 *data, u32 len); void usr_ota_deal_task(); -void usr_le_notify_data(); void usr_data_ana(bleproto_appdata_desc_t *desc); void usr_do_action_code(int flag); -void usr_run_cmd_code(bleproto_runcmd_req_t* runcmd_par,u8 usr_msg_id); void usr_app_ota_init(); -void usr_data_notify_auto(); void usr_test_protocol(void); bleproto_authsetup_req_t usr_auth_data; @@ -75,59 +59,32 @@ usr_module_cfg_cache _usr_module_cfg_cache; void usr_read_device_sta() { - int ret = 0xff; - ret=syscfg_read(CFG_USER_DEVICE_STA, (u8 *)&_usr_module_cfg, sizeof(_usr_module_cfg)); - if(ret<=0) - { - _usr_module_cfg.local_moto_mode=1; - _usr_module_cfg.usr_dizhuo_mode=0; - _usr_module_cfg.usr_douban_mode=0; - _usr_module_cfg.power_on_flag =1; - _usr_module_cfg.zhengdong_kaiji=0; - _usr_module_cfg.wuraomoshi_onoff=0; + int ret = syscfg_read(CFG_USER_DEVICE_STA, (u8 *)&_usr_module_cfg, sizeof(_usr_module_cfg)); + if (ret <= 0) { + memset(&_usr_module_cfg, 0, sizeof(_usr_module_cfg)); + _usr_module_cfg.power_on_flag = 1; syscfg_write(CFG_USER_DEVICE_STA, (u8 *)&_usr_module_cfg, sizeof(_usr_module_cfg)); } - - - _usr_module_cfg.usr_dizhuo_mode=0; - _usr_module_cfg.usr_douban_mode=0; -// _usr_module_cfg.local_moto_mode=1; - - _usr_module_cfg.power_on_flag =1; - //memcpy(&_usr_module_cfg_cache,&_usr_module_cfg,sizeof(_usr_module_cfg)); - _usr_module_cfg_cache.local_moto_mode=0xff; - _usr_module_cfg_cache.usr_dizhuo_mode=0xff; - _usr_module_cfg_cache.usr_douban_mode=0xff; - _usr_module_cfg_cache.power_on_flag =0x01; + _usr_module_cfg.power_on_flag = 1; + memset(&_usr_module_cfg_cache, 0xff, sizeof(_usr_module_cfg_cache)); + _usr_module_cfg_cache.power_on_flag = 0x01; } void usr_reset_device_sta() { - int ret = 0xff; - _usr_module_cfg.local_moto_mode=1; - _usr_module_cfg.usr_dizhuo_mode=0; - _usr_module_cfg.usr_douban_mode=0; - _usr_module_cfg.power_on_flag =1; - _usr_module_cfg.zhengdong_kaiji=0; - _usr_module_cfg.wuraomoshi_onoff=0; - ret = syscfg_write(CFG_USER_DEVICE_STA, (u8 *)&_usr_module_cfg, sizeof(_usr_module_cfg)); - printf("############# ret = %d _usr_module_cfg.zhengdong_kaiji = %d\n",ret,_usr_module_cfg.zhengdong_kaiji); + memset(&_usr_module_cfg, 0, sizeof(_usr_module_cfg)); + _usr_module_cfg.power_on_flag = 1; + syscfg_write(CFG_USER_DEVICE_STA, (u8 *)&_usr_module_cfg, sizeof(_usr_module_cfg)); } - void usr_write_device_sta_vm() { - int ret = 0xff; - ret=syscfg_write(CFG_USER_DEVICE_STA, (u8 *)&_usr_module_cfg, sizeof(_usr_module_cfg)); - usr_le_notify_data(); - memcpy(&_usr_module_cfg_cache,&_usr_module_cfg,sizeof(_usr_module_cfg)); -//printf("usr_write_device_sta_vm\n"); + syscfg_write(CFG_USER_DEVICE_STA, (u8 *)&_usr_module_cfg, sizeof(_usr_module_cfg)); + memcpy(&_usr_module_cfg_cache, &_usr_module_cfg, sizeof(_usr_module_cfg)); } - void usr_write_device_sta() { -// io_ext_interrupt_close(0, IO_PORTA_01); usr_write_device_sta_vm(); } @@ -140,41 +97,32 @@ void usr_le_data_recieve(u8* data,u16 len)///BLEæ•°æ®æŽ¥æ”¶ int rc_result=0; - if(_usr_module_cfg.local_moto_mode==3)_usr_module_cfg.local_moto_mode=0; - memcpy(&rxbuf[usr_len],data,len); usr_len+=len; rc_result = bleproto_appdata_decode(rxbuf, usr_len, &desc); -// printf("rc_result_le## = %d\n",rc_result); if(rc_result < 0) { - // æŽ¥æ”¶åˆ°äº†éžæ³•的数æ®åŒ…ï¼Œæ— æ³•è§£æž usr_len=0; } else if(rc_result == 0) { - // 接收的数æ®ä¸å®Œæ•´ï¼Œç»§ç»­æŽ¥æ”¶æ•°æ® - + /* incomplete frame */ } - else //(rc_result > 0) + else { - // æ•°æ®è§£æžæˆåŠŸ usr_len=0; usr_data_ana(&desc); } - - //usr_ble_send_data(data,len); } #if 1 void usr_send_ble_sta(u8 flag) { - + (void)flag; } void usr_set_device_default() { - } void usr_data_ana(bleproto_appdata_desc_t *desc) @@ -192,8 +140,9 @@ void usr_data_ana(bleproto_appdata_desc_t *desc) encode_desc.header.encrypt = 0; encode_desc.header.serviceid = E_BLEPROTO_SERVICE_ID_DEVICEINFO; - - usr_set_data_time(desc->datast.deviceinfo_req.t,desc->datast.deviceinfo_req.gmtoff); + /* deviceinfo æ—¶é—´å­—æ®µå¿½ç•¥ï¼šæ¡¥æŽ¥æ¿æ—  RTC/计划业务 */ + (void)desc->datast.deviceinfo_req.t; + (void)desc->datast.deviceinfo_req.gmtoff; //deviceinfo rspåºåˆ—化 bleproto_deviceinfo_rsp_t *rsp = &encode_desc.datast.deviceinfo_rsp; { @@ -287,43 +236,29 @@ void usr_data_ana(bleproto_appdata_desc_t *desc) printf("2encode_len = %d\n",encode_len); } break; - case E_BLEPROTO_SERVICE_ID_RUNCMD: - // 设备处ç†ï¼Œå›žå¤å“应 - printf("E_BLEPROTO_SERVICE_ID_RUNCMD\n"); - - usr_run_cmd_code(&desc->datast.runcmd_req,desc->header.msgid); - break; case E_BLEPROTO_SERVICE_ID_DOACTION: printf("E_BLEPROTO_SERVICE_ID_DOACTION\n"); encode_desc.header.version = 0; encode_desc.header.datafmt = BLEPROTO_APPDATA_DATAFMT_JSON; encode_desc.header.msgtype = BLEPROTO_APPDATA_MSGTYPE_RSP; - encode_desc.header.msgid = desc->header.msgid;//这里的msg_id为上é¢è§£æžåˆ°çš„包的msg_id; + encode_desc.header.msgid = desc->header.msgid; encode_desc.header.encrypt = 0; encode_desc.header.serviceid = E_BLEPROTO_SERVICE_ID_DOACTION; - encode_desc.datast.doaction_rsp.errcode = 0; - bleproto_doaction_rsp_t *action_rsp = &encode_desc.datast.doaction_rsp; + encode_desc.datast.doaction_rsp.errcode = 0; { - action_rsp->errcode=0; - // 执行命令 - printf("action_run %d \n",desc->datast.doaction_req.action); - + bleproto_doaction_rsp_t *action_rsp = &encode_desc.datast.doaction_rsp; + action_rsp->errcode = 0; + printf("action_run %d \n", desc->datast.doaction_req.action); } encode_len = bleproto_appdata_encode(txbuf, sizeof(txbuf), sizeof(txbuf), &encode_desc); - if(encode_len > 0) { - printf("encode_len = %d\n",encode_len); - usr_ble_send_data(txbuf,encode_len); + if (encode_len > 0) { + usr_ble_send_data(txbuf, encode_len); usr_do_action_code(desc->datast.doaction_req.action); } - else - { - printf("2encode_len = %d\n",encode_len); - } break; case E_BLEPROTO_SERVICE_ID_OTANOTIFY: printf("E_BLEPROTO_SERVICE_ID_OTANOTIFY\n"); - _usr_module_cfg.local_moto_mode=3; encode_desc.header.version = 0; encode_desc.header.datafmt = BLEPROTO_APPDATA_DATAFMT_JSON; encode_desc.header.msgtype = BLEPROTO_APPDATA_MSGTYPE_RSP; @@ -558,234 +493,42 @@ void usr_ota_deal_task() #endif // 0 -void usr_run_cmd_code(bleproto_runcmd_req_t* runcmd_par,u8 usr_msg_id) -{ - printf("runcmd_par id = %d\n",runcmd_par->ycmd.cmd_id); - - - bleproto_appdata_desc_t encode_desc = { 0 }; - encode_desc.header.version = 0; - encode_desc.header.datafmt = BLEPROTO_APPDATA_DATAFMT_JSON; - encode_desc.header.msgtype = BLEPROTO_APPDATA_MSGTYPE_RSP; - encode_desc.header.msgid = usr_msg_id; - encode_desc.header.encrypt = 0; - encode_desc.header.serviceid = E_BLEPROTO_SERVICE_ID_RUNCMD; - - bleproto_runcmd_rsp_t *rsp = &encode_desc.datast.runcmd_rsp; - - switch(runcmd_par->ycmd.cmd_id) - { - case 202: - printf("runcmd_par->ycmd.arg_int32 0 = %d\n",runcmd_par->ycmd.arg_int32[0]); - rsp->ycmd.cmd_id = 110; - rsp->ycmd.arg_int32_count = 2; - rsp->ycmd.arg_string_count = 0; - rsp->ycmd.arg_bytes_count = 0; - /* - | 索引 | 类型 | æè¿° | å–值 | - | ---- | ----- | ---------- | ---------------- | - | 0 | int32 | 开关机控制 | 0:关机;1:开机 | - */ - if(runcmd_par->ycmd.arg_int32[0]==0)//关机 - { - _usr_module_cfg.power_on_flag=0; - usr_var.usr_intterupt_reinit_falg=1; - usr_intterupt_close(); - } - else //开机 - { - _usr_module_cfg.power_on_flag=1; - } - usr_clear_up(); - rsp->ycmd.arg_int32[0] = 202; - rsp->ycmd.arg_int32[1] = 0; - rsp->ycmd.t = usr_var.usr_cureent_utc; - - usr_var.usr_allow_to_sleep_cnt=8; - usr_write_device_sta(); - break; - case 203: -/* -| 索引 | 类型 | æè¿° | å–值 | -| ---- | ----- | ------------------ | ----------------------------------------------------------------- | -| 0 | int32 | è¿åŠ¨æ¨¡å¼ | 0:关闭内置模å¼ï¼›1-鸡血,2-佛系 | -| 1 | int32 | åº•åº§è½¬åŠ¨æ¨¡å¼ | 0:关闭;1:平稳;2:狂转 | -| 2 | int32 | é€—çŒ«æ£’æ‘‡åŠ¨æ¨¡å¼ | 0:关闭;1:自动; 2:转圈; 3:抖动; | -| 3 | int32 | é€—çŒ«æ£’æ‰‹åŠ¨å‚æ•° | 逗猫棒摇动模å¼ä¸º0时有效, 0:无效;1:手动正转一圈 ï¼›2:手动正转一圈 | -*/ - - usr_var.usr_allow_to_sleep_cnt=8; - _usr_module_cfg.local_moto_mode=runcmd_par->ycmd.arg_int32[0]; - _usr_module_cfg.usr_dizhuo_mode=runcmd_par->ycmd.arg_int32[1]; - _usr_module_cfg.usr_douban_mode=runcmd_par->ycmd.arg_int32[2]; - _usr_module_cfg.usr_doumaoshoudong=runcmd_par->ycmd.arg_int32[3]; - rsp->ycmd.cmd_id = 110; - rsp->ycmd.arg_int32_count = 2; - rsp->ycmd.arg_string_count = 0; - rsp->ycmd.arg_bytes_count = 0; - rsp->ycmd.arg_int32[0] = 203; - rsp->ycmd.arg_int32[1] = 0; - rsp->ycmd.t = usr_var.usr_cureent_utc; - - usr_clear_up(); - usr_write_device_sta(); - - break; - case 206:///éœ‡åŠ¨å¼€æœºå‚æ•°é…ç½® -/* -| 索引 | 类型 | æè¿° | å–值 | -| ---- | ------ | ------------------------------------------------------------ | ----------------------------- | -| 0 | int32 | 震动开机开关 | -1:忽略, 0:关闭;1ï¼šå¼€å¯ | -| 1 | int32 | 勿扰模å¼å¼€å…³ | -1:忽略, 0:关闭;1ï¼šå¼€å¯ | -| 0 | string | 周计划 + 开始时间点 + ç»“æŸæ—¶é—´ç‚¹
周计划:dddddd, - 从左到å³è¡¨ç¤º7个,分别表示周一到周日,1表示有效,0表示无效
- 时间点:hhmm, hhè¡¨ç¤ºå°æ—¶ï¼Œmm表示分钟
- 例如
0 - 0000001+1828+1930 表示æ¯å‘¨æ—¥é‡å¤+18:28开始+19:30结æŸ
- 1000001+0928+1930 表示æ¯å‘¨ä¸€å’Œå‘¨æ—¥é‡å¤+09:28开始+19:30结æŸ
- 1100000+1328+1930 表示æ¯å‘¨ä¸€å’Œå‘¨äºŒé‡å¤+13:28开始+19:30结æŸ
ddddddd+hhmm+hhmm | -*/ - - _usr_module_cfg.zhengdong_kaiji=runcmd_par->ycmd.arg_int32[0]; - _usr_module_cfg.wuraomoshi_onoff=runcmd_par->ycmd.arg_int32[1]; - printf("zhengdong_kaiji = %d wuraomoshi_onoff = %d\n",_usr_module_cfg.zhengdong_kaiji,_usr_module_cfg.wuraomoshi_onoff); - printf("arg_string_count = %d\n",runcmd_par->ycmd.arg_string_count); - //printf("string = %s\n",&rsp->ycmd.arg_string[0][0],17); - if(runcmd_par->ycmd.arg_string_count) - { - usr_clear_plan(); - for(u8 i=0;iycmd.arg_string_count;i++) - { - usr_write_plan(i,&runcmd_par->ycmd.arg_string[i][0]); - } - usr_write_plan_to_vm(); - usr_read_plan(); - } - usr_write_device_sta(); - rsp->ycmd.cmd_id = 110; - rsp->ycmd.arg_int32_count = 2; - rsp->ycmd.arg_bytes_count = 0; - rsp->ycmd.arg_int32[0] = 206; - rsp->ycmd.arg_int32[1] = 0; - rsp->ycmd.t = usr_var.usr_cureent_utc; - break; - case 207:///周计划查询 - rsp->ycmd.cmd_id = 110; - rsp->ycmd.arg_int32_count = 4; - rsp->ycmd.arg_bytes_count = 0; - rsp->ycmd.arg_string_count = usr_var.usr_plan_cnt; - rsp->ycmd.arg_int32[0] = 207; - rsp->ycmd.arg_int32[1] = 0; - rsp->ycmd.arg_int32[2] = _usr_module_cfg.zhengdong_kaiji; - rsp->ycmd.arg_int32[3] = _usr_module_cfg.wuraomoshi_onoff; - rsp->ycmd.t = usr_var.usr_cureent_utc; - for(u8 i=0;iycmd.arg_string[i][0],&usr_we_plan_table[i*17],17); - } - break; - case 600: - - /* - | 索引 | 类型 | æè¿° | å–值 | - | ---- | ----- | ---------------- | ------------------------------------------------- | - | 0 | int32 | cmdid | 600 | - | 1 | int32 | 返回值 | 0: 设备接å—命令æˆåŠŸ; éžé›¶: å‚è§å…·ä½“çš„å‘½ä»¤é”™è¯¯ä»£ç  | - | 2 | int32 | 当å‰ç”µé‡ | [1, 100]:百分比;0:ä¸ä½¿ç”¨ç”µæ± ä¾›ç”µ | - | 3 | int32 | 当å‰ç”µé‡æ˜¯å¦æ­£å¸¸ | 0:正常;1:电é‡è¿‡ä½Ž | - | 4 | int32 | å……ç”µçŠ¶æ€ | 0: 䏿”¯æŒå……电; 1:充电 2:未充电 | - | 5 | int32 | å¼€æœºçŠ¶æ€ | 0:关闭;1ï¼šå¼€å¯ | - | 6 | int32 | è¿åŠ¨æ¨¡å¼ | 0:关闭;1:鸡血;2:佛系 | - | 7 | int32 | åº•åº§è½¬åŠ¨æ¨¡å¼ | 0:关闭;1:平稳;2:狂转 | - | 8 | int32 | é€—çŒ«æ£’æ‘‡åŠ¨æ¨¡å¼ | 0:手动;1:自动;2:转圈;3:抖动 | - */ - - rsp->ycmd.cmd_id = 110; - rsp->ycmd.arg_int32_count = 9; - rsp->ycmd.arg_string_count = 0; - rsp->ycmd.arg_bytes_count = 0; - rsp->ycmd.arg_int32[0] = 600; - rsp->ycmd.arg_int32[1] = 0; //0:命令接收æˆåŠŸ - rsp->ycmd.arg_int32[2] = usr_var.usr_bat_level; // 电é‡ä¸ŠæŠ¥ - if(usr_var.usr_bat_level<30)rsp->ycmd.arg_int32[3] = 1; - else rsp->ycmd.arg_int32[3] = 0; // 当å‰ç”µé‡æ˜¯å¦æ­£å¸¸ - rsp->ycmd.arg_int32[4] = usr_var.usr_power_charge_flag; // å……ç”µçŠ¶æ€ - rsp->ycmd.arg_int32[5] = _usr_module_cfg.power_on_flag; // å¼€æœºçŠ¶æ€ - rsp->ycmd.arg_int32[6] = _usr_module_cfg.local_moto_mode; // è¿åŠ¨æ¨¡å¼ - rsp->ycmd.arg_int32[7] = _usr_module_cfg.usr_dizhuo_mode; // 底座è¿åŠ¨æ¨¡å¼ - rsp->ycmd.arg_int32[8] = _usr_module_cfg.usr_douban_mode; // é€—çŒ«æ£’æ‘‡åŠ¨æ¨¡å¼ - rsp->ycmd.t = usr_var.usr_cureent_utc; // UTC时间戳; - - memcpy(&_usr_module_cfg_cache,&_usr_module_cfg,sizeof(_usr_module_cfg)); - break; - default: - break; - } - - int encode_len = bleproto_appdata_encode( - /* txbuf */ txbuf, - /* size */ sizeof(txbuf), - /* packetlen */ sizeof(txbuf), - /* desc */ &encode_desc); - printf("encode_len = %d\n",encode_len); - if(encode_len > 0) - { - usr_ble_send_data(txbuf,encode_len); - } - else - { - - } - -} void usr_ota_process() { - static u8 cnt=0; - if(cnt==0) - { + static u8 cnt = 0; + if (cnt == 0) { ble_multi_trans_disconnect(); } - if(usr_get_conn_service()==0) - { + if (usr_get_conn_service() == 0) { cnt++; - if(cnt==2) - { + if (cnt == 2) { usr_ble_adv_updata_OTA(); } - if(cnt>=60) - { - cnt=0; + if (cnt >= 60) { + cnt = 0; cpu_reset(); } + } else { + cnt = 1; } - else - { - cnt=1; - } - } void usr_do_action_code(int flag) { - switch(flag) - { - case 0:///é‡å¯ + switch (flag) { + case 0: /* reboot */ cpu_reset(); break; - case 1:///指示-identify;收到命令设备ledé—ªçƒæˆ–者喇å­å‘音,指示设备存在 - // app_task_put_key_msg(KEY_IR_NUM_1, 0); - break; - case 2:///回å¤å‡ºåŽ‚è®¾ç½®-resetï¼›è“牙连接信æ¯ä¹Ÿéœ€è¦æ¸…除 + case 2: /* factory reset, clear pair */ usr_set_device_default(); usr_clear_pair_info(); break; - case 3:///清空é…ç½®-clear,ä¿ç•™è“ç‰™è¿žæŽ¥ä¿¡æ¯ + case 3: /* clear cfg, keep pair */ usr_set_device_default(); break; - case 100: - _usr_module_cfg.local_moto_mode=3; + case 100: /* enter OTA */ usr_app_ota_init(); break; default: @@ -795,256 +538,36 @@ void usr_do_action_code(int flag) void usr_app_ota_init() { - usr_var.usr_goto_updata=1; - if(usr_var.ota_timer==0) - { - usr_var.ota_timer=sys_timer_add(NULL,usr_ota_process,1000); + usr_var.usr_goto_updata = 1; + if (usr_var.ota_timer == 0) { + usr_var.ota_timer = sys_timer_add(NULL, usr_ota_process, 1000); } } - -void usr_le_notify_data() -{ -//设备状æ€å˜åŒ–å¯å‘ä¸»æŽ§è®¾å¤‡ä¸ŠæŠ¥æ•°æ® - if(usr_get_conn_service()==0)return; - printf("usr_le_notify_data cmdid1 = 100\n"); - // æµ‹è¯•æ•°æ® - bleproto_appdata_desc_t encode_desc = { 0 }; - encode_desc.header.version = 0; - encode_desc.header.datafmt = BLEPROTO_APPDATA_DATAFMT_JSON; - encode_desc.header.msgtype = BLEPROTO_APPDATA_MSGTYPE_REQ; - encode_desc.header.msgid = 1; - encode_desc.header.encrypt = 0; - encode_desc.header.serviceid = E_BLEPROTO_SERVICE_ID_REPORTCMD; - - // æ¯æ¬¡ä¸ŠæŠ¥éƒ½éœ€è¦å¡«å†™ä»¥ä¸‹æ‰€æœ‰å†…容 - bleproto_reportcmd_req_t *req = &encode_desc.datast.reportcmd_req; - { - /* - | 索引 | 类型 | æè¿° | å–值 | - | ---- | ----- | ---------------- | ----------------------------------------------------- | - | 0 | int32 | 当å‰ç”µé‡ | [1, 100]:百分比;0:ä¸ä½¿ç”¨ç”µæ± ä¾›ç”µï¼Œæ— å˜åŒ–填写888888 | - | 1 | int32 | 当å‰ç”µé‡æ˜¯å¦æ­£å¸¸ | 0:正常;1:电é‡è¿‡ä½Žï¼Œæ— å˜åŒ–填写888888 | - | 2 | int32 | å……ç”µçŠ¶æ€ | 0: 䏿”¯æŒå……电; 1:充电 2:未充电,无å˜åŒ–填写888888 | - | 3 | int32 | å¼€æœºçŠ¶æ€ | 0:关闭;1:开å¯ï¼Œæ— å˜åŒ–填写888888 | - | 4 | int32 | è¿åŠ¨æ¨¡å¼ | 0:关闭;1:鸡血;2:佛系,无å˜åŒ–填写888888 | - | 5 | int32 | åº•åº§è½¬åŠ¨æ¨¡å¼ | 0:关闭;1:平稳;2:狂转,无å˜åŒ–填写888888 | - | 6 | int32 | é€—çŒ«æ£’æ‘‡åŠ¨æ¨¡å¼ | 0:关闭;1:自动;2:转圈;3:抖动,无å˜åŒ–填写888888 | - | 7 | int32 | UTC时间戳 | å•ä½ç§’ | - */ - req->ycmd.cmd_id = 100; - - req->ycmd.arg_int32[0] = usr_var.usr_bat_level;// 电é‡ä¸ŠæŠ¥ - if(usr_var.usr_bat_level<30)req->ycmd.arg_int32[1] = 1; - else req->ycmd.arg_int32[1] = 0; // 当å‰ç”µé‡æ˜¯å¦æ­£å¸¸ - req->ycmd.arg_int32[2] = usr_var.usr_power_charge_flag;// å……ç”µçŠ¶æ€ - req->ycmd.arg_int32[3] = _usr_module_cfg.power_on_flag;// å¼€æœºçŠ¶æ€ - req->ycmd.arg_int32[4] = _usr_module_cfg.local_moto_mode; - req->ycmd.arg_int32[5] = _usr_module_cfg.usr_dizhuo_mode;// 底座è¿åŠ¨æ¨¡å¼ - req->ycmd.arg_int32[6] = _usr_module_cfg.usr_douban_mode;// 逗猫棒è¿åŠ¨æ¨¡å¼ - req->ycmd.arg_int32[7] = usr_var.usr_cureent_utc;// UTC时间戳 - - if(_usr_module_cfg_cache.power_on_flag==_usr_module_cfg.power_on_flag) - { - req->ycmd.arg_int32[3] = 888888; // è¿åŠ¨æ¨¡å¼ - } - if(_usr_module_cfg_cache.local_moto_mode==_usr_module_cfg.local_moto_mode) - { - req->ycmd.arg_int32[4] = 888888; // è¿åŠ¨æ¨¡å¼ - } - if(_usr_module_cfg_cache.usr_dizhuo_mode==_usr_module_cfg.usr_dizhuo_mode) - { - req->ycmd.arg_int32[5] = 888888; // 底座è¿åŠ¨æ¨¡å¼ - } - if(_usr_module_cfg_cache.usr_douban_mode==_usr_module_cfg.usr_douban_mode) - { - req->ycmd.arg_int32[6] = 888888; // 逗猫棒è¿åŠ¨æ¨¡å¼ - } - req->ycmd.arg_int32_count = 8; - req->ycmd.t = usr_var.usr_cureent_utc; - - - memcpy(&_usr_module_cfg_cache,&_usr_module_cfg,sizeof(_usr_module_cfg)); - } - - int encode_len = bleproto_appdata_encode( - /* txbuf */ txbuf, - /* size */ sizeof(txbuf), - /* packetlen */ sizeof(txbuf), - /* desc */ &encode_desc); - printf("encode_len = %d\n",encode_len); - if(encode_len > 0) - { - usr_ble_send_data(txbuf,encode_len); - } - else - { - - } - -} - - -void usr_le_120_notify_data() -{ -//设备状æ€å˜åŒ–å¯å‘ä¸»æŽ§è®¾å¤‡ä¸ŠæŠ¥æ•°æ® - if(usr_get_conn_service()==0)return; - printf("usr_le_notify_data cmdid1 = 120\n"); - // æµ‹è¯•æ•°æ® - bleproto_appdata_desc_t encode_desc = { 0 }; - encode_desc.header.version = 0; - encode_desc.header.datafmt = BLEPROTO_APPDATA_DATAFMT_JSON; - encode_desc.header.msgtype = BLEPROTO_APPDATA_MSGTYPE_REQ; - encode_desc.header.msgid = 1; - encode_desc.header.encrypt = 0; - encode_desc.header.serviceid = E_BLEPROTO_SERVICE_ID_REPORTCMD; - - // æ¯æ¬¡ä¸ŠæŠ¥éƒ½éœ€è¦å¡«å†™ä»¥ä¸‹æ‰€æœ‰å†…容 - bleproto_reportcmd_req_t *req = &encode_desc.datast.reportcmd_req; - { - /* - > 告警上报 (*设备主动上报*) - * 命令ID: 120 - * 傿•°è¯´æ˜Ž - - | 索引 | 类型 | æè¿° | å–值 | - | ---- | ----- | ---------- | ----------------------------------------------------- | - | 0 | int32 | 告警事件id | 5000:硬件故障;5001ï¼šä½Žç”µé‡æŠ¥è­¦; 5010:震动开机报警 | - | 1 | int32 | UTC时间戳 | 事件触å‘UTCS时间戳å•ä½ç§’ | - */ - req->ycmd.cmd_id = 120; - - req->ycmd.arg_int32[0] = 5010;// - req->ycmd.arg_int32[1] = usr_var.usr_cureent_utc;// UTC时间戳 - - req->ycmd.arg_int32_count = 2; - req->ycmd.t = usr_var.usr_cureent_utc; - } - - int encode_len = bleproto_appdata_encode( - /* txbuf */ txbuf, - /* size */ sizeof(txbuf), - /* packetlen */ sizeof(txbuf), - /* desc */ &encode_desc); - printf("encode_len = %d\n",encode_len); - if(encode_len > 0) - { - usr_ble_send_data(txbuf,encode_len); - } - else - { - - } - -} - - -void usr_le_low_power_notify() -{ -//设备状æ€å˜åŒ–å¯å‘ä¸»æŽ§è®¾å¤‡ä¸ŠæŠ¥æ•°æ® - if(usr_get_conn_service()==0)return; - printf("usr_le_notify_data cmdid2 = 120\n"); - // æµ‹è¯•æ•°æ® - bleproto_appdata_desc_t encode_desc = { 0 }; - encode_desc.header.version = 0; - encode_desc.header.datafmt = BLEPROTO_APPDATA_DATAFMT_JSON; - encode_desc.header.msgtype = BLEPROTO_APPDATA_MSGTYPE_REQ; - encode_desc.header.msgid = 1; - encode_desc.header.encrypt = 0; - encode_desc.header.serviceid = E_BLEPROTO_SERVICE_ID_REPORTCMD; - - // æ¯æ¬¡ä¸ŠæŠ¥éƒ½éœ€è¦å¡«å†™ä»¥ä¸‹æ‰€æœ‰å†…容 - bleproto_reportcmd_req_t *req = &encode_desc.datast.reportcmd_req; - { - /* - > 告警上报 (*设备主动上报*) - * 命令ID: 120 - * 傿•°è¯´æ˜Ž - - | 索引 | 类型 | æè¿° | å–值 | - | ---- | ----- | ---------- | ----------------------------------------------------- | - | 0 | int32 | 告警事件id | 5000:硬件故障;5001ï¼šä½Žç”µé‡æŠ¥è­¦; 5010:震动开机报警 | - | 1 | int32 | UTC时间戳 | 事件触å‘UTCS时间戳å•ä½ç§’ | - - */ - - req->ycmd.cmd_id = 120; - - req->ycmd.arg_int32[0] = 5001;// 电é‡ä¸ŠæŠ¥ - req->ycmd.arg_int32[1] = usr_var.usr_cureent_utc;// UTC时间戳 - - req->ycmd.arg_int32_count = 2; - req->ycmd.t = usr_var.usr_cureent_utc; - - } - - int encode_len = bleproto_appdata_encode( - /* txbuf */ txbuf, - /* size */ sizeof(txbuf), - /* packetlen */ sizeof(txbuf), - /* desc */ &encode_desc); - printf("encode_len = %d\n",encode_len); - if(encode_len > 0) - { - usr_ble_send_data(txbuf,encode_len); - } - else - { - - } - -} - - - -u8 usr_weishi_type=0; -u8 usr_weishi_index=0; -u8 usr_weishi_fenshu=1; - -void usr_weishi_notify() -{ - -} - - - -void usr_data_notify_auto() -{ - // sys_timeout_add(NULL,usr_le_notify_data,500); - // usr_le_notify_data(); -} - void usr_test_protocol(void) { - bleproto_appdata_desc_t encode_desc = { 0 }; - encode_desc.header.version = 0; - encode_desc.header.datafmt = BLEPROTO_APPDATA_DATAFMT_JSON; - encode_desc.header.msgtype = BLEPROTO_APPDATA_MSGTYPE_REQ; - encode_desc.header.msgid = 1; - encode_desc.header.encrypt = 0; - encode_desc.header.serviceid = E_BLEPROTO_SERVICE_ID_REPORTCMD_V2; + bleproto_appdata_desc_t encode_desc = {0}; + encode_desc.header.version = 0; + encode_desc.header.datafmt = BLEPROTO_APPDATA_DATAFMT_JSON; + encode_desc.header.msgtype = BLEPROTO_APPDATA_MSGTYPE_REQ; + encode_desc.header.msgid = 1; + encode_desc.header.encrypt = 0; + encode_desc.header.serviceid = E_BLEPROTO_SERVICE_ID_REPORTCMD_V2; ble_proto_packet_t *pkt = &encode_desc.datast.runcmd_v2_req; - uint8_t test_data[9] = {0x55,0xAA,0x00,0x05,0x07,0x00,0x01,0x01,0x0E}; + uint8_t test_data[9] = {0x55, 0xAA, 0x00, 0x05, 0x07, 0x00, 0x01, 0x01, 0x0E}; pkt->cmd = 100; pkt->reserved = 0; pkt->gateway_int_cnt = 0; pkt->device_int_len = 0; pkt->device_str_len = 0; pkt->device_bytes_len = 9; - pkt->bytes_data = (uint8_t*)test_data; + pkt->bytes_data = (uint8_t *)test_data; - int encode_len = bleproto_appdata_encode( - /* txbuf */ txbuf, - /* size */ sizeof(txbuf), - /* packetlen */ sizeof(txbuf), - /* desc */ &encode_desc); - printf("encode_len = %d\n",encode_len); - if(encode_len > 0) - { - usr_ble_send_data(txbuf,encode_len); - printf("txbuf = "); - printf_buf(txbuf, encode_len); + int elen = bleproto_appdata_encode(txbuf, sizeof(txbuf), sizeof(txbuf), &encode_desc); + printf("encode_len = %d\n", elen); + if (elen > 0) { + usr_ble_send_data(txbuf, elen); + printf_buf(txbuf, elen); } } - diff --git a/apps/usr_moto/usr_moto_work.c b/apps/usr_moto/usr_moto_work.c deleted file mode 100644 index 05d52a6..0000000 --- a/apps/usr_moto/usr_moto_work.c +++ /dev/null @@ -1,609 +0,0 @@ -#include "system/includes.h" -#include "app_config.h" -#include "asm/pwm_led.h" -#include "tone_player.h" -#include "ui_manage.h" -#include "app_main.h" -#include "app_task.h" -#include "asm/charge.h" -#include "app_power_manage.h" -#include "app_charge.h" -#include "user_cfg.h" -#include "audio.h" -#include "vm.h" -#include "sys_time.h" - -extern void usr_set_up_moto(u8 dir,u16 duty); -extern void usr_set_down_moto(u8 dir,u16 duty); -extern void io_ext_interrupt_test(void); -extern void usr_intterupt_close(); -extern void usr_le_120_notify_data(); -extern void usr_write_device_sta(); -extern void usr_pwm_reinit(); - -void usr_moto_main(); -void usr_moto_timer_init() -{ - usr_var.usr_intterupt_reinit_falg=1; - usr_var.usr_auto_off_cnt=0; - io_ext_interrupt_test(); - usr_intterupt_close(); - _usr_module_cfg.power_on_flag=1; -} - -#define HIG_DUTY 90 -#define LOW_DUTY 50 -#define OFF_DUTY 0 - -#define DIR_L 1 -#define DIR_R 2 -#define DIR_F 0 - - -/* -// 模å¼åˆ‡æ¢ä¸­æ–­æœåŠ¡å‡½æ•° -void modeSwitchISR() interrupt 0 { - modeDirection = !modeDirection; // åˆ‡æ¢æ–¹å‘ - while(!MODE_SWITCH); // 等待按键释放 -} -*/ - - -// å®šä¹‰æ¨¡å¼æžšä¸¾ -typedef enum { - MODE_1, - MODE_2, - MODE_3, - MODE_COUNT -} MotorMode; - -// å®šä¹‰çŠ¶æ€æžšä¸¾ -typedef enum { - STATE_IDLE, - STATE_FORWARD, - STATE_REVERSE, - STATE_STOP -} MotorState; - -// 全局å˜é‡ -MotorMode currentMode = MODE_1; -u8 modeDirection = 1; // 1为正åºï¼Œ0为ååº -MotorState currentState = STATE_IDLE; -unsigned int timerCount = 0; -unsigned int stepCount = 0; -// 马达正转 -void motorForward() { - usr_set_up_moto(2,LOW_DUTY); - currentState = STATE_FORWARD; -} - -// 马达å转 -void motorReverse() { - usr_set_up_moto(1,LOW_DUTY); - currentState = STATE_REVERSE; -} - -// é©¬è¾¾åœæ­¢ -void motorStop() { - usr_set_up_moto(0,OFF_DUTY); - currentState = STATE_STOP; -} - - -void usr_up_moto_mode() -{ - if((_usr_module_cfg.local_moto_mode==1)||(_usr_module_cfg.local_moto_mode==2)) - { - timerCount++; - // 模å¼1:正转3ç§’(6个周期),å转3ç§’(6个周期) - if(currentMode == MODE_1) { - if(timerCount <= 6) { - motorForward(); - } else if(timerCount <= 12) { - motorReverse(); - } else { - timerCount = 0; - // 切æ¢åˆ°ä¸‹ä¸€ä¸ªæ¨¡å¼ - if(modeDirection) { - currentMode = (currentMode + 1) % MODE_COUNT; - } else { - currentMode = (currentMode == 0) ? MODE_COUNT - 1 : currentMode - 1; - } - } - } - // 模å¼2:正转1ç§’(2个周期)åœ1ç§’(2个周期)ï¼Œå†æ­£1ç§’åœ1秒,å转1ç§’åœ1ç§’ï¼Œå†æ­£è½¬1ç§’åœ1ç§’ - else if(currentMode == MODE_2) { - switch(stepCount) { - case 0: case 1: // 正转1ç§’ - motorForward(); - if(timerCount % 2 == 0) stepCount++; - break; - case 2: case 3: // åœæ­¢1ç§’ - motorStop(); - if(timerCount % 2 == 0) stepCount++; - break; - case 4: case 5: // 正转1ç§’ - motorForward(); - if(timerCount % 2 == 0) stepCount++; - break; - case 6: case 7: // åœæ­¢1ç§’ - motorStop(); - if(timerCount % 2 == 0) stepCount++; - break; - case 8: case 9: // å转1ç§’ - motorReverse(); - if(timerCount % 2 == 0) stepCount++; - break; - case 10: case 11: // åœæ­¢1ç§’ - motorStop(); - if(timerCount % 2 == 0) stepCount++; - break; - case 12: case 13: // 正转1ç§’ - motorForward(); - if(timerCount % 2 == 0) stepCount++; - break; - case 14: case 15: // åœæ­¢1ç§’ - motorStop(); - if(timerCount % 2 == 0) { - stepCount = 0; - timerCount = 0; - // 切æ¢åˆ°ä¸‹ä¸€ä¸ªæ¨¡å¼ - if(modeDirection) { - currentMode = (currentMode + 1) % MODE_COUNT; - } else { - currentMode = (currentMode == 0) ? MODE_COUNT - 1 : currentMode - 1; - } - } - break; - } - } - // 模å¼3:连续4æ¬¡ï¼Œæ¯æ¬¡è½¬500ms(1个周期)åœ1ç§’(2个周期) - else if(currentMode == MODE_3) { - if(stepCount < 8) { // 总共8个步骤(4次转åœï¼‰ - if(stepCount % 2 == 0) { // 奇数步骤:转500ms - motorForward(); - } else { // å¶æ•°æ­¥éª¤ï¼šåœ1ç§’ - motorStop(); - } - stepCount++; - } else { - stepCount = 0; - timerCount = 0; - // 切æ¢åˆ°ä¸‹ä¸€ä¸ªæ¨¡å¼ - if(modeDirection) { - currentMode = (currentMode + 1) % MODE_COUNT; - } else { - currentMode = (currentMode == 0) ? MODE_COUNT - 1 : currentMode - 1; - } - } - } - - usr_var.usr_auto_off_cnt++; - if(usr_var.usr_auto_off_cnt>=1200) - { - usr_var.usr_auto_off_cnt=0; - _usr_module_cfg.local_moto_mode=0; - //_usr_module_cfg.power_on_flag=0; - } - } - else - { - //if(_usr_module_cfg.local_moto_mode==0) - //{ - usr_var.usr_auto_off_cnt=0; - //} - //else - //{ - - //} - } -} - - - -void usr_up_moto_mode2() -{ - timerCount++; - // 模å¼1:正转3ç§’(6个周期),å转3ç§’(6个周期) - if(currentMode == MODE_1) { - if(timerCount <= 6) { - motorForward(); - } else if(timerCount <= 12) { - motorReverse(); - } else { - timerCount = 0; - // 切æ¢åˆ°ä¸‹ä¸€ä¸ªæ¨¡å¼ - if(modeDirection) { - currentMode = (currentMode + 1) % MODE_COUNT; - } else { - currentMode = (currentMode == 0) ? MODE_COUNT - 1 : currentMode - 1; - } - } - } - // 模å¼2:正转1ç§’(2个周期)åœ1ç§’(2个周期)ï¼Œå†æ­£1ç§’åœ1秒,å转1ç§’åœ1ç§’ï¼Œå†æ­£è½¬1ç§’åœ1ç§’ - else if(currentMode == MODE_2) { - switch(stepCount) { - case 0: case 1: // 正转1ç§’ - motorForward(); - if(timerCount % 2 == 0) stepCount++; - break; - case 2: case 3: // åœæ­¢1ç§’ - motorStop(); - if(timerCount % 2 == 0) stepCount++; - break; - case 4: case 5: // 正转1ç§’ - motorForward(); - if(timerCount % 2 == 0) stepCount++; - break; - case 6: case 7: // åœæ­¢1ç§’ - motorStop(); - if(timerCount % 2 == 0) stepCount++; - break; - case 8: case 9: // å转1ç§’ - motorReverse(); - if(timerCount % 2 == 0) stepCount++; - break; - case 10: case 11: // åœæ­¢1ç§’ - motorStop(); - if(timerCount % 2 == 0) stepCount++; - break; - case 12: case 13: // 正转1ç§’ - motorForward(); - if(timerCount % 2 == 0) stepCount++; - break; - case 14: case 15: // åœæ­¢1ç§’ - motorStop(); - if(timerCount % 2 == 0) { - stepCount = 0; - timerCount = 0; - // 切æ¢åˆ°ä¸‹ä¸€ä¸ªæ¨¡å¼ - if(modeDirection) { - currentMode = (currentMode + 1) % MODE_COUNT; - } else { - currentMode = (currentMode == 0) ? MODE_COUNT - 1 : currentMode - 1; - } - } - break; - } - } - // 模å¼3:连续4æ¬¡ï¼Œæ¯æ¬¡è½¬500ms(1个周期)åœ1ç§’(2个周期) - else if(currentMode == MODE_3) { - if(stepCount < 8) { // 总共8个步骤(4次转åœï¼‰ - if(stepCount % 2 == 0) { // 奇数步骤:转500ms - motorForward(); - } else { // å¶æ•°æ­¥éª¤ï¼šåœ1ç§’ - motorStop(); - } - stepCount++; - } else { - stepCount = 0; - timerCount = 0; - // 切æ¢åˆ°ä¸‹ä¸€ä¸ªæ¨¡å¼ - if(modeDirection) { - currentMode = (currentMode + 1) % MODE_COUNT; - } else { - currentMode = (currentMode == 0) ? MODE_COUNT - 1 : currentMode - 1; - } - } - } - - if((_usr_module_cfg.local_moto_mode>0)&&(_usr_module_cfg.local_moto_mode<3))usr_var.usr_auto_off_cnt++; - if(usr_var.usr_auto_off_cnt>=1200) - { - usr_var.usr_auto_off_cnt=0; - usr_var.usr_allow_to_sleep_cnt=6; - _usr_module_cfg.local_moto_mode=0; - //_usr_module_cfg.power_on_flag=0; - //sys_timeout_add(NULL,usr_le_120_notify_data,100); - sys_timeout_add(NULL,usr_write_device_sta,600); - } -} -void usr_clear_up() -{ - timerCount = 0; - stepCount = 0; -} - - -void usr_clear_moto() -{ - _usr_module_cfg.local_moto_mode=0; - _usr_module_cfg.usr_dizhuo_mode=0; - _usr_module_cfg.usr_douban_mode=0; - _usr_module_cfg.usr_doumaoshoudong=0; -} - -u8 usr_get_work_status() -{ - if((_usr_module_cfg.local_moto_mode==0)&&\ - (_usr_module_cfg.usr_dizhuo_mode==0)&&\ - (_usr_module_cfg.usr_douban_mode==0)&&\ - (_usr_module_cfg.usr_doumaoshoudong==0)) - { - return 0; - } - - return 1; -} - -u8 usr_allow_to_sleep() -{ - if((usr_get_work_status()==0)&&(usr_var.usr_power_charge_flag==2)) - { - if(usr_var.usr_goto_pair==0) - { - if((_usr_module_cfg.local_moto_mode==0)||(_usr_module_cfg.local_moto_mode==3)) - { - return 1; - } - else - { - return 0; - } - } - else - { - return 0; - } - } - return 0; -} - -static u8 usr_work_idle_query(void) -{ - if(usr_var.usr_allow_to_sleep_cnt)return 0; - if((_usr_module_cfg.power_on_flag==0)&&(usr_var.usr_power_charge_flag==2)) - { - return 1; - } - - if(usr_allow_to_sleep()) - { - return 1; - } - else - { - return 0; - } -} -REGISTER_LP_TARGET(usr_work_lp_target) = { - .name = "usr_work_lp", - .is_idle = usr_work_idle_query, -}; - -void usr_printf_sta() -{ - //printf("local_moto %d usr_dizhuo %d usr_douban %d usr_shoudong%d charge_flag %d usr_var.usr_goto_pair %d\n",_usr_module_cfg.local_moto_mode,_usr_module_cfg.usr_dizhuo_mode,_usr_module_cfg.usr_douban_mode,_usr_module_cfg.usr_doumaoshoudong,usr_var.usr_power_charge_flag,usr_var.usr_goto_pair); -} - -void usr_moto_main() -{ - static u8 down_cycle_cnt=0; - static u8 up_cycle_cnt=0; - static u8 up_dir=1; - //printf("usr_moto_main\n"); - usr_printf_sta(); - if(usr_var.usr_allow_to_sleep_cnt)usr_var.usr_allow_to_sleep_cnt--; - if(usr_var.usr_power_charge_flag==1) - { - //_usr_module_cfg.local_moto_mode=3; - usr_set_up_moto(0,DIR_F); - usr_set_down_moto(0,DIR_F); - return; - } - if(_usr_module_cfg.power_on_flag==0) - { - usr_var.usr_auto_off_cnt=0; - usr_set_up_moto(0,DIR_F); - usr_set_down_moto(0,DIR_F); - return; - } - - if(usr_var.usr_goto_pair) - { - _usr_module_cfg.local_moto_mode=0x03; - usr_var.usr_auto_off_cnt=0; - usr_set_up_moto(0,DIR_F); - usr_set_down_moto(0,DIR_F); - return; - } - switch(_usr_module_cfg.local_moto_mode) - { - case 0x00:///关闭 - if(_usr_module_cfg.power_on_flag==0) - { - usr_var.usr_auto_off_cnt=0; - usr_set_up_moto(0,DIR_F); - usr_set_down_moto(0,DIR_F); - } - else - { - switch(_usr_module_cfg.usr_dizhuo_mode)///0:关闭;1:平稳;2:狂转 - { - case 0x01:///平稳 - usr_pwm_reinit(); - if(down_cycle_cnt<=3) - { - usr_set_down_moto(1,LOW_DUTY-10); - } - else if(down_cycle_cnt==4) - { - usr_set_down_moto(0,OFF_DUTY); - } - else - { - usr_set_down_moto(2,LOW_DUTY-10); - } - down_cycle_cnt++; - if(down_cycle_cnt>8) - { - down_cycle_cnt=0; - usr_set_down_moto(0,DIR_F); - } - break; - case 0x02:///狂转 - usr_pwm_reinit(); - if(down_cycle_cnt<=5) - { - usr_set_down_moto(1,HIG_DUTY); - } - else if(down_cycle_cnt==6) - { - usr_set_down_moto(0,OFF_DUTY); - } - else - { - usr_set_down_moto(2,HIG_DUTY); - } - down_cycle_cnt++; - // printf("down_cycle_cnt = %d\n",down_cycle_cnt); - if(down_cycle_cnt>12) - { - down_cycle_cnt=0; - usr_set_down_moto(0,DIR_F); - } - break; - default: - usr_set_down_moto(0,OFF_DUTY); - break; - } - - if(_usr_module_cfg.usr_douban_mode==0) - { - if(_usr_module_cfg.usr_doumaoshoudong==0) - { - usr_set_up_moto(0,DIR_F); - } - else - { - usr_pwm_reinit(); - usr_set_up_moto(_usr_module_cfg.usr_doumaoshoudong,LOW_DUTY+10); - up_cycle_cnt++; - if(up_cycle_cnt>=3) - { - _usr_module_cfg.usr_doumaoshoudong=0; - up_cycle_cnt=0; - } - } - } - else - { - //up_cycle_cnt=0; - switch(_usr_module_cfg.usr_douban_mode)//é€—çŒ«æ£’æ‘‡åŠ¨æ¨¡å¼ | 0:关闭;1:自动; 2:转圈; 3:抖动; - { - case 0x01: - usr_pwm_reinit(); - up_cycle_cnt=0; - usr_up_moto_mode2(); - // putchar('1'); - break; - case 0x02: - usr_pwm_reinit(); - usr_clear_up(); - if(up_cycle_cnt<=10) - { - usr_set_up_moto(1,LOW_DUTY+20); - } - else if(up_cycle_cnt==11) - { - usr_set_up_moto(0,0); - } - else - { - usr_set_up_moto(2,LOW_DUTY+20); - } - up_cycle_cnt++; - if(up_cycle_cnt>22) - { - usr_set_up_moto(0,0); - up_cycle_cnt=0; - } - //printf("up_cycle_cnt = %d\n",up_cycle_cnt); - break; - case 0x03: - usr_pwm_reinit(); - usr_clear_up(); - up_cycle_cnt++; - if(up_dir==0)up_dir=1; - if((up_cycle_cnt%2)==0) - { - usr_set_up_moto(0,0); - } - else - { - usr_set_up_moto(up_dir,LOW_DUTY+10); - } - if(up_cycle_cnt>20) - { - up_cycle_cnt=0; - if(up_dir==1)up_dir=2; - else up_dir=1; - } - //putchar('3'); - break; - default: - //putchar('4'); - break; - } - } - } - break; - case 0x01:///打鸡血 - up_cycle_cnt=0; - usr_pwm_reinit(); - usr_up_moto_mode(); - if(down_cycle_cnt<=5) - { - usr_set_down_moto(1,HIG_DUTY); - } - else if(down_cycle_cnt==6) - { - usr_set_down_moto(0,DIR_F); - } - else - { - usr_set_down_moto(2,HIG_DUTY); - } - down_cycle_cnt++; - // printf("down_cycle_cnt = %d\n",down_cycle_cnt); - if(down_cycle_cnt>12) - { - down_cycle_cnt=0; - usr_set_down_moto(0,DIR_F); - } - break; - case 0x02:///佛系 - up_cycle_cnt=0; - usr_pwm_reinit(); - usr_up_moto_mode(); - if(down_cycle_cnt<=3) - { - usr_set_down_moto(1,LOW_DUTY-10); - } - else if(down_cycle_cnt==4) - { - usr_set_down_moto(0,DIR_F); - } - else - { - usr_set_down_moto(2,LOW_DUTY-10); - } - down_cycle_cnt++; - if(down_cycle_cnt>8) - { - down_cycle_cnt=0; - usr_set_down_moto(0,DIR_F); - } - break; - case 0x03:///é…对中 - up_cycle_cnt=0; - down_cycle_cnt=0; - usr_var.usr_auto_off_cnt=0; - usr_set_up_moto(0,DIR_F); - usr_set_down_moto(0,DIR_F); - break; - } - - - //printf("down_cycle_cnt = %d local_moto_mode = %d\n ",down_cycle_cnt,local_moto_mode); -} diff --git a/apps/usr_rtc/alarm.h b/apps/usr_rtc/alarm.h deleted file mode 100644 index dbf487b..0000000 --- a/apps/usr_rtc/alarm.h +++ /dev/null @@ -1,103 +0,0 @@ -#ifndef __ALARM_H__ -#define __ALARM_H__ - - -//#define RTC_ALM_EN 1 -#include "typedef.h" -#include "system/includes.h" - -#pragma pack(1) -typedef struct _RTC_TIME { - u16 dYear; ///<年份 - u8 bMonth; ///<月份 - u8 bDay; ///<天数 - u8 bHour; ///<æ—¶ - u8 bMin; ///<分 - u8 bSec; ///<ç§’ - // u8 bWeekday; ///<星期几 -} RTC_TIME; -#pragma pack() - -typedef struct __ALARM__ { - u8 index; - u8 sw; - u8 mode; - struct sys_time time; - u8 name_len; -} T_ALARM, *PT_ALARM; - -typedef struct __alarm_vm__ { - u16 head; - T_ALARM alarm; -} T_ALARM_VM, *PT_ALARM_VM; - -enum { - E_ALARM_WRITE_VM_ERR = 0x00, - E_ALARM_WRITE_VM_SUCC, -}; - -enum { - E_ALARM_MODE_ONCE = 0x00, - E_ALARM_MODE_EVERY_DAY = 0x01, - E_ALARM_MODE_EVERY_MONDAY = 0x02, - E_ALARM_MODE_EVERY_TUESDAY = 0x04, - E_ALARM_MODE_EVERY_WEDNESDAY = 0x08, - E_ALARM_MODE_EVERY_THURSDAY = 0x10, - E_ALARM_MODE_EVERY_FRIDAY = 0x20, - E_ALARM_MODE_EVERY_SATURDAY = 0x40, - E_ALARM_MODE_EVERY_SUNDAY = 0x80, -}; - -enum { - - E_WEEK_MONDAY = 0x01, - E_WEEK_TUESDAY, - E_WEEK_WEDNESDAY, - E_WEEK_THURSDAY, - E_WEEK_FRIDAY, - E_WEEK_SATURDAY, - E_WEEK_SUNDAY, -}; - - -typedef enum { - TIME_MEMBER_YEAR = 0x0, - TIME_MEMBER_MONTH, - TIME_MEMBER_DAY, - TIME_MEMBER_HOUR, - TIME_MEMBER_MIN, - TIME_MEMBER_SEC, - TIME_MEMBER_MAX, -} TIME_MEMBER_ENUM; - - -enum { - E_SUCCESS = 0x00, - E_FAILURE, -}; - -/* macro */ -#define M_MAX_ALARM_NUMS 5 -#define M_MAX_ALARM_NAME_LEN 32 - -#define M_MAX_ALARM_INDEX (M_MAX_ALARM_NUMS-1) -#define M_MAX_ALARM_MODE (0xFE) - - -void alarm_init(); -u8 alarm_get_info(PT_ALARM p, u8 index); -void rtc_update_time_api(struct sys_time *time); -void alarm_ring_start(); -void alarm_active_flag_set(u8 flag); -u8 alarm_active_flag_get(void); -u8 rtc_calculate_week_val(struct sys_time *data_time); -void rtc_calculate_next_few_day(struct sys_time *data_time, u8 days); //未æ¥å‡ å¤©çš„æ—¥æœŸ -u16 month_for_day(u8 month, u16 year); -void *is_sys_time_online(); -void alarm_update_info_after_isr(void); -void alarm_event_handler(struct sys_event *event, void *priv); -u8 alarm_add(PT_ALARM p, u8 index); - -#endif //end of __ALARM_H__ - - diff --git a/apps/usr_rtc/alarm_api.c b/apps/usr_rtc/alarm_api.c deleted file mode 100644 index ded1968..0000000 --- a/apps/usr_rtc/alarm_api.c +++ /dev/null @@ -1,961 +0,0 @@ -#include "system/includes.h" -#include "system/timer.h" -#include "app_main.h" -#include "tone_player.h" -#include "app_task.h" -#include "alarm.h" -#include "app_config.h" -#if TCFG_APP_RTC_EN -#ifdef RTC_ALM_EN -/* #define ALARM_DEBUG_EN */ -#ifdef ALARM_DEBUG_EN -#define alarm_printf printf -#define alarm_putchar putchar -#define alarm_printf_buf put_buf -#else -#define alarm_printf(...) -#define alarm_putchar(...) -#define alarm_printf_buf(...) -#endif - -#define PRINT_FUN() alarm_printf("func : %s\n", __FUNCTION__) -#define PRINT_FUN_RETURN_INFO() alarm_printf("func : %s, line : %d.\n", __FUNCTION__, __LINE__) - -/************************************************************* - æ­¤æ–‡ä»¶å‡½æ•°ä¸»è¦æ˜¯rtcé—¹é’Ÿçš„å®žçŽ°ä»£ç  - 用户å¯ä»¥ä¸ä¸»è¦å…³å¿ƒå®žçŽ°ï¼Œä¸“å¿ƒç•™æ„api调用 - 常用的api 有: - -u8 alarm_add(PT_ALARM p, u8 index); -增加闹钟 - -void alarm_delete(u8 index); -删除闹钟 - -void rtc_update_time_api(struct sys_time *time) -æ›´æ–°æ—¶é—´api(更新了时间必须调用该接å£) - -u8 alarm_active_flag_get(void); -闹钟到达的标志 - -u8 alarm_get_info(PT_ALARM p, u8 index) -获å–é—¹é’Ÿä¿¡æ¯ - -u8 alarm_get_active_index(void); -获å–当剿¿€æ´»ä½¿èƒ½çš„闹钟(å¯ä»¥ç†è§£ä¸ºä¸‹ä¸€ä¸ªä¼šå“的闹钟) - - -u8 alarm_get_total(void) -获å–当å‰å·²ç»è®¾å¤‡çš„闹钟数(包括关闭的闹钟) - - -void rtc_calculate_next_few_day(struct sys_time *data_time,u8 days) -获å–今天星期几 - - -void alarm_name_set(u8 *p, u8 index, u8 len) -设置闹钟åå­— - - -u8 alarm_name_get(u8 *p, u8 index) -获å–闹钟åå­— -**************************************************************/ - - - -static volatile u8 g_alarm_active_flag = 0; -static volatile u8 alarm_cur_active = 0;//当å‰åœ¨å“的闹钟 - - - -typedef struct __alarm_map__ { - u32 mask: 16; -u32 map : - ((M_MAX_ALARM_NUMS + 7) / 8 * 8); //存储了闹钟数目信æ¯ï¼ˆé—¹é’Ÿæ•°ï¼‰ -u32 map_sw : - ((M_MAX_ALARM_NUMS + 7) / 8 * 8); //存储闹钟的使能开关(闹钟开关) -u32 active_map : - ((M_MAX_ALARM_NUMS + 7) / 8 * 8); //å­˜å‚¨æœ€åŽæ¿€æ´»é—¹é’Ÿ -} T_ALARM_MAP, *PT_ALARM_MAP; - - -/* volatile u8 g_alarm_ring_max_cnt = 100; */ - -static T_ALARM alarm_tab[M_MAX_ALARM_NUMS] = {0}; -static u8 alarm_name[M_MAX_ALARM_NAME_LEN] = {0}; - -#define RTC_MASK (0x55aa+M_MAX_ALARM_NAME_LEN) - -static void *dev_handle; - -T_ALARM_MAP alarm_map = {0}; - - - -/*----------------------------------------------------------------------------*/ -/* debug å‡½æ•°ä»£ç  */ -/*----------------------------------------------------------------------------*/ - - -void alarm_vm_puts_info(PT_ALARM p) -{ - alarm_printf("index : %d\n", p->index); - alarm_printf("mode: %d\n", p->mode); - alarm_printf("sw: %d\n", p->sw); - /* alarm_puts_time(&(p->time)); */ -} - -void alarm_puts_time(struct sys_time *pTime) -{ - u8 week = 0; - -#if 1 - alarm_printf("alarm_time : %d-%d-%d,%d:%d:%d\n", pTime->year, pTime->month, pTime->day, pTime->hour, pTime->min, pTime->sec); - week = rtc_calculate_week_val(pTime); -#endif - alarm_printf("alarm week : %d\n", week); -} - -/*----------------------------------------------------------------------------*/ -/* rtc 硬化相关代ç */ -/*----------------------------------------------------------------------------*/ -void *is_sys_time_online() -{ - return dev_handle; -} - - -static void get_sys_time(struct sys_time *time)//èŽ·å–æ—¶é—´ -{ - if (!dev_handle) { - return ; - } - dev_ioctl(dev_handle, IOCTL_GET_SYS_TIME, (u32)time); -} - -static void set_sys_time(struct sys_time *time)//设置时间 -{ - if (!dev_handle) { - return ; - } - dev_ioctl(dev_handle, IOCTL_SET_SYS_TIME, (u32)time); -} - -void alarm_hw_set_sw(u8 sw)//闹钟开关 -{ - /* printf("alarm sw : %d\n", sw); */ - if (!dev_handle) { - return ; - } - dev_ioctl(dev_handle, IOCTL_SET_ALARM_ENABLE, !!sw); -} - -void alarm_hw_write_time(struct sys_time *time, u8 sw)//写闹钟寄存器 -{ - if (!dev_handle) { - return ; - } - alarm_printf("alarm_time : %d-%d-%d,%d:%d:%d\n", time->year, time->month, time->day, time->hour, time->min, time->sec); - - alarm_hw_set_sw(0); - dev_ioctl(dev_handle, IOCTL_SET_ALARM, (u32)time); - alarm_hw_set_sw(sw); -} - - - - -/*----------------------------------------------------------------------------*/ -/* vm读写æ“ä½œéƒ¨åˆ†ä»£ç  */ -/*----------------------------------------------------------------------------*/ - -static void alarm_vm_reset() -{ - int i = 0; - int ret = 0; - T_ALARM_MAP map_temp = {0}; - memset(&map_temp, 0x0, sizeof(T_ALARM_MAP)); - map_temp.mask = RTC_MASK; - ret = syscfg_write(VM_ALARM_MASK, (u8 *)&map_temp, sizeof(T_ALARM_MAP)); - if (ret != sizeof(T_ALARM_MAP)) { - PRINT_FUN_RETURN_INFO(); - return; - } - - for (i = 0; i < M_MAX_ALARM_NUMS; i++) { - T_ALARM_VM tmp = {0}; - tmp.head = RTC_MASK; - tmp.alarm.index = i; - ret = syscfg_write(VM_ALARM_0 + i, &tmp, sizeof(T_ALARM_VM)); - if (ret != sizeof(T_ALARM_VM)) { - alarm_printf("The %d alarm write vm err!\n", index); - return; - } - } - -} - -//写闹钟map表 -static void alarm_vm_write_mask(PT_ALARM_MAP map) -{ - int ret = 0; - PRINT_FUN(); - T_ALARM_MAP map_temp = {0}; - memcpy(&map_temp, map, sizeof(T_ALARM_MAP)); - if (map_temp.mask != RTC_MASK) { - memset(&map_temp, 0x0, sizeof(T_ALARM_MAP)); - map_temp.mask = RTC_MASK; - } - - ret = syscfg_write(VM_ALARM_MASK, (u8 *)&map_temp, sizeof(T_ALARM_MAP)); - if (ret != sizeof(T_ALARM_MAP)) { - PRINT_FUN_RETURN_INFO(); - return; - } -} - -//获å–é—¹é’Ÿæ‰€æœ‰ä¿¡æ¯ -static void alarm_vm_read_info(PT_ALARM_MAP map) -{ - PRINT_FUN(); - T_ALARM_VM tmp; - int ret = 0; - u8 i; - - ret = syscfg_read(VM_ALARM_MASK, (u8 *)map, sizeof(T_ALARM_MAP)); - if (ret != sizeof(T_ALARM_MAP) || map->mask != RTC_MASK) { - PRINT_FUN_RETURN_INFO(); - memset(map, 0, sizeof(T_ALARM_MAP)); - map->mask = RTC_MASK; - alarm_vm_reset(); - return; - } - - for (i = 0; i < M_MAX_ALARM_NUMS; i++) { - if ((map->map) & BIT(i)) { - ret = syscfg_read(VM_ALARM_0 + i, &tmp, sizeof(T_ALARM_VM)); - if (ret != sizeof(T_ALARM_VM) || tmp.head != RTC_MASK) { - alarm_printf("can't find the %d alarm from vm.\n", i); - memset(&(alarm_tab[i]), 0x00, sizeof(T_ALARM)); - continue; - } - - printf("vm info : index=%d, sw=%d, mode=%d, h=%d, m=%d, name_len=%d\n", tmp.alarm.index, tmp.alarm.sw, tmp.alarm.mode, \ - tmp.alarm.time.hour, tmp.alarm.time.min, tmp.alarm.name_len); - memcpy(&alarm_tab[i], &(tmp.alarm), sizeof(T_ALARM)); - if (alarm_tab[i].sw) { - map->map_sw |= BIT(i); - } else { - map->map_sw &= ~(BIT(i)); - } - } - } -} - - -//æ›´æ–°é—¹é’Ÿä¿¡æ¯ -static void alarm_vm_write_info_by_index(PT_ALARM_MAP map, u8 index) -{ - PRINT_FUN(); - s32 ret = 0; - T_ALARM_VM tmp; - tmp.head = RTC_MASK; - memcpy(&(tmp.alarm), &alarm_tab[index], sizeof(T_ALARM)); - tmp.alarm.index = index; - ret = syscfg_write(VM_ALARM_0 + index, &tmp, sizeof(T_ALARM_VM)); - if (ret != sizeof(T_ALARM_VM)) { - alarm_printf("The %d alarm write vm err!\n", index); - return; - } - - alarm_printf("vm info : index=%d, sw=%d, mode=%d, h=%d, m=%d, name_len=%d\n", tmp.alarm.index, tmp.alarm.sw, tmp.alarm.mode, \ - tmp.alarm.time.hour, tmp.alarm.time.min, tmp.alarm.name_len); - alarm_vm_write_mask(map); - return; -} - - -/*----------------------------------------------------------------------------*/ -/*闹钟åå­—éƒ¨åˆ†ä»£ç  */ -/*----------------------------------------------------------------------------*/ -static void alarm_vm_write_name(u8 *p, u8 index) -{ - PRINT_FUN(); - - s32 ret = 0; - - ret = syscfg_write(VM_ALARM_NAME_0 + index, p, sizeof(alarm_name)); - if (ret < 0) { - PRINT_FUN_RETURN_INFO(); - return; - } - - return; -} - -static void alarm_vm_read_name(u8 *p, u8 index) -{ - PRINT_FUN(); - - s32 ret = 0; - - ret = syscfg_read(VM_ALARM_NAME_0 + index, p, sizeof(alarm_name)); - if (ret < 0) { - PRINT_FUN_RETURN_INFO(); - return; - } - - return; -} - -void alarm_name_clear(void) -{ - PRINT_FUN(); - memset(alarm_name, 0x00, sizeof(alarm_name)); - return; -} - - -void alarm_name_set(u8 *p, u8 index, u8 len) -{ - PRINT_FUN(); - - if (index > M_MAX_ALARM_INDEX) { - PRINT_FUN_RETURN_INFO(); - alarm_printf("alarm is full!\n"); - return; - } - - - if ((len == 0) || (len > sizeof(alarm_name))) { - PRINT_FUN_RETURN_INFO(); - return; - } - - alarm_name_clear(); - - alarm_printf("alarm name len : %d\n", len); - alarm_printf_buf(p, len); - - memcpy(alarm_name, p, len); - alarm_vm_write_name(alarm_name, index); - - return; -} - -u8 alarm_name_get(u8 *p, u8 index) -{ - PRINT_FUN(); - - u8 name_len = 0; - - if (index > M_MAX_ALARM_INDEX) { - PRINT_FUN_RETURN_INFO(); - return 0; - } - - alarm_vm_read_name(alarm_name, index); - - name_len = alarm_tab[index].name_len; - memcpy(p, alarm_name, name_len); - - alarm_printf("alarm name len : %d\n", name_len); - alarm_printf_buf(alarm_name, name_len); - - return name_len; -} - - - -/*----------------------------------------------------------------------------*/ -/*å·¥å…·å‡½æ•°éƒ¨åˆ†ä»£ç  */ -/*----------------------------------------------------------------------------*/ - -/*----------------------------------------------------------------------------*/ -/**@brief 月份æ¢ç®—为月天数 - @param month,year - @return 月份天数 - @note -*/ -/*----------------------------------------------------------------------------*/ -u16 month_for_day(u8 month, u16 year) -{ - extern u16 month_to_day(u16 year, u8 month); - return month_to_day(year, month); -} - - - - -/*----------------------------------------------------------------------------*/ -/**@brief 计算未æ¥å‡ å¤©çš„æ—¥æœŸ daysè¦å°äºŽ29,防止跨两个月 - @param data_time--计算日期 - @return none - @note -*/ -/*----------------------------------------------------------------------------*/ -void rtc_calculate_next_few_day(struct sys_time *data_time, u8 days) -{ - if (!days || days >= 29) { - return; - } - u16 tmp16 = month_for_day(data_time->month, data_time->year); - data_time->day += days; - if (data_time->day > tmp16) { - data_time->month++; - data_time->day -= tmp16; - if (data_time->month > 12) { - data_time->month = 1; - data_time->year++; - } - } -} - -/*----------------------------------------------------------------------------*/ -/**@brief 日期转æ¢ä¸ºæ˜ŸæœŸ - @param data_time--日期 - @return 星期 - @note -*/ -/*----------------------------------------------------------------------------*/ -//蔡勒(Zeller)公å¼ï¼šw=y+[y/4]+[c/4]-2c+[26x(m+1)/10]+d-1 -u8 rtc_calculate_week_val(struct sys_time *data_time) -{ - struct sys_time t_time; - u32 century, val, year; - - memcpy(&t_time, data_time, sizeof(struct sys_time)); - if (t_time.month < 3) { - t_time.month = t_time.month + 12; - t_time.year--; - } - year = t_time.year % 100; - century = t_time.year / 100; - val = year + (year / 4) + (century / 4) + (26 * (t_time.month + 1) / 10) + t_time.day; - val = val - century * 2 - 1; - - return (u8)(val % 7); -} - - -static int __alarm_cmp_time_num(u32 num1, u32 num2) -{ - int ret = -2; - - if (num1 > num2) { - ret = 1; - } else if (num1 == num2) { - ret = 0; - } else if (num1 < num2) { - ret = -1; - } - - return ret; -} - -/* - * 函数功能 :比较两个闹钟的时间 - * å‡½æ•°å½¢å‚ ï¼štime1 - 闹钟1ï¼›time2 - 闹钟2 - * 返回值 :0-两闹钟相等;1-闹钟1时间比对比闹钟2è¦æ™šï¼›-1-闹钟1比对比闹钟2æ—© -2-比较出错 - * 备注 :无 - * - * */ -static int alarm_cmp_time_member(struct sys_time *time1, struct sys_time *time2, TIME_MEMBER_ENUM type) -{ - switch (type) { - case TIME_MEMBER_YEAR: - return __alarm_cmp_time_num(time1->year, time2->year); - case TIME_MEMBER_MONTH: - return __alarm_cmp_time_num(time1->month, time2->month); - case TIME_MEMBER_DAY: - return __alarm_cmp_time_num(time1->day, time2->day); - case TIME_MEMBER_HOUR: - return __alarm_cmp_time_num(time1->hour, time2->hour); - case TIME_MEMBER_MIN: - return __alarm_cmp_time_num(time1->min, time2->min); - case TIME_MEMBER_SEC: - return __alarm_cmp_time_num(time1->sec, time2->sec); - - default: - return -2; - } - - return -2; -} - -/* - * 函数功能 :比较两个闹钟的时间 - * å‡½æ•°å½¢å‚ ï¼štime1 - 闹钟1ï¼›time2 - 闹钟2 - * 返回值 :0-两闹钟相等;1-闹钟1时间比对比闹钟2è¦æ™šï¼›-1-闹钟1比对比闹钟2æ—© -2-比较出错 - * 备注 :无 - * - * */ -static int alarm_cmp_time(struct sys_time *time1, struct sys_time *time2) -{ - u8 i; - int ret = 0; - - for (i = 0; i < TIME_MEMBER_MAX; i++) { - ret = alarm_cmp_time_member(time1, time2, i); - if (ret != 0) { - break; - } - } - - return ret; -} - - - - -/*----------------------------------------------------------------------------*/ -/*æ ¸å¿ƒéƒ¨åˆ†ä»£ç  */ -/*----------------------------------------------------------------------------*/ - - - -/* -** 函数功能 :根æ®é—¹é’Ÿçš„æ¨¡å¼è®¡ç®—出实际时间 -** å‡½æ•°å½¢å‚ ï¼špTime-闹钟时间结构体;week-当下星期; mode-é—¹é’Ÿæ¨¡å¼ -** 返回值 :void -** 备注 :无 -*/ - -static void __alarm_calc_time_by_week_mode(struct sys_time *pTime, u8 mode) -{ - PRINT_FUN(); - u8 i = 0; - u8 alarm_week = 0; - u8 tmp_mode = 0; - alarm_week = rtc_calculate_week_val(pTime);//alarm_week å¯ä»¥ç†è§£ä¸ºæœ€è¿‘å¯ä»¥è®¾ç½®çš„闹钟(忽略week) - if (alarm_week == 0) { - alarm_week = 7; //星期天写æˆ7,方便对比计算 - } - - //查找当å‰å¯ä»¥è®¾ç½®é—¹é’Ÿæ—¥æœŸæœ€è¿‘的日期 - for (i = 1; i < 8; i++) { - if (mode & BIT(i)) { - if (i >= alarm_week) { - tmp_mode = i; - break; - } - } - } - - if (i >= 8) {//翻越了星期的 - for (i = 1; i < 8; i++) { - if (mode & BIT(i)) { - tmp_mode = i; - break; - } - } - } - - if ((tmp_mode >= 1) && (tmp_mode < 8)) { - if (tmp_mode > alarm_week) { - alarm_printf("***a***\n"); - //没有翻越星期 - rtc_calculate_next_few_day(pTime, tmp_mode - alarm_week); - } else if (tmp_mode < alarm_week) { - //翻越了星期 - alarm_printf("***b***\n"); - rtc_calculate_next_few_day(pTime, 7 - (alarm_week - tmp_mode)); - } - } - return; -} - - - - - - -/* -** 函数功能 :根æ®é—¹é’Ÿçš„æ—¶ã€åˆ†è®¡ç®—å‡ºå®ƒå…·ä½“çš„æ—¶é—´ï¼ˆå¹´ã€æœˆã€æ—¥ã€æ—¶ã€åˆ†ã€ç§’) -** å‡½æ•°å½¢å‚ ï¼šå¸¦æœ‰æ—¶ã€åˆ†å’Œé—¹é’Ÿæ¨¡å¼çš„æ—¶é—´ç»“构体 -** 返回值 :void -** 备注 :无 -*/ -static void alarm_calc_real_time_by_index(struct sys_time *cTime, u8 index) -{ - struct sys_time tmp = {0}; - PT_ALARM pAlarm_tab; - - if (index > M_MAX_ALARM_INDEX) { - PRINT_FUN_RETURN_INFO(); - return; - } - - pAlarm_tab = &(alarm_tab[index]); - struct sys_time *pTime = &(pAlarm_tab->time); - - if (pAlarm_tab->mode > M_MAX_ALARM_MODE) { - PRINT_FUN_RETURN_INFO(); - return; - } - u32 c_tmp = ((cTime->hour & 0x1f) << 12) | ((cTime->min & 0x3f) << 6) | (cTime->sec & 0x3f); - u32 p_tmp = ((pTime->hour & 0x1f) << 12) | ((pTime->min & 0x3f) << 6) | (pTime->sec & 0x3f); - - if (p_tmp > c_tmp) { //时间未到 - - PRINT_FUN_RETURN_INFO(); - pTime->year = cTime->year; - pTime->month = cTime->month; - pTime->day = cTime->day; - pTime->sec = 0; - } else { - PRINT_FUN_RETURN_INFO(); - memcpy(&tmp, cTime, sizeof(struct sys_time)); - rtc_calculate_next_few_day(&tmp, 1); - pTime->year = tmp.year; - pTime->month = tmp.month; - pTime->day = tmp.day; - pTime->sec = 0; - - } - - if ((pAlarm_tab->mode != E_ALARM_MODE_ONCE) && (pAlarm_tab->mode != E_ALARM_MODE_EVERY_DAY)) { - __alarm_calc_time_by_week_mode(pTime, pAlarm_tab->mode); - } - alarm_puts_time(pTime); -} - -static void __alarm_get_the_earliest(void) -{ - PRINT_FUN(); - int ret = 0; - u8 index = 0; - u8 i = 0; - - struct sys_time *pTmp = NULL; - alarm_map.active_map = 0 ; - for (i = 0; i < M_MAX_ALARM_NUMS; i++) { - if (alarm_map.map_sw & BIT(i)) { - alarm_map.active_map |= BIT(i) ; - pTmp = &(alarm_tab[i].time); - index = i; - break; - } - } - - - if (i >= M_MAX_ALARM_NUMS) { - alarm_printf("***no alarm***\n"); - alarm_hw_set_sw(0); - return; - } - for (i = index + 1; i < M_MAX_ALARM_NUMS; i++) { - if (alarm_map.map_sw & BIT(i)) { - ret = alarm_cmp_time(pTmp, &(alarm_tab[i].time)); - if (0 == ret) { - alarm_map.active_map |= BIT(i); - alarm_printf("***A***\n"); - } else if (1 == ret) { - alarm_printf("***B***\n"); - pTmp = &(alarm_tab[i].time); - index = i; - alarm_map.active_map = 0; - alarm_map.active_map |= BIT(i); - } - } - } - /* alarm_puts_time(pTmp); */ - /* printf("find the %dth alarm, the save alarm : %x\n", index, alarm_map.active_map); */ - alarm_hw_write_time(pTmp, alarm_tab[index].sw); - return; -} - - -static void __alarm_update_all_time(struct sys_time *cTIME) -{ - PRINT_FUN(); - u8 i = 0; - for (i = 0; i < M_MAX_ALARM_NUMS; i++) { - if (alarm_map.map_sw & BIT(i)) { - alarm_calc_real_time_by_index(cTIME, i); - } - } - - return; -} - - -static void alarm_update() -{ - PRINT_FUN(); - struct sys_time current_time = {0}; - - if (!is_sys_time_online()) { - return ; - } - - get_sys_time(¤t_time); - local_irq_disable(); - __alarm_update_all_time(¤t_time); - local_irq_enable(); - __alarm_get_the_earliest(); -} - - -u8 alarm_get_active_index(void) -{ - return alarm_cur_active; -} - -u8 alarm_get_info(PT_ALARM p, u8 index) -{ - u8 ret = E_SUCCESS; - - local_irq_disable(); - if (alarm_map.map & BIT(index)) { - p->index = alarm_tab[index].index; - p->sw = alarm_tab[index].sw; - p->mode = alarm_tab[index].mode; - p->time.hour = alarm_tab[index].time.hour; - p->time.min = alarm_tab[index].time.min; - p->name_len = alarm_tab[index].name_len; - } else { - memset(p, 0x0, sizeof(T_ALARM)); - ret = E_FAILURE; - } - local_irq_enable(); - return ret; -} - -u8 alarm_get_total(void) -{ - PRINT_FUN(); - - u8 total = 0; - u8 i = 0; - - local_irq_disable(); - for (i = 0; i < M_MAX_ALARM_NUMS; i++) { - if (alarm_map.map & BIT(i)) { - total++; - } - } - local_irq_enable(); - alarm_printf("total %d alarm\n", total); - - return total; -} - - - - - - -void rtc_update_time_api(struct sys_time *time) -{ - if (!is_sys_time_online()) { - return ; - } - set_sys_time(time); - local_irq_disable(); - __alarm_update_all_time(time); - local_irq_enable(); - __alarm_get_the_earliest(); - alarm_vm_write_mask(&alarm_map); -} - - -void alarm_update_info_after_isr(void) -{ - PRINT_FUN(); - struct sys_time time = {0}; - - if (!is_sys_time_online()) { - return ; - } - - get_sys_time(&time); - u8 i = 0; - printf("alarm_map.active_map =%x\n", alarm_map.active_map); - local_irq_disable(); - alarm_cur_active = alarm_map.active_map; - for (i = 0; i < M_MAX_ALARM_NUMS; i++) { - if (alarm_map.active_map & BIT(i)) { - if (alarm_tab[i].mode != 0) { - //闹钟ä¸åªå“一次 - //计算一次闹钟的时间 - alarm_calc_real_time_by_index(&time, i); - } else { - //闹钟åªå“一次 - alarm_map.map_sw &= ~BIT(i); - alarm_tab[i].sw = 0; - local_irq_enable(); - alarm_vm_write_info_by_index(&alarm_map, i); - local_irq_disable(); - } - } - } - local_irq_enable(); - __alarm_get_the_earliest(); - alarm_vm_write_mask(&alarm_map); -} - - -u8 alarm_add(PT_ALARM p, u8 index) -{ - - struct sys_time current_time = {0}; - PRINT_FUN(); - u8 ret = E_SUCCESS; - - if (!is_sys_time_online()) { - return E_FAILURE; - } - - if (index > M_MAX_ALARM_INDEX) { - PRINT_FUN_RETURN_INFO(); - alarm_printf("alarm is full!\n"); - return E_FAILURE; - } - - if (p->mode > M_MAX_ALARM_MODE) { - PRINT_FUN_RETURN_INFO(); - alarm_printf("alarm's mode is error"); - return E_FAILURE; - } - - - local_irq_disable(); - alarm_map.map |= BIT(index); - if (0 == p->sw) { - alarm_printf("close the %dth alarm!\n", p->index); - alarm_map.map_sw &= ~BIT(p->index); - } else if (1 == p->sw) { - alarm_printf("set the %dth alarm!\n", p->index); - alarm_map.map_sw |= BIT(p->index); - } - alarm_tab[index].index = p->index; - alarm_tab[index].sw = p->sw; - alarm_tab[index].mode = p->mode; - alarm_tab[index].time.hour = p->time.hour; - alarm_tab[index].time.min = p->time.min; - alarm_tab[index].name_len = p->name_len; - - get_sys_time(¤t_time); - alarm_calc_real_time_by_index(¤t_time, index);//æ ¹æ®å½“剿—¶é—´å’Œé—¹é’Ÿæ¨¡å¼è®¡ç®—出最新闹钟时间 - local_irq_enable(); - __alarm_get_the_earliest(); - alarm_vm_write_info_by_index(&alarm_map, index); - return ret; -} - -void alarm_delete(u8 index) -{ - PRINT_FUN(); - if (index > M_MAX_ALARM_INDEX) { - PRINT_FUN_RETURN_INFO(); - alarm_printf("alarm is full!\n"); - return; - } - alarm_printf("delete the %dth alarm!\n", index); - - local_irq_disable(); - alarm_map.map &= ~BIT(index); - alarm_map.map_sw &= ~BIT(index); - alarm_tab[index].sw = 0; - local_irq_enable(); - __alarm_get_the_earliest(); - alarm_vm_write_info_by_index(&alarm_map, index); - return; -} - - -void alarm_active_flag_set(u8 flag) -{ - g_alarm_active_flag = flag; - - return; -} - -u8 alarm_active_flag_get(void) -{ - return g_alarm_active_flag; -} - -static void alarm_check(void *priv) -{ - extern APP_VAR app_var; - extern u32 timer_get_ms(void); - if ((timer_get_ms() - app_var.start_time) > 3000) { - struct sys_event e; - e.type = SYS_DEVICE_EVENT; - e.arg = (void *)DEVICE_EVENT_FROM_ALM; - e.u.dev.event = DEVICE_EVENT_IN; - e.u.dev.value = 0; - sys_event_notify(&e); - } else { - sys_timeout_add(NULL, alarm_check, 100); - } -} -void user_check_default_time() -{ - struct sys_time current_time; - get_sys_time(¤t_time); - - if(current_time.year < 2025 || current_time.year > 2098){ - printf("current_time.year111 == %d\n",current_time.year); - set_rtc_default_time(¤t_time); - rtc_update_time_api(¤t_time); - } - else if(current_time.month < 1 || current_time.month > 12){ - printf("current_time.year222 == %d\n",current_time.year); - set_rtc_default_time(¤t_time); - rtc_update_time_api(¤t_time); - } - else if(current_time.day < 1 || current_time.day > 31){ - printf("current_time.year333 == %d\n",current_time.year); - set_rtc_default_time(¤t_time); - rtc_update_time_api(¤t_time); - } - else if(current_time.hour < 0 || current_time.hour > 23){ - printf("current_time.year444 == %d\n",current_time.year); - set_rtc_default_time(¤t_time); - rtc_update_time_api(¤t_time); - } - else if(current_time.min < 0 || current_time.min > 59){ - printf("current_time.year555 == %d\n",current_time.year); - set_rtc_default_time(¤t_time); - rtc_update_time_api(¤t_time); - } - else if(current_time.sec < 0 || current_time.sec > 59){ - printf("current_time.year666 == %d\n",current_time.year); - set_rtc_default_time(¤t_time); - rtc_update_time_api(¤t_time); - } - else{ - - } -} -void alarm_init() -{ - u8 i = 0; - if (dev_handle) { - return ; - } - dev_handle = dev_open("rtc", NULL); - user_check_default_time(); - if (!dev_handle) { - ASSERT(0, "%s %d \n", __func__, __LINE__); - } - - alarm_vm_read_info(&alarm_map); - - if (!alarm_active_flag_get()) { //判断是å¦é—¹é’Ÿåœ¨å“ - alarm_update();//å¼€æœºé‡æ–°å†™å…¥é—¹é’Ÿå¯„å­˜å™¨ä¿¡æ¯ - } else { - sys_timeout_add(NULL, alarm_check, 100); - } - - - /* register_sys_event_handler(SYS_ALL_EVENT, 1, NULL, alarm_event_handler); */ -} - -#endif //end of RTC_ALM_EN -#endif - - diff --git a/apps/usr_rtc/alarm_user.c b/apps/usr_rtc/alarm_user.c deleted file mode 100644 index 86b5c63..0000000 --- a/apps/usr_rtc/alarm_user.c +++ /dev/null @@ -1,194 +0,0 @@ -#include "system/includes.h" -#include "alarm.h" -#include "system/timer.h" -#include "app_main.h" -#include "tone_player.h" -#include "app_task.h" -#include "btstack/avctp_user.h" -#include "app_config.h" - -#if 0//TCFG_APP_RTC_EN - -#define ALARM_RING_MAX 50 -volatile u16 g_alarm_ring_cnt = 0; -static u16 g_alarm_dly_tmr = 0; -static u16 g_ring_playing_timer = 0; - -extern u8 get_switch_to_rtc_reason(); - -/************************************************************* - æ­¤æ–‡ä»¶å‡½æ•°ä¸»è¦æ˜¯ç”¨æˆ·ä¸»è¦ä¿®æ”¹çš„æ–‡ä»¶ - -void set_rtc_default_time(struct sys_time *t) -设置默认时间的函数 - -void alm_wakeup_isr(void) -闹钟到达的函数 - -void alarm_event_handler(struct sys_event *event, void *priv) -ç›‘å¬æŒ‰é”®æ¶ˆæ¯æŽ¥å£,åº”ç”¨äºŽéšæ„æŒ‰é”®åœæ­¢é—¹é’Ÿ - - -int alarm_sys_event_handler(struct sys_event *event) -闹钟到达å“åº”æŽ¥å£ - -void alarm_ring_start() -é—¹é’Ÿé“ƒå£°æ’­æ”¾æŽ¥å£ - - -void alarm_stop(void) -é—¹é’Ÿé“ƒå£°åœæ­¢æ’­æ”¾æŽ¥å£ -**************************************************************/ - -static u8 rtc_can_run(void) -{ - u8 call_status = get_call_status(); - if ((call_status == BT_CALL_ACTIVE) || - (call_status == BT_CALL_OUTGOING) || - (call_status == BT_CALL_ALERT) || - (call_status == BT_CALL_INCOMING)) { - //通è¯è¿‡ç¨‹ä¸å…许开rtc - return false; - } - - return true; -} - -void set_rtc_default_time(struct sys_time *t) -{ - t->year = 2019; - t->month = 5; - t->day = 5; - t->hour = 18; - t->min = 18; - t->sec = 18; -} - - -__attribute__((weak)) -u8 rtc_app_alarm_ring_play(u8 alarm_state) -{ - return 0; -} - - -void alm_wakeup_isr(void) -{ - if (!is_sys_time_online()) { - alarm_active_flag_set(true); - } else { - alarm_active_flag_set(true); - struct sys_event e; - e.type = SYS_DEVICE_EVENT; - e.arg = (void *)DEVICE_EVENT_FROM_ALM; - e.u.dev.event = DEVICE_EVENT_IN; - e.u.dev.value = 0; - sys_event_notify(&e); - } -} - -void alarm_ring_cnt_clear(void) -{ - g_alarm_ring_cnt = 0; -} - -void alarm_stop(void) -{ - u32 rets_addr; - __asm__ volatile("%0 = rets ;" : "=r"(rets_addr)); - printf("ALARM_STOP : 0x%x !!!\n", rets_addr); - alarm_active_flag_set(0); - alarm_ring_cnt_clear(); - rtc_app_alarm_ring_play(0); -} - -void alarm_play_timer_del(void) -{ - if (g_ring_playing_timer) { - sys_timeout_del(g_ring_playing_timer); - g_ring_playing_timer = 0; - } -} - -static void __alarm_ring_play(void *p) -{ - if (g_alarm_ring_cnt > 0) { - u8 app = app_get_curr_task(); - if (app != APP_RTC_TASK) { - alarm_stop(); - printf("...not in rtc task\n"); - return; - } - - if (!tone_get_status()) { - if (!rtc_app_alarm_ring_play(1)) { - //tone_play_by_path(tone_table[IDEX_TONE_NORMAL], 0); - g_alarm_ring_cnt--; - } - } - g_ring_playing_timer = sys_timeout_add(NULL, __alarm_ring_play, 500); - } else { - if (alarm_active_flag_get()) { - // alarm_stop(); - - } - } -} - -void alarm_ring_start() -{ - if (g_alarm_ring_cnt == 0) { - g_alarm_ring_cnt = ALARM_RING_MAX; - sys_timeout_add(NULL, __alarm_ring_play, 500); - } -} - -void alarm_event_handler(struct sys_event *event, void *priv) -{ - -} - -SYS_EVENT_HANDLER(SYS_KEY_EVENT, alarm_event_handler, 2); - -static void alarm_dly_play_deal(u32 event_arg) -{ - u8 alm_flag = alarm_active_flag_get(); - if (rtc_can_run() || (!alm_flag)) { - sys_timer_del(g_alarm_dly_tmr); - g_alarm_dly_tmr = NULL; - if (alm_flag) { - //app_task_switch_to(APP_RTC_TASK); - } - - } -} - -int alarm_sys_event_handler(struct sys_event *event) -{ - struct application *cur; - if ((u32)event->arg == DEVICE_EVENT_FROM_ALM) { - if (event->u.dev.event == DEVICE_EVENT_IN) { - printf("alarm_sys_event_handler\n"); - alarm_update_info_after_isr(); - - u8 app = app_get_curr_task(); - if (app == APP_RTC_TASK) { - alarm_ring_start(); - return false; - } - - if (!rtc_can_run()) { - if (g_alarm_dly_tmr == 0) { - g_alarm_dly_tmr = sys_timer_add((event->arg), alarm_dly_play_deal, 500); - } - return false; - } - return true; - } - } - - return false; -} - -#endif - diff --git a/apps/usr_rtc/rtc.c b/apps/usr_rtc/rtc.c deleted file mode 100644 index b14484b..0000000 --- a/apps/usr_rtc/rtc.c +++ /dev/null @@ -1,118 +0,0 @@ -#include "app_config.h" -#include "key_event_deal.h" -#include "system/includes.h" -#include "tone_player.h" -#include "app_task.h" -#include "tone_player.h" -#include "media/includes.h" -#include "system/sys_time.h" -#include "alarm.h" -#include "clock_cfg.h" - - -/************************************************************* - æ­¤æ–‡ä»¶å‡½æ•°ä¸»è¦æ˜¯rtcæ¨¡å¼æŒ‰é”®å¤„ç†å’Œäº‹ä»¶å¤„ç† - -**************************************************************/ - - -#if TCFG_APP_RTC_EN - - - -#define LOG_TAG_CONST APP_RTC -#define LOG_TAG "[APP_RTC]" -#define LOG_ERROR_ENABLE -#define LOG_DEBUG_ENABLE -#define LOG_INFO_ENABLE -/* #define LOG_DUMP_ENABLE */ -#define LOG_CLI_ENABLE -#include "debug.h" - - -struct rtc_opr { - void *dev_handle; - u8 rtc_set_mode; - u8 rtc_pos; - u8 alm_enable; - u8 alm_num; - struct sys_time set_time; -}; - - -static struct rtc_opr *__this = NULL; -static u8 switch_to_rtc_reason = 0; - - -static void rtc_app_init() -{ - if (!__this) { - __this = zalloc(sizeof(struct rtc_opr)); - ASSERT(__this, "%s %di \n", __func__, __LINE__); - __this->dev_handle = dev_open("rtc", NULL); - if (!__this->dev_handle) { - ASSERT(0, "%s %d \n", __func__, __LINE__); - } - } -} - - -//*----------------------------------------------------------------------------*/ -/**@brief rtc 退出 - @param æ—  - @return - @note -*/ -/*----------------------------------------------------------------------------*/ -static void rtc_task_close() -{ - if (__this) { - if (__this->dev_handle) { - dev_close(__this->dev_handle); - __this->dev_handle = NULL; - } - free(__this); - __this = NULL; - } -} - - -//*----------------------------------------------------------------------------*/ -/**@brief rtc å¯åЍ - @param æ—  - @return - @note -*/ -/*----------------------------------------------------------------------------*/ -void rtc_task_start() -{ - rtc_app_init(); -} - - - -//*----------------------------------------------------------------------------*/ -/**@brief rtc 主任务 - @param æ—  - @return æ—  - @note -*/ -/*----------------------------------------------------------------------------*/ -void app_rtc_task() -{ - rtc_task_start(); -} - -#else - - -void app_rtc_task() -{ - -} - -#endif - - - - diff --git a/apps/usr_rtc/virtual_rtc.c b/apps/usr_rtc/virtual_rtc.c deleted file mode 100644 index 9d56c19..0000000 --- a/apps/usr_rtc/virtual_rtc.c +++ /dev/null @@ -1,358 +0,0 @@ -#include "app_config.h" -#include "alarm.h" -#include "app_action.h" -#include "system/includes.h" -#include "clock_cfg.h" -#include "ioctl_cmds.h" -#include "system/sys_time.h" - -#if (TCFG_APP_RTC_EN && TCFG_USE_VIRTUAL_RTC) - - -/************************************************************* - æ­¤æ–‡ä»¶å‡½æ•°ä¸»è¦æ˜¯è™šæ‹Ÿrtc设备的实现 - 应用于ä¸å¤–挂晶振的场景,用户å¯ä»¥å¿½ç•¥å®žçް, - 最åŽçš„应用的接å£ä¸ŽæŒ‚晶振的接å£ä¸€è‡´ -**************************************************************/ - - -#define WRITE_ALARM BIT(1) -#define READ_ALARM BIT(5) - -#define WRITE_RTC BIT(0) -#define READ_RTC BIT(4) - -#define MAX_YEAR 2099 -#define MIN_YEAR 2000 - - -typedef struct _RTC_SIMULATE_VAR { - u16 crc; - struct device device; - struct sys_time sys_simulate_time; - struct sys_time sys_alarm_time; - /* OS_MUTEX mutex; */ -} RTC_SIMULATE_VAR; - -#define __this (&rtc_smulate_var) -static RTC_SIMULATE_VAR rtc_smulate_var sec(.vir_rtc) = { - .crc = 0xffff, -}; - -static u8 g_alarm_flag = 0; -static u64 sum_nsec = 0; - - -static void write_alarm(struct sys_time *alarm_time); -void set_alarm_default_time(struct sys_time *t) -{ - t->year = 2019; - t->month = 1; - t->day = 1; - t->hour = 18; - t->min = 19; - t->sec = 00; - write_alarm(t); -} -__attribute__((weak))void alm_wakeup_isr(void); -__attribute__((weak)) void set_rtc_default_time(struct sys_time *t); -u8 rtc_get_time_vm(); -u8 rtc_save_time_vm(); -u8 rtc_get_alm_vm(); -u8 rtc_save_alm_vm(); - -static u8 is_the_same_time(struct sys_time *time1, struct sys_time *time2) -{ - return (time1->year == time2->year && - time1->month == time2->month && - time1->day == time2->day && - time1->hour == time2->hour && - time1->min == time2->min && - time1->sec == time2->sec); -} - - -static int rtc_simulate_init(const struct dev_node *node, void *arg) -{ - if (power_return_flag()) { - /* os_mutex_create(&__this->mutex); */ - if (0) { - - } else if (set_rtc_default_time) { - set_rtc_default_time(&__this->sys_simulate_time); - } else { - __this->sys_simulate_time.year = 2020; - __this->sys_simulate_time.month = 1; - __this->sys_simulate_time.day = 1; - __this->sys_simulate_time.hour = 0; - __this->sys_simulate_time.min = 0; - __this->sys_simulate_time.sec = 0; - } - } else { - - } - - rtc_get_alm_vm(); - rtc_save_time_vm(); - - printf("rtc_simulate_init: %d-%d-%d %d:%d:%d\n", - __this->sys_simulate_time.year, - __this->sys_simulate_time.month, - __this->sys_simulate_time.day, - __this->sys_simulate_time.hour, - __this->sys_simulate_time.min, - __this->sys_simulate_time.sec); - - /* set_alarm_default_time(&__this->sys_alarm_time); */ - return 0; -} - -static int rtc_simulate_open(const char *name, struct device **device, void *arg) -{ - *device = &__this->device; - - return 0; -} - -static void write_alarm(struct sys_time *alarm_time) -{ - local_irq_disable(); - memcpy(&__this->sys_alarm_time, alarm_time, sizeof(struct sys_time)); - rtc_save_alm_vm(); - local_irq_enable(); -} - -static void read_alarm(struct sys_time *alarm_time) -{ - local_irq_disable(); - rtc_get_alm_vm(); - memcpy(alarm_time, &__this->sys_alarm_time, sizeof(struct sys_time)); - local_irq_enable(); -} - -static void write_sys_time(struct sys_time *curr_time) -{ - local_irq_disable(); - memcpy(&__this->sys_simulate_time, curr_time, sizeof(struct sys_time)); - local_irq_enable(); -} - -static void read_sys_time(struct sys_time *curr_time) -{ - local_irq_disable(); - memcpy(curr_time, &__this->sys_simulate_time, sizeof(struct sys_time)); - local_irq_enable(); -} - -static void set_alarm_ctrl(u8 set_alarm) -{ - g_alarm_flag = set_alarm; -} - -static int rtc_simulate_ioctl(struct device *device, u32 cmd, u32 arg) -{ - int err = 0; - switch (cmd) { - case IOCTL_SET_ALARM: - write_alarm((struct sys_time *)arg); - break; - case IOCTL_GET_ALARM: - read_alarm((struct sys_time *)arg); - break; - case IOCTL_SET_ALARM_ENABLE: - if (arg) { - set_alarm_ctrl(1); - } else { - set_alarm_ctrl(0); - } - break; - case IOCTL_GET_SYS_TIME: - read_sys_time((struct sys_time *)arg); - break; - case IOCTL_SET_SYS_TIME: - write_sys_time((struct sys_time *)arg); - break; - } - return err; -} - - -u8 rtc_save_time_vm() -{ - u8 ret = syscfg_write(VM_VIR_RTC_TIME, &__this->sys_simulate_time, sizeof(struct sys_time)); - return ret; -} - -u8 rtc_get_time_vm() -{ - u8 ret = syscfg_read(VM_VIR_RTC_TIME, &__this->sys_simulate_time, sizeof(struct sys_time)); - return ret; -} - -u8 rtc_save_alm_vm() -{ - u8 ret = syscfg_write(VM_VIR_ALM_TIME, &__this->sys_alarm_time, sizeof(struct sys_time)); - return ret; -} - -u8 rtc_get_alm_vm() -{ - u8 ret = syscfg_read(VM_VIR_ALM_TIME, &__this->sys_alarm_time, sizeof(struct sys_time)); - return ret; -} - -u8 rtc_get_sum_nsec_vm() -{ - u8 ret = syscfg_read(VM_VIR_SUM_NSEC, &sum_nsec, 8); - return ret; -} - -u8 rtc_save_sum_nsec_vm() -{ - u8 ret = syscfg_read(VM_VIR_SUM_NSEC, &sum_nsec, 8); - return ret; -} - -void set_virtual_rtc_tick(u64 actual_ns) -{ -#if (defined(TCFG_USE_VIRTUAL_RTC) && (TCFG_USE_VIRTUAL_RTC)) - struct sys_time temp_time; - static u8 cal_flag = 0; - - sum_nsec += actual_ns; - if (sum_nsec >= 1000000000) { - sum_nsec -= 1000000000; - cal_flag = 1; - } - - if (cal_flag) { - cal_flag = 0; - read_sys_time(&temp_time); - if (++temp_time.sec >= 60) { - temp_time.sec = 0; - if (++temp_time.min >= 60) { - temp_time.min = 0; - if (++temp_time.hour >= 24) { - temp_time.hour = 0; - if (++temp_time.day > month_for_day(temp_time.month, temp_time.year)) { - temp_time.day = 1; - if (++temp_time.month > 12) { - temp_time.month = 1; - if (++temp_time.year > MAX_YEAR) { - temp_time.year = MIN_YEAR; - } - } - } - } - } - } - write_sys_time(&temp_time); - /* printf("rtc_sys_time: %d-%d-%d %d:%d:%d\n", */ - /* temp_time.year, */ - /* temp_time.month, */ - /* temp_time.day, */ - /* temp_time.hour, */ - /* temp_time.min, */ - /* temp_time.sec); */ - - local_irq_disable(); - /* rtc_get_alm_vm(); */ - if (g_alarm_flag && is_the_same_time(&__this->sys_alarm_time, &__this->sys_simulate_time)) { - local_irq_enable(); - if (alm_wakeup_isr) { - alm_wakeup_isr(); - } - } else { - local_irq_enable(); - } - - } -#endif -} - -extern void vir_rtc_get_actual_time(u64 *actual_time); -void vir_rtc_trim() -{ - u64 actual_time; - vir_rtc_get_actual_time(&actual_time); - u32 sec = actual_time / 1000000000; - u32 min = sec / 60; - sec = sec % 60; - u32 hour = min / 60; - min = min % 60; - - struct sys_time temp_time; - rtc_get_time_vm(); - read_sys_time(&temp_time); - temp_time.sec += sec; - if (temp_time.sec >= 60) { - temp_time.min++; - temp_time.sec -= 60; - } - temp_time.min += min; - if (temp_time.min >= 60) { - temp_time.hour++; - temp_time.min -= 60; - } - temp_time.hour += hour; - if (temp_time.hour >= 24) { - temp_time.day++; - temp_time.hour -= 24; - if (temp_time.day > month_for_day(temp_time.month, temp_time.year)) { - temp_time.day = 1; - if (++temp_time.month > 12) { - temp_time.month = 1; - if (++temp_time.year > MAX_YEAR) { - temp_time.year = MIN_YEAR; - } - } - } - } - write_sys_time(&temp_time); - rtc_get_sum_nsec_vm(); - set_virtual_rtc_tick(actual_time % 1000000000); - printf("rtc_sys_time: %d-%d-%d %d:%d:%d\n", - temp_time.year, - temp_time.month, - temp_time.day, - temp_time.hour, - temp_time.min, - temp_time.sec); -} - -u32 alm_trans_for_sec() -{ - struct sys_time temp_time; - struct sys_time alm_time; - - read_alarm(&alm_time); - u16 alm_day = ymd_to_day(&__this->sys_alarm_time); - - /* rtc_get_time_vm(); */ - read_sys_time(&temp_time); - u16 cur_day = ymd_to_day(&temp_time); - - u32 alm_tmp = (alm_day << 17) | ((__this->sys_alarm_time.hour & 0x1f) << 12) | ((__this->sys_alarm_time.min & 0x3f) << 6) | (__this->sys_alarm_time.sec & 0x3f); - u32 cur_tmp = (cur_day << 17) | ((temp_time.hour & 0x1f) << 12) | ((temp_time.min & 0x3f) << 6) | (temp_time.sec & 0x3f); - if (alm_tmp < cur_tmp) { - return 0; - } - - u32 day = alm_day - cur_day; - u32 hour = __this->sys_alarm_time.hour + day * 24 - temp_time.hour; - u32 min = __this->sys_alarm_time.min + hour * 60 - temp_time.min; - u32 sec = __this->sys_alarm_time.sec + min * 60 - temp_time.sec; - /* printf("alm_sec = %d\n", sec); */ - return sec; -} - - -const struct device_operations rtc_simulate_ops = { - .init = rtc_simulate_init, - .open = rtc_simulate_open, - .ioctl = rtc_simulate_ioctl, - .read = NULL, - .write = NULL, -}; - -#endif diff --git a/apps/usr_uart_code/usr_uart_code.c b/apps/usr_uart_code/usr_uart_code.c deleted file mode 100644 index add1f2b..0000000 --- a/apps/usr_uart_code/usr_uart_code.c +++ /dev/null @@ -1,131 +0,0 @@ -#include "system/includes.h" -#include "app_config.h" -#include "asm/pwm_led.h" -#include "tone_player.h" -#include "ui_manage.h" -#include "app_main.h" -#include "app_task.h" -#include "asm/charge.h" -#include "app_power_manage.h" -#include "app_charge.h" -#include "user_cfg.h" -#include "audio.h" -#include "vm.h" -#include "bleproto.h" -#include "bleproto_api.h" -#define LOG_TAG_CONST APP -#define LOG_TAG "[APP]" -#define LOG_ERROR_ENABLE -#define LOG_DEBUG_ENABLE -#define LOG_INFO_ENABLE -/* #define LOG_DUMP_ENABLE */ -#define LOG_CLI_ENABLE -#include "debug.h" -extern void usr_uart_send_cmd(u8* data,u16 len); -extern void usr_ble_send_data(u8* data,u16 len);///BLEå‘逿ޥå£ï¼ŒMTU 244 -extern void usr_write_pair_info(); -extern void usr_clear_pair_info(); -extern void usr_mcu_data_recieve(const unsigned char* hex_array, int array_length); -// è®¡ç®—æ ¡éªŒå’Œå¹¶éªŒè¯ -static int verify_checksum(const unsigned char* packet_data, int length) -{ - - unsigned int calculated_checksum = 0; - calculated_checksum=0; - // 从帧头开始计算到倒数第二个字节的和 - for (int i = 0; i < length; i++) { - calculated_checksum += packet_data[i]; - } - // 对256å–ä½™ - calculated_checksum %= 256; - - return calculated_checksum; -} - - - - -const u8 check_mcu[7]={0x55,0xAA,0x00,0x08,0x00,0x00,0x07}; -void usr_check_mcu_all_sta()///查询 mcu 工作状æ€,MCU上报所有DP点数值(用åšAPP显示) -{ - usr_uart_send_cmd(check_mcu,7); -} - -const u8 set_default[12]={0x55 ,0xAA ,0x00 ,0x06 ,0x00 ,0x05 ,0x18 ,0x01 ,0x00 ,0x01 ,0x01 ,0x24}; -void usr_set_device_default() -{ - usr_uart_send_cmd(check_mcu,12); -} - -static u8 set_led_sta[12]={0x55 ,0xAA ,0x00 ,0x06 ,0x00 ,0x05 ,0x11 ,0x01 ,0x00 ,0x01 ,0xff ,0xff}; -void usr_set_led_sta(u8 flag) -{ - if(flag)set_led_sta[10]=0x01; - else set_led_sta[10]=0x00; - set_led_sta[11]=verify_checksum(set_led_sta,11); - usr_uart_send_cmd(set_led_sta,12); -} - - -/* -指示WiFI状æ€ï¼š -0x00:Smartconfig é…ç½‘æ¨¡å¼ (ç¯å¿«é—ª)ï¼› -0x01:APé…ç½‘æ¨¡å¼ (ç¯æ…¢é—ª)ï¼› -0x02:WiFié…ç½®æˆåŠŸä½†æœªè¿žä¸Šè·¯ç”±(ç¯ç†„ç­)ï¼› -0x04:已连上路由器且连接到云端 (ç¯é•¿äº®)ï¼› -*/ -static u8 send_ble_sta[8]={0x55,0xAA,0x00,0x03,0x00,0x01,0xff,0xff}; -void usr_send_ble_sta(u8 flag) -{ - send_ble_sta[6]=flag; - send_ble_sta[7]=verify_checksum(send_ble_sta,7); - usr_uart_send_cmd(send_ble_sta,8); - printf("usr_send_ble_sta\n"); -} -//extern void usr_set_fool_val(u8 wei_cnt); -extern u8 usr_weishi_type; -extern u8 usr_weishi_fenshu; -static u8 weishi_mcu[15]={0x55,0xAA,0x00,0x06 ,0x00 ,0x08 ,0x03 ,0x02 ,0x00 ,0x04 ,0x00 ,0x00 ,0x00 ,0x02 ,0xFF}; -void usr_set_werishi(int cnt,u8 weishi_type) -{ - if(cnt>0) - { - //usr_set_fool_val(cnt); - usr_weishi_type=weishi_type; - usr_weishi_fenshu=cnt; - weishi_mcu[13]=cnt; - weishi_mcu[14]=verify_checksum(weishi_mcu,14); - printf("weishi cnt = %d\n",weishi_mcu[13]); - printf("checksum = %x\n",weishi_mcu[14]); - usr_uart_send_cmd(weishi_mcu,15); - } -} - - - - -extern void usr_clear_pair_info(); -const u8 reset_ble[7] = {0x55,0xAA,0x03,0x04,0x00,0x00,0x06}; -const u8 ble_reset_rsp[7] = {0x55,0xAA,0x00,0x04,0x00,0x00,0x03}; -const u8 ble_le_sta_rsp[7] = {0x55,0xAA,0x03,0x03,0x00,0x00,0x05}; -void usr_uart_data_recieve(u8* data,u16 len)///UARTæ•°æ®æŽ¥æ”¶ -{ -// log_info("uart_recieve: "); -// printf_buf(data, len); - if(!memcmp(reset_ble,data,7)) - { - usr_uart_send_cmd(ble_reset_rsp,7); - usr_clear_pair_info(); - return; - } - if(!memcmp(ble_le_sta_rsp,data,7)) - { - return; - } - usr_mcu_data_recieve(data,len); -} - - - - - diff --git a/apps/usr_uart_code/usr_uart_data_ana.c b/apps/usr_uart_code/usr_uart_data_ana.c deleted file mode 100644 index a099d9f..0000000 --- a/apps/usr_uart_code/usr_uart_data_ana.c +++ /dev/null @@ -1,241 +0,0 @@ -#include -#include - -#define MAX_PACKETS 12 // æœ€å¤§åŒ…æ•°é‡ -#define MAX_PACKET_LEN 128 // å•个包的最大长度 - -typedef struct { - unsigned char data[MAX_PACKET_LEN]; // åŒ…çš„æ•°æ® - int length; // 包的长度(包括帧头和校验和) - int data_length; // æ•°æ®éƒ¨åˆ†çš„长度(ä¸åŒ…括帧头和校验和) - int valid; // 校验是å¦é€šè¿‡ -} Packet; - -typedef struct { - Packet packets[MAX_PACKETS]; // è§£æžå‡ºçš„包数组 - int count; // è§£æžå‡ºçš„åŒ…æ•°é‡ - int valid_count; // æ ¡éªŒé€šè¿‡çš„åŒ…æ•°é‡ -} PacketResult; - - -// è®¡ç®—æ ¡éªŒå’Œå¹¶éªŒè¯ -int verify_checksum(const unsigned char* packet_data, int length) { - if (length < 3) return 0; // è‡³å°‘è¦æœ‰å¸§å¤´+1æ•°æ®+1校验和 - - unsigned char calculated_checksum = 0; - // 从帧头开始计算到倒数第二个字节的和 - for (int i = 0; i < length - 1; i++) { - calculated_checksum += packet_data[i]; - } - // 对256å–ä½™ - calculated_checksum %= 256; - - // 比较计算值和包中的校验和(最åŽä¸€ä¸ªå­—节) - return (calculated_checksum == packet_data[length - 1]); -} - -void parse_packets(const unsigned char* hex_array, int array_length, PacketResult* result) { - result->count = 0; - result->valid_count = 0; - int start_index = -1; - - for (int i = 0; i < array_length - 1 && result->count < MAX_PACKETS; i++) { - if (hex_array[i] == 0x55 && hex_array[i + 1] == 0xAA) { - if (start_index != -1) { - // ä¿å­˜ä¸Šä¸€ä¸ªåŒ…çš„ä¿¡æ¯ - int packet_length = i - start_index; - if (packet_length > MAX_PACKET_LEN) { - packet_length = MAX_PACKET_LEN; // 截断超长包 - } - - // å¤åˆ¶æ•°æ® - memcpy(result->packets[result->count].data, - hex_array + start_index, - packet_length); - - // è®¾ç½®åŒ…ä¿¡æ¯ - result->packets[result->count].length = packet_length; - result->packets[result->count].data_length = packet_length - 3; // å‡åŽ»å¸§å¤´å’Œæ ¡éªŒå’Œ - - // éªŒè¯æ ¡éªŒå’Œ - result->packets[result->count].valid = verify_checksum( - result->packets[result->count].data, - packet_length); - - if (result->packets[result->count].valid) { - result->valid_count++; - } - - result->count++; - } - start_index = i; - } - } - - // å¤„ç†æœ€åŽä¸€ä¸ªåŒ… - if (start_index != -1 && start_index < array_length && result->count < MAX_PACKETS) { - int packet_length = array_length - start_index; - if (packet_length > MAX_PACKET_LEN) { - packet_length = MAX_PACKET_LEN; - } - - // å¤åˆ¶æ•°æ® - memcpy(result->packets[result->count].data, - hex_array + start_index, - packet_length); - - // è®¾ç½®åŒ…ä¿¡æ¯ - result->packets[result->count].length = packet_length; - result->packets[result->count].data_length = packet_length - 3; - - // éªŒè¯æ ¡éªŒå’Œ - result->packets[result->count].valid = verify_checksum( - result->packets[result->count].data, - packet_length); - - if (result->packets[result->count].valid) { - result->valid_count++; - } - - result->count++; - } -} -void usr_tuya_data_ana(const unsigned char* data,int len); -void usr_mcu_data_recieve(const unsigned char* hex_array, int array_length) -{ - PacketResult result; - parse_packets(hex_array,array_length,&result); - printf("Total packets parsed: %d\n", result.count); - printf("Valid packets: %d\n", result.valid_count); - - for (int i = 0; i < result.count; i++) { - printf("\nPacket %d: Length=%d, Data Length=%d, Valid=%s\n", i+1, - result.packets[i].length, - result.packets[i].data_length, - result.packets[i].valid ? "Yes" : "No"); - - if (result.packets[i].valid) { - printf("Data: "); - printf_buf(result.packets[i].data, result.packets[i].length); - usr_tuya_data_ana(result.packets[i].data,result.packets[i].length); - printf("\n"); - } else { - printf("Invalid checksum - Packet ignored\n"); - } - } -} -//void usr_set_fool_val(unsigned char wei_cnt); -extern void usr_data_notify_auto(); -extern unsigned char usr_weishi_type; -extern unsigned char usr_weishi_fenshu; -extern void usr_weishi_notify(); -extern unsigned char usr_led_on_flag; -void usr_tuya_data_ana(const unsigned char* data,int len) -{ - switch(data[6])///DP ID - { - case 0x01:///喂食计划 - break; - case 0x02:///一键喂食 - break; - case 0x03:///手动喂食 - - break; - case 0x04:///å–‚é£ŸçŠ¶æ€ - switch(data[10]) - { - case 0x00:///就绪 - usr_weishi_type=0; - usr_weishi_fenshu=1; - usr_data_notify_auto(); - break; - case 0x01:///正在喂食 -// usr_set_fool_val(usr_weishi_fenshu); -// usr_weishi_notify(); - break; - case 0x02:///å–‚é£Ÿç»“æŸ - usr_weishi_type=0; - usr_weishi_fenshu=1; - - break; - default: - break; - } - break; - case 0x0a:///ç”µæ± ç”µé‡ - ///电池电é‡=data[13]; - break; - case 0x0b:///å……ç”µçŠ¶æ€ - ///充电状æ€=data[10] - break; - case 0x0d:///故障上报 - ///æ•…éšœ=data[10] - /* - bit0:food_jam - bit1:food_shortages - bit2:food_run_out - bit3:desiccant - bit4:battery_low - bit5:device_stuck - */ - break; - case 0x0e:///喂食结果上报 - break; - case 0x11:///çŠ¶æ€æŒ‡ç¤ºç¯åº”ç­” - ///LED开关=data[10] - usr_led_on_flag=data[10]; - break; - case 0x17:///慢放投喂 - break; - case 0x18:///æ¢å¤å‡ºåŽ‚è®¾ç½®åº”ç­” - break; - case 0x1c:///MCU获å–BLE模å—的本地时间 - break; - default: - break; - } -} - - - - -/* -int ana_demo() { - // ç¤ºä¾‹æ•°æ® - unsigned char hex_data[] = { - 0x55, 0xAA, 0x03, 0x07, 0x00, 0x0E, 0x01, 0x00, 0x00, 0x0A, 0x7F, 0x0F, 0x26, 0x01, 0x01, 0x7F, 0x0F, 0x28, 0x01, 0x01, 0x90, - 0x55, 0xAA, 0x03, 0x07, 0x00, 0x08, 0x03, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x01, 0x1B, - 0x55, 0xAA, 0x03, 0x07, 0x00, 0x05, 0x04, 0x04, 0x00, 0x01, 0x00, 0x17, - 0x55, 0xAA, 0x03, 0x07, 0x00, 0x08, 0x0A, 0x02, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x21, - 0x55, 0xAA, 0x03, 0x07, 0x00, 0x05, 0x0D, 0x05, 0x00, 0x01, 0x00, 0x21, - 0x55, 0xAA, 0x03, 0x07, 0x00, 0x05, 0x11, 0x01, 0x00, 0x01, 0x01, 0x22, - 0x55, 0xAA, 0x03, 0x07, 0x00, 0x05, 0x17, 0x01, 0x00, 0x01, 0x00, 0x87, - 0x55, 0xAA, 0x03, 0x1C, 0x00, 0x00, 0x17 - }; - - int data_length = sizeof(hex_data) / sizeof(hex_data[0]); - PacketResult result; - - parse_packets(hex_data, data_length, &result); - - printf("Total packets parsed: %d\n", result.count); - printf("Valid packets: %d\n", result.valid_count); - - for (int i = 0; i < result.count; i++) { - printf("\nPacket %d: Length=%d, Data Length=%d, Valid=%s\n", i+1, - result.packets[i].length, - result.packets[i].data_length, - result.packets[i].valid ? "Yes" : "No"); - - if (result.packets[i].valid) { - printf("Data: "); - printf_buf(result.packets[i].data, result.packets[i].length); - printf("\n"); - } else { - printf("Invalid checksum - Packet ignored\n"); - } - } - - return 0; -} -*/ diff --git a/apps/usr_utc/usr_plan.c b/apps/usr_utc/usr_plan.c deleted file mode 100644 index ca4a2e0..0000000 --- a/apps/usr_utc/usr_plan.c +++ /dev/null @@ -1,711 +0,0 @@ -#include "app_config.h" -#include "key_event_deal.h" -#include "system/includes.h" -#include "tone_player.h" -#include "app_task.h" -#include "tone_player.h" -#include "media/includes.h" -#include "system/sys_time.h" -#include "ui/ui_api.h" -#include "clock_cfg.h" -#include "ui/ui_style.h" -#include "ui_manage.h" -#include "app_main.h" -#include -#include -#include -#include "printf.h" - -#define MAX_ENTRIES 10 -#define ENTRY_LENGTH 17 - -typedef struct { - bool weekdays[7]; // 周一到周日,true表示有效 - int start_hour; // 开始时间(å°æ—¶) - int start_minute; // 开始时间(分钟) - int end_hour; // ç»“æŸæ—¶é—´(å°æ—¶) - int end_minute; // ç»“æŸæ—¶é—´(分钟) - bool is_valid; // æ•°æ®æ˜¯å¦æœ‰æ•ˆ -} TimeSlot; - -typedef struct { - TimeSlot slots[MAX_ENTRIES]; - int count; -} TimeSlotResult; - -// 星期枚举 - 按照周一到周日排列(1-7) -typedef enum { - MONDAY = 1, - TUESDAY, - WEDNESDAY, - THURSDAY, - FRIDAY, - SATURDAY, - SUNDAY -} Weekday; -extern uint32_t convertToUtcTimestamp(uint16_t year, uint8_t month, uint8_t day,uint8_t hour, uint8_t minute, uint8_t second); -extern void usr_plan_dec(u8* data,u8 cur_hour,u8 cur_min,u8 cur_week); - -// 星期几转æ¢ä¸ºå­—符串 -const char* weekdayNames[] = {"", "Monday", "Tuesday", "Wednesday", - "Thursday", "Friday", "Saturday", "Sunday"}; - -///"1000001+0928+3+1" -u8 usr_we_plan_table[170]; -struct sys_time usr_current_time; -struct sys_time usr_set_time; - - -// 将两个字符转æ¢ä¸ºæ•°å­— -static int parse_two_digits(const char* str) { - if (!isdigit(str[0])) return -1; - if (!isdigit(str[1])) return -1; - return (str[0] - '0') * 10 + (str[1] - '0'); -} - -// è§£æžå•ä¸ªæ—¶é—´åŒºé—´æ•°æ® -bool parse_single_entry(const char* data, TimeSlot* slot) { - // 检查终止符 - if (data[0] == 0xFF) { - return false; - } - - // åˆå§‹åŒ–结构体 - memset(slot, 0, sizeof(TimeSlot)); - slot->is_valid = true; - - // è§£æžå‘¨ä¸€åˆ°å‘¨æ—¥æœ‰æ•ˆæ€§ (å‰7ä½) - for (int i = 0; i < 7; i++) { - if (data[i] != '0' && data[i] != '1') { - slot->is_valid = false; - return true; - } - slot->weekdays[i] = (data[i] == '1'); - } - - // 检查分隔符 - if (data[7] != '+' || data[12] != '+') { - slot->is_valid = false; - return true; - } - - // è§£æžå¼€å§‹æ—¶é—´ (第8-11ä½ï¼Œæ ¼å¼1828) - slot->start_hour = parse_two_digits(data + 8); - slot->start_minute = parse_two_digits(data + 10); - - // è§£æžç»“æŸæ—¶é—´ (第13-16ä½ï¼Œæ ¼å¼1930) - slot->end_hour = parse_two_digits(data + 13); - slot->end_minute = parse_two_digits(data + 15); - - // éªŒè¯æ—¶é—´æœ‰æ•ˆæ€§ - if (slot->start_hour < 0 || /*slot->start_hour >= 24 ||*/ - slot->start_minute < 0 || slot->start_minute >= 60 || - slot->end_hour < 0 || /*slot->end_hour >= 24 ||*/ - slot->end_minute < 0 || slot->end_minute >= 60) { - printf("!!!!!!!!!!!!!1 time invalid\n"); - slot->is_valid = false; - } - - return true; -} - -// è§£æžæ—¶é—´åŒºé—´æ•°æ®æ•°ç»„ -void parse_time_slots(const unsigned char* data, int data_length, TimeSlotResult* result) { - result->count = 0; - - // 检查输入数æ®é•¿åº¦æ˜¯å¦åˆç† - if (data_length < ENTRY_LENGTH || data_length > MAX_ENTRIES * ENTRY_LENGTH) { - printf("!!!!!!!!!!invalid date1\n"); - return; - } - - // è§£æžæ¯ç»„æ•°æ® - for (int i = 0; i < MAX_ENTRIES; i++) { - int offset = i * ENTRY_LENGTH; - - // 检查是å¦è¶…出数æ®èŒƒå›´ - if (offset + ENTRY_LENGTH > data_length) { - printf("!!!!!!!!!!invalid date2\n"); - return; - } - - // 检查终止符 - if (data[offset] == 0xFF) { - //printf("!!!!!!!!!!date end\n"); - return; - } - - // è§£æžå•个æ¡ç›® - if (!parse_single_entry((const char*)(data + offset), &result->slots[result->count])) { - return; - } - - // åªæœ‰æœ‰æ•ˆæ•°æ®æ‰è®¡æ•° - if (result->slots[result->count].is_valid) { - result->count++; - } - } -} - -// æ‰“å°æ—¶é—´åŒºé—´ä¿¡æ¯ -void print_time_slot(const TimeSlot* slot) { - const char* weekday_names[] = {" WEEK1", "WEEK2", "WEEK3", "WEEK4", "WEEK5", "WEEK6", "WEEK7"}; - - printf("WEEK: "); - int valid_days = 0; - for (int i = 0; i < 7; i++) { - if (slot->weekdays[i]) { - printf("%s ", weekday_names[i]); - valid_days++; - } - } - if (valid_days == 0) { - printf("unknown"); - } - - printf("\ntime: %02d:%02d - %02d:%02d\n", - slot->start_hour, slot->start_minute, - slot->end_hour, slot->end_minute); -} - -int plan_test_main() { - // ç¤ºä¾‹æ•°æ® (170字节数组,实际åªå¡«å……部分数æ®) - unsigned char test_data[170] = { - '0','0','0','0','0','0','1','+','1','8','2','8','+','1','9','3','0', // æ¡ç›®1 - '1','0','0','0','0','0','0','+','0','8','0','0','+','1','2','0','0', // æ¡ç›®2 - '0','1','0','0','0','0','0','+','1','3','0','0','+','1','7','3','0', // æ¡ç›®3 - '0','0','0','0','0','0','0','+','1','8','2','8','+','1','9','3','0', - '1','1','1','1','1','1','1','+','1','2','2','4','+','2','3','3','0', - 0xFF, // 终止符 - // 剩余数æ®... - }; - - TimeSlotResult result = {0}; - parse_time_slots(test_data, sizeof(test_data), &result); - - printf("total num %d :\n", result.count); - for (int i = 0; i < result.count; i++) { - printf("\nnum %d:\n", i+1); - print_time_slot(&result.slots[i]); - } - - return 0; -} - - - - - -// 计算æŸå¹´æŸæœˆæŸæ—¥æ˜¯æ˜ŸæœŸå‡ ï¼ˆè¿”回1-7对应周一到周日) -uint8_t calculateWeekday(uint16_t year, uint8_t month, uint8_t day) -{ - // 如果月份是1月或2月,当作å‰ä¸€å¹´çš„13月或14月 - if (month < 3) { - month += 12; - year -= 1; - } - - uint16_t century = year / 100; - uint16_t yearInCentury = year % 100; - - // Zellerå…¬å¼ - // h = (q + [(13(m+1))/5] + K + K/4 + J/4 + 5J) mod 7 - // h是星期几(0=周六,1=周日,2=周一,...,6=周五) - uint16_t h = (day + (13 * (month + 1)) / 5 + yearInCentury + yearInCentury / 4 + century / 4 + 5 * century) % 7; - - // 转æ¢ä¸º1=周一,2=周二,...,7=周日 - uint8_t weekday = (h + 5) % 7 + 1; - - return weekday; -} - -void usr_get_sys_time()//èŽ·å–æ—¶é—´ -{ - u8 usr_week_data=0; - /*if (!__this->dev_handle) { - return ; - }*/ - //if(usr_time_set_flag==0)return; - - //dev_ioctl(__this->dev_handle, IOCTL_GET_SYS_TIME, (u32)&usr_current_time); - read_sys_time(&usr_current_time); - usr_week_data=calculateWeekday(usr_current_time.year,usr_current_time.month,usr_current_time.day); - /*printf("time: %d-%d-%d %d:%d:%d", - usr_current_time.year, - usr_current_time.month, - usr_current_time.day, - usr_current_time.hour, - usr_current_time.min, - usr_current_time.sec);*/ - //printf("Day of week: %s\n", weekdayNames[usr_week_data]); - if((usr_current_time.year<2025)||(usr_current_time.year>2098))return; - usr_var.usr_cureent_utc=convertToUtcTimestamp(usr_current_time.year,usr_current_time.month,usr_current_time.day,usr_current_time.hour,usr_current_time.min,usr_current_time.sec); - if(usr_var.usr_cureent_utc) - { - if(usr_var.usr_cureent_utc>usr_var.usr_timezoneOffset)usr_var.usr_cureent_utc=usr_var.usr_cureent_utc-usr_var.usr_timezoneOffset; - } - -/* -0000001+1828+05+1 -1000001+0928+03+1 -1100000+1328+02+0 -0000000+1032+01+1 -*/ - //if(usr_time_set_flag) - { - usr_plan_dec(usr_we_plan_table,usr_current_time.hour,usr_current_time.min,usr_week_data); - } - -} - -void usr_set_sys_time()//设置时间 -{ - /*usr_set_time.year=data_time->year; - usr_set_time.month=data_time->month; - usr_set_time.day=data_time->day; - usr_set_time.hour=data_time->hour; - usr_set_time.min=data_time->minute; - usr_set_time.sec=data_time->second;*/ - //dev_ioctl(__this->dev_handle, IOCTL_SET_SYS_TIME, (u32)&usr_set_time); - write_sys_time(&usr_set_time); - //dev_ioctl(__this->dev_handle, IOCTL_GET_SYS_TIME, (u32)&usr_current_time); - - read_sys_time(&usr_current_time); - usr_current_time.year=usr_set_time.year; - usr_current_time.month=usr_set_time.month; - usr_current_time.day=usr_set_time.day; - usr_current_time.hour=usr_set_time.hour; - usr_current_time.min=usr_set_time.min; - usr_current_time.sec=usr_set_time.sec; - - usr_var.usr_cureent_utc=convertToUtcTimestamp(usr_current_time.year,usr_current_time.month,usr_current_time.day,usr_current_time.hour,usr_current_time.min,usr_current_time.sec); - if(usr_var.usr_cureent_utc) - { - if(usr_var.usr_cureent_utc>usr_var.usr_timezoneOffset)usr_var.usr_cureent_utc=usr_var.usr_cureent_utc-usr_var.usr_timezoneOffset; - } - printf("##### usr_var.usr_cureent_utc = %d\n",usr_var.usr_cureent_utc); -} - -void usr_rtc_get_time() -{ - usr_get_sys_time(); -} - - - - -///"1000001+0928+3+1" - -void usr_read_plan() -{ - - int ret=0; - u8 default_str[]={'1','1','1','1','1','1','1','+','2','2','0','0','+','0','6','0','0',}; - //i=CFG_USER_PLAN_INFO1; - printf("usr_read_plan start\n"); - - ret = syscfg_read(CFG_USER_PLAN_INFO1,usr_we_plan_table,170); - printf("ret = %d\n",ret); - if(ret<=0) - { - memset(usr_we_plan_table,0xff,170); - memcpy(usr_we_plan_table,default_str,17); - syscfg_write(CFG_USER_PLAN_INFO1,usr_we_plan_table,170); - } - for(u8 i=0;i<5;i++) - { - printf_buf(&usr_we_plan_table[i*17],17); - } - - printf("usr_read_plan end\n"); - -} -void usr_clear_plan() -{ - u8 default_str[]={'1','1','1','1','1','1','1','+','2','2','0','0','+','0','6','0','0',}; - memset(usr_we_plan_table,0xff,170); - memcpy(usr_we_plan_table,default_str,17); - syscfg_write(CFG_USER_PLAN_INFO1,usr_we_plan_table,170); -} -void usr_write_plan(u8 write_num,u8*data) -{ - memcpy(&usr_we_plan_table[write_num*17],data,17); - //printf("w data:"); - //printf_buf(data,17); - //memcpy(&usr_we_plan_table[write_num][0],data,17); -} - -void usr_write_plan_to_vm() -{ - syscfg_write(CFG_USER_PLAN_INFO1,usr_we_plan_table,170); -} - - - -void usr_plan_init() -{ - // usr_clear_min_cache(); - // rtc_task_start(); - usr_read_plan(); - usr_var.usr_timezoneOffset=0; -} - -/* -typedef struct { - bool weekdays[7]; // 周一到周日,true表示有效 - int start_hour; // 开始时间(å°æ—¶) - int start_minute; // 开始时间(分钟) - int end_hour; // ç»“æŸæ—¶é—´(å°æ—¶) - int end_minute; // ç»“æŸæ—¶é—´(分钟) - bool is_valid; // æ•°æ®æ˜¯å¦æœ‰æ•ˆ -} TimeSlot; - -typedef struct { - TimeSlot slots[MAX_ENTRIES]; - int count; -} TimeSlotResult; - -*/ - - - -// 更通用的版本,å¯ä»¥æŒ‡å®šä»»æ„å¼€å§‹å’Œç»“æŸæ—¶é—´ -int isWithinCustomTimeRange(u16 cur_hour,u16 cur_min,u16 start_hour,u16 start_min,u16 end_hour,u16 end_min) { - - // 将当剿—¶é—´è½¬æ¢ä¸ºæ€»åˆ†é’Ÿæ•° - int current_minutes = cur_hour * 60 + cur_min; - - // å°†å¼€å§‹æ—¶é—´å’Œç»“æŸæ—¶é—´è½¬æ¢ä¸ºæ€»åˆ†é’Ÿæ•° - int start_minutes = start_hour * 60 + start_min; - int end_minutes = end_hour * 60 + end_min; - - // 判断时间段是å¦è·¨å¤© - int crosses_midnight = (start_minutes > end_minutes); - - if (crosses_midnight) { - // 跨天的情况 - if (current_minutes >= start_minutes || current_minutes < end_minutes) { - return 1; - } else { - return 0; - } - } else { - // ä¸è·¨å¤©çš„æƒ…况 - if (current_minutes >= start_minutes && current_minutes < end_minutes) { - return 1; - } else { - return 0; - } - } -} - - -void usr_plan_dec(u8* data,u8 cur_hour,u8 cur_min,u8 cur_week) -{ - TimeSlotResult result = {0}; - parse_time_slots(data, 170, &result); - if(result.count>1)result.count=1; - usr_var.usr_plan_cnt=result.count; - u8 i=0; - - - if(_usr_module_cfg.wuraomoshi_onoff==0) - { - usr_var.usr_disable_zjhendong=0; - return; - } - - if((result.slots[i].start_hour==0)&&(result.slots[i].end_hour==0)) - { - usr_var.usr_disable_zjhendong=1; - return ; - } - - if((result.slots[i].start_hour==0)&&(result.slots[i].end_hour==24)) - { - usr_var.usr_disable_zjhendong=1; - return ; - } - - if((result.slots[i].start_hour==24)&&(result.slots[i].end_hour==0)) - { - usr_var.usr_disable_zjhendong=1; - return ; - } - if((result.slots[i].start_hour==24)&&(result.slots[i].end_hour==24)) - { - usr_var.usr_disable_zjhendong=1; - return ; - } - - - //printf("total num %d :\n", result.count); - for (u8 i = 0; i < result.count; i++) - { - //printf("time: %02d:%02d - %02d:%02d\n",\ - // result.slots[i].start_hour, result.slots[i].start_minute,\ - // result.slots[i].end_hour, result.slots[i].end_minute); - //printf("cur_week = [%d]",cur_week); - if(usr_we_plan_table[cur_week-1]==0x30) - { - usr_var.usr_disable_zjhendong=0; - return; - } - for(u8 j=0;j<7;j++) - { - if(usr_we_plan_table[j]==0x31) - { - if((j+1)==cur_week) - { - if(isWithinCustomTimeRange(cur_hour,cur_min,result.slots[i].start_hour,result.slots[i].start_minute,\ - result.slots[i].end_hour,result.slots[i].end_minute)) - { - //putchar('1'); - usr_var.usr_disable_zjhendong=1; - } - else - { - //putchar('0'); - usr_var.usr_disable_zjhendong=0; - } - } - } - } - } - - - //plan_test_main(); -} - -#if 0 -u8 usr_weishi_plan_cnt=0; -void usr_plan_dec(u8* data,u8 cur_hour,u8 cur_min,u8 cur_week) -{ - // 示例数æ®ï¼ˆusr_we_plan_table,包å«2组有效数æ®+0xFF填充) - /* uint8_t usr_we_plan_table[160] = { - // 第1组: "0000001+1828+5+1"(周一执行,18:28,é‡å¤5次,å¯ç”¨ï¼‰ - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x2B,0x31, 0x38, 0x32, 0x38, 0x2B, 0x35, 0x2B, 0x31, - - // 第2组: "1000001+0928+3+1"(周日和周一执行,09:28,é‡å¤3次,å¯ç”¨ï¼‰ - 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x2B,0x30, 0x39, 0x32, 0x38, 0x2B, 0x33, 0x2B, 0x31, - - // 剩余部分填充0xFF(无效数æ®ï¼‰ - 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, - // ...(åŽç»­å…¨éƒ¨0xFF) - };*/ - - -/* - task1: week=0x01, time=18:28, action_cnt=5, onoff=1 - task2: week=0x41, time=09:28, action_cnt=3, onoff=1 - task3: week=0x60, time=13:28, action_cnt=2, onoff=0 - task4: week=0x00, time=10:32, action_cnt=1, onoff=1 -*/ - - u8 usr_cur_week=0; - usr_cur_week=cur_week; - - TaskConfig tasks[MAX_TASKS]; // 存储解æžç»“æžœ - uint8_t task_count = parse_multiple_tasks(data, tasks, MAX_TASKS); - usr_weishi_plan_cnt=task_count; - //printf("ana %d task min_cache = %d\n", task_count,min_cache); - for (uint8_t i = 0; i < task_count; i++) - { - usr_weishi_index=i; - /*printf("task%d: week=0x%02X, time=%02d:%02d, action_cnt=%d, onoff=%d\n",i + 1, - tasks[i].execute_days, - tasks[i].hour, - tasks[i].minute, - tasks[i].repeat_count, - tasks[i].is_enabled);*/ - if(min_cache<0xff) - { - if(cur_min>min_cache) - { - min_cache=0xff; - } - } - if(tasks[i].execute_days==0x00) - { - if(tasks[i].is_enabled) - { - if((cur_hour==tasks[i].hour)&&(cur_min==tasks[i].minute)) - { - if(min_cache!=cur_min) - { - printf("plan to feed!\n"); - usr_set_werishi(tasks[i].repeat_count,1); - min_cache=cur_min; - // 修改第任务的 is_enabled 为 0(关闭) - bool success = update_task_enabled(data, &tasks[i], false); - if (success) { - printf("close task!\n"); - printf("new enabled is: %d\n", tasks[i].is_enabled); - } - } - } - else - { - //min_cache=0xff; - } - } - } - - switch(cur_week) - { - case 0x01: - if(tasks[i].execute_days&BIT(6))///周一有计划 - { - if(tasks[i].is_enabled) - { - if((cur_hour==tasks[i].hour)&&(cur_min==tasks[i].minute)) - { - if(min_cache!=cur_min) - { - printf("plan to feed!\n"); - usr_set_werishi(tasks[i].repeat_count,1); - min_cache=cur_min; - } - } - else - { - //min_cache=0xff; - } - } - } - break; - case 0x02: - if(tasks[i].execute_days&BIT(5))///周二有计划 - { - if(tasks[i].is_enabled) - { - if((cur_hour==tasks[i].hour)&&(cur_min==tasks[i].minute)) - { - if(min_cache!=cur_min) - { - printf("plan to feed!\n"); - usr_set_werishi(tasks[i].repeat_count,1); - min_cache=cur_min; - } - } - else - { - // min_cache=0xff; - } - } - } - break; - case 0x03: - if(tasks[i].execute_days&BIT(4))///周三有计划 - { - if(tasks[i].is_enabled) - { - if((cur_hour==tasks[i].hour)&&(cur_min==tasks[i].minute)) - { - if(min_cache!=cur_min) - { - printf("plan to feed!\n"); - usr_set_werishi(tasks[i].repeat_count,1); - min_cache=cur_min; - } - } - else - { - ///min_cache=0xff; - } - } - } - break; - case 0x04: - if(tasks[i].execute_days&BIT(3))///周四有计划 - { - - if(tasks[i].is_enabled) - { - //printf("cur_hour = %d tasks[%d].hour = %d\n",cur_hour,i,tasks[i].hour); - //printf("cur_min = %d tasks[%d].minute = %d\n",cur_min,i,tasks[i].minute); - if((cur_hour==tasks[i].hour)&&(cur_min==tasks[i].minute)) - { - if(min_cache!=cur_min) - { - printf("plan to feed!\n"); - usr_set_werishi(tasks[i].repeat_count,1); - min_cache=cur_min; - //printf("min_cache2 = %d\n",min_cache); - } - } - else - { - //min_cache=0xff; - //printf("min_cache3 = %d\n",min_cache); - } - } - } - break; - case 0x05: - if(tasks[i].execute_days&BIT(2))///周五有计划 - { - if(tasks[i].is_enabled) - { - if((cur_hour==tasks[i].hour)&&(cur_min==tasks[i].minute)) - { - if(min_cache!=cur_min) - { - printf("plan to feed!\n"); - usr_set_werishi(tasks[i].repeat_count,1); - min_cache=cur_min; - } - } - else - { - //min_cache=0xff; - } - } - } - break; - case 0x06: - if(tasks[i].execute_days&BIT(1))///周六有计划 - { - if(tasks[i].is_enabled) - { - if((cur_hour==tasks[i].hour)&&(cur_min==tasks[i].minute)) - { - if(min_cache!=cur_min) - { - printf("plan to feed!\n"); - usr_set_werishi(tasks[i].repeat_count,1); - min_cache=cur_min; - } - } - else - { - //min_cache=0xff; - } - } - } - break; - case 0x07: - if(tasks[i].execute_days&BIT(0))///周日有计划 - { - if(tasks[i].is_enabled) - { - if((cur_hour==tasks[i].hour)&&(cur_min==tasks[i].minute)) - { - if(min_cache!=cur_min) - { - printf("plan to feed!\n"); - usr_set_werishi(tasks[i].repeat_count,1); - min_cache=cur_min; - } - } - else - { - //min_cache=0xff; - } - } - } - break; - } - } -} -#endif // 0 diff --git a/apps/usr_utc/usr_utc_de_en.c b/apps/usr_utc/usr_utc_de_en.c deleted file mode 100644 index 9a7cc5c..0000000 --- a/apps/usr_utc/usr_utc_de_en.c +++ /dev/null @@ -1,186 +0,0 @@ -#include "system/includes.h" -#include "app_config.h" -#include "asm/pwm_led.h" -#include "tone_player.h" -#include "ui_manage.h" -#include "app_main.h" -#include "app_task.h" -#include "asm/charge.h" -#include "app_power_manage.h" -#include "app_charge.h" -#include "user_cfg.h" -#include "audio.h" -#include "vm.h" -#include "sys_time.h" - -// 定义时间结构体 -typedef struct { - uint16_t year; // 年份 (1970-2106) - uint8_t month; // 月份 (1-12) - uint8_t day; // æ—¥ (1-31) - uint8_t hour; // æ—¶ (0-23) - uint8_t minute; // 分 (0-59) - uint8_t second; // ç§’ (0-59) -} DateTime; - -DateTime usr_dt; - -void parseMillisecondTimestamp(int64_t timestampMs, int64_t timezoneOffset, DateTime *dt); -void usr_set_data_time(int64_t timestampMs, int64_t timezoneOffset) -{ - parseMillisecondTimestamp(timestampMs,timezoneOffset,&usr_dt); -} - -extern struct sys_time usr_set_time; - -extern void usr_set_sys_time();//设置时间 - -// 判断是å¦ä¸ºé—°å¹´ -static uint8_t isLeapYear(uint16_t year) { - if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { - return 1; - } - return 0; -} -// 计算从1970年到指定年份之å‰çš„æ€»å¤©æ•° -static uint32_t getDaysSinceEpoch(uint16_t year) { - uint32_t days = 0; - for (uint16_t y = 1970; y < year; y++) { - days += isLeapYear(y) ? 366 : 365; - } - return days; -} -// èŽ·å–æŒ‡å®šå¹´ä»½å’Œæœˆä»½çš„天数 -static uint8_t getDaysInMonth(uint16_t year, uint8_t month) { - const uint8_t daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; - if (month == 2 && isLeapYear(year)) { - return 29; - } - if (month >= 1 && month <= 12) { - return daysInMonth[month - 1]; - } - return 0; -} - -// è§£æžæ¯«ç§’级UTC时间戳并应用时区åç§» -void parseMillisecondTimestamp(int64_t timestampMs, int64_t timezoneOffset, DateTime *dt) -{ - // 转æ¢ä¸ºç§’(丢弃毫秒部分) - int64_t timestamp = timestampMs ;/// 1000; - - // 应用时区åç§»(转æ¢ä¸ºç§’) - timestamp += timezoneOffset;// * 3600; - usr_var.usr_timezoneOffset = timezoneOffset; - // 处ç†å¯èƒ½çš„负值 - if (timestamp < 0) { - timestamp = 0; - } - - uint64_t days, seconds, minutes, hours; - uint16_t year = 1970; - uint8_t month = 1; - - // 计算秒ã€åˆ†ã€æ—¶ - seconds = timestamp % 60; - timestamp /= 60; - minutes = timestamp % 60; - timestamp /= 60; - hours = timestamp % 24; - timestamp /= 24; - - // 计算年月日 - while (1) { - uint16_t daysInYear = isLeapYear(year) ? 366 : 365; - if (timestamp >= daysInYear) { - timestamp -= daysInYear; - year++; - } else { - break; - } - } - - while (1) { - uint8_t daysInMonth = getDaysInMonth(year, month); - if (timestamp >= daysInMonth) { - timestamp -= daysInMonth; - month++; - } else { - break; - } - } - - // 填充结构体 - dt->year = year; - dt->month = month; - dt->day = (uint8_t)(timestamp + 1); - dt->hour = (uint8_t)hours; - dt->minute = (uint8_t)minutes; - dt->second = (uint8_t)seconds; - - - usr_set_time.year=dt->year; - usr_set_time.month=dt->month; - usr_set_time.day=dt->day; - usr_set_time.hour=dt->hour; - usr_set_time.min=dt->minute; - usr_set_time.sec=dt->second; - - - usr_set_sys_time(); -} - - - - - - - -/* -> 喂食计划设置请求 - * 命令ID: 205 - * 傿•°è¯´æ˜Ž - -| 索引 | 类型 | æè¿° | å–值 | -| ---- | ------ | ------------------------------------------------------------ | ---------------------------- | -| 0 | int32 | 喂食计划个数(最多10个计划) | 0-10 | -| 0-N | string | 周计划 + 时间点 + 份数 +开关
周计划:ddddddd, 从左到å³è¡¨ç¤º7个,分别表示周一到周日,1表示有效,0表示无效 -
时间点:hhmm, hhè¡¨ç¤ºå°æ—¶ï¼Œmm表示分钟
份数 :n 表示份数
开关:x 1 表示开,0表示关
- 例如
0000001+1828+5+1 表示æ¯å‘¨æ—¥é‡å¤ +18:28+5份粮+å¼€
- 1000001+0928+3+1 表示æ¯å‘¨ä¸€å’Œå‘¨æ—¥é‡å¤+09:28+3份粮+å¼€
- 1100000+1328+2+0 表示æ¯å‘¨ä¸€å’Œå‘¨äºŒé‡å¤+13:28+2份粮+å…³
- 0000000+1032+1+1 è¡¨ç¤ºå•æ¬¡ +10:32+1份粮+å¼€ | 字符串
ddddddd+hhmm+n+x | - -*/ - - - - - - - -// 示例用法 - -int utc_test_main() { - /* DateTime dt; - uint64_t utcTimestamp = 1747568305845; // 2024-05-18 00:00:00 UTC - int32_t timezoneOffset = 8*60*60; // 东八区(北京时间) - - parseMillisecondTimestamp(utcTimestamp, timezoneOffset, &dt); - printf("utc_read_sys_time: %d-%d-%d %d:%d:%d\n", - dt.year, - dt.month, - dt.day, - dt.hour, - dt.minute, - dt.second); - // 现在dt结构体中包å«è§£æžåŽçš„æœ¬åœ°æ—¶é—´ä¿¡æ¯ - // dt.year = 2024 - // dt.month = 5 - // dt.day = 18 - // dt.hour = 8 (UTC+8) - // dt.minute = 0 - // dt.second = 0 -*/ - return 0; -} - diff --git a/apps/usr_utc/usr_utc_encode.c b/apps/usr_utc/usr_utc_encode.c deleted file mode 100644 index 06aa498..0000000 --- a/apps/usr_utc/usr_utc_encode.c +++ /dev/null @@ -1,88 +0,0 @@ -#include "system/includes.h" -#include "app_config.h" -#include "asm/pwm_led.h" -#include "tone_player.h" -#include "ui_manage.h" -#include "app_main.h" -#include "app_task.h" -#include "asm/charge.h" -#include "app_power_manage.h" -#include "app_charge.h" -#include "user_cfg.h" -#include "audio.h" -#include "vm.h" -#include "sys_time.h" - - - - - -#include - -// 判断是å¦ä¸ºé—°å¹´ -static uint8_t isLeapYear(uint16_t year) { - if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { - return 1; - } - return 0; -} - -// 计算从1970年到指定年份之å‰çš„æ€»å¤©æ•° -static uint32_t getDaysSinceEpoch(uint16_t year) { - uint32_t days = 0; - for (uint16_t y = 1970; y < year; y++) { - days += isLeapYear(y) ? 366 : 365; - } - return days; -} - -// 计算指定年份中到指定月份之å‰çš„æ€»å¤©æ•° -static uint32_t getDaysInYear(uint16_t year, uint8_t month) { - const uint8_t daysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; - uint32_t days = 0; - - for (uint8_t m = 1; m < month; m++) { - days += daysInMonth[m - 1]; - // 处ç†é—°å¹´äºŒæœˆ - if (m == 2 && isLeapYear(year)) { - days += 1; - } - } - return days; -} - -// 将日期时间转æ¢ä¸ºUTC时间戳(秒级) -// 傿•°èŒƒå›´æ£€æŸ¥ï¼š1970 <= year <= 2106, 1 <= month <= 12, 1 <= day <= 31 -// 0 <= hour <= 23, 0 <= minute <= 59, 0 <= second <= 59 -uint32_t convertToUtcTimestamp(uint16_t year, uint8_t month, uint8_t day, - uint8_t hour, uint8_t minute, uint8_t second) { - // 1. 计算从1970年到目标年份之å‰çš„æ€»å¤©æ•° - uint32_t totalDays = getDaysSinceEpoch(year); - - // 2. 加上目标年份中到目标月份之å‰çš„天数 - totalDays += getDaysInYear(year, month); - - // 3. 加上当月已过的天数(day-1,因为当天还没过完) - totalDays += (day - 1); - - // 4. 计算总秒数 - uint32_t totalSeconds = totalDays * 86400UL; // æ¯å¤©86400ç§’ - totalSeconds += hour * 3600UL; // å°æ—¶è½¬ç§’ - totalSeconds += minute * 60UL; // 分钟转秒 - totalSeconds += second; // 加上秒 - - return totalSeconds; -} - -// 示例用法 - -int utc_dec_test_main() -{ - // 北京时间2025-05-19 00:38:25 (UTCæ—¶é—´2025-05-18 16:38:25) - /*uint32_t timestamp = convertToUtcTimestamp(2025, 5, 18, 16, 38, 25); - // 应返回1747568305 (对应的毫秒时间戳是1747568305000) - - printf("UTC timestamp: %lu\n", timestamp);*/ - return 0; -} - diff --git a/cpu/br28/mcpwm.c b/cpu/br28/mcpwm.c index c4efc16..f8213d2 100644 --- a/cpu/br28/mcpwm.c +++ b/cpu/br28/mcpwm.c @@ -544,80 +544,6 @@ void io_ext_interrupt_close(u8 index, u8 port) } -#include "app_main.h" -void usr_intterupt_close(); -extern void usr_clear_up(); - -extern void usr_write_device_sta(); -extern void usr_le_120_notify_data(); -extern u8 usr_get_work_status(); - -///////////// 使用举例如下 ////////////////// -void my_io_isr_cbfun(u8 index) -{ - //printf("io index --> %d Hello world !\n", index); - - if(_usr_module_cfg.zhengdong_kaiji) - { - if((usr_get_work_status()==0)||(_usr_module_cfg.power_on_flag==0)) - { - usr_var.usr_allow_to_sleep_cnt=4; - usr_var.usr_interrupt_cnt++; - printf("usr_var.usr_interrupt_cnt = %d \n", usr_var.usr_interrupt_cnt); - if(usr_var.usr_interrupt_cnt>=16) - { - usr_clear_up(); - usr_var.usr_interrupt_cnt=0; - _usr_module_cfg.power_on_flag=1; - _usr_module_cfg.local_moto_mode=2; - _usr_module_cfg.usr_dizhuo_mode=0; - _usr_module_cfg.usr_douban_mode=0; - usr_intterupt_close(); - sys_timeout_add(NULL,usr_le_120_notify_data,100); - sys_timeout_add(NULL,usr_write_device_sta,600); - } - } - } - else - { - usr_var.usr_interrupt_cnt=0; - } -} - - - - - -void io_ext_interrupt_test(void) -{ - set_io_ext_interrupt_cbfun(my_io_isr_cbfun); - io_ext_interrupt_init(0, IO_PORTA_03, 1); - usr_intterupt_close(); - /*io_ext_interrupt_init(1, IO_PORTB_01, 1); - io_ext_interrupt_init(2, IO_PORTC_02, 1); - io_ext_interrupt_init(3, IO_PORTG_01, 1); - extern void wdt_clear(); - while (1) { - wdt_clear(); - }*/ -} - -void usr_intterupt_close() -{ - if(usr_var.usr_intterupt_reinit_falg==1) - { - usr_var.usr_intterupt_reinit_falg=0; - io_ext_interrupt_close(0, IO_PORTA_03); - } -} -void usr_intterupt_reinit() -{ - if(usr_var.usr_intterupt_reinit_falg==0) - { - usr_var.usr_intterupt_reinit_falg=1; - io_ext_interrupt_reinit(0, IO_PORTA_03, 1); - } -} /******************************* 用timeråšpwmçš„å‚è€ƒä»£ç  ***************************/ /** @@ -676,135 +602,3 @@ void set_timer_pwm_duty(JL_TIMER_TypeDef *JL_TIMERx, u32 duty) JL_TIMERx->PWM = (JL_TIMERx->PRD * duty) / 10000; //0~10000对应0~100% } -/*void timer_pwm_test(void) -{ - timer_pwm_init(JL_TIMER2, IO_PORTC_03, 10000, 7000); - timer_pwm_init(JL_TIMER3, IO_PORTG_04, 1000, 2000); - extern void wdt_clear(); - while (1) { - wdt_clear(); - } -}*/ - - - - - -void timer_pwm_test(void) -{ - /* timer_pwm_init(JL_TIMER0, 100, 0, IO_PORTA_05, 0); - timer_pwm_init(JL_TIMER2, 100, 0, IO_PORTA_06, CH2_T2_PWM_OUT); - usr_set_up_moto(0,0);*/ - //timer_pwm_init(JL_TIMER3, 1000, 0, IO_PORTA_03, CH1_T3_PWM_OUT); - // timer_pwm_init(JL_TIMER3, 100, 0, IO_PORTA_04, CH1_T3_PWM_OUT); - // while(1); - //timer_pwm_init(JL_TIMER4, 1000, 0, IO_PORTA_04, CH0_T4_PWM_OUT); - - //timer_pwm_init(JL_TIMER5, 10000, 8000, IO_PORTB_07, 0); - - mcpwm_test(); - //io_ext_interrupt_test(); -} - -void usr_pwm_close() -{ - if(usr_var.usr_enter_dlps_flag==0) - { - usr_var.usr_enter_dlps_flag=1; - mcpwm_close(pwm_ch0); - mcpwm_close(pwm_ch1); - mcpwm_close(pwm_ch2); - mcpwm_close(pwm_ch3); - } -} - -void usr_pwm_reinit() -{ - if(usr_var.usr_enter_dlps_flag) - { - usr_var.usr_enter_dlps_flag=0; - mcpwm_test2(); - } -} - -void usr_set_pwm_a5_up(u16 duty) -{ - duty=duty*100; - mcpwm_set_duty(pwm_ch2,duty); -} -void usr_set_pwm_a6_down(u16 duty) -{ - duty=duty*100; - mcpwm_set_duty(pwm_ch3,duty); -} - -void usr_set_pwm_a3_up(u16 duty) -{ - duty=duty*100; - mcpwm_set_duty(pwm_ch0,duty); -} -void usr_set_pwm_a4_down(u16 duty) -{ - duty=duty*100; - mcpwm_set_duty(pwm_ch1,duty); -} - - -void usr_set_down_moto(u8 dir,u16 duty) -{ - static u8 old_dir=0xff; - static u16 old_duty=0xffff; - - if((old_dir==dir)&&(old_duty==duty)) - { - return; - } - old_dir=dir; - old_duty=duty; - if(dir==1) - { - usr_set_pwm_a5_up(duty); - usr_set_pwm_a6_down(0); - } - else if(dir==2) - { - usr_set_pwm_a5_up(0); - usr_set_pwm_a6_down(duty); - } - else - { - usr_set_pwm_a5_up(0); - usr_set_pwm_a6_down(0); - } -} - - - -void usr_set_up_moto(u8 dir,u16 duty) -{ - static u8 old_dir=0xff; - static u16 old_duty=0xffff; - - if((old_dir==dir)&&(old_duty==duty)) - { - return; - } - old_dir=dir; - old_duty=duty; - - if(dir==2) - { - usr_set_pwm_a3_up(0); - usr_set_pwm_a4_down(duty); - } - else if(dir==1) - { - usr_set_pwm_a3_up(duty); - usr_set_pwm_a4_down(0); - } - else - { - usr_set_pwm_a3_up(0); - usr_set_pwm_a4_down(0); - } -} diff --git a/cpu/br28/power/power_port.c b/cpu/br28/power/power_port.c index 715b5cd..d3df23e 100644 --- a/cpu/br28/power/power_port.c +++ b/cpu/br28/power/power_port.c @@ -1,7 +1,6 @@ #include "asm/power_interface.h" #include "app_config.h" #include "includes.h" -#include "app_main.h" static u8 gpiousb = 0x3; static u32 usb_io_con = 0; @@ -19,7 +18,6 @@ void sleep_gpio_protect(u32 gpio) } } -extern void usr_led_w_out(u8 flag); void sleep_enter_callback_common(void *priv) { usb_io_con = JL_USB_IO->CON0; @@ -36,14 +34,11 @@ void sleep_enter_callback_common(void *priv) } if (gpiousb & BIT(1)) { - if(_usr_module_cfg.power_on_flag) - { - usr_led_w_out(1); - } - else - { - usr_led_w_out(0); - } + gpio_set_pull_up(IO_PORT_DM, 0); + gpio_set_pull_down(IO_PORT_DM, 0); + gpio_set_direction(IO_PORT_DM, 1); + gpio_set_die(IO_PORT_DM, 0); + gpio_set_dieh(IO_PORT_DM, 0); } } } @@ -197,15 +192,11 @@ void board_set_soft_poweroff_common(void *priv) } if (soff_gpio_config.gpiousb & BIT(1)) { - - if(_usr_module_cfg.power_on_flag) - { - usr_led_w_out(1); - } - else - { - usr_led_w_out(0); - } + gpio_set_pull_up(IO_PORT_DM, 0); + gpio_set_pull_down(IO_PORT_DM, 0); + gpio_set_direction(IO_PORT_DM, 1); + gpio_set_die(IO_PORT_DM, 0); + gpio_set_dieh(IO_PORT_DM, 0); } } } diff --git a/cpu/br28/tools/app.bin b/cpu/br28/tools/app.bin index 3fbad04..8e64f3c 100644 Binary files a/cpu/br28/tools/app.bin and b/cpu/br28/tools/app.bin differ diff --git a/cpu/br28/tools/data_code.bin b/cpu/br28/tools/data_code.bin index 68b69f6..a547694 100644 Binary files a/cpu/br28/tools/data_code.bin and b/cpu/br28/tools/data_code.bin differ diff --git a/cpu/br28/tools/download/earphone/db_update_data.bin b/cpu/br28/tools/download/earphone/db_update_data.bin index 9971aa8..64d127c 100644 Binary files a/cpu/br28/tools/download/earphone/db_update_data.bin and b/cpu/br28/tools/download/earphone/db_update_data.bin differ diff --git a/cpu/br28/tools/download/earphone/jl_isd.bin b/cpu/br28/tools/download/earphone/jl_isd.bin index e0b6ed1..f4a099b 100644 Binary files a/cpu/br28/tools/download/earphone/jl_isd.bin and b/cpu/br28/tools/download/earphone/jl_isd.bin differ diff --git a/cpu/br28/tools/download/earphone/jl_isd.fw b/cpu/br28/tools/download/earphone/jl_isd.fw index 450bbf5..22535d0 100644 Binary files a/cpu/br28/tools/download/earphone/jl_isd.fw and b/cpu/br28/tools/download/earphone/jl_isd.fw differ diff --git a/cpu/br28/tools/download/earphone/update.ufw b/cpu/br28/tools/download/earphone/update.ufw index 81e8c42..0680a37 100644 Binary files a/cpu/br28/tools/download/earphone/update.ufw and b/cpu/br28/tools/download/earphone/update.ufw differ diff --git a/cpu/br28/tools/sdk.elf b/cpu/br28/tools/sdk.elf index c9acbe3..6d2af11 100644 Binary files a/cpu/br28/tools/sdk.elf and b/cpu/br28/tools/sdk.elf differ diff --git a/cpu/br28/tools/sdk.elf.0.0.preopt.bc b/cpu/br28/tools/sdk.elf.0.0.preopt.bc index 5b304eb..7c0afd1 100644 Binary files a/cpu/br28/tools/sdk.elf.0.0.preopt.bc and b/cpu/br28/tools/sdk.elf.0.0.preopt.bc differ diff --git a/cpu/br28/tools/sdk.elf.0.2.internalize.bc b/cpu/br28/tools/sdk.elf.0.2.internalize.bc index 8a68bb6..c379f6b 100644 Binary files a/cpu/br28/tools/sdk.elf.0.2.internalize.bc and b/cpu/br28/tools/sdk.elf.0.2.internalize.bc differ diff --git a/cpu/br28/tools/sdk.elf.0.4.opt.bc b/cpu/br28/tools/sdk.elf.0.4.opt.bc index 6fe4b24..80b84eb 100644 Binary files a/cpu/br28/tools/sdk.elf.0.4.opt.bc and b/cpu/br28/tools/sdk.elf.0.4.opt.bc differ diff --git a/cpu/br28/tools/sdk.elf.0.5.precodegen.bc b/cpu/br28/tools/sdk.elf.0.5.precodegen.bc index 6fe4b24..80b84eb 100644 Binary files a/cpu/br28/tools/sdk.elf.0.5.precodegen.bc and b/cpu/br28/tools/sdk.elf.0.5.precodegen.bc differ diff --git a/cpu/br28/tools/sdk.elf.o b/cpu/br28/tools/sdk.elf.o index cee4e77..e9ed9a6 100644 Binary files a/cpu/br28/tools/sdk.elf.o and b/cpu/br28/tools/sdk.elf.o differ diff --git a/cpu/br28/tools/sdk.elf.objs.txt b/cpu/br28/tools/sdk.elf.objs.txt index 3c7cf78..d7659e6 100644 --- a/cpu/br28/tools/sdk.elf.objs.txt +++ b/cpu/br28/tools/sdk.elf.objs.txt @@ -1 +1 @@ -obj/Release/apps/common/audio/amplitude_statistic.o obj/Release/apps/common/audio/audio_dvol.o obj/Release/apps/common/audio/audio_export_demo.o obj/Release/apps/common/audio/audio_noise_gate.o obj/Release/apps/common/audio/audio_ns.o obj/Release/apps/common/audio/audio_plc.o obj/Release/apps/common/audio/audio_utils.o obj/Release/apps/common/audio/decode/audio_key_tone.o obj/Release/apps/common/audio/decode/decode.o obj/Release/apps/common/audio/demo/audio_demo.o obj/Release/apps/common/audio/online_debug/aud_data_export.o obj/Release/apps/common/audio/online_debug/aud_mic_dut.o obj/Release/apps/common/audio/online_debug/aud_spatial_effect_dut.o obj/Release/apps/common/audio/online_debug/audio_online_debug.o obj/Release/apps/common/audio/sine_make.o obj/Release/apps/common/audio/uartPcmSender.o obj/Release/apps/common/audio/wm8978/iic.o obj/Release/apps/common/audio/wm8978/wm8978.o obj/Release/apps/common/bt_common/bt_test_api.o obj/Release/apps/common/cJSON/cJSON.o obj/Release/apps/common/config/app_config.o obj/Release/apps/common/config/bt_profile_config.o obj/Release/apps/common/config/ci_transport_uart.o obj/Release/apps/common/config/new_cfg_tool.o obj/Release/apps/common/debug/debug.o obj/Release/apps/common/debug/debug_lite.o obj/Release/apps/common/dev_manager/dev_manager.o obj/Release/apps/common/dev_manager/dev_reg.o obj/Release/apps/common/dev_manager/dev_update.o obj/Release/apps/common/device/gSensor/da230.o obj/Release/apps/common/device/gSensor/gSensor_manage.o obj/Release/apps/common/device/gSensor/mpu6050.o obj/Release/apps/common/device/gSensor/SC7A20.o obj/Release/apps/common/device/gSensor/STK8321.o obj/Release/apps/common/device/gx8002_npu/gx8002_enc/gx8002_enc.o obj/Release/apps/common/device/gx8002_npu/gx8002_npu.o obj/Release/apps/common/device/gx8002_npu/gx8002_npu_event_deal.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_app.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_tws.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade_porting.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/sdfile_upgrade/gx_uart_upgrade_sdfile.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_uart_upgrade_spp.o obj/Release/apps/common/device/imu_sensor/icm_42670p/icm_42670p.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_apex.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_driver.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_transport.o obj/Release/apps/common/device/imu_sensor/imuSensor_manage.o obj/Release/apps/common/device/imu_sensor/lsm6dsl/lsm6dsl.o obj/Release/apps/common/device/imu_sensor/mpu6887/mpu6887p.o obj/Release/apps/common/device/imu_sensor/mpu9250/mpu9250.o obj/Release/apps/common/device/imu_sensor/qmi8658/qmi8658c.o obj/Release/apps/common/device/imu_sensor/sh3001/sh3001.o obj/Release/apps/common/device/in_ear_detect/in_ear_detect.o obj/Release/apps/common/device/in_ear_detect/in_ear_manage.o obj/Release/apps/common/device/ir_sensor/ir_manage.o obj/Release/apps/common/device/ir_sensor/jsa1221.o obj/Release/apps/common/device/key/adkey.o obj/Release/apps/common/device/key/adkey_rtcvdd.o obj/Release/apps/common/device/key/ctmu_touch_key.o obj/Release/apps/common/device/key/iokey.o obj/Release/apps/common/device/key/irkey.o obj/Release/apps/common/device/key/key_driver.o obj/Release/apps/common/device/key/touch_key.o obj/Release/apps/common/device/key/uart_key.o obj/Release/apps/common/device/norflash/norflash_sfc.o obj/Release/apps/common/device/ntc/ntc_det.o obj/Release/apps/common/device/usb/device/cdc.o obj/Release/apps/common/device/usb/device/descriptor.o obj/Release/apps/common/device/usb/device/hid.o obj/Release/apps/common/device/usb/device/msd.o obj/Release/apps/common/device/usb/device/msd_upgrade.o obj/Release/apps/common/device/usb/device/task_pc.o obj/Release/apps/common/device/usb/device/uac1.o obj/Release/apps/common/device/usb/device/uac_stream.o obj/Release/apps/common/device/usb/device/usb_device.o obj/Release/apps/common/device/usb/device/user_setup.o obj/Release/apps/common/device/usb/host/adb.o obj/Release/apps/common/device/usb/host/aoa.o obj/Release/apps/common/device/usb/host/audio.o obj/Release/apps/common/device/usb/host/audio_demo.o obj/Release/apps/common/device/usb/host/hid.o obj/Release/apps/common/device/usb/host/usb_bulk_transfer.o obj/Release/apps/common/device/usb/host/usb_ctrl_transfer.o obj/Release/apps/common/device/usb/host/usb_host.o obj/Release/apps/common/device/usb/host/usb_storage.o obj/Release/apps/common/device/usb/usb_config.o obj/Release/apps/common/device/usb/usb_host_config.o obj/Release/apps/common/ezxml/ezxml.o obj/Release/apps/common/ezxml/ezxml_example.o obj/Release/apps/common/fat_nor/cfg_private.o obj/Release/apps/common/fat_nor/virfat_flash.o obj/Release/apps/common/file_operate/file_bs_deal.o obj/Release/apps/common/file_operate/file_manager.o obj/Release/apps/common/icsd/adt/icsd_adt.o obj/Release/apps/common/icsd/adt/icsd_adt_app.o obj/Release/apps/common/icsd/anc/icsd_anc_app.o obj/Release/apps/common/icsd/anc/icsd_anc_board.o obj/Release/apps/common/icsd/anc/icsd_anc_data.o obj/Release/apps/common/jl_kws/jl_kws_algo.o obj/Release/apps/common/jl_kws/jl_kws_audio.o obj/Release/apps/common/jl_kws/jl_kws_event.o obj/Release/apps/common/jl_kws/jl_kws_main.o obj/Release/apps/common/temp_trim/dtemp_pll_trim.o obj/Release/apps/common/third_party_profile/common/3th_profile_api.o obj/Release/apps/common/third_party_profile/common/custom_cfg.o obj/Release/apps/common/third_party_profile/common/mic_rec.o obj/Release/apps/common/third_party_profile/interface/app_protocol_api.o obj/Release/apps/common/third_party_profile/interface/app_protocol_common.o obj/Release/apps/common/third_party_profile/interface/app_protocol_dma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_gfps.o obj/Release/apps/common/third_party_profile/interface/app_protocol_gma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_mma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_ota.o obj/Release/apps/common/third_party_profile/interface/app_protocol_tme.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_adaptive_noise_reduction.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_eq_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_hearing_aid_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_tws_sync.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.o obj/Release/apps/common/third_party_profile/jieli/online_db/online_db_deal.o obj/Release/apps/common/third_party_profile/jieli/online_db/spp_online_db.o obj/Release/apps/common/ui/lcd_simple/lcd_simple_api.o obj/Release/apps/common/ui/lcd_simple/ui.o obj/Release/apps/common/ui/lcd_simple/ui_mainmenu.o obj/Release/apps/common/update/testbox_update.o obj/Release/apps/common/update/update.o obj/Release/apps/common/update/update_tws.o obj/Release/apps/common/update/update_tws_new.o obj/Release/apps/earphone/aec/br28/audio_aec.o obj/Release/apps/earphone/aec/br28/audio_aec_demo.o obj/Release/apps/earphone/aec/br28/audio_aec_dms.o obj/Release/apps/earphone/aec/br28/audio_aec_online.o obj/Release/apps/earphone/aec/br28/audio_cvp_3mic.o obj/Release/apps/earphone/aec/br28/audio_cvp_ais_3mic.o obj/Release/apps/earphone/app_ancbox.o obj/Release/apps/earphone/app_anctool.o obj/Release/apps/earphone/app_main.o obj/Release/apps/earphone/app_protocol_deal.o obj/Release/apps/earphone/app_task_switch.o obj/Release/apps/earphone/app_testbox.o obj/Release/apps/earphone/audio_enc_mpt_cvp_ctr.o obj/Release/apps/earphone/audio_enc_mpt_self.o obj/Release/apps/earphone/ble_adv.o obj/Release/apps/earphone/board/br28/board_jl701n_demo.o obj/Release/apps/earphone/bt_auto_test.o obj/Release/apps/earphone/bt_background.o obj/Release/apps/earphone/bt_ble.o obj/Release/apps/earphone/bt_ble_hid.o obj/Release/apps/earphone/bt_emitter.o obj/Release/apps/earphone/bt_tws.o obj/Release/apps/earphone/default_event_handler.o obj/Release/apps/earphone/dual_update_demo.o obj/Release/apps/earphone/earphone.o obj/Release/apps/earphone/eartch_event_deal.o obj/Release/apps/earphone/font/fontinit.o obj/Release/apps/earphone/idle.o obj/Release/apps/earphone/key_event_deal.o obj/Release/apps/earphone/kws_voice_event_deal.o obj/Release/apps/earphone/linein/linein.o obj/Release/apps/earphone/ll_sync_demo/ll_sync_demo.o obj/Release/apps/earphone/log_config/app_config.o obj/Release/apps/earphone/log_config/lib_btctrler_config.o obj/Release/apps/earphone/log_config/lib_btstack_config.o obj/Release/apps/earphone/log_config/lib_driver_config.o obj/Release/apps/earphone/log_config/lib_media_config.o obj/Release/apps/earphone/log_config/lib_system_config.o obj/Release/apps/earphone/log_config/lib_update_config.o obj/Release/apps/earphone/music/sd_music.o obj/Release/apps/earphone/pbg_demo.o obj/Release/apps/earphone/pc/pc.o obj/Release/apps/earphone/power_manage/app_charge.o obj/Release/apps/earphone/power_manage/app_chargestore.o obj/Release/apps/earphone/power_manage/app_power_manage.o obj/Release/apps/earphone/power_manage/app_umidigi_chargestore.o obj/Release/apps/earphone/rcsp/jl_phone_app.o obj/Release/apps/earphone/rcsp/rcsp_adv.o obj/Release/apps/earphone/sdk_version.z.o obj/Release/apps/earphone/tone_table.o obj/Release/apps/earphone/ui/lcd_simple/my_demo.o obj/Release/apps/earphone/ui_manage.o obj/Release/apps/earphone/user_cfg.o obj/Release/apps/earphone/version.o obj/Release/apps/earphone/vol_sync.o obj/Release/apps/earphone/wireless_mic/app_main_wireless_mic.o obj/Release/apps/earphone/wireless_mic/audio/adapter_adc.o obj/Release/apps/earphone/wireless_mic/audio/adapter_media.o obj/Release/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_dec.o obj/Release/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_enc.o obj/Release/apps/earphone/wireless_mic/bt/bt_edr_fun.o obj/Release/apps/earphone/wireless_mic/bt/bt_status_event.o obj/Release/apps/earphone/wireless_mic/idev/adapter_idev.o obj/Release/apps/earphone/wireless_mic/idev/idev_bt/adapter_idev_bt.o obj/Release/apps/earphone/wireless_mic/idev/idev_bt/idev_ble/adapter_idev_ble.o obj/Release/apps/earphone/wireless_mic/idev/idev_mic/adapter_idev_mic.o obj/Release/apps/earphone/wireless_mic/odev/adapter_odev.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/adapter_odev_bt.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/adapter_odev_ble.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/odev_ble_wireless.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_edr/adapter_odev_edr.o obj/Release/apps/earphone/wireless_mic/odev/odev_dac/adapter_odev_dac.o obj/Release/apps/earphone/wireless_mic/process/adapter_process.o obj/Release/apps/usr_le_code/ble_proto.o obj/Release/apps/usr_le_code/bleproto.o obj/Release/apps/usr_le_code/bleproto_packer.o obj/Release/apps/usr_le_code/thirdpart/mjson/mjson.o obj/Release/apps/usr_le_code/usr_le_adv.o obj/Release/apps/usr_le_code/usr_le_recieve.o obj/Release/apps/usr_le_code/usr_le_recieve_demo.o obj/Release/apps/usr_moto/usr_moto_work.o obj/Release/apps/usr_rtc/rtc.o obj/Release/apps/usr_rtc/virtual_rtc.o obj/Release/apps/usr_utc/usr_plan.o obj/Release/apps/usr_utc/usr_utc_de_en.o obj/Release/apps/usr_utc/usr_utc_encode.o obj/Release/cpu/br28/adc_api.o obj/Release/cpu/br28/aec_tool.o obj/Release/cpu/br28/app_audio.o obj/Release/cpu/br28/audio_anc.o obj/Release/cpu/br28/audio_anc_fade_ctr.o obj/Release/cpu/br28/audio_anc_mult_scene.o obj/Release/cpu/br28/audio_capture.o obj/Release/cpu/br28/audio_codec_clock.o obj/Release/cpu/br28/audio_common/audio_mic_codec.o obj/Release/cpu/br28/audio_cvp_dut.o obj/Release/cpu/br28/audio_cvp_sync.o obj/Release/cpu/br28/audio_dec.o obj/Release/cpu/br28/audio_dec/audio_dec_file.o obj/Release/cpu/br28/audio_dec/audio_dec_iis.o obj/Release/cpu/br28/audio_dec/audio_dec_pc.o obj/Release/cpu/br28/audio_dec/audio_dec_pcm.o obj/Release/cpu/br28/audio_dec/audio_usb_mic.o obj/Release/cpu/br28/audio_dec_eff.o obj/Release/cpu/br28/audio_demo/audio_adc_demo.o obj/Release/cpu/br28/audio_demo/audio_dac_demo.o obj/Release/cpu/br28/audio_demo/audio_fft_demo.o obj/Release/cpu/br28/audio_demo/audio_matrix_demo.o obj/Release/cpu/br28/audio_demo/audio_wind_detect_demo.o obj/Release/cpu/br28/audio_effect_develop.o obj/Release/cpu/br28/audio_enc.o obj/Release/cpu/br28/audio_general.o obj/Release/cpu/br28/audio_hearing/audio_hearing_aid.o obj/Release/cpu/br28/audio_hearing/audio_hearing_aid_lp.o obj/Release/cpu/br28/audio_hearing/audio_sidetone.o obj/Release/cpu/br28/audio_link.o obj/Release/cpu/br28/audio_sync.o obj/Release/cpu/br28/charge.o obj/Release/cpu/br28/chargestore.o obj/Release/cpu/br28/clock_manager.o obj/Release/cpu/br28/eq_config.o obj/Release/cpu/br28/hw_fft.o obj/Release/cpu/br28/icsd_anc_user.o obj/Release/cpu/br28/iic_hw.o obj/Release/cpu/br28/iic_soft.o obj/Release/cpu/br28/irflt.o obj/Release/cpu/br28/lp_touch_key.o obj/Release/cpu/br28/lp_touch_key_alog.o obj/Release/cpu/br28/lp_touch_key_tool.o obj/Release/cpu/br28/lua_port_api.o obj/Release/cpu/br28/mcpwm.o obj/Release/cpu/br28/mic_dut_process.o obj/Release/cpu/br28/overlay_code.o obj/Release/cpu/br28/pdm_link.o obj/Release/cpu/br28/plcnt.o obj/Release/cpu/br28/power/power_app.o obj/Release/cpu/br28/power/power_check.o obj/Release/cpu/br28/power/power_port.o obj/Release/cpu/br28/power/power_trim.o obj/Release/cpu/br28/private_iis.o obj/Release/cpu/br28/pwm_led.o obj/Release/cpu/br28/rdec.o obj/Release/cpu/br28/setup.o obj/Release/cpu/br28/smart_voice/aispeech_asr.o obj/Release/cpu/br28/smart_voice/jl_kws_platform.o obj/Release/cpu/br28/smart_voice/kws_event.o obj/Release/cpu/br28/smart_voice/nn_vad.o obj/Release/cpu/br28/smart_voice/smart_voice_config.o obj/Release/cpu/br28/smart_voice/smart_voice_core.o obj/Release/cpu/br28/smart_voice/user_asr.o obj/Release/cpu/br28/smart_voice/vad_clock_trim.o obj/Release/cpu/br28/smart_voice/vad_mic.o obj/Release/cpu/br28/smart_voice/voice_mic_data.o obj/Release/cpu/br28/sound_device.o obj/Release/cpu/br28/spatial_effect/spatial_effect.o obj/Release/cpu/br28/spatial_effect/spatial_effect_imu.o obj/Release/cpu/br28/spatial_effect/spatial_effect_test.o obj/Release/cpu/br28/spatial_effect/spatial_effect_tws.o obj/Release/cpu/br28/spatial_effect/spatial_imu_trim.o obj/Release/cpu/br28/spi.o obj/Release/cpu/br28/tone_player.o obj/Release/cpu/br28/tws_audio.o obj/Release/cpu/br28/uart_dev.o obj/Release/cpu/br28/uart_test.o obj/Release/cpu/br28/umidigi_chargestore.o \ No newline at end of file +obj/Release/apps/common/audio/amplitude_statistic.o obj/Release/apps/common/audio/audio_dvol.o obj/Release/apps/common/audio/audio_export_demo.o obj/Release/apps/common/audio/audio_noise_gate.o obj/Release/apps/common/audio/audio_ns.o obj/Release/apps/common/audio/audio_plc.o obj/Release/apps/common/audio/audio_utils.o obj/Release/apps/common/audio/decode/audio_key_tone.o obj/Release/apps/common/audio/decode/decode.o obj/Release/apps/common/audio/demo/audio_demo.o obj/Release/apps/common/audio/online_debug/aud_data_export.o obj/Release/apps/common/audio/online_debug/aud_mic_dut.o obj/Release/apps/common/audio/online_debug/aud_spatial_effect_dut.o obj/Release/apps/common/audio/online_debug/audio_online_debug.o obj/Release/apps/common/audio/sine_make.o obj/Release/apps/common/audio/uartPcmSender.o obj/Release/apps/common/audio/wm8978/iic.o obj/Release/apps/common/audio/wm8978/wm8978.o obj/Release/apps/common/bt_common/bt_test_api.o obj/Release/apps/common/cJSON/cJSON.o obj/Release/apps/common/config/app_config.o obj/Release/apps/common/config/bt_profile_config.o obj/Release/apps/common/config/ci_transport_uart.o obj/Release/apps/common/config/new_cfg_tool.o obj/Release/apps/common/debug/debug.o obj/Release/apps/common/debug/debug_lite.o obj/Release/apps/common/dev_manager/dev_manager.o obj/Release/apps/common/dev_manager/dev_reg.o obj/Release/apps/common/dev_manager/dev_update.o obj/Release/apps/common/device/gSensor/da230.o obj/Release/apps/common/device/gSensor/gSensor_manage.o obj/Release/apps/common/device/gSensor/mpu6050.o obj/Release/apps/common/device/gSensor/SC7A20.o obj/Release/apps/common/device/gSensor/STK8321.o obj/Release/apps/common/device/gx8002_npu/gx8002_enc/gx8002_enc.o obj/Release/apps/common/device/gx8002_npu/gx8002_npu.o obj/Release/apps/common/device/gx8002_npu/gx8002_npu_event_deal.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_app.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/app_upgrade/gx_uart_upgrade_tws.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/gx_uart_upgrade_porting.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/sdfile_upgrade/gx_uart_upgrade_sdfile.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_fifo.o obj/Release/apps/common/device/gx8002_npu/gx8002_upgrade/spp_upgrade/gx_uart_upgrade_spp.o obj/Release/apps/common/device/imu_sensor/icm_42670p/icm_42670p.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_apex.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_driver.o obj/Release/apps/common/device/imu_sensor/icm_42670p/inv_imu_transport.o obj/Release/apps/common/device/imu_sensor/imuSensor_manage.o obj/Release/apps/common/device/imu_sensor/lsm6dsl/lsm6dsl.o obj/Release/apps/common/device/imu_sensor/mpu6887/mpu6887p.o obj/Release/apps/common/device/imu_sensor/mpu9250/mpu9250.o obj/Release/apps/common/device/imu_sensor/qmi8658/qmi8658c.o obj/Release/apps/common/device/imu_sensor/sh3001/sh3001.o obj/Release/apps/common/device/in_ear_detect/in_ear_detect.o obj/Release/apps/common/device/in_ear_detect/in_ear_manage.o obj/Release/apps/common/device/ir_sensor/ir_manage.o obj/Release/apps/common/device/ir_sensor/jsa1221.o obj/Release/apps/common/device/key/adkey.o obj/Release/apps/common/device/key/adkey_rtcvdd.o obj/Release/apps/common/device/key/ctmu_touch_key.o obj/Release/apps/common/device/key/iokey.o obj/Release/apps/common/device/key/irkey.o obj/Release/apps/common/device/key/key_driver.o obj/Release/apps/common/device/key/touch_key.o obj/Release/apps/common/device/key/uart_key.o obj/Release/apps/common/device/norflash/norflash_sfc.o obj/Release/apps/common/device/ntc/ntc_det.o obj/Release/apps/common/device/usb/device/cdc.o obj/Release/apps/common/device/usb/device/descriptor.o obj/Release/apps/common/device/usb/device/hid.o obj/Release/apps/common/device/usb/device/msd.o obj/Release/apps/common/device/usb/device/msd_upgrade.o obj/Release/apps/common/device/usb/device/task_pc.o obj/Release/apps/common/device/usb/device/uac1.o obj/Release/apps/common/device/usb/device/uac_stream.o obj/Release/apps/common/device/usb/device/usb_device.o obj/Release/apps/common/device/usb/device/user_setup.o obj/Release/apps/common/device/usb/host/adb.o obj/Release/apps/common/device/usb/host/aoa.o obj/Release/apps/common/device/usb/host/audio.o obj/Release/apps/common/device/usb/host/audio_demo.o obj/Release/apps/common/device/usb/host/hid.o obj/Release/apps/common/device/usb/host/usb_bulk_transfer.o obj/Release/apps/common/device/usb/host/usb_ctrl_transfer.o obj/Release/apps/common/device/usb/host/usb_host.o obj/Release/apps/common/device/usb/host/usb_storage.o obj/Release/apps/common/device/usb/usb_config.o obj/Release/apps/common/device/usb/usb_host_config.o obj/Release/apps/common/ezxml/ezxml.o obj/Release/apps/common/ezxml/ezxml_example.o obj/Release/apps/common/fat_nor/cfg_private.o obj/Release/apps/common/fat_nor/virfat_flash.o obj/Release/apps/common/file_operate/file_bs_deal.o obj/Release/apps/common/file_operate/file_manager.o obj/Release/apps/common/icsd/adt/icsd_adt.o obj/Release/apps/common/icsd/adt/icsd_adt_app.o obj/Release/apps/common/icsd/anc/icsd_anc_app.o obj/Release/apps/common/icsd/anc/icsd_anc_board.o obj/Release/apps/common/icsd/anc/icsd_anc_data.o obj/Release/apps/common/jl_kws/jl_kws_algo.o obj/Release/apps/common/jl_kws/jl_kws_audio.o obj/Release/apps/common/jl_kws/jl_kws_event.o obj/Release/apps/common/jl_kws/jl_kws_main.o obj/Release/apps/common/temp_trim/dtemp_pll_trim.o obj/Release/apps/common/third_party_profile/common/3th_profile_api.o obj/Release/apps/common/third_party_profile/common/custom_cfg.o obj/Release/apps/common/third_party_profile/common/mic_rec.o obj/Release/apps/common/third_party_profile/interface/app_protocol_api.o obj/Release/apps/common/third_party_profile/interface/app_protocol_common.o obj/Release/apps/common/third_party_profile/interface/app_protocol_dma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_gfps.o obj/Release/apps/common/third_party_profile/interface/app_protocol_gma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_mma.o obj/Release/apps/common/third_party_profile/interface/app_protocol_ota.o obj/Release/apps/common/third_party_profile/interface/app_protocol_tme.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_adaptive_noise_reduction.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_anc_voice_key.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_bt_name_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_eq_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_hearing_aid_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_high_low_vol_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_key_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_led_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_mic_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_music_info_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_time_stamp_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_app_setting/adv_work_setting.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_bluetooth.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_customer_user.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_opt.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/adv_rcsp_protocol/rcsp_adv_tws_sync.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/le_rcsp_adv_module.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/bt_trans_data/rcsp_adv_spp_user.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_adv_user_update.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_ch_loader_download.o obj/Release/apps/common/third_party_profile/jieli/JL_rcsp/rcsp_updata/rcsp_user_update.o obj/Release/apps/common/third_party_profile/jieli/online_db/online_db_deal.o obj/Release/apps/common/third_party_profile/jieli/online_db/spp_online_db.o obj/Release/apps/common/ui/lcd_simple/lcd_simple_api.o obj/Release/apps/common/ui/lcd_simple/ui.o obj/Release/apps/common/ui/lcd_simple/ui_mainmenu.o obj/Release/apps/common/update/testbox_update.o obj/Release/apps/common/update/update.o obj/Release/apps/common/update/update_tws.o obj/Release/apps/common/update/update_tws_new.o obj/Release/apps/earphone/aec/br28/audio_aec.o obj/Release/apps/earphone/aec/br28/audio_aec_demo.o obj/Release/apps/earphone/aec/br28/audio_aec_dms.o obj/Release/apps/earphone/aec/br28/audio_aec_online.o obj/Release/apps/earphone/aec/br28/audio_cvp_3mic.o obj/Release/apps/earphone/aec/br28/audio_cvp_ais_3mic.o obj/Release/apps/earphone/app_ancbox.o obj/Release/apps/earphone/app_anctool.o obj/Release/apps/earphone/app_main.o obj/Release/apps/earphone/app_protocol_deal.o obj/Release/apps/earphone/app_task_switch.o obj/Release/apps/earphone/app_testbox.o obj/Release/apps/earphone/audio_enc_mpt_cvp_ctr.o obj/Release/apps/earphone/audio_enc_mpt_self.o obj/Release/apps/earphone/ble_adv.o obj/Release/apps/earphone/board/br28/board_jl701n_demo.o obj/Release/apps/earphone/bt_auto_test.o obj/Release/apps/earphone/bt_background.o obj/Release/apps/earphone/bt_ble.o obj/Release/apps/earphone/bt_ble_hid.o obj/Release/apps/earphone/bt_emitter.o obj/Release/apps/earphone/bt_tws.o obj/Release/apps/earphone/default_event_handler.o obj/Release/apps/earphone/dual_update_demo.o obj/Release/apps/earphone/earphone.o obj/Release/apps/earphone/eartch_event_deal.o obj/Release/apps/earphone/font/fontinit.o obj/Release/apps/earphone/idle.o obj/Release/apps/earphone/key_event_deal.o obj/Release/apps/earphone/kws_voice_event_deal.o obj/Release/apps/earphone/linein/linein.o obj/Release/apps/earphone/ll_sync_demo/ll_sync_demo.o obj/Release/apps/earphone/log_config/app_config.o obj/Release/apps/earphone/log_config/lib_btctrler_config.o obj/Release/apps/earphone/log_config/lib_btstack_config.o obj/Release/apps/earphone/log_config/lib_driver_config.o obj/Release/apps/earphone/log_config/lib_media_config.o obj/Release/apps/earphone/log_config/lib_system_config.o obj/Release/apps/earphone/log_config/lib_update_config.o obj/Release/apps/earphone/music/sd_music.o obj/Release/apps/earphone/pbg_demo.o obj/Release/apps/earphone/pc/pc.o obj/Release/apps/earphone/power_manage/app_charge.o obj/Release/apps/earphone/power_manage/app_chargestore.o obj/Release/apps/earphone/power_manage/app_power_manage.o obj/Release/apps/earphone/power_manage/app_umidigi_chargestore.o obj/Release/apps/earphone/rcsp/jl_phone_app.o obj/Release/apps/earphone/rcsp/rcsp_adv.o obj/Release/apps/earphone/sdk_version.z.o obj/Release/apps/earphone/tone_table.o obj/Release/apps/earphone/ui/lcd_simple/my_demo.o obj/Release/apps/earphone/ui_manage.o obj/Release/apps/earphone/user_cfg.o obj/Release/apps/earphone/version.o obj/Release/apps/earphone/vol_sync.o obj/Release/apps/earphone/wireless_mic/app_main_wireless_mic.o obj/Release/apps/earphone/wireless_mic/audio/adapter_adc.o obj/Release/apps/earphone/wireless_mic/audio/adapter_media.o obj/Release/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_dec.o obj/Release/apps/earphone/wireless_mic/audio/wireless/adapter_wireless_enc.o obj/Release/apps/earphone/wireless_mic/bt/bt_edr_fun.o obj/Release/apps/earphone/wireless_mic/bt/bt_status_event.o obj/Release/apps/earphone/wireless_mic/idev/adapter_idev.o obj/Release/apps/earphone/wireless_mic/idev/idev_bt/adapter_idev_bt.o obj/Release/apps/earphone/wireless_mic/idev/idev_bt/idev_ble/adapter_idev_ble.o obj/Release/apps/earphone/wireless_mic/idev/idev_mic/adapter_idev_mic.o obj/Release/apps/earphone/wireless_mic/odev/adapter_odev.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/adapter_odev_bt.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/adapter_odev_ble.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_ble/odev_ble_wireless.o obj/Release/apps/earphone/wireless_mic/odev/odev_bt/odev_edr/adapter_odev_edr.o obj/Release/apps/earphone/wireless_mic/odev/odev_dac/adapter_odev_dac.o obj/Release/apps/earphone/wireless_mic/process/adapter_process.o obj/Release/apps/usr_le_code/ble_proto.o obj/Release/apps/usr_le_code/bleproto.o obj/Release/apps/usr_le_code/bleproto_packer.o obj/Release/apps/usr_le_code/thirdpart/mjson/mjson.o obj/Release/apps/usr_le_code/usr_le_adv.o obj/Release/apps/usr_le_code/usr_le_recieve.o obj/Release/apps/usr_le_code/usr_le_recieve_demo.o obj/Release/cpu/br28/adc_api.o obj/Release/cpu/br28/aec_tool.o obj/Release/cpu/br28/app_audio.o obj/Release/cpu/br28/audio_anc.o obj/Release/cpu/br28/audio_anc_fade_ctr.o obj/Release/cpu/br28/audio_anc_mult_scene.o obj/Release/cpu/br28/audio_capture.o obj/Release/cpu/br28/audio_codec_clock.o obj/Release/cpu/br28/audio_common/audio_mic_codec.o obj/Release/cpu/br28/audio_cvp_dut.o obj/Release/cpu/br28/audio_cvp_sync.o obj/Release/cpu/br28/audio_dec.o obj/Release/cpu/br28/audio_dec/audio_dec_file.o obj/Release/cpu/br28/audio_dec/audio_dec_iis.o obj/Release/cpu/br28/audio_dec/audio_dec_pc.o obj/Release/cpu/br28/audio_dec/audio_dec_pcm.o obj/Release/cpu/br28/audio_dec/audio_usb_mic.o obj/Release/cpu/br28/audio_dec_eff.o obj/Release/cpu/br28/audio_demo/audio_adc_demo.o obj/Release/cpu/br28/audio_demo/audio_dac_demo.o obj/Release/cpu/br28/audio_demo/audio_fft_demo.o obj/Release/cpu/br28/audio_demo/audio_matrix_demo.o obj/Release/cpu/br28/audio_demo/audio_wind_detect_demo.o obj/Release/cpu/br28/audio_effect_develop.o obj/Release/cpu/br28/audio_enc.o obj/Release/cpu/br28/audio_general.o obj/Release/cpu/br28/audio_hearing/audio_hearing_aid.o obj/Release/cpu/br28/audio_hearing/audio_hearing_aid_lp.o obj/Release/cpu/br28/audio_hearing/audio_sidetone.o obj/Release/cpu/br28/audio_link.o obj/Release/cpu/br28/audio_sync.o obj/Release/cpu/br28/charge.o obj/Release/cpu/br28/chargestore.o obj/Release/cpu/br28/clock_manager.o obj/Release/cpu/br28/eq_config.o obj/Release/cpu/br28/hw_fft.o obj/Release/cpu/br28/icsd_anc_user.o obj/Release/cpu/br28/iic_hw.o obj/Release/cpu/br28/iic_soft.o obj/Release/cpu/br28/irflt.o obj/Release/cpu/br28/lp_touch_key.o obj/Release/cpu/br28/lp_touch_key_alog.o obj/Release/cpu/br28/lp_touch_key_tool.o obj/Release/cpu/br28/lua_port_api.o obj/Release/cpu/br28/mcpwm.o obj/Release/cpu/br28/mic_dut_process.o obj/Release/cpu/br28/overlay_code.o obj/Release/cpu/br28/pdm_link.o obj/Release/cpu/br28/plcnt.o obj/Release/cpu/br28/power/power_app.o obj/Release/cpu/br28/power/power_check.o obj/Release/cpu/br28/power/power_port.o obj/Release/cpu/br28/power/power_trim.o obj/Release/cpu/br28/private_iis.o obj/Release/cpu/br28/pwm_led.o obj/Release/cpu/br28/rdec.o obj/Release/cpu/br28/setup.o obj/Release/cpu/br28/smart_voice/aispeech_asr.o obj/Release/cpu/br28/smart_voice/jl_kws_platform.o obj/Release/cpu/br28/smart_voice/kws_event.o obj/Release/cpu/br28/smart_voice/nn_vad.o obj/Release/cpu/br28/smart_voice/smart_voice_config.o obj/Release/cpu/br28/smart_voice/smart_voice_core.o obj/Release/cpu/br28/smart_voice/user_asr.o obj/Release/cpu/br28/smart_voice/vad_clock_trim.o obj/Release/cpu/br28/smart_voice/vad_mic.o obj/Release/cpu/br28/smart_voice/voice_mic_data.o obj/Release/cpu/br28/sound_device.o obj/Release/cpu/br28/spatial_effect/spatial_effect.o obj/Release/cpu/br28/spatial_effect/spatial_effect_imu.o obj/Release/cpu/br28/spatial_effect/spatial_effect_test.o obj/Release/cpu/br28/spatial_effect/spatial_effect_tws.o obj/Release/cpu/br28/spatial_effect/spatial_imu_trim.o obj/Release/cpu/br28/spi.o obj/Release/cpu/br28/tone_player.o obj/Release/cpu/br28/tws_audio.o obj/Release/cpu/br28/uart_dev.o obj/Release/cpu/br28/uart_test.o obj/Release/cpu/br28/umidigi_chargestore.o \ No newline at end of file diff --git a/cpu/br28/tools/sdk.elf.resolution.txt b/cpu/br28/tools/sdk.elf.resolution.txt index 1c050a7..42178ad 100644 --- a/cpu/br28/tools/sdk.elf.resolution.txt +++ b/cpu/br28/tools/sdk.elf.resolution.txt @@ -1590,60 +1590,35 @@ obj/Release/apps/earphone/aec/br28/audio_cvp_ais_3mic.o obj/Release/apps/earphone/app_ancbox.o obj/Release/apps/earphone/app_anctool.o obj/Release/apps/earphone/app_main.o --r=obj/Release/apps/earphone/app_main.o,timer_2ms_handler,pl -r=obj/Release/apps/earphone/app_main.o,app_var_init,pl --r=obj/Release/apps/earphone/app_main.o,check_power_on_key,pl --r=obj/Release/apps/earphone/app_main.o,os_time_dly,l --r=obj/Release/apps/earphone/app_main.o,clr_wdt,l --r=obj/Release/apps/earphone/app_main.o,get_power_on_status,l --r=obj/Release/apps/earphone/app_main.o,log_print,l --r=obj/Release/apps/earphone/app_main.o,gpio_read,l --r=obj/Release/apps/earphone/app_main.o,putchar,l --r=obj/Release/apps/earphone/app_main.o,usr_clear_battery_cache, --r=obj/Release/apps/earphone/app_main.o,power_set_soft_poweroff,l -r=obj/Release/apps/earphone/app_main.o,get_charge_online_flag,l --r=obj/Release/apps/earphone/app_main.o,usr_led_w_out,pl +-r=obj/Release/apps/earphone/app_main.o,app_main,pl +-r=obj/Release/apps/earphone/app_main.o,log_print,l +-r=obj/Release/apps/earphone/app_main.o,bt_osc_offset_ext_updata,l +-r=obj/Release/apps/earphone/app_main.o,gpio_set_die,l -r=obj/Release/apps/earphone/app_main.o,gpio_set_direction,l -r=obj/Release/apps/earphone/app_main.o,gpio_set_pull_up,l -r=obj/Release/apps/earphone/app_main.o,gpio_set_pull_down,l --r=obj/Release/apps/earphone/app_main.o,gpio_set_output_value,l --r=obj/Release/apps/earphone/app_main.o,usr_led_b_out,pl --r=obj/Release/apps/earphone/app_main.o,usr_get_ldoin,pl --r=obj/Release/apps/earphone/app_main.o,usr_get_full,pl --r=obj/Release/apps/earphone/app_main.o,usr_get_ldoin_all,pl --r=obj/Release/apps/earphone/app_main.o,usr_charge_deal,pl --r=obj/Release/apps/earphone/app_main.o,usr_clear_moto,l --r=obj/Release/apps/earphone/app_main.o,usr_le_notify_data,l --r=obj/Release/apps/earphone/app_main.o,usr_rtc_get_time,l --r=obj/Release/apps/earphone/app_main.o,usr_rcsp_process_timer,l --r=obj/Release/apps/earphone/app_main.o,app_main,pl --r=obj/Release/apps/earphone/app_main.o,bt_osc_offset_ext_updata,l --r=obj/Release/apps/earphone/app_main.o,app_rtc_task,l --r=obj/Release/apps/earphone/app_main.o,gpio_set_die,l -r=obj/Release/apps/earphone/app_main.o,timer_get_ms,l -r=obj/Release/apps/earphone/app_main.o,audio_enc_init,l -r=obj/Release/apps/earphone/app_main.o,audio_dec_init,l -r=obj/Release/apps/earphone/app_main.o,check_power_on_voltage,l --r=obj/Release/apps/earphone/app_main.o,timer_pwm_test,l --r=obj/Release/apps/earphone/app_main.o,usr_moto_timer_init,l -r=obj/Release/apps/earphone/app_main.o,usr_read_device_sta,l --r=obj/Release/apps/earphone/app_main.o,usr_plan_init,l +-r=obj/Release/apps/earphone/app_main.o,usr_clear_pair_info_noreset,l -r=obj/Release/apps/earphone/app_main.o,ui_manage_init,l -r=obj/Release/apps/earphone/app_main.o,ui_update_status,l -r=obj/Release/apps/earphone/app_main.o,start_app,l -r=obj/Release/apps/earphone/app_main.o,eSystemConfirmStopStatus,pl -r=obj/Release/apps/earphone/app_main.o,get_charge_full_flag,l +-r=obj/Release/apps/earphone/app_main.o,power_set_soft_poweroff,l -r=obj/Release/apps/earphone/app_main.o,__errno,pl -r=obj/Release/apps/earphone/app_main.o,cpu_reset_by_soft,l --r=obj/Release/apps/earphone/app_main.o,is_ldo5v_wakeup,l --r=obj/Release/apps/earphone/app_main.o,puts,l -r=obj/Release/apps/earphone/app_main.o,task_info_table,pl -r=obj/Release/apps/earphone/app_main.o,power_reset_flag,pl -r=obj/Release/apps/earphone/app_main.o,bt_user_priv_var,l -r=obj/Release/apps/earphone/app_main.o,app_var,pl --r=obj/Release/apps/earphone/app_main.o,usr_var,pl -r=obj/Release/apps/earphone/app_main.o,log_tag_const_i_APP,l --r=obj/Release/apps/earphone/app_main.o,_usr_module_cfg,l +-r=obj/Release/apps/earphone/app_main.o,usr_var,pl obj/Release/apps/earphone/app_protocol_deal.o obj/Release/apps/earphone/app_task_switch.o -r=obj/Release/apps/earphone/app_task_switch.o,app_task_switch_check,pl @@ -1731,7 +1706,6 @@ obj/Release/apps/earphone/board/br28/board_jl701n_demo.o -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,cfg_file_parse,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,devices_init,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,power_set_mode,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,gpio_set_die,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,bredr_set_dut_enble,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,board_set_soft_poweroff,pl -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,soff_gpio_protect,l @@ -1739,22 +1713,10 @@ obj/Release/apps/earphone/board/br28/board_jl701n_demo.o -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,dac_power_off,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,sleep_exit_callback,pl -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,sleep_exit_callback_common,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,putchar,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,usr_disable_intterupt,pl --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,usr_disable_charge_intterupt,pl --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,usr_disable_all_intterupt,pl -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,sleep_enter_callback,pl --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,usr_pwm_close,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,gpio_set_pull_up,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,gpio_set_pull_down,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,gpio_set_dieh,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,gpio_set_direction,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,sleep_enter_callback_common,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,usr_intterupt_close,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,power_init,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,power_set_callback,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,umidigi_chargestore_message_callback,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,app_umidigi_chargetore_message_deal,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,power_keep_dacvdd_en,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,power_wakeup_init,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,power_awakeup_set_callback,l @@ -1765,9 +1727,6 @@ obj/Release/apps/earphone/board/br28/board_jl701n_demo.o -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,chargestore_open,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,chargestore_close,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,chargestore_write,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,usr_intterupt_reinit,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,ldo_port_wakeup_to_cmessage,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,chargestore_ldo5v_fall_deal,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,status_config,pl -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,key_table,pl -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,dac_data,pl @@ -1785,15 +1744,8 @@ obj/Release/apps/earphone/board/br28/board_jl701n_demo.o -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,rtc_dev_ops,l -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,device_table,pl -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,power_param,pl --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,port0,pl --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,port2_1,pl --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,port_1,pl --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,port_2,pl --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,port1,pl -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,wk_param,pl -r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,log_tag_const_i_BOARD,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,usr_var,l --r=obj/Release/apps/earphone/board/br28/board_jl701n_demo.o,_usr_module_cfg,l obj/Release/apps/earphone/bt_auto_test.o obj/Release/apps/earphone/bt_background.o -r=obj/Release/apps/earphone/bt_background.o,bt_in_background,pl @@ -2105,16 +2057,8 @@ obj/Release/apps/earphone/key_event_deal.o -r=obj/Release/apps/earphone/key_event_deal.o,jl_kws_voice_event_handle,l -r=obj/Release/apps/earphone/key_event_deal.o,bt_sniff_ready_clean,l -r=obj/Release/apps/earphone/key_event_deal.o,set_key_event_by_rcsp_info,l --r=obj/Release/apps/earphone/key_event_deal.o,usr_clear_up,l --r=obj/Release/apps/earphone/key_event_deal.o,usr_write_device_sta,l --r=obj/Release/apps/earphone/key_event_deal.o,printf,l -r=obj/Release/apps/earphone/key_event_deal.o,usr_app_ota_init,l --r=obj/Release/apps/earphone/key_event_deal.o,usr_intterupt_close,l --r=obj/Release/apps/earphone/key_event_deal.o,sys_enter_soft_poweroff,l --r=obj/Release/apps/earphone/key_event_deal.o,usr_le_notify_data,l -r=obj/Release/apps/earphone/key_event_deal.o,usr_goto_pair_mode,l --r=obj/Release/apps/earphone/key_event_deal.o,usr_get_conn_service,l --r=obj/Release/apps/earphone/key_event_deal.o,usr_ble_adv_init,l -r=obj/Release/apps/earphone/key_event_deal.o,a2dp_get_status,l -r=obj/Release/apps/earphone/key_event_deal.o,bt_set_low_latency_mode,l -r=obj/Release/apps/earphone/key_event_deal.o,bt_get_low_latency_mode,l @@ -2124,9 +2068,8 @@ obj/Release/apps/earphone/key_event_deal.o -r=obj/Release/apps/earphone/key_event_deal.o,bt_user_priv_var,l -r=obj/Release/apps/earphone/key_event_deal.o,log_tag_const_i_KEY_EVENT_DEAL,l -r=obj/Release/apps/earphone/key_event_deal.o,key_table,l --r=obj/Release/apps/earphone/key_event_deal.o,_usr_module_cfg,l -r=obj/Release/apps/earphone/key_event_deal.o,usr_var,l --r=obj/Release/apps/earphone/key_event_deal.o,usr_auth_data,l +-r=obj/Release/apps/earphone/key_event_deal.o,_usr_module_cfg,l obj/Release/apps/earphone/kws_voice_event_deal.o -r=obj/Release/apps/earphone/kws_voice_event_deal.o,jl_kws_voice_event_handle,pl obj/Release/apps/earphone/linein/linein.o @@ -3339,7 +3282,6 @@ obj/Release/apps/usr_le_code/usr_le_adv.o -r=obj/Release/apps/usr_le_code/usr_le_adv.o,usr_write_pair_info,pl -r=obj/Release/apps/usr_le_code/usr_le_adv.o,usr_clear_pair_info,pl -r=obj/Release/apps/usr_le_code/usr_le_adv.o,printf,l --r=obj/Release/apps/usr_le_code/usr_le_adv.o,usr_clear_plan,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,sys_timeout_add,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,sys_enter_soft_poweroff,l -r=obj/Release/apps/usr_le_code/usr_le_adv.o,usr_clear_pair_info_noreset,pl @@ -3377,7 +3319,6 @@ obj/Release/apps/usr_le_code/usr_le_recieve.o -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,syscfg_read,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,syscfg_write,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_reset_device_sta,pl --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,printf,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_write_device_sta_vm,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_write_device_sta,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_le_data_recieve,pl @@ -3387,13 +3328,12 @@ obj/Release/apps/usr_le_code/usr_le_recieve.o -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_data_ana,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_send_ble_sta,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_set_device_default,pl --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_set_data_time,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,bleproto_appdata_encode,l +-r=obj/Release/apps/usr_le_code/usr_le_recieve.o,printf,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_ble_send_data,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_write_pair_info,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,memcmp,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_clear_pair_info,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_run_cmd_code,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_do_action_code,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,dual_ota_app_data_deal,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,clk_set,l @@ -3404,23 +3344,12 @@ obj/Release/apps/usr_le_code/usr_le_recieve.o -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,ram_protect_close,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_ota_deal_task,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,os_time_dly,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_intterupt_close,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_clear_up,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_clear_plan,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_write_plan,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_write_plan_to_vm,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_read_plan,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_ota_process,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,ble_multi_trans_disconnect,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_get_conn_service,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_ble_adv_updata_OTA,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_app_ota_init,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,sys_timer_add,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_le_notify_data,pl --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_le_120_notify_data,pl --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_le_low_power_notify,pl --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_weishi_notify,pl --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_data_notify_auto,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_test_protocol,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,p33_soft_reset,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,puts,l @@ -3429,90 +3358,7 @@ obj/Release/apps/usr_le_code/usr_le_recieve.o -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,log_tag_const_i_APP,l -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_auth_data,pl -r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_var,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_we_plan_table,l --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_weishi_type,pl --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_weishi_index,pl --r=obj/Release/apps/usr_le_code/usr_le_recieve.o,usr_weishi_fenshu,pl obj/Release/apps/usr_le_code/usr_le_recieve_demo.o -obj/Release/apps/usr_moto/usr_moto_work.o --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_moto_timer_init,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,io_ext_interrupt_test,l --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_intterupt_close,l --r=obj/Release/apps/usr_moto/usr_moto_work.o,motorForward,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_set_up_moto,l --r=obj/Release/apps/usr_moto/usr_moto_work.o,motorReverse,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,motorStop,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_up_moto_mode,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_up_moto_mode2,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,sys_timeout_add,l --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_write_device_sta,l --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_clear_up,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_clear_moto,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_get_work_status,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_allow_to_sleep,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_printf_sta,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_moto_main,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_set_down_moto,l --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_pwm_reinit,l --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_var,l --r=obj/Release/apps/usr_moto/usr_moto_work.o,_usr_module_cfg,l --r=obj/Release/apps/usr_moto/usr_moto_work.o,currentMode,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,modeDirection,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,currentState,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,timerCount,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,stepCount,pl --r=obj/Release/apps/usr_moto/usr_moto_work.o,usr_work_lp_target,pl -obj/Release/apps/usr_rtc/rtc.o --r=obj/Release/apps/usr_rtc/rtc.o,rtc_task_start,pl --r=obj/Release/apps/usr_rtc/rtc.o,app_rtc_task,pl --r=obj/Release/apps/usr_rtc/rtc.o,zalloc,l --r=obj/Release/apps/usr_rtc/rtc.o,printf,l --r=obj/Release/apps/usr_rtc/rtc.o,cpu_assert_debug,l --r=obj/Release/apps/usr_rtc/rtc.o,dev_open,l --r=obj/Release/apps/usr_rtc/rtc.o,p33_soft_reset,l --r=obj/Release/apps/usr_rtc/rtc.o,config_asser,l -obj/Release/apps/usr_rtc/virtual_rtc.o -obj/Release/apps/usr_utc/usr_plan.o --r=obj/Release/apps/usr_utc/usr_plan.o,parse_single_entry,pl --r=obj/Release/apps/usr_utc/usr_plan.o,printf,l --r=obj/Release/apps/usr_utc/usr_plan.o,parse_time_slots,pl --r=obj/Release/apps/usr_utc/usr_plan.o,print_time_slot,pl --r=obj/Release/apps/usr_utc/usr_plan.o,plan_test_main,pl --r=obj/Release/apps/usr_utc/usr_plan.o,calculateWeekday,pl --r=obj/Release/apps/usr_utc/usr_plan.o,usr_get_sys_time,pl --r=obj/Release/apps/usr_utc/usr_plan.o,read_sys_time,l --r=obj/Release/apps/usr_utc/usr_plan.o,convertToUtcTimestamp,l --r=obj/Release/apps/usr_utc/usr_plan.o,usr_plan_dec,pl --r=obj/Release/apps/usr_utc/usr_plan.o,usr_set_sys_time,pl --r=obj/Release/apps/usr_utc/usr_plan.o,write_sys_time,l --r=obj/Release/apps/usr_utc/usr_plan.o,usr_rtc_get_time,pl --r=obj/Release/apps/usr_utc/usr_plan.o,usr_read_plan,pl --r=obj/Release/apps/usr_utc/usr_plan.o,syscfg_read,l --r=obj/Release/apps/usr_utc/usr_plan.o,syscfg_write,l --r=obj/Release/apps/usr_utc/usr_plan.o,printf_buf,l --r=obj/Release/apps/usr_utc/usr_plan.o,usr_clear_plan,pl --r=obj/Release/apps/usr_utc/usr_plan.o,usr_write_plan,pl --r=obj/Release/apps/usr_utc/usr_plan.o,usr_write_plan_to_vm,pl --r=obj/Release/apps/usr_utc/usr_plan.o,usr_plan_init,pl --r=obj/Release/apps/usr_utc/usr_plan.o,isWithinCustomTimeRange,pl --r=obj/Release/apps/usr_utc/usr_plan.o,puts,l --r=obj/Release/apps/usr_utc/usr_plan.o,weekdayNames,pl --r=obj/Release/apps/usr_utc/usr_plan.o,usr_current_time,pl --r=obj/Release/apps/usr_utc/usr_plan.o,usr_var,l --r=obj/Release/apps/usr_utc/usr_plan.o,usr_we_plan_table,pl --r=obj/Release/apps/usr_utc/usr_plan.o,usr_set_time,pl --r=obj/Release/apps/usr_utc/usr_plan.o,_usr_module_cfg,l -obj/Release/apps/usr_utc/usr_utc_de_en.o --r=obj/Release/apps/usr_utc/usr_utc_de_en.o,usr_set_data_time,pl --r=obj/Release/apps/usr_utc/usr_utc_de_en.o,parseMillisecondTimestamp,pl --r=obj/Release/apps/usr_utc/usr_utc_de_en.o,usr_set_sys_time,l --r=obj/Release/apps/usr_utc/usr_utc_de_en.o,utc_test_main,pl --r=obj/Release/apps/usr_utc/usr_utc_de_en.o,usr_dt,pl --r=obj/Release/apps/usr_utc/usr_utc_de_en.o,usr_var,l --r=obj/Release/apps/usr_utc/usr_utc_de_en.o,usr_set_time,l -obj/Release/apps/usr_utc/usr_utc_encode.o --r=obj/Release/apps/usr_utc/usr_utc_encode.o,convertToUtcTimestamp,pl --r=obj/Release/apps/usr_utc/usr_utc_encode.o,utc_dec_test_main,pl obj/Release/cpu/br28/adc_api.o -r=obj/Release/cpu/br28/adc_api.o,adc_add_sample_ch,pl -r=obj/Release/cpu/br28/adc_api.o,printf,l @@ -4622,33 +4468,13 @@ obj/Release/cpu/br28/mcpwm.o -r=obj/Release/cpu/br28/mcpwm.o,io_ext_interrupt_reinit,pl -r=obj/Release/cpu/br28/mcpwm.o,io_ext_interrupt_close,pl -r=obj/Release/cpu/br28/mcpwm.o,gpio_ich_disable_iutput_signal,l --r=obj/Release/cpu/br28/mcpwm.o,my_io_isr_cbfun,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_get_work_status,l --r=obj/Release/cpu/br28/mcpwm.o,printf,l --r=obj/Release/cpu/br28/mcpwm.o,usr_clear_up,l --r=obj/Release/cpu/br28/mcpwm.o,sys_timeout_add,l --r=obj/Release/cpu/br28/mcpwm.o,usr_le_120_notify_data,l --r=obj/Release/cpu/br28/mcpwm.o,usr_write_device_sta,l --r=obj/Release/cpu/br28/mcpwm.o,io_ext_interrupt_test,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_intterupt_close,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_intterupt_reinit,pl -r=obj/Release/cpu/br28/mcpwm.o,timer_pwm_init,pl -r=obj/Release/cpu/br28/mcpwm.o,bit_clr_ie,l +-r=obj/Release/cpu/br28/mcpwm.o,printf,l -r=obj/Release/cpu/br28/mcpwm.o,set_timer_pwm_duty,pl --r=obj/Release/cpu/br28/mcpwm.o,timer_pwm_test,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_pwm_close,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_pwm_reinit,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_set_pwm_a5_up,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_set_pwm_a6_down,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_set_pwm_a3_up,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_set_pwm_a4_down,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_set_down_moto,pl --r=obj/Release/cpu/br28/mcpwm.o,usr_set_up_moto,pl -r=obj/Release/cpu/br28/mcpwm.o,clock_mcpwm,pl -r=obj/Release/cpu/br28/mcpwm.o,pwm_p_data,pl -r=obj/Release/cpu/br28/mcpwm.o,io_isr_cbfun,pl --r=obj/Release/cpu/br28/mcpwm.o,_usr_module_cfg,l --r=obj/Release/cpu/br28/mcpwm.o,usr_var,l obj/Release/cpu/br28/mic_dut_process.o obj/Release/cpu/br28/overlay_code.o -r=obj/Release/cpu/br28/overlay_code.o,overlay_load_code,pl @@ -4687,7 +4513,6 @@ obj/Release/cpu/br28/plcnt.o -r=obj/Release/cpu/br28/plcnt.o,get_plcnt_value,pl obj/Release/cpu/br28/power/power_app.o -r=obj/Release/cpu/br28/power/power_app.o,BTOSC_FASTBOOT_EN,pl --r=obj/Release/cpu/br28/power/power_app.o,power_app_lp_target,pl obj/Release/cpu/br28/power/power_check.o -r=obj/Release/cpu/br28/power/power_check.o,sleep_safety_check,pl -r=obj/Release/cpu/br28/power/power_check.o,soff_safety_check,pl @@ -4700,7 +4525,6 @@ obj/Release/cpu/br28/power/power_port.o -r=obj/Release/cpu/br28/power/power_port.o,gpio_set_direction,l -r=obj/Release/cpu/br28/power/power_port.o,gpio_set_die,l -r=obj/Release/cpu/br28/power/power_port.o,gpio_set_dieh,l --r=obj/Release/cpu/br28/power/power_port.o,usr_led_w_out,l -r=obj/Release/cpu/br28/power/power_port.o,sleep_exit_callback_common,pl -r=obj/Release/cpu/br28/power/power_port.o,soff_gpio_protect,pl -r=obj/Release/cpu/br28/power/power_port.o,port_protect,l @@ -4713,7 +4537,6 @@ obj/Release/cpu/br28/power/power_port.o -r=obj/Release/cpu/br28/power/power_port.o,gpio_die,l -r=obj/Release/cpu/br28/power/power_port.o,gpio_dieh,l -r=obj/Release/cpu/br28/power/power_port.o,mask_softflag_config,l --r=obj/Release/cpu/br28/power/power_port.o,_usr_module_cfg,l obj/Release/cpu/br28/power/power_trim.o -r=obj/Release/cpu/br28/power/power_trim.o,miovdd_trim,pl -r=obj/Release/cpu/br28/power/power_trim.o,delay,l @@ -5496,7 +5319,7 @@ cpu/br28/liba/cpu.a.llvm.248104.timer.c -r=cpu/br28/liba/cpu.a.llvm.248104.timer.c,mdelay,l -r=cpu/br28/liba/cpu.a.llvm.248104.timer.c,timer_get_sec,pl -r=cpu/br28/liba/cpu.a.llvm.248104.timer.c,timer_get_ms,pl --r=cpu/br28/liba/cpu.a.llvm.248104.timer.c,timer_2ms_handler,l +-r=cpu/br28/liba/cpu.a.llvm.248104.timer.c,timer_2ms_handler,pl -r=cpu/br28/liba/cpu.a.llvm.248104.timer.c,OSGetTime,pl -r=cpu/br28/liba/cpu.a.llvm.248104.timer.c,printf,l -r=cpu/br28/liba/cpu.a.llvm.248104.timer.c,cpu_assert_debug,l diff --git a/cpu/br28/tools/sdk.map b/cpu/br28/tools/sdk.map index fff20ab..cf76894 100644 --- a/cpu/br28/tools/sdk.map +++ b/cpu/br28/tools/sdk.map @@ -33,7 +33,7 @@ cpu/br28/liba/cpu.a(power_compat.c.o) obj/Release/apps/earphone/app_main.o (symbol from plugin) (cpu_reset_by_soft) cpu/br28/liba/cpu.a(power_wakeup.c.o) obj/Release/apps/earphone/board/br28/board_jl701n_demo.o (symbol from plugin) (power_wakeup_init) -cpu/br28/liba/cpu.a(rtc.c.o) obj/Release/apps/usr_utc/usr_plan.o (symbol from plugin) (write_sys_time) +cpu/br28/liba/cpu.a(rtc.c.o) power_driver.c.o (symbol from plugin) (poweroff_save_rtc_time) cpu/br28/liba/cpu.a(p33.c.o) power_wakeup.c.o (symbol from plugin) (P33_DUMP_WKUP) cpu/br28/liba/cpu.a(reset.c.o) power_reset.c.o (symbol from plugin) (hw_p33_reset_source_dump) @@ -120,7 +120,7 @@ cpu/br28/liba/system.a(sbrk.c.o) cpu/br28/liba/system.a(pmalloc.c.o) memory.c.o (symbol from plugin) (pmalloc_get_hdl) cpu/br28/liba/system.a(device_api.c.o) - obj/Release/apps/usr_rtc/rtc.o (symbol from plugin) (dev_open) + obj/Release/apps/earphone/bt_background.o (symbol from plugin) (dev_online) cpu/br28/liba/system.a(event.c.o) obj/Release/apps/common/config/new_cfg_tool.o (symbol from plugin) (sys_event_notify) cpu/br28/liba/system.a(sdfile_new.c.o) @@ -1025,12 +1025,6 @@ Discarded input sections .text 0x00000000 0x0 obj/Release/apps/usr_le_code/usr_le_adv.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/apps/usr_le_code/usr_le_recieve.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/apps/usr_le_code/usr_le_recieve_demo.o (symbol from plugin) - .text 0x00000000 0x0 obj/Release/apps/usr_moto/usr_moto_work.o (symbol from plugin) - .text 0x00000000 0x0 obj/Release/apps/usr_rtc/rtc.o (symbol from plugin) - .text 0x00000000 0x0 obj/Release/apps/usr_rtc/virtual_rtc.o (symbol from plugin) - .text 0x00000000 0x0 obj/Release/apps/usr_utc/usr_plan.o (symbol from plugin) - .text 0x00000000 0x0 obj/Release/apps/usr_utc/usr_utc_de_en.o (symbol from plugin) - .text 0x00000000 0x0 obj/Release/apps/usr_utc/usr_utc_encode.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/cpu/br28/adc_api.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/cpu/br28/aec_tool.o (symbol from plugin) .text 0x00000000 0x0 obj/Release/cpu/br28/app_audio.o (symbol from plugin) @@ -2287,12 +2281,6 @@ LOAD obj/Release/apps/usr_le_code/thirdpart/mjson/mjson.o LOAD obj/Release/apps/usr_le_code/usr_le_adv.o LOAD obj/Release/apps/usr_le_code/usr_le_recieve.o LOAD obj/Release/apps/usr_le_code/usr_le_recieve_demo.o -LOAD obj/Release/apps/usr_moto/usr_moto_work.o -LOAD obj/Release/apps/usr_rtc/rtc.o -LOAD obj/Release/apps/usr_rtc/virtual_rtc.o -LOAD obj/Release/apps/usr_utc/usr_plan.o -LOAD obj/Release/apps/usr_utc/usr_utc_de_en.o -LOAD obj/Release/apps/usr_utc/usr_utc_encode.o LOAD obj/Release/cpu/br28/adc_api.o LOAD obj/Release/cpu/br28/aec_tool.o LOAD obj/Release/cpu/br28/app_audio.o @@ -2700,426 +2688,424 @@ END GROUP 0x0000000a EQ_SECTION_NUM = 0xa 0x06000100 . = ORIGIN (code0) -.text 0x06000100 0x50c80 +.text 0x06000100 0x4f31c [!provide] PROVIDE (text_rodata_begin, .) *(.startup.text) .startup.text 0x06000100 0xaa cpu/br28/liba/cpu.a(startup.S.o) 0x06000100 _start *(.text) - .text 0x060001aa 0x14c4c cpu\br28\tools\sdk.elf.o - 0x0600a342 update_result_get - 0x0600a40e __errno - .text 0x06014df6 0x10c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtol.o) - 0x06014df6 _strtol_r - 0x06014ee8 strtol - .text 0x06014f02 0x1c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull.o) - 0x06014f02 strtoull - .text 0x06014f1e 0x14a C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull_r.o) - 0x06014f1e _strtoull_r - .text 0x06015068 0x346 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(divdf3.o) - 0x0601509e __divdf3 - .text 0x060153ae 0x4c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatsidf.o) - 0x060153ae __floatsidf - .text 0x060153fa 0x2fa C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(muldf3.o) - 0x06015430 __muldf3 - .text 0x060156f4 0xc C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(subdf3.o) - 0x060156f4 __subdf3 - .text 0x06015700 0x12 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(udivdi3.o) - 0x06015700 __udivdi3 - .text 0x06015712 0x16 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(umoddi3.o) - 0x06015712 __umoddi3 - .text 0x06015728 0x7a C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(extendsfdf2.o) - 0x06015728 __extendsfdf2 - .text 0x060157a2 0x3c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(fixunsdfsi.o) - 0x060157a2 __fixunsdfsi - .text 0x060157de 0x34 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatunsidf.o) - 0x060157de __floatunsidf - 0x06015814 . = ALIGN (0x4) - *fill* 0x06015812 0x2 - 0x06015814 update_target_begin = . + .text 0x060001aa 0x13abe cpu\br28\tools\sdk.elf.o + 0x06009786 update_result_get + 0x06009852 __errno + .text 0x06013c68 0x10c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtol.o) + 0x06013c68 _strtol_r + 0x06013d5a strtol + .text 0x06013d74 0x1c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull.o) + 0x06013d74 strtoull + .text 0x06013d90 0x14a C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-strtoull_r.o) + 0x06013d90 _strtoull_r + .text 0x06013eda 0x346 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(divdf3.o) + 0x06013f10 __divdf3 + .text 0x06014220 0x4c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatsidf.o) + 0x06014220 __floatsidf + .text 0x0601426c 0x2fa C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(muldf3.o) + 0x060142a2 __muldf3 + .text 0x06014566 0xc C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(subdf3.o) + 0x06014566 __subdf3 + .text 0x06014572 0x12 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(udivdi3.o) + 0x06014572 __udivdi3 + .text 0x06014584 0x16 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(umoddi3.o) + 0x06014584 __umoddi3 + .text 0x0601459a 0x7a C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(extendsfdf2.o) + 0x0601459a __extendsfdf2 + .text 0x06014614 0x3c C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(fixunsdfsi.o) + 0x06014614 __fixunsdfsi + .text 0x06014650 0x34 C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a(floatunsidf.o) + 0x06014650 __floatunsidf + 0x06014684 . = ALIGN (0x4) + 0x06014684 update_target_begin = . [!provide] PROVIDE (update_target_begin, .) *(.update_target) .update_target - 0x06015814 0x20 cpu\br28\tools\sdk.elf.o - 0x06015814 iis_update_target - 0x0601581c vad_update_target - 0x06015824 power_update_target - 0x0601582c ble_update_target - 0x06015834 update_target_end = . + 0x06014684 0x20 cpu\br28\tools\sdk.elf.o + 0x06014684 iis_update_target + 0x0601468c vad_update_target + 0x06014694 power_update_target + 0x0601469c ble_update_target + 0x060146a4 update_target_end = . [!provide] PROVIDE (update_target_end, .) - 0x06015834 . = ALIGN (0x4) + 0x060146a4 . = ALIGN (0x4) *(.LOG_TAG_CONST*) *(.rodata*) .rodata.str1.1 - 0x06015834 0x1218 cpu\br28\tools\sdk.elf.o - 0x124a (size before relaxing) - *fill* 0x06016a4c 0x4 - .rodata 0x06016a50 0x8d54 cpu\br28\tools\sdk.elf.o - *fill* 0x0601f7a4 0xc + 0x060146a4 0x11a6 cpu\br28\tools\sdk.elf.o + 0x11d8 (size before relaxing) + *fill* 0x0601584a 0x6 + .rodata 0x06015850 0x8a10 cpu\br28\tools\sdk.elf.o .rodata.str1.16 - 0x0601f7b0 0xf70 cpu\br28\tools\sdk.elf.o - 0xf62 (size before relaxing) - .rodata.cst16 0x06020720 0x10 cpu\br28\tools\sdk.elf.o + 0x0601e260 0xed0 cpu\br28\tools\sdk.elf.o + 0xec2 (size before relaxing) + .rodata.cst16 0x0601f130 0x10 cpu\br28\tools\sdk.elf.o 0x20 (size before relaxing) - .rodata.cst8 0x06020730 0x8 cpu\br28\tools\sdk.elf.o - .rodata.cst4 0x06020738 0x4 cpu\br28\tools\sdk.elf.o - .rodata 0x0602073c 0x281 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-ctype_.o) - 0x060208bc _ctype_ + .rodata.cst8 0x0601f140 0x8 cpu\br28\tools\sdk.elf.o + .rodata.cst4 0x0601f148 0x4 cpu\br28\tools\sdk.elf.o + .rodata 0x0601f14c 0x281 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-ctype_.o) + 0x0601f2cc _ctype_ .rodata.str1.1 - 0x060209bd 0x2 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-impure.o) - 0x060209c0 . = ALIGN (0x4) - *fill* 0x060209bf 0x1 + 0x0601f3cd 0x2 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-impure.o) + 0x0601f3d0 . = ALIGN (0x4) + *fill* 0x0601f3cf 0x1 [!provide] PROVIDE (text_rodata_end, .) - 0x060209c0 clock_critical_handler_begin = . + 0x0601f3d0 clock_critical_handler_begin = . *(.clock_critical_txt) .clock_critical_txt - 0x060209c0 0x38 cpu\br28\tools\sdk.elf.o - 0x060209c0 clock_chargestore - 0x060209c8 clock_mcpwm - 0x060209d0 clock_uart - 0x060209d8 clock_timer - 0x060209e0 clock_lrc - 0x060209e8 clock_rch - 0x060209f0 clock_port - 0x060209f8 clock_critical_handler_end = . - 0x060209f8 chargestore_handler_begin = . + 0x0601f3d0 0x38 cpu\br28\tools\sdk.elf.o + 0x0601f3d0 clock_chargestore + 0x0601f3d8 clock_mcpwm + 0x0601f3e0 clock_uart + 0x0601f3e8 clock_timer + 0x0601f3f0 clock_lrc + 0x0601f3f8 clock_rch + 0x0601f400 clock_port + 0x0601f408 clock_critical_handler_end = . + 0x0601f408 chargestore_handler_begin = . *(.chargestore_callback_txt) .chargestore_callback_txt - 0x060209f8 0x4 cpu\br28\tools\sdk.elf.o - 0x060209f8 chargestore_testbox - 0x060209fc chargestore_handler_end = . + 0x0601f408 0x4 cpu\br28\tools\sdk.elf.o + 0x0601f408 chargestore_testbox + 0x0601f40c chargestore_handler_end = . *(.opcore_table_maskrom) *(.bfilt_table_maskroom) *(.opcore_maskrom) *(.bfilt_code) *(.bfilt_const) - 0x060209fc . = ALIGN (0x4) - 0x060209fc lcd_interface_begin = . + 0x0601f40c . = ALIGN (0x4) + 0x0601f40c lcd_interface_begin = . *(.lcd_if_info) - 0x060209fc lcd_interface_end = . - 0x060209fc ui_style_begin = . + 0x0601f40c lcd_interface_end = . + 0x0601f40c ui_style_begin = . *(.ui_style) - 0x060209fc ui_style_end = . - 0x060209fc elm_event_handler_begin_JL = . + 0x0601f40c ui_style_end = . + 0x0601f40c elm_event_handler_begin_JL = . *(.elm_event_handler_JL) - 0x060209fc elm_event_handler_end_JL = . - 0x060209fc elm_event_handler_begin_UPGRADE = . + 0x0601f40c elm_event_handler_end_JL = . + 0x0601f40c elm_event_handler_begin_UPGRADE = . *(.elm_event_handler_UPGRADE) - 0x060209fc elm_event_handler_end_UPGRADE = . - 0x060209fc elm_event_handler_begin_DIAL = . + 0x0601f40c elm_event_handler_end_UPGRADE = . + 0x0601f40c elm_event_handler_begin_DIAL = . *(.elm_event_handler_DIAL) - 0x060209fc elm_event_handler_end_DIAL = . - 0x060209fc control_event_handler_begin = . + 0x0601f40c elm_event_handler_end_DIAL = . + 0x0601f40c control_event_handler_begin = . *(.control_event_handler) - 0x060209fc control_event_handler_end = . - 0x060209fc control_ops_begin = . + 0x0601f40c control_event_handler_end = . + 0x0601f40c control_ops_begin = . *(.control_ops) - 0x060209fc control_ops_end = . - 0x060209fc battery_notify_begin = . + 0x0601f40c control_ops_end = . + 0x0601f40c battery_notify_begin = . *(.battery_notify) - 0x060209fc battery_notify_end = . - 0x060209fc . = ALIGN (0x4) - 0x060209fc __VERSION_BEGIN = . + 0x0601f40c battery_notify_end = . + 0x0601f40c . = ALIGN (0x4) + 0x0601f40c __VERSION_BEGIN = . *(.sys.version) - .sys.version 0x060209fc 0x26 obj/Release/apps/earphone/sdk_version.z.o - 0x06020a22 __VERSION_END = . + .sys.version 0x0601f40c 0x26 obj/Release/apps/earphone/sdk_version.z.o + 0x0601f432 __VERSION_END = . *(.noop_version) - 0x06020a24 . = ALIGN (0x4) - *fill* 0x06020a22 0x2 - 0x06020a24 . = ALIGN (0x4) - 0x06020a24 tool_interface_begin = . + 0x0601f434 . = ALIGN (0x4) + *fill* 0x0601f432 0x2 + 0x0601f434 . = ALIGN (0x4) + 0x0601f434 tool_interface_begin = . *(.tool_interface) - 0x06020a24 tool_interface_end = . - 0x06020a24 . = ALIGN (0x4) - 0x06020a24 cmd_interface_begin = . + 0x0601f434 tool_interface_end = . + 0x0601f434 . = ALIGN (0x4) + 0x0601f434 cmd_interface_begin = . *(.eff_cmd) - 0x06020a24 cmd_interface_end = . - 0x06020a24 . = ALIGN (0x4) - 0x06020a40 . = ALIGN (0x20) - *fill* 0x06020a24 0x1c - 0x06020a40 m_code_addr = . + 0x0601f434 cmd_interface_end = . + 0x0601f434 . = ALIGN (0x4) + 0x0601f440 . = ALIGN (0x20) + *fill* 0x0601f434 0xc + 0x0601f440 m_code_addr = . *(.m.code*) *(.movable.code*) 0x00000000 m_code_size = ABSOLUTE ((. - m_code_addr)) - 0x06020a40 . = ALIGN (0x20) - 0x06020a40 gsensor_dev_begin = . + 0x0601f440 . = ALIGN (0x20) + 0x0601f440 gsensor_dev_begin = . *(.gsensor_dev) - 0x06020a40 gsensor_dev_end = . - 0x06020a40 fm_dev_begin = . + 0x0601f440 gsensor_dev_end = . + 0x0601f440 fm_dev_begin = . *(.fm_dev) - 0x06020a40 fm_dev_end = . - 0x06020a40 fm_emitter_dev_begin = . + 0x0601f440 fm_dev_end = . + 0x0601f440 fm_emitter_dev_begin = . *(.fm_emitter_dev) - 0x06020a40 fm_emitter_dev_end = . - 0x06020a40 storage_device_begin = . + 0x0601f440 fm_emitter_dev_end = . + 0x0601f440 storage_device_begin = . *(.storage_device) - 0x06020a40 storage_device_end = . - 0x06020a40 imusensor_dev_begin = . + 0x0601f440 storage_device_end = . + 0x0601f440 imusensor_dev_begin = . *(.imusensor_dev) - 0x06020a40 imusensor_dev_end = . - 0x06020a40 aac_dec_code_begin = . + 0x0601f440 imusensor_dev_end = . + 0x0601f440 aac_dec_code_begin = . *(.bt_aac_dec_code) *(.bt_aac_dec_sparse_code) - 0x06020a40 aac_dec_code_end = . + 0x0601f440 aac_dec_code_end = . 0x00000000 aac_dec_code_size = (aac_dec_code_end - aac_dec_code_begin) - 0x06020a40 . = ALIGN (0x4) - 0x06020a40 bt_aac_dec_const_begin = . + 0x0601f440 . = ALIGN (0x4) + 0x0601f440 bt_aac_dec_const_begin = . *(.bt_aac_dec_const) *(.bt_aac_dec_sparse_const) - 0x06020a40 bt_aac_dec_const_end = . + 0x0601f440 bt_aac_dec_const_end = . 0x00000000 bt_aac_dec_const_size = (bt_aac_dec_const_end - bt_aac_dec_const_begin) *(.bt_aac_dec_data) *(.bt_aac_dec_bss) - 0x06020a40 . = ALIGN (0x4) + 0x0601f440 . = ALIGN (0x4) *(.aac_mem) *(.aac_ctrl_mem) - 0x06020a40 . = ALIGN (0x20) - 0x06020a40 update_code_start = . + 0x0601f440 . = ALIGN (0x20) + 0x0601f440 update_code_start = . *(.bt_updata_ram_code) *(.update_const) - .update_const 0x06020a40 0xba cpu\br28\tools\sdk.elf.o + .update_const 0x0601f440 0xba cpu\br28\tools\sdk.elf.o *(.update_code) - .update_code 0x06020afa 0x1a14 cpu\br28\tools\sdk.elf.o - 0x0602250e update_code_end = . - 0x0602250e btstack_code_start = . - 0x06022510 . = ALIGN (0x4) - *fill* 0x0602250e 0x2 - 0x06022510 a2dp_source_media_codec_begin = . + .update_code 0x0601f4fa 0x1a14 cpu\br28\tools\sdk.elf.o + 0x06020f0e update_code_end = . + 0x06020f0e btstack_code_start = . + 0x06020f10 . = ALIGN (0x4) + *fill* 0x06020f0e 0x2 + 0x06020f10 a2dp_source_media_codec_begin = . *(.a2dp_source_media_codec) .a2dp_source_media_codec - 0x06022510 0x30 cpu\br28\tools\sdk.elf.o - 0x06022510 a2dp_source_lc3_codec - 0x06022528 a2dp_source_sbc_codec - 0x06022540 a2dp_source_media_codec_end = . - 0x06022540 a2dp_sink_media_probe_begin = . + 0x06020f10 0x30 cpu\br28\tools\sdk.elf.o + 0x06020f10 a2dp_source_lc3_codec + 0x06020f28 a2dp_source_sbc_codec + 0x06020f40 a2dp_source_media_codec_end = . + 0x06020f40 a2dp_sink_media_probe_begin = . *(.a2dp_sink_media_probe) - 0x06022540 a2dp_sink_media_probe_end = . - 0x06022540 a2dp_sink_media_codec_begin = . + 0x06020f40 a2dp_sink_media_probe_end = . + 0x06020f40 a2dp_sink_media_codec_begin = . *(.a2dp_sink_media_codec) .a2dp_sink_media_codec - 0x06022540 0x48 cpu\br28\tools\sdk.elf.o - 0x06022540 a2dp_1sbc_codec_private - 0x06022558 a2dp_2aac_sink_codec - 0x06022570 a2dp_4ldac_sink_codec - 0x06022588 a2dp_sink_media_codec_end = . - 0x06022588 a2dp_event_handler_begin = . + 0x06020f40 0x48 cpu\br28\tools\sdk.elf.o + 0x06020f40 a2dp_1sbc_codec_private + 0x06020f58 a2dp_2aac_sink_codec + 0x06020f70 a2dp_4ldac_sink_codec + 0x06020f88 a2dp_sink_media_codec_end = . + 0x06020f88 a2dp_event_handler_begin = . *(.a2dp_event_handler) .a2dp_event_handler - 0x06022588 0x70 cpu\br28\tools\sdk.elf.o - 0x06022588 a2dp_sink_event_handler - 0x060225a4 a2dp_source_event_handler - 0x060225c0 acp_a2dp_event_handler - 0x060225dc acp_a2dp_src_event_handler - 0x060225f8 a2dp_event_handler_end = . - 0x060225f8 sdp_record_item_begin = . + 0x06020f88 0x70 cpu\br28\tools\sdk.elf.o + 0x06020f88 a2dp_sink_event_handler + 0x06020fa4 a2dp_source_event_handler + 0x06020fc0 acp_a2dp_event_handler + 0x06020fdc acp_a2dp_src_event_handler + 0x06020ff8 a2dp_event_handler_end = . + 0x06020ff8 sdp_record_item_begin = . *(.sdp_record_item) - 0x060225f8 sdp_record_item_end = . - 0x060225f8 bt_sleep_begin = . + 0x06020ff8 sdp_record_item_end = . + 0x06020ff8 bt_sleep_begin = . *(.bt_sleep) - .bt_sleep 0x060225f8 0x6c cpu\br28\tools\sdk.elf.o - 0x060225f8 bt_suspend_a2dp_resumea2dp_release - 0x06022604 bt_suspend_avctp_resumeavctp_release - 0x06022610 bt_suspend_hfp_resumehfp_release - 0x0602261c bt_suspend_user_cmd_loop_resumeuser_cmd_loop_release - 0x06022628 bt_suspend_hid_resumehid_release - 0x06022634 bt_suspend_spp_resumespp_release - 0x06022640 bt_suspend_spp_up_resumespp_up_release - 0x0602264c bt_suspend_iap_resumeiap_release - 0x06022658 bt_suspend_sdp_resumesdp_release - 0x06022664 bt_sleep_end = . + .bt_sleep 0x06020ff8 0x6c cpu\br28\tools\sdk.elf.o + 0x06020ff8 bt_suspend_a2dp_resumea2dp_release + 0x06021004 bt_suspend_avctp_resumeavctp_release + 0x06021010 bt_suspend_hfp_resumehfp_release + 0x0602101c bt_suspend_user_cmd_loop_resumeuser_cmd_loop_release + 0x06021028 bt_suspend_hid_resumehid_release + 0x06021034 bt_suspend_spp_resumespp_release + 0x06021040 bt_suspend_spp_up_resumespp_up_release + 0x0602104c bt_suspend_iap_resumeiap_release + 0x06021058 bt_suspend_sdp_resumesdp_release + 0x06021064 bt_sleep_end = . *(.bt_stack_const) .bt_stack_const - 0x06022664 0x174 cpu\br28\tools\sdk.elf.o + 0x06021064 0x174 cpu\br28\tools\sdk.elf.o *(.bt_stack_code) .bt_stack_code - 0x060227d8 0x7c38 cpu\br28\tools\sdk.elf.o + 0x060211d8 0x7c38 cpu\br28\tools\sdk.elf.o *(.ble_db_const) *(.ble_db_code) - .ble_db_code 0x0602a410 0x18e cpu\br28\tools\sdk.elf.o + .ble_db_code 0x06028e10 0x18e cpu\br28\tools\sdk.elf.o *(.ble_sm_const) - *fill* 0x0602a59e 0x2 - .ble_sm_const 0x0602a5a0 0x73 cpu\br28\tools\sdk.elf.o + *fill* 0x06028f9e 0x2 + .ble_sm_const 0x06028fa0 0x73 cpu\br28\tools\sdk.elf.o *(.ble_sm_code) - *fill* 0x0602a613 0x1 - .ble_sm_code 0x0602a614 0x20e0 cpu\br28\tools\sdk.elf.o + *fill* 0x06029013 0x1 + .ble_sm_code 0x06029014 0x20e0 cpu\br28\tools\sdk.elf.o *(.ble_att_const) .ble_att_const - 0x0602c6f4 0x17 cpu\br28\tools\sdk.elf.o + 0x0602b0f4 0x17 cpu\br28\tools\sdk.elf.o *(.ble_att_code) - *fill* 0x0602c70b 0x1 - .ble_att_code 0x0602c70c 0x74e cpu\br28\tools\sdk.elf.o + *fill* 0x0602b10b 0x1 + .ble_att_code 0x0602b10c 0x754 cpu\br28\tools\sdk.elf.o *(.ble_gatt_const) *(.ble_gatt_code) .ble_gatt_code - 0x0602ce5a 0xa0 cpu\br28\tools\sdk.elf.o - 0x0602cefa BTSTACK_LE_HOST_MESH_CODE_START = . + 0x0602b860 0xa0 cpu\br28\tools\sdk.elf.o + 0x0602b900 BTSTACK_LE_HOST_MESH_CODE_START = . *(.ble_mesh_code) *(.ble_mesh_tinycrypt_code) *(.ble_mesh_const) *(.ble_mesh_tinycrypt_const) 0x00000000 BTSTACK_LE_HOST_MESH_CODE_SIZE = ABSOLUTE ((. - BTSTACK_LE_HOST_MESH_CODE_START)) - 0x0602cefa btstack_code_end = . - 0x0602cefc . = ALIGN (0x4) - *fill* 0x0602cefa 0x2 - 0x0602cefc . = ALIGN (0x4) - 0x0602cefc system_text_start = . - 0x0602cefc _device_node_begin = . - 0x0602cefc PROVIDE (device_node_begin, .) + 0x0602b900 btstack_code_end = . + 0x0602b900 . = ALIGN (0x4) + 0x0602b900 . = ALIGN (0x4) + 0x0602b900 system_text_start = . + 0x0602b900 _device_node_begin = . + 0x0602b900 PROVIDE (device_node_begin, .) *(.device) - .device 0x0602cefc 0x18 cpu\br28\tools\sdk.elf.o - 0x0602cefc device_table - 0x0602cf14 _device_node_end = . - 0x0602cf14 PROVIDE (device_node_end, .) - 0x0602cf14 config_target_begin = . + .device 0x0602b900 0x18 cpu\br28\tools\sdk.elf.o + 0x0602b900 device_table + 0x0602b918 _device_node_end = . + 0x0602b918 PROVIDE (device_node_end, .) + 0x0602b918 config_target_begin = . [!provide] PROVIDE (config_target_begin, .) *(.config_target) .config_target - 0x0602cf14 0x8 cpu\br28\tools\sdk.elf.o - 0x0602cf14 eq_config_target - 0x0602cf1c config_target_end = . + 0x0602b918 0x8 cpu\br28\tools\sdk.elf.o + 0x0602b918 eq_config_target + 0x0602b920 config_target_end = . [!provide] PROVIDE (config_target_end, .) - 0x0602cf1c system_code_begin = . + 0x0602b920 system_code_begin = . *(.system.*.text) .system.cpu.text - 0x0602cf1c 0x918 cpu\br28\tools\sdk.elf.o + 0x0602b920 0x916 cpu\br28\tools\sdk.elf.o .system.lbuf.text - 0x0602d834 0x388 cpu\br28\tools\sdk.elf.o + 0x0602c236 0x388 cpu\br28\tools\sdk.elf.o .system.printf.text - 0x0602dbbc 0x600 cpu\br28\tools\sdk.elf.o + 0x0602c5be 0x600 cpu\br28\tools\sdk.elf.o .system.cbuf.text - 0x0602e1bc 0x1e6 cpu\br28\tools\sdk.elf.o + 0x0602cbbe 0x1e6 cpu\br28\tools\sdk.elf.o .system.event.text - 0x0602e3a2 0x4ba cpu\br28\tools\sdk.elf.o + 0x0602cda4 0x4ba cpu\br28\tools\sdk.elf.o .system.timer.text - 0x0602e85c 0x78c cpu\br28\tools\sdk.elf.o + 0x0602d25e 0x78c cpu\br28\tools\sdk.elf.o .system.device.text - 0x0602efe8 0xf8 cpu\br28\tools\sdk.elf.o + 0x0602d9ea 0xf8 cpu\br28\tools\sdk.elf.o .system.fs.text - 0x0602f0e0 0xe42 cpu\br28\tools\sdk.elf.o + 0x0602dae2 0xe42 cpu\br28\tools\sdk.elf.o .system.ascii.text - 0x0602ff22 0x8c cpu\br28\tools\sdk.elf.o + 0x0602e924 0x8c cpu\br28\tools\sdk.elf.o .system.cfg_tool.text - 0x0602ffae 0x786 cpu\br28\tools\sdk.elf.o + 0x0602e9b0 0x786 cpu\br28\tools\sdk.elf.o .system.app_core.text - 0x06030734 0x2f2 cpu\br28\tools\sdk.elf.o + 0x0602f136 0x2f2 cpu\br28\tools\sdk.elf.o .system.init.text - 0x06030a26 0xadc cpu\br28\tools\sdk.elf.o - 0x06030a30 boot_info_init - 0x06030a5a cpu1_main - 0x06030abc main + 0x0602f428 0x8f0 cpu\br28\tools\sdk.elf.o + 0x0602f432 boot_info_init + 0x0602f45c cpu1_main + 0x0602f4be main .system.task.text - 0x06031502 0x5e cpu\br28\tools\sdk.elf.o - 0x06031560 system_code_end = . - 0x06031560 . = ALIGN (0x4) - 0x00004644 system_code_size = (system_code_end - system_code_begin) - 0x06031560 vfs_ops_begin = . + 0x0602fd18 0x5e cpu\br28\tools\sdk.elf.o + 0x0602fd76 system_code_end = . + 0x0602fd78 . = ALIGN (0x4) + *fill* 0x0602fd76 0x2 + 0x00004456 system_code_size = (system_code_end - system_code_begin) + 0x0602fd78 vfs_ops_begin = . *(.vfs_operations) .vfs_operations - 0x06031560 0x74 cpu\br28\tools\sdk.elf.o - 0x06031560 sdfile_vfs_ops - 0x060315d4 vfs_ops_end = . - 0x060315d4 _lib_version_begin = . + 0x0602fd78 0x74 cpu\br28\tools\sdk.elf.o + 0x0602fd78 sdfile_vfs_ops + 0x0602fdec vfs_ops_end = . + 0x0602fdec _lib_version_begin = . [!provide] PROVIDE (lib_version_begin, .) *(.lib_version) - .lib_version 0x060315d4 0xc cpu\br28\tools\sdk.elf.o - 0x060315d4 __version_sdfile - 0x060315d8 __version_fs - 0x060315dc __version_fatfs - 0x060315e0 _lib_version_end = . + .lib_version 0x0602fdec 0xc cpu\br28\tools\sdk.elf.o + 0x0602fdec __version_sdfile + 0x0602fdf0 __version_fs + 0x0602fdf4 __version_fatfs + 0x0602fdf8 _lib_version_end = . [!provide] PROVIDE (lib_version_end, .) - 0x060315e0 _initcall_begin = . - 0x060315e0 PROVIDE (initcall_begin, .) + 0x0602fdf8 _initcall_begin = . + 0x0602fdf8 PROVIDE (initcall_begin, .) *(.initcall) - .initcall 0x060315e0 0x14 cpu\br28\tools\sdk.elf.o - 0x060315e0 __initcall_audio_online_debug_open - 0x060315e4 __initcall_trim_timer_add - 0x060315e8 __initcall_app_update_init - 0x060315ec __initcall_tone_table_init - 0x060315f0 __initcall_audio_vbass_init - 0x060315f4 _initcall_end = . - 0x060315f4 PROVIDE (initcall_end, .) - 0x060315f4 _early_initcall_begin = . - 0x060315f4 PROVIDE (early_initcall_begin, .) + .initcall 0x0602fdf8 0x14 cpu\br28\tools\sdk.elf.o + 0x0602fdf8 __initcall_audio_online_debug_open + 0x0602fdfc __initcall_trim_timer_add + 0x0602fe00 __initcall_app_update_init + 0x0602fe04 __initcall_tone_table_init + 0x0602fe08 __initcall_audio_vbass_init + 0x0602fe0c _initcall_end = . + 0x0602fe0c PROVIDE (initcall_end, .) + 0x0602fe0c _early_initcall_begin = . + 0x0602fe0c PROVIDE (early_initcall_begin, .) *(.early.initcall) .early.initcall - 0x060315f4 0x8 cpu\br28\tools\sdk.elf.o - 0x060315f4 __initcall_sys_event_init - 0x060315f8 __initcall_sdfile_init - 0x060315fc _early_initcall_end = . - 0x060315fc PROVIDE (early_initcall_end, .) - 0x060315fc _late_initcall_begin = . - 0x060315fc PROVIDE (late_initcall_begin, .) + 0x0602fe0c 0x8 cpu\br28\tools\sdk.elf.o + 0x0602fe0c __initcall_sys_event_init + 0x0602fe10 __initcall_sdfile_init + 0x0602fe14 _early_initcall_end = . + 0x0602fe14 PROVIDE (early_initcall_end, .) + 0x0602fe14 _late_initcall_begin = . + 0x0602fe14 PROVIDE (late_initcall_begin, .) *(.late.initcall) .late.initcall - 0x060315fc 0x8 cpu\br28\tools\sdk.elf.o - 0x060315fc __initcall_check_otp_data - 0x06031600 __initcall_sdk_meky_check - 0x06031604 _late_initcall_end = . - 0x06031604 PROVIDE (late_initcall_end, .) - 0x06031604 _platform_initcall_begin = . - 0x06031604 PROVIDE (platform_initcall_begin, .) + 0x0602fe14 0x8 cpu\br28\tools\sdk.elf.o + 0x0602fe14 __initcall_check_otp_data + 0x0602fe18 __initcall_sdk_meky_check + 0x0602fe1c _late_initcall_end = . + 0x0602fe1c PROVIDE (late_initcall_end, .) + 0x0602fe1c _platform_initcall_begin = . + 0x0602fe1c PROVIDE (platform_initcall_begin, .) *(.platform.initcall) .platform.initcall - 0x06031604 0x4 cpu\br28\tools\sdk.elf.o - 0x06031604 __initcall_syscfg_tools_init - 0x06031608 _platform_initcall_end = . - 0x06031608 PROVIDE (platform_initcall_end, .) - 0x06031608 _module_initcall_begin = . - 0x06031608 PROVIDE (module_initcall_begin, .) + 0x0602fe1c 0x4 cpu\br28\tools\sdk.elf.o + 0x0602fe1c __initcall_syscfg_tools_init + 0x0602fe20 _platform_initcall_end = . + 0x0602fe20 PROVIDE (platform_initcall_end, .) + 0x0602fe20 _module_initcall_begin = . + 0x0602fe20 PROVIDE (module_initcall_begin, .) *(.module.initcall) - 0x06031608 _module_initcall_end = . - 0x06031608 PROVIDE (module_initcall_end, .) - 0x06031608 _sys_event_handler_begin = . - 0x06031608 PROVIDE (sys_event_handler_begin, .) + 0x0602fe20 _module_initcall_end = . + 0x0602fe20 PROVIDE (module_initcall_end, .) + 0x0602fe20 _sys_event_handler_begin = . + 0x0602fe20 PROVIDE (sys_event_handler_begin, .) *(.sys_event.4.handler) .sys_event.4.handler - 0x06031608 0x8 cpu\br28\tools\sdk.elf.o - 0x06031608 __event_handler_bt_tws_event_handler + 0x0602fe20 0x8 cpu\br28\tools\sdk.elf.o + 0x0602fe20 __event_handler_bt_tws_event_handler *(.sys_event.3.handler) *(.sys_event.2.handler) *(.sys_event.1.handler) *(.sys_event.0.handler) - 0x06031610 _sys_event_handler_end = . - 0x06031610 PROVIDE (sys_event_handler_end, .) - 0x06031610 _syscfg_arg_begin = . + 0x0602fe28 _sys_event_handler_end = . + 0x0602fe28 PROVIDE (sys_event_handler_end, .) + 0x0602fe28 _syscfg_arg_begin = . [!provide] PROVIDE (syscfg_arg_begin, .) *(.syscfg.arg) - 0x06031610 _syscfg_arg_end = . + 0x0602fe28 _syscfg_arg_end = . [!provide] PROVIDE (syscfg_arg_end, .) - 0x06031610 _syscfg_handler_begin = . + 0x0602fe28 _syscfg_handler_begin = . [!provide] PROVIDE (syscfg_handler_begin, .) *(.syscfg.handler) - 0x06031610 _syscfg_handler_end = . + 0x0602fe28 _syscfg_handler_end = . [!provide] PROVIDE (syscfg_handler_end, .) - 0x06031610 _syscfg_ops_begin = . - 0x06031610 PROVIDE (syscfg_ops_begin, .) + 0x0602fe28 _syscfg_ops_begin = . + 0x0602fe28 PROVIDE (syscfg_ops_begin, .) *(.syscfg.2.ops) - .syscfg.2.ops 0x06031610 0x1c cpu\br28\tools\sdk.elf.o - 0x06031610 cfg_btif + .syscfg.2.ops 0x0602fe28 0x1c cpu\br28\tools\sdk.elf.o + 0x0602fe28 cfg_btif *(.syscfg.1.ops) - .syscfg.1.ops 0x0603162c 0x1c cpu\br28\tools\sdk.elf.o - 0x0603162c cfg_vm + .syscfg.1.ops 0x0602fe44 0x1c cpu\br28\tools\sdk.elf.o + 0x0602fe44 cfg_vm *(.syscfg.0.ops) - .syscfg.0.ops 0x06031648 0x1c cpu\br28\tools\sdk.elf.o - 0x06031648 cfg_bin - 0x06031664 _syscfg_ops_end = . - 0x06031664 PROVIDE (syscfg_ops_end, .) - 0x06031664 _server_info_begin = . + .syscfg.0.ops 0x0602fe60 0x1c cpu\br28\tools\sdk.elf.o + 0x0602fe60 cfg_bin + 0x0602fe7c _syscfg_ops_end = . + 0x0602fe7c PROVIDE (syscfg_ops_end, .) + 0x0602fe7c _server_info_begin = . [!provide] PROVIDE (server_info_begin, .) *(.server_info) - 0x06031664 _server_info_end = . + 0x0602fe7c _server_info_end = . [!provide] PROVIDE (server_info_end, .) - 0x06031664 _bus_device_begin = . + 0x0602fe7c _bus_device_begin = . [!provide] PROVIDE (bus_device_begin, .) *(.bus_device) - 0x06031664 _bus_device_end = . + 0x0602fe7c _bus_device_end = . [!provide] PROVIDE (bus_device_end, .) - 0x06031664 _sys_power_hal_ops_begin = . + 0x0602fe7c _sys_power_hal_ops_begin = . [!provide] PROVIDE (sys_power_hal_ops_begin, .) *(.sys_power_hal_ops) - 0x06031664 _sys_power_hal_ops_end = . + 0x0602fe7c _sys_power_hal_ops_end = . [!provide] PROVIDE (sys_power_hal_ops_end, .) - 0x06031664 crypto_begin = . + 0x0602fe7c crypto_begin = . *(.crypto_ecdh_code) *(.crypto_ecdh_const) *(.crypto_bigint_code) @@ -3136,64 +3122,63 @@ END GROUP *(.hash_sample_const) *(.aes_cmac_sample_code) *(.aes_cmac_sample_const) - 0x06031664 crypto_end = . + 0x0602fe7c crypto_end = . 0x00000000 crypto_size = (. - crypto_begin) *(.mem_code) *(.mem_const) *(.os_port_code) *(.os_port_const) *(.os_const) - .os_const 0x06031664 0x18 cpu\br28\tools\sdk.elf.o + .os_const 0x0602fe7c 0x18 cpu\br28\tools\sdk.elf.o *(.math_fast_funtion_code) .math_fast_funtion_code - 0x0603167c 0x1c cpu\br28\tools\sdk.elf.o - 0x06031698 __movable_function_start = . + 0x0602fe94 0x1c cpu\br28\tools\sdk.elf.o + 0x0602feb0 __movable_function_start = . *(movable.text.*) *(movable.stub.*) *(movable.region.*) - 0x06031698 __movable_function_end = . + 0x0602feb0 __movable_function_end = . 0x00000000 __movable_function_size = (__movable_function_end - __movable_function_start) - 0x06031698 system_text_end = . - 0x0000479c system_code_total_size = (system_text_end - system_text_start) - 0x06031698 btctler_code_start = . - 0x06031698 BTCTLER_CONTROLLER_CODE_START = . + 0x0602feb0 system_text_end = . + 0x000045b0 system_code_total_size = (system_text_end - system_text_start) + 0x0602feb0 btctler_code_start = . + 0x0602feb0 BTCTLER_CONTROLLER_CODE_START = . *(.bt_rf_const) - .bt_rf_const 0x06031698 0x5f4 cpu\br28\tools\sdk.elf.o + .bt_rf_const 0x0602feb0 0x5f4 cpu\br28\tools\sdk.elf.o *(.bt_rf_code) - .bt_rf_code 0x06031c8c 0x1b02 cpu\br28\tools\sdk.elf.o + .bt_rf_code 0x060304a4 0x1b02 cpu\br28\tools\sdk.elf.o *(.vendor_manager_const) *(.vendor_manager_code) *(.device_manager_const) *(.device_manager_code) *(.hci_controller_const) - *fill* 0x0603378e 0x2 + *fill* 0x06031fa6 0x2 .hci_controller_const - 0x06033790 0x28 cpu\br28\tools\sdk.elf.o + 0x06031fa8 0x28 cpu\br28\tools\sdk.elf.o *(.hci_controller_code) .hci_controller_code - 0x060337b8 0x63e cpu\br28\tools\sdk.elf.o + 0x06031fd0 0x640 cpu\br28\tools\sdk.elf.o *(.hci_interface_const) *(.hci_interface_code) - 0x0000275e BTCTLER_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_CONTROLLER_CODE_START)) - 0x06033df6 BTCTLER_LE_CONTROLLER_CODE_START = . + 0x00002760 BTCTLER_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_CONTROLLER_CODE_START)) + 0x06032610 BTCTLER_LE_CONTROLLER_CODE_START = . *(.ble_rf_const) - *fill* 0x06033df6 0x2 - .ble_rf_const 0x06033df8 0x28 cpu\br28\tools\sdk.elf.o + .ble_rf_const 0x06032610 0x28 cpu\br28\tools\sdk.elf.o *(.ble_rf_code) - .ble_rf_code 0x06033e20 0x3cee cpu\br28\tools\sdk.elf.o + .ble_rf_code 0x06032638 0x3cee cpu\br28\tools\sdk.elf.o *(.ble_ll_const) - *fill* 0x06037b0e 0x2 - .ble_ll_const 0x06037b10 0xb4 cpu\br28\tools\sdk.elf.o + *fill* 0x06036326 0x2 + .ble_ll_const 0x06036328 0xb4 cpu\br28\tools\sdk.elf.o *(.ble_ll_code) - .ble_ll_code 0x06037bc4 0x2aa8 cpu\br28\tools\sdk.elf.o + .ble_ll_code 0x060363dc 0x2aa8 cpu\br28\tools\sdk.elf.o *(.ble_hci_const) .ble_hci_const - 0x0603a66c 0x19 cpu\br28\tools\sdk.elf.o + 0x06038e84 0x19 cpu\br28\tools\sdk.elf.o *(.ble_hci_code) - *fill* 0x0603a685 0x1 - .ble_hci_code 0x0603a686 0x8da cpu\br28\tools\sdk.elf.o - 0x0000716a BTCTLER_LE_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_CODE_START)) - 0x0603af60 BTCTLER_CL_CODE_START = . + *fill* 0x06038e9d 0x1 + .ble_hci_code 0x06038e9e 0x8da cpu\br28\tools\sdk.elf.o + 0x00007168 BTCTLER_LE_CONTROLLER_CODE_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_CODE_START)) + 0x06039778 BTCTLER_CL_CODE_START = . *(.bredr_irq) *(.bredr_irq_code) *(.bredr_irq_const) @@ -3202,126 +3187,124 @@ END GROUP *(.classic_lmp_const) *(.classic_lmp_auth_const) .classic_lmp_auth_const - 0x0603af60 0x310 cpu\br28\tools\sdk.elf.o + 0x06039778 0x310 cpu\br28\tools\sdk.elf.o *(.classic_lmp_bigint_const) *(.classic_lmp_crypt_const) *(.classic_lmp_ecdh_const) *(.classic_lmp_hmac_const) *(.classic_lmp_code) .classic_lmp_code - 0x0603b270 0x780 cpu\br28\tools\sdk.elf.o + 0x06039a88 0x780 cpu\br28\tools\sdk.elf.o *(.classic_lmp_auth_code) .classic_lmp_auth_code - 0x0603b9f0 0x488 cpu\br28\tools\sdk.elf.o + 0x0603a208 0x488 cpu\br28\tools\sdk.elf.o *(.classic_lmp_bigint_code) *(.classic_lmp_crypt_code) *(.classic_lmp_ecdh_code) *(.classic_lmp_hmac_code) *(.classic_rf_const) .classic_rf_const - 0x0603be78 0x60 cpu\br28\tools\sdk.elf.o + 0x0603a690 0x60 cpu\br28\tools\sdk.elf.o *(.classic_rf_code) .classic_rf_code - 0x0603bed8 0x504 cpu\br28\tools\sdk.elf.o + 0x0603a6f0 0x504 cpu\br28\tools\sdk.elf.o *(.classic_bb_const) *(.classic_bb_code) 0x0000147c BTCTLER_CL_CODE_SIZE = ABSOLUTE ((. - BTCTLER_CL_CODE_START)) *(.classic_tws_const) *(.classic_tws_code) .classic_tws_code - 0x0603c3dc 0x150 cpu\br28\tools\sdk.elf.o + 0x0603abf4 0x150 cpu\br28\tools\sdk.elf.o *(.classic_tws_code.esco) - 0x0603c52c . = ALIGN (0x4) - 0x0603c52c driver_code_start = . + 0x0603ad44 . = ALIGN (0x4) + 0x0603ad44 driver_code_start = . *(.fm_code) - 0x0603c52c CLOCK_CODE_START = . + 0x0603ad44 CLOCK_CODE_START = . *(.clock_code) - .clock_code 0x0603c52c 0x11be cpu\br28\tools\sdk.elf.o - 0x0603d080 boot_clk_init + .clock_code 0x0603ad44 0x11ba cpu\br28\tools\sdk.elf.o + 0x0603b898 boot_clk_init *(.clock_const) - .clock_const 0x0603d6ea 0x30 cpu\br28\tools\sdk.elf.o - 0x000011ee CLOCK_CODE_SIZE = ABSOLUTE ((. - CLOCK_CODE_START)) + .clock_const 0x0603befe 0x30 cpu\br28\tools\sdk.elf.o + 0x000011ea CLOCK_CODE_SIZE = ABSOLUTE ((. - CLOCK_CODE_START)) *(.debug_code) *(.debug_const) *(.uart_code) *(.uart_const) *(.power_driver.text) .power_driver.text - 0x0603d71a 0x224c cpu\br28\tools\sdk.elf.o + 0x0603bf2e 0x220e cpu\br28\tools\sdk.elf.o *(.power_driver.text.const) - *fill* 0x0603f966 0x1a + *fill* 0x0603e13c 0x4 .power_driver.text.const - 0x0603f980 0x7fd cpu\br28\tools\sdk.elf.o + 0x0603e140 0x7fd cpu\br28\tools\sdk.elf.o *(.power_reset.text) - *fill* 0x0604017d 0x1 + *fill* 0x0603e93d 0x1 .power_reset.text - 0x0604017e 0x330 cpu\br28\tools\sdk.elf.o + 0x0603e93e 0x330 cpu\br28\tools\sdk.elf.o *(.power_reset.text.const) .power_reset.text.const - 0x060404ae 0x80 cpu\br28\tools\sdk.elf.o + 0x0603ec6e 0x80 cpu\br28\tools\sdk.elf.o *(.power_wakeup.text) .power_wakeup.text - 0x0604052e 0x678 cpu\br28\tools\sdk.elf.o + 0x0603ecee 0x5f2 cpu\br28\tools\sdk.elf.o *(.power_wakeup.text.const) .power_wakeup.text.const - 0x06040ba6 0xad cpu\br28\tools\sdk.elf.o - 0x06040c54 . = ALIGN (0x4) - *fill* 0x06040c53 0x1 - 0x06040c54 lp_target_begin = . + 0x0603f2e0 0xad cpu\br28\tools\sdk.elf.o + 0x0603f390 . = ALIGN (0x4) + *fill* 0x0603f38d 0x3 + 0x0603f390 lp_target_begin = . [!provide] PROVIDE (lp_target_begin, .) *(.lp_target) - .lp_target 0x06040c54 0xd8 cpu\br28\tools\sdk.elf.o - 0x06040c54 bt_test_lp_target - 0x06040c60 key_lp_target - 0x06040c6c plll_trim_lp_target - 0x06040c78 ota_lp_target - 0x06040c84 dual_ota_lp_target - 0x06040c90 pc_lp_target - 0x06040c9c usr_work_lp_target - 0x06040ca8 audio_dec_init_lp_target - 0x06040cb4 bt_dec_lp_target - 0x06040cc0 power_app_lp_target - 0x06040ccc aispeech_asr_core_lp_target - 0x06040cd8 audio_tone_lp_target - 0x06040ce4 tone_dec_lp_target - 0x06040cf0 usb_dev_lp_target - 0x06040cfc usr_systimer_lp_target - 0x06040d08 btstack_lowpower_target - 0x06040d14 audio_dac_lp_target - 0x06040d20 eq_online_lp_target - 0x06040d2c lp_target_end = . + .lp_target 0x0603f390 0xc0 cpu\br28\tools\sdk.elf.o + 0x0603f390 bt_test_lp_target + 0x0603f39c key_lp_target + 0x0603f3a8 plll_trim_lp_target + 0x0603f3b4 ota_lp_target + 0x0603f3c0 dual_ota_lp_target + 0x0603f3cc pc_lp_target + 0x0603f3d8 audio_dec_init_lp_target + 0x0603f3e4 bt_dec_lp_target + 0x0603f3f0 aispeech_asr_core_lp_target + 0x0603f3fc audio_tone_lp_target + 0x0603f408 tone_dec_lp_target + 0x0603f414 usb_dev_lp_target + 0x0603f420 usr_systimer_lp_target + 0x0603f42c btstack_lowpower_target + 0x0603f438 audio_dac_lp_target + 0x0603f444 eq_online_lp_target + 0x0603f450 lp_target_end = . [!provide] PROVIDE (lp_target_end, .) - 0x06040d2c . = ALIGN (0x4) - 0x06040d2c lp_request_begin = . + 0x0603f450 . = ALIGN (0x4) + 0x0603f450 lp_request_begin = . [!provide] PROVIDE (lp_request_begin, .) *(.lp_request) - 0x06040d2c lp_request_end = . + 0x0603f450 lp_request_end = . [!provide] PROVIDE (lp_request_end, .) - 0x06040d2c . = ALIGN (0x4) - 0x06040d2c deepsleep_target_begin = . + 0x0603f450 . = ALIGN (0x4) + 0x0603f450 deepsleep_target_begin = . [!provide] PROVIDE (deepsleep_target_begin, .) *(.deepsleep_target) .deepsleep_target - 0x06040d2c 0x54 cpu\br28\tools\sdk.elf.o - 0x06040d2c uart - 0x06040d38 clock_sfc - 0x06040d44 tmr - 0x06040d50 vm_sfc - 0x06040d5c lrct - 0x06040d68 periph - 0x06040d74 bt - 0x06040d80 deepsleep_target_end = . + 0x0603f450 0x54 cpu\br28\tools\sdk.elf.o + 0x0603f450 uart + 0x0603f45c clock_sfc + 0x0603f468 tmr + 0x0603f474 vm_sfc + 0x0603f480 lrct + 0x0603f48c periph + 0x0603f498 bt + 0x0603f4a4 deepsleep_target_end = . [!provide] PROVIDE (deepsleep_target_end, .) - 0x06040d80 . = ALIGN (0x4) - 0x06040d80 p2m_msg_handler_begin = . + 0x0603f4a4 . = ALIGN (0x4) + 0x0603f4a4 p2m_msg_handler_begin = . [!provide] PROVIDE (p2m_msg_handler_begin, .) *(.p2m_msg_handler) - 0x06040d80 PROVIDE (p2m_msg_handler_end, .) - 0x06040d80 p2m_msg_handler_end = . - 0x06040d80 driver_code_end = . - 0x06040d80 . = ALIGN (0x4) - 0x06040d80 media_text_start = . - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 PROVIDE (p2m_msg_handler_end, .) + 0x0603f4a4 p2m_msg_handler_end = . + 0x0603f4a4 driver_code_end = . + 0x0603f4a4 . = ALIGN (0x4) + 0x0603f4a4 media_text_start = . + 0x0603f4a4 . = ALIGN (0x4) *(.stream_code) *(.howlings_phf_code) *(.notchhowling_sparse_code) @@ -3329,28 +3312,28 @@ END GROUP *(.howlings_phf_sparse_code) *(.notchhowling_const) *(.howlings_phf_const) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.llns.text) *(.llns.text.const) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.aec_code) *(.aec_const) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.res_code) *(.res_const) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.ns_code) *(.ns_const) *(.bark_const) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.jlsp_code) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.jlsp_const) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.dns_16k_data) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.dns_8k_data) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.jlsp_dns_code) *(.jlsp_dns_const) *(.dns_param_data_wind) @@ -3379,20 +3362,20 @@ END GROUP *(.bt_audioplc_code) *(.bt_audioplc_sparse_code) *(.bt_audioplc_const) - 0x06040d80 . = ALIGN (0x4) + 0x0603f4a4 . = ALIGN (0x4) *(.lf_audioplc_code) .lf_audioplc_code - 0x06040d80 0x47a cpu\br28\tools\sdk.elf.o + 0x0603f4a4 0x47a cpu\br28\tools\sdk.elf.o *(.lf_audioplc_sparse_code) .lf_audioplc_sparse_code - 0x060411fa 0x7c cpu\br28\tools\sdk.elf.o + 0x0603f91e 0x7c cpu\br28\tools\sdk.elf.o *(.lf_audioplc_const) - *fill* 0x06041276 0x2 + *fill* 0x0603f99a 0x2 .lf_audioplc_const - 0x06041278 0xc cpu\br28\tools\sdk.elf.o - 0x06041284 . = ALIGN (0x4) + 0x0603f99c 0xc cpu\br28\tools\sdk.elf.o + 0x0603f9a8 . = ALIGN (0x4) *(.pcm_code) - .pcm_code 0x06041284 0xa2 cpu\br28\tools\sdk.elf.o + .pcm_code 0x0603f9a8 0xa2 cpu\br28\tools\sdk.elf.o *(.pcm_const) *(.wtg_dec_code) *(.wtg_dec_sparse_code) @@ -3414,31 +3397,31 @@ END GROUP *(.opus_encoder_code) *(.opus_encoder_const) *(.mp3_code) - .mp3_code 0x06041326 0x462 cpu\br28\tools\sdk.elf.o + .mp3_code 0x0603fa4a 0x462 cpu\br28\tools\sdk.elf.o *(.mp3_const) *(.mp3_dec_sparse_code) .mp3_dec_sparse_code - 0x06041788 0x1632 cpu\br28\tools\sdk.elf.o + 0x0603feac 0x1632 cpu\br28\tools\sdk.elf.o *(.mp3_dec_sparse_const) *(.mp3_dec_code) - .mp3_dec_code 0x06042dba 0x3042 cpu\br28\tools\sdk.elf.o + .mp3_dec_code 0x060414de 0x3042 cpu\br28\tools\sdk.elf.o *(.mp3_dec_const) .mp3_dec_const - 0x06045dfc 0x290c cpu\br28\tools\sdk.elf.o + 0x06044520 0x290c cpu\br28\tools\sdk.elf.o *(.bfilt_code) *(.msbc_code) - .msbc_code 0x06048708 0x4b6 cpu\br28\tools\sdk.elf.o + .msbc_code 0x06046e2c 0x4b6 cpu\br28\tools\sdk.elf.o *(.msbc_const) - *fill* 0x06048bbe 0x2 - .msbc_const 0x06048bc0 0x46 cpu\br28\tools\sdk.elf.o + *fill* 0x060472e2 0x2 + .msbc_const 0x060472e4 0x46 cpu\br28\tools\sdk.elf.o *(.mty_code) *(.mp3tsy_dec_code) *(.mp3tsy_dec_sparse_code) *(.mp3tsy_dec_const) *(.sbc_code) - .sbc_code 0x06048c06 0x4f6 cpu\br28\tools\sdk.elf.o + .sbc_code 0x0604732a 0x4f6 cpu\br28\tools\sdk.elf.o *(.sbc_const) - .sbc_const 0x060490fc 0xc cpu\br28\tools\sdk.elf.o + .sbc_const 0x06047820 0xc cpu\br28\tools\sdk.elf.o *(.sine_code) *(.sine_const) *(.wav_code) @@ -3481,10 +3464,10 @@ END GROUP *(.flac_dec_sparse_code) *(.audio_decoder_code) .audio_decoder_code - 0x06049108 0x2420 cpu\br28\tools\sdk.elf.o + 0x0604782c 0x2418 cpu\br28\tools\sdk.elf.o *(.audio_decoder_const) .audio_decoder_const - 0x0604b528 0x68 cpu\br28\tools\sdk.elf.o + 0x06049c44 0x68 cpu\br28\tools\sdk.elf.o *(.audio_track_const) *(.audio_track_code) *(.m4a_code) @@ -3505,7 +3488,7 @@ END GROUP *(.audio_encoder_code) *(.audio_encoder_const) *(.mixer_code) - .mixer_code 0x0604b590 0x5ae cpu\br28\tools\sdk.elf.o + .mixer_code 0x06049cac 0x5ae cpu\br28\tools\sdk.elf.o *(.mixer_const) *(.dec_server_code) *(.dec_server_const) @@ -3519,7 +3502,7 @@ END GROUP *(.wireless_sync_const) *(.sbc_eng_code) *(.sbc_eng_const) - 0x0604bb3e anc_code_begin = . + 0x0604a25a anc_code_begin = . *(.anc_user_const) *(.anc_user_code) *(.anc_const) @@ -3530,17 +3513,17 @@ END GROUP *(.anc_box_code) *(.anc_btspp_const) *(.anc_btspp_code) - 0x0604bb3e anc_code_end = . + 0x0604a25a anc_code_end = . 0x00000000 anc_code_size = (anc_code_end - anc_code_begin) *(.audio_codec_code) .audio_codec_code - 0x0604bb3e 0x1ee cpu\br28\tools\sdk.elf.o + 0x0604a25a 0x1ee cpu\br28\tools\sdk.elf.o *(.audio_adc_code) .audio_adc_code - 0x0604bd2c 0x990 cpu\br28\tools\sdk.elf.o + 0x0604a448 0x990 cpu\br28\tools\sdk.elf.o *(.audio_adc_const) .audio_adc_const - 0x0604c6bc 0xc cpu\br28\tools\sdk.elf.o + 0x0604add8 0xc cpu\br28\tools\sdk.elf.o *(.audio_cfifo_code) *(.audio_cfifo_const) *(.bt_compressor_sparse_const) @@ -3557,57 +3540,57 @@ END GROUP *(.crossOver_sparse_const) *(.lib_pitchshift_code) *(.lib_pitchshift_const) - 0x0604c6c8 . = ALIGN (0x4) - 0x0604c6c8 _audio_decoder_begin = . - 0x0604c6c8 PROVIDE (audio_decoder_begin, .) + 0x0604ade4 . = ALIGN (0x4) + 0x0604ade4 _audio_decoder_begin = . + 0x0604ade4 PROVIDE (audio_decoder_begin, .) *(.audio_decoder) .audio_decoder - 0x0604c6c8 0x154 cpu\br28\tools\sdk.elf.o - 0x0604c6c8 mp3_decoder - 0x0604c70c pcm_decoder - 0x0604c750 cvsd_decoder - 0x0604c794 sbc_decoder - 0x0604c7d8 msbc_decoder - 0x0604c81c _audio_decoder_end = . - 0x0604c81c PROVIDE (audio_decoder_end, .) - 0x0604c81c _audio_encoder_begin = . - 0x0604c81c PROVIDE (audio_encoder_begin, .) + 0x0604ade4 0x154 cpu\br28\tools\sdk.elf.o + 0x0604ade4 mp3_decoder + 0x0604ae28 pcm_decoder + 0x0604ae6c cvsd_decoder + 0x0604aeb0 sbc_decoder + 0x0604aef4 msbc_decoder + 0x0604af38 _audio_decoder_end = . + 0x0604af38 PROVIDE (audio_decoder_end, .) + 0x0604af38 _audio_encoder_begin = . + 0x0604af38 PROVIDE (audio_encoder_begin, .) *(.audio_encoder) - 0x0604c81c _audio_encoder_end = . - 0x0604c81c PROVIDE (audio_encoder_end, .) - 0x0604c81c _audio_package_begin = . + 0x0604af38 _audio_encoder_end = . + 0x0604af38 PROVIDE (audio_encoder_end, .) + 0x0604af38 _audio_package_begin = . [!provide] PROVIDE (audio_package_begin, .) *(.audio_package) - 0x0604c81c _audio_package_end = . + 0x0604af38 _audio_package_end = . [!provide] PROVIDE (audio_package_end, .) - 0x0604c81c _audio_dev_begin = . + 0x0604af38 _audio_dev_begin = . [!provide] PROVIDE (audio_dev_begin, .) *(.audio_device) - 0x0604c81c _audio_dev_end = . + 0x0604af38 _audio_dev_end = . [!provide] PROVIDE (audio_dev_end, .) - 0x0604c81c _audio_hwaccel_begin = . - 0x0604c81c PROVIDE (audio_hwaccel_begin, .) + 0x0604af38 _audio_hwaccel_begin = . + 0x0604af38 PROVIDE (audio_hwaccel_begin, .) *(.audio_hwaccel) .audio_hwaccel - 0x0604c81c 0x24 cpu\br28\tools\sdk.elf.o - 0x0604c81c sbc_hwaccel - 0x0604c840 _audio_hwaccel_end = . - 0x0604c840 PROVIDE (audio_hwaccel_end, .) - 0x0604c840 . = ALIGN (0x4) - 0x0604c840 media_code_begin = . + 0x0604af38 0x24 cpu\br28\tools\sdk.elf.o + 0x0604af38 sbc_hwaccel + 0x0604af5c _audio_hwaccel_end = . + 0x0604af5c PROVIDE (audio_hwaccel_end, .) + 0x0604af5c . = ALIGN (0x4) + 0x0604af5c media_code_begin = . *(.media.*.text) .media.media_cpu.text - 0x0604c840 0x3b0c cpu\br28\tools\sdk.elf.o + 0x0604af5c 0x3a8c cpu\br28\tools\sdk.elf.o .media.audio_decoder.text - 0x0605034c 0x66 cpu\br28\tools\sdk.elf.o + 0x0604e9e8 0x66 cpu\br28\tools\sdk.elf.o .media.mixer.text - 0x060503b2 0x20 cpu\br28\tools\sdk.elf.o + 0x0604ea4e 0x20 cpu\br28\tools\sdk.elf.o .media.bluetooth_audio.text - 0x060503d2 0x29a cpu\br28\tools\sdk.elf.o + 0x0604ea6e 0x29a cpu\br28\tools\sdk.elf.o .media.audio_encoder.text - 0x0605066c 0x2a cpu\br28\tools\sdk.elf.o - 0x06050698 . = ALIGN (0x4) - *fill* 0x06050696 0x2 + 0x0604ed08 0x2a cpu\br28\tools\sdk.elf.o + 0x0604ed34 . = ALIGN (0x4) + *fill* 0x0604ed32 0x2 *(.compressor_code) *(.compressor_const) *(.bt_compressor_const) @@ -3630,13 +3613,13 @@ END GROUP *(.vbss_const) *(.vbss_sparse_code) *(.vbss_sparse_const) - 0x06050698 . = ALIGN (0x4) + 0x0604ed34 . = ALIGN (0x4) *(.pSOUND360TD_cal_sparse_code) - 0x06050698 . = ALIGN (0x4) + 0x0604ed34 . = ALIGN (0x4) *(.g729_code) *(.g729_const) *(.cvsd_code) - .cvsd_code 0x06050698 0x202 cpu\br28\tools\sdk.elf.o + .cvsd_code 0x0604ed34 0x202 cpu\br28\tools\sdk.elf.o *(.cvsd_const) *(.media.audio*) *(.media.mixer*) @@ -3645,22 +3628,22 @@ END GROUP *(.lib_wtg_dec_const) *(.audio_resample_code) .audio_resample_code - 0x0605089a 0x8a cpu\br28\tools\sdk.elf.o + 0x0604ef36 0x8a cpu\br28\tools\sdk.elf.o *(.audio_resample_const) *(.resample_fastcal_sparse_code) *(.resample_fastcal_code) *(.resample_fastcal_const) - 0x06050924 audio_sync_code_begin = . + 0x0604efc0 audio_sync_code_begin = . *(.audio_sync_code) .audio_sync_code - 0x06050924 0x45c cpu\br28\tools\sdk.elf.o - 0x06050d80 audio_sync_code_end = . - 0x06050d80 . = ALIGN (0x4) - 0x06050d80 media_code_end = . - 0x06050d80 . = ALIGN (0x4) - 0x00004540 media_code_size = (media_code_end - media_code_begin) - 0x06050d80 . = ALIGN (0x4) - 0x06050d80 media_text_end = . + 0x0604efc0 0x45c cpu\br28\tools\sdk.elf.o + 0x0604f41c audio_sync_code_end = . + 0x0604f41c . = ALIGN (0x4) + 0x0604f41c media_code_end = . + 0x0604f41c . = ALIGN (0x4) + 0x000044c0 media_code_size = (media_code_end - media_code_begin) + 0x0604f41c . = ALIGN (0x4) + 0x0604f41c media_text_end = . 0x00140000 . = ORIGIN (ram0) .mmu_tlb 0x00140000 0x5000 @@ -3688,7 +3671,7 @@ END GROUP 0x00147040 _cpu1_sstack_end = . 0x00147040 . = ALIGN (0x4) -.data 0x00147040 0xfe0 +.data 0x00147040 0xfa0 0x00147040 . = ALIGN (0x4) *(.data_magic) .data_magic 0x00147040 0x40 cpu\br28\tools\sdk.elf.o @@ -3727,35 +3710,35 @@ END GROUP 0x001470b4 . = ALIGN (0x4) *(.data*) *fill* 0x001470b4 0xc - .data 0x001470c0 0x298 cpu\br28\tools\sdk.elf.o - .data 0x00147358 0x4 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-ctype_.o) - 0x00147358 __ctype_ptr__ - .data 0x0014735c 0x41c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-impure.o) - 0x0014735c _impure_ptr - 0x00147778 . = ALIGN (0x4) - 0x00147778 update_data_start = . - 0x00147778 update_data_end = . - 0x00147778 btstack_data_start = . + .data 0x001470c0 0x268 cpu\br28\tools\sdk.elf.o + .data 0x00147328 0x4 C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-ctype_.o) + 0x00147328 __ctype_ptr__ + .data 0x0014732c 0x41c C:\JL\pi32\pi32v2-lib\r3-large\libc.a(lib_a-impure.o) + 0x0014732c _impure_ptr + 0x00147748 . = ALIGN (0x4) + 0x00147748 update_data_start = . + 0x00147748 update_data_end = . + 0x00147748 btstack_data_start = . *(.bt_stack_data) .bt_stack_data - 0x00147778 0x7d cpu\br28\tools\sdk.elf.o + 0x00147748 0x7d cpu\br28\tools\sdk.elf.o *(.ble_db_data) *(.ble_sm_data) - *fill* 0x001477f5 0x3 - .ble_sm_data 0x001477f8 0x4 cpu\br28\tools\sdk.elf.o + *fill* 0x001477c5 0x3 + .ble_sm_data 0x001477c8 0x4 cpu\br28\tools\sdk.elf.o *(.ble_att_data) *(.ble_gatt_data) - 0x001477fc BTSTACK_LE_HOST_MESH_DATA_START = . - 0x001477fc . = ((. + 0x3) & 0xfffffffc) - 0x001477fc _net_buf_pool_list = . + 0x001477cc BTSTACK_LE_HOST_MESH_DATA_START = . + 0x001477cc . = ((. + 0x3) & 0xfffffffc) + 0x001477cc _net_buf_pool_list = . *(._net_buf_pool.static.*) *(.ble_mesh_data) *(.ble_mesh_tinycrypt_data) 0x00000000 BTSTACK_LE_HOST_MESH_DATA_SIZE = ABSOLUTE ((. - BTSTACK_LE_HOST_MESH_DATA_START)) - 0x001477fc btstack_data_end = . - 0x001477fc . = ALIGN (0x4) - 0x001477fc system_data_start = . - 0x001477fc _video_subdev_begin = . + 0x001477cc btstack_data_end = . + 0x001477cc . = ALIGN (0x4) + 0x001477cc system_data_start = . + 0x001477cc _video_subdev_begin = . [!provide] PROVIDE (video_subdev_begin, .) *(.video_subdev.0) *(.video_subdev.1) @@ -3763,108 +3746,108 @@ END GROUP *(.video_subdev.3) *(.video_subdev.4) *(.video_subdev.5) - 0x001477fc _video_subdev_end = . + 0x001477cc _video_subdev_end = . [!provide] PROVIDE (video_subdev_end, .) - 0x001477fc _audio_subdev_begin = . + 0x001477cc _audio_subdev_begin = . [!provide] PROVIDE (audio_subdev_begin, .) *(.audio_subdev.0) *(.audio_subdev.1) *(.audio_subdev.2) *(.audio_subdev.3) - 0x001477fc _audio_subdev_end = . + 0x001477cc _audio_subdev_end = . [!provide] PROVIDE (audio_subdev_end, .) - 0x001477fc _iic_device_begin = . + 0x001477cc _iic_device_begin = . [!provide] PROVIDE (iic_device_begin, .) *(.iic) - 0x001477fc _iic_device_end = . + 0x001477cc _iic_device_end = . [!provide] PROVIDE (iic_device_end, .) - 0x001477fc _avin_spi_device_begin = . + 0x001477cc _avin_spi_device_begin = . [!provide] PROVIDE (avin_spi_device_begin, .) *(.sw_spi) - 0x001477fc _avin_spi_device_end = . + 0x001477cc _avin_spi_device_end = . [!provide] PROVIDE (avin_spi_device_end, .) - 0x001477fc _video_dev_begin = . + 0x001477cc _video_dev_begin = . [!provide] PROVIDE (video_dev_begin, .) *(.video_device) - 0x001477fc _video_dev_end = . + 0x001477cc _video_dev_end = . [!provide] PROVIDE (video_dev_end, .) - 0x001477fc _key_driver_ops_begin = . + 0x001477cc _key_driver_ops_begin = . [!provide] PROVIDE (key_driver_ops_begin, .) *(.key_driver_ops) - 0x001477fc _key_driver_ops_end = . + 0x001477cc _key_driver_ops_end = . [!provide] PROVIDE (key_driver_ops_end, .) - 0x001477fc _touch_driver_begin = . + 0x001477cc _touch_driver_begin = . [!provide] PROVIDE (touch_driver_begin, .) *(.touch_driver) - 0x001477fc _touch_driver_end = . + 0x001477cc _touch_driver_end = . [!provide] PROVIDE (touch_driver_end, .) - 0x001477fc _static_hi_timer_begin = . + 0x001477cc _static_hi_timer_begin = . [!provide] PROVIDE (static_hi_timer_begin, .) *(.hi_timer) - 0x001477fc _static_hi_timer_end = . + 0x001477cc _static_hi_timer_end = . [!provide] PROVIDE (static_hi_timer_end, .) - 0x001477fc _sys_cpu_timer_begin = . + 0x001477cc _sys_cpu_timer_begin = . [!provide] PROVIDE (sys_cpu_timer_begin, .) *(.sys_cpu_timer) - 0x001477fc _sys_cpu_timer_end = . + 0x001477cc _sys_cpu_timer_end = . [!provide] PROVIDE (sys_cpu_timer_end, .) - 0x001477fc _sys_config_begin = . + 0x001477cc _sys_config_begin = . [!provide] PROVIDE (sys_config_begin, .) *(.sys_cfg) - 0x001477fc _sys_config_end = . + 0x001477cc _sys_config_end = . [!provide] PROVIDE (sys_config_end, .) - 0x001477fc _sys_fat_begin = . + 0x001477cc _sys_fat_begin = . [!provide] PROVIDE (sys_fat_begin, .) *(.fs_fat) - 0x001477fc _sys_fat_end = . + 0x001477cc _sys_fat_end = . [!provide] PROVIDE (sys_fat_end, .) - 0x001477fc _app_begin = . - 0x001477fc PROVIDE (app_begin, .) + 0x001477cc _app_begin = . + 0x001477cc PROVIDE (app_begin, .) *(.app) - .app 0x001477fc 0x60 cpu\br28\tools\sdk.elf.o - 0x0014785c _app_end = . - 0x0014785c PROVIDE (app_end, .) + .app 0x001477cc 0x60 cpu\br28\tools\sdk.elf.o + 0x0014782c _app_end = . + 0x0014782c PROVIDE (app_end, .) *(.crypto_ecdh_data) *(.crypto_data) *(.mem_data) *(.os_port_data) *(.os_str) - .os_str 0x0014785c 0x202 cpu\br28\tools\sdk.elf.o + .os_str 0x0014782c 0x202 cpu\br28\tools\sdk.elf.o *(.os_data) - *fill* 0x00147a5e 0x2 - .os_data 0x00147a60 0xc cpu\br28\tools\sdk.elf.o + *fill* 0x00147a2e 0x2 + .os_data 0x00147a30 0xc cpu\br28\tools\sdk.elf.o *(.uECC_data) *(.ECDH_sample_data) - 0x00147a6c __movable_slot_start = . + 0x00147a3c __movable_slot_start = . *(movable.slot.*) - 0x00147a6c __movable_slot_end = . - 0x00147a6c system_data_end = . - 0x00147a6c btctler_data_start = . - 0x00147a6c BTCTLER_CONTROLLER_DATA_START = . + 0x00147a3c __movable_slot_end = . + 0x00147a3c system_data_end = . + 0x00147a3c btctler_data_start = . + 0x00147a3c BTCTLER_CONTROLLER_DATA_START = . *(.bt_rf_data) - .bt_rf_data 0x00147a6c 0x2b8 cpu\br28\tools\sdk.elf.o + .bt_rf_data 0x00147a3c 0x2b8 cpu\br28\tools\sdk.elf.o *(.vendor_manager_data) *(.device_manager_data) *(.hci_controller_data) .hci_controller_data - 0x00147d24 0xbe cpu\br28\tools\sdk.elf.o + 0x00147cf4 0xbe cpu\br28\tools\sdk.elf.o *(.hci_interface_data) 0x00000376 BTCTLER_CONTROLLER_DATA_SIZE = ABSOLUTE ((. - BTCTLER_CONTROLLER_DATA_START)) - 0x00147de2 BTCTLER_LE_CONTROLLER_DATA_START = . + 0x00147db2 BTCTLER_LE_CONTROLLER_DATA_START = . *(.ble_ll_data) - *fill* 0x00147de2 0x2 - .ble_ll_data 0x00147de4 0x10 cpu\br28\tools\sdk.elf.o + *fill* 0x00147db2 0x2 + .ble_ll_data 0x00147db4 0x10 cpu\br28\tools\sdk.elf.o *(.ble_hci_data) - .ble_hci_data 0x00147df4 0xad cpu\br28\tools\sdk.elf.o + .ble_hci_data 0x00147dc4 0xad cpu\br28\tools\sdk.elf.o *(.ble_rf_data) - *fill* 0x00147ea1 0x3 - .ble_rf_data 0x00147ea4 0x10 cpu\br28\tools\sdk.elf.o + *fill* 0x00147e71 0x3 + .ble_rf_data 0x00147e74 0x10 cpu\br28\tools\sdk.elf.o 0x000000d2 BTCTLER_LE_CONTROLLER_DATA_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_DATA_START)) - 0x00147eb4 BTCTLER_CL_DATA_START = . + 0x00147e84 BTCTLER_CL_DATA_START = . *(.classic_hci_data) *(.classic_lmp_data) .classic_lmp_data - 0x00147eb4 0xac cpu\br28\tools\sdk.elf.o + 0x00147e84 0xac cpu\br28\tools\sdk.elf.o *(.classic_lmp_auth_data) *(.classic_lmp_bigint_data) *(.classic_lmp_crypt_data) @@ -3873,34 +3856,34 @@ END GROUP *(.classic_lmp_hmac_data) *(.classic_rf_data) .classic_rf_data - 0x00147f60 0xc cpu\br28\tools\sdk.elf.o + 0x00147f30 0xc cpu\br28\tools\sdk.elf.o *(.classic_bb_data) 0x000000b8 BTCTLER_CL_DATA_SIZE = ABSOLUTE ((. - BTCTLER_CL_DATA_START)) - 0x00147f6c btctler_data_end = . - 0x00147f6c driver_data_start = . - 0x00147f6c CLOCK_DATA_START = . + 0x00147f3c btctler_data_end = . + 0x00147f3c driver_data_start = . + 0x00147f3c CLOCK_DATA_START = . *(.clock_data) - .clock_data 0x00147f6c 0x58 cpu\br28\tools\sdk.elf.o + .clock_data 0x00147f3c 0x58 cpu\br28\tools\sdk.elf.o 0x00000058 CLOCK_DATA_SIZE = ABSOLUTE ((. - CLOCK_DATA_START)) *(.debug_data) *(.uart_data) *(.power_driver.data) .power_driver.data - 0x00147fc4 0x34 cpu\br28\tools\sdk.elf.o + 0x00147f94 0x34 cpu\br28\tools\sdk.elf.o *(.power_reset.data) .power_reset.data - 0x00147ff8 0x8 cpu\br28\tools\sdk.elf.o + 0x00147fc8 0x8 cpu\br28\tools\sdk.elf.o *(.power_wakeup.data) .power_wakeup.data - 0x00148000 0x8 cpu\br28\tools\sdk.elf.o - 0x00148008 driver_data_end = . - 0x00148020 . = ALIGN (0x20) - *fill* 0x00148008 0x18 - 0x00148020 . = ALIGN (0x4) - 0x00148020 audio_sync_data_begin = . + 0x00147fd0 0x8 cpu\br28\tools\sdk.elf.o + 0x00147fd8 driver_data_end = . + 0x00147fe0 . = ALIGN (0x20) + *fill* 0x00147fd8 0x8 + 0x00147fe0 . = ALIGN (0x4) + 0x00147fe0 audio_sync_data_begin = . *(.audio_sync_data) - 0x00148020 audio_sync_data_end = . - 0x00148020 . = ALIGN (0x4) + 0x00147fe0 audio_sync_data_end = . + 0x00147fe0 . = ALIGN (0x4) *(.sbc_data) *(.msbc_data) *(.cvsd_data) @@ -3921,9 +3904,9 @@ END GROUP *(.audio_adc_data) *(.audio_cfifo_data) *(.sms_data) - 0x00148020 . = ALIGN (0x4) + 0x00147fe0 . = ALIGN (0x4) *(.pSOUND360TD_cal_data) - 0x00148020 . = ALIGN (0x4) + 0x00147fe0 . = ALIGN (0x4) *(.jlsp_data) *(.jlsp_aec_data) *(.jlsp_nlp_data) @@ -3933,106 +3916,106 @@ END GROUP *(.jlsp_wn_data) *(.jlsp_tri_data) *(.jlsp_agc_data) - 0x00148020 . = ALIGN (0x4) + 0x00147fe0 . = ALIGN (0x4) -.bss 0x00148020 0xb414 - 0x00148020 . = ALIGN (0x4) +.bss 0x00147fe0 0xb264 + 0x00147fe0 . = ALIGN (0x4) *(.bss) - .bss 0x00148020 0x86d0 cpu\br28\tools\sdk.elf.o - 0x001506f0 . = ALIGN (0x4) + .bss 0x00147fe0 0x85c0 cpu\br28\tools\sdk.elf.o + 0x001505a0 . = ALIGN (0x4) *(.volatile_ram) *(.btstack_pool) *(.mem_heap) *(.memp_memory_x) - 0x001506f0 . = ALIGN (0x4) + 0x001505a0 . = ALIGN (0x4) *(.non_volatile_ram) .non_volatile_ram - 0x001506f0 0x358 cpu\br28\tools\sdk.elf.o - 0x00150a60 . = ALIGN (0x20) - *fill* 0x00150a48 0x18 + 0x001505a0 0x358 cpu\br28\tools\sdk.elf.o + 0x00150900 . = ALIGN (0x20) + *fill* 0x001508f8 0x8 *(.usb_h_dma) *(.usb_ep0) - .usb_ep0 0x00150a60 0x40 cpu\br28\tools\sdk.elf.o + .usb_ep0 0x00150900 0x40 cpu\br28\tools\sdk.elf.o *(.usb_audio_play_dma) *(.usb_audio_rec_dma) *(.uac_rx) *(.mass_storage) *(.usb_msd_dma) - .usb_msd_dma 0x00150aa0 0x104 cpu\br28\tools\sdk.elf.o + .usb_msd_dma 0x00150940 0x104 cpu\br28\tools\sdk.elf.o *(.usb_hid_dma) *(.usb_iso_dma) *(.usb_cdc_dma) *(.uac_var) *(.usb_config_var) *(.cdc_var) - 0x00150bc0 . = ALIGN (0x20) - *fill* 0x00150ba4 0x1c - 0x00150bc0 update_bss_start = . + 0x00150a60 . = ALIGN (0x20) + *fill* 0x00150a44 0x1c + 0x00150a60 update_bss_start = . *(.update_bss) - .update_bss 0x00150bc0 0x1ec cpu\br28\tools\sdk.elf.o - 0x00150dac update_bss_end = . - 0x00150dac btstack_bss_start = . + .update_bss 0x00150a60 0x1ec cpu\br28\tools\sdk.elf.o + 0x00150c4c update_bss_end = . + 0x00150c4c btstack_bss_start = . *(.bt_stack_bss) - .bt_stack_bss 0x00150dac 0x11ca cpu\br28\tools\sdk.elf.o + .bt_stack_bss 0x00150c4c 0x11ca cpu\br28\tools\sdk.elf.o *(.ble_db_bss) - *fill* 0x00151f76 0x2 - .ble_db_bss 0x00151f78 0x20 cpu\br28\tools\sdk.elf.o + *fill* 0x00151e16 0x2 + .ble_db_bss 0x00151e18 0x20 cpu\br28\tools\sdk.elf.o *(.ble_sm_bss) *(.ble_att_bss) - .ble_att_bss 0x00151f98 0x40 cpu\br28\tools\sdk.elf.o + .ble_att_bss 0x00151e38 0x40 cpu\br28\tools\sdk.elf.o *(.ble_gatt_bss) - .ble_gatt_bss 0x00151fd8 0x18 cpu\br28\tools\sdk.elf.o + .ble_gatt_bss 0x00151e78 0x18 cpu\br28\tools\sdk.elf.o *(.btstack_pool) - 0x00151ff0 BTSTACK_LE_HOST_MESH_BSS_START = . + 0x00151e90 BTSTACK_LE_HOST_MESH_BSS_START = . *(.ble_mesh_bss) *(.ble_mesh_tinycrypt_bss) 0x00000000 BTSTACK_LE_HOST_MESH_BSS_SIZE = ABSOLUTE ((. - BTSTACK_LE_HOST_MESH_BSS_START)) - 0x00151ff0 btstack_bss_end = . - 0x00151ff0 system_bss_start = . - 0x00151ff0 . = ALIGN (0x4) + 0x00151e90 btstack_bss_end = . + 0x00151e90 system_bss_start = . + 0x00151e90 . = ALIGN (0x4) *(.os_bss) - .os_bss 0x00151ff0 0x218 cpu\br28\tools\sdk.elf.o - 0x001521f8 irq_lock_cnt + .os_bss 0x00151e90 0x218 cpu\br28\tools\sdk.elf.o + 0x00152098 irq_lock_cnt *(.mem_heap) *(.memp_memory_x) *(.mem_bss) *(.os_port_bss) *(.uECC_bss) *(.ECDH_sample_bss) - 0x00152208 system_bss_end = . - 0x00152208 btctler_bss_start = . - 0x00152208 BTCTLER_CONTROLLER_BSS_START = . + 0x001520a8 system_bss_end = . + 0x001520a8 btctler_bss_start = . + 0x001520a8 BTCTLER_CONTROLLER_BSS_START = . *(.bd_base) - .bd_base 0x00152208 0x300 cpu\br28\tools\sdk.elf.o + .bd_base 0x001520a8 0x300 cpu\br28\tools\sdk.elf.o *(.bredr_rxtx_bulk) *(.bredr_tx_bulk) *(.bt_rf_bss) - .bt_rf_bss 0x00152508 0x33 cpu\br28\tools\sdk.elf.o + .bt_rf_bss 0x001523a8 0x33 cpu\br28\tools\sdk.elf.o *(.hci_controller_bss) - *fill* 0x0015253b 0x1 + *fill* 0x001523db 0x1 .hci_controller_bss - 0x0015253c 0x38 cpu\br28\tools\sdk.elf.o + 0x001523dc 0x38 cpu\br28\tools\sdk.elf.o *(.hci_interface_bss) *(.device_manager_bss) *(.vendor_manager_bss) 0x0000036c BTCTLER_CONTROLLER_BSS_SIZE = ABSOLUTE ((. - BTCTLER_CONTROLLER_BSS_START)) - 0x00152574 BTCTLER_LE_CONTROLLER_BSS_START = . + 0x00152414 BTCTLER_LE_CONTROLLER_BSS_START = . *(.ble_hci_bss) - .ble_hci_bss 0x00152574 0x9c cpu\br28\tools\sdk.elf.o + .ble_hci_bss 0x00152414 0x9c cpu\br28\tools\sdk.elf.o *(.ble_ll_bss) - .ble_ll_bss 0x00152610 0x28b cpu\br28\tools\sdk.elf.o + .ble_ll_bss 0x001524b0 0x28b cpu\br28\tools\sdk.elf.o *(.ble_rf_bss) - *fill* 0x0015289b 0x1 - .ble_rf_bss 0x0015289c 0x16 cpu\br28\tools\sdk.elf.o + *fill* 0x0015273b 0x1 + .ble_rf_bss 0x0015273c 0x16 cpu\br28\tools\sdk.elf.o 0x0000033e BTCTLER_LE_CONTROLLER_BSS_SIZE = ABSOLUTE ((. - BTCTLER_LE_CONTROLLER_BSS_START)) - 0x001528b2 BTCTLER_CL_BSS_START = . + 0x00152752 BTCTLER_CL_BSS_START = . *(.classic_rf_bss) - *fill* 0x001528b2 0x2 + *fill* 0x00152752 0x2 .classic_rf_bss - 0x001528b4 0xac cpu\br28\tools\sdk.elf.o + 0x00152754 0xac cpu\br28\tools\sdk.elf.o *(.classic_lmp_bss) .classic_lmp_bss - 0x00152960 0x1d4 cpu\br28\tools\sdk.elf.o + 0x00152800 0x1d4 cpu\br28\tools\sdk.elf.o *(.classic_lmp_auth_bss) *(.classic_lmp_bigint_bss) *(.classic_lmp_crypt_bss) @@ -4042,30 +4025,30 @@ END GROUP *(.classic_bb_bss) *(.classic_hci_bss) 0x00000282 BTCTLER_CL_BSS_SIZE = ABSOLUTE ((. - BTCTLER_CL_BSS_START)) - 0x00152b34 btctler_bss_end = . - 0x00152b34 driver_bss_start = . - 0x00152b34 CLOCK_BSS_START = . + 0x001529d4 btctler_bss_end = . + 0x001529d4 driver_bss_start = . + 0x001529d4 CLOCK_BSS_START = . *(.clock_bss) - .clock_bss 0x00152b34 0x59 cpu\br28\tools\sdk.elf.o + .clock_bss 0x001529d4 0x59 cpu\br28\tools\sdk.elf.o 0x00000059 CLOCK_BSS_SIZE = ABSOLUTE ((. - CLOCK_BSS_START)) *(.debug_bss) *(.uart_bss) *(.sd_var) *(.power_driver.data.bss) - *fill* 0x00152b8d 0x3 + *fill* 0x00152a2d 0x3 .power_driver.data.bss - 0x00152b90 0x7e2 cpu\br28\tools\sdk.elf.o + 0x00152a30 0x7e2 cpu\br28\tools\sdk.elf.o *(.power_reset.data.bss) *(.power_wakeup.data.bss) - *fill* 0x00153372 0x2 + *fill* 0x00153212 0x2 .power_wakeup.data.bss - 0x00153374 0xbc cpu\br28\tools\sdk.elf.o - 0x00153430 driver_bss_end = . - 0x00153430 . = ALIGN (0x4) - 0x00153430 audio_sync_bss_begin = . + 0x00153214 0x2c cpu\br28\tools\sdk.elf.o + 0x00153240 driver_bss_end = . + 0x00153240 . = ALIGN (0x4) + 0x00153240 audio_sync_bss_begin = . *(.audio_sync_bss) - 0x00153430 audio_sync_bss_end = . - 0x00153430 . = ALIGN (0x4) + 0x00153240 audio_sync_bss_end = . + 0x00153240 . = ALIGN (0x4) *(.cvsd_bss) *(.aac_bss) *(.ldac_decoder_bss) @@ -4083,7 +4066,7 @@ END GROUP *(.anc_btspp_bss) *(.audio_adc_bss) .audio_adc_bss - 0x00153430 0x4 cpu\br28\tools\sdk.elf.o + 0x00153240 0x4 cpu\br28\tools\sdk.elf.o *(.audio_cfifo_bss) *(.audio_dec_bss) *(.audio_buf) @@ -4098,112 +4081,112 @@ END GROUP *(.jlsp_wn_bss) *(.jlsp_tri_bss) *(.jlsp_agc_bss) - 0x00153434 . = ALIGN (0x4) + 0x00153244 . = ALIGN (0x4) *(.pSOUND360TD_cal_bss) -.data_code 0x00153440 0x59e0 - 0x00153440 data_code_pc_limit_begin = . +.data_code 0x00153260 0x59e0 + 0x00153260 data_code_pc_limit_begin = . *(.flushinv_icache) *(.cache) *(.os_critical_code) .os_critical_code - 0x00153440 0x692 cpu\br28\tools\sdk.elf.o - 0x00153440 jiffies_half_msec - 0x00153498 jiffies_msec - 0x001534a0 vmalloc_ - 0x00153610 vfree_ - 0x001537bc vfree_v2 - 0x0015389c vmalloc_v2 - 0x00153a6c vcopy_ + 0x00153260 0x692 cpu\br28\tools\sdk.elf.o + 0x00153260 jiffies_half_msec + 0x001532b8 jiffies_msec + 0x001532c0 vmalloc_ + 0x00153430 vfree_ + 0x001535dc vfree_v2 + 0x001536bc vmalloc_v2 + 0x0015388c vcopy_ *(.volatile_ram_code) .volatile_ram_code - 0x00153ad2 0x1674 cpu\br28\tools\sdk.elf.o - 0x00153c24 sfc_suspend - 0x0015417e sfc_resume - 0x001541de read_flash_id - 0x00154378 norflash_erase - 0x00154412 flushinv_dcache_api - 0x00154454 sfc1_flash_addr2cpu_addr - 0x00154654 exception_analyze - 0x0015475e norflash_get_uuid - 0x0015489a sfc1_resume - 0x0015489c sfc1_suspend - 0x0015490a spi_for_maskrom_init - 0x0015493e sfc1_cpu_addr2flash_addr - 0x00154aa4 cpu1_power_off_resume - 0x00154bb2 hw_mmu_disable - *fill* 0x00155146 0x2 + 0x001538f2 0x1674 cpu\br28\tools\sdk.elf.o + 0x00153a44 sfc_suspend + 0x00153f9e sfc_resume + 0x00153ffe read_flash_id + 0x00154198 norflash_erase + 0x00154232 flushinv_dcache_api + 0x00154274 sfc1_flash_addr2cpu_addr + 0x00154474 exception_analyze + 0x0015457e norflash_get_uuid + 0x001546ba sfc1_resume + 0x001546bc sfc1_suspend + 0x0015472a spi_for_maskrom_init + 0x0015475e sfc1_cpu_addr2flash_addr + 0x001548c4 cpu1_power_off_resume + 0x001549d2 hw_mmu_disable + *fill* 0x00154f66 0x2 .volatile_ram_code - 0x00155148 0x10e cpu/br28/liba/cpu.a(startup.S.o) - 0x00155168 cpu1_start - 0x0015517c cpu1_power_off_resume_S - 0x00155188 __cpu_irq_disabled - 0x001551ac __BT_UPDATA_JUMP - 0x00155242 exception_irq_handler + 0x00154f68 0x10e cpu/br28/liba/cpu.a(startup.S.o) + 0x00154f88 cpu1_start + 0x00154f9c cpu1_power_off_resume_S + 0x00154fa8 __cpu_irq_disabled + 0x00154fcc __BT_UPDATA_JUMP + 0x00155062 exception_irq_handler *(.chargebox_code) *(.fat_data_code) *(.fat_data_code_ex) *(.ui_ram) *(.math_fast_funtion_code) - 0x00155258 . = ALIGN (0x4) - *fill* 0x00155256 0x2 + 0x00155078 . = ALIGN (0x4) + *fill* 0x00155076 0x2 *(.pSOUND360TD_cal_const) *(.pSOUND360TD_cal_code) - 0x00155258 . = ALIGN (0x4) + 0x00155078 . = ALIGN (0x4) *(.SpatialAudio.text.const) *(.SpatialAudio.text) *(.SpatialAudio.text.cache.L1) - 0x00155258 . = ALIGN (0x4) - 0x00155258 _SPI_CODE_START = . + 0x00155078 . = ALIGN (0x4) + 0x00155078 _SPI_CODE_START = . *(.spi_code) - 0x00155258 . = ALIGN (0x4) - 0x00155258 _SPI_CODE_END = . - 0x00155258 . = ALIGN (0x4) + 0x00155078 . = ALIGN (0x4) + 0x00155078 _SPI_CODE_END = . + 0x00155078 . = ALIGN (0x4) *(.os_code) - .os_code 0x00155258 0x1796 cpu\br28\tools\sdk.elf.o - 0x001567bc maskrom_init - 0x001569f0 . = ALIGN (0x4) - *fill* 0x001569ee 0x2 + .os_code 0x00155078 0x1796 cpu\br28\tools\sdk.elf.o + 0x001565dc maskrom_init + 0x00156810 . = ALIGN (0x4) + *fill* 0x0015680e 0x2 *(.lmp_irq_code) - .lmp_irq_code 0x001569f0 0x76 cpu\br28\tools\sdk.elf.o + .lmp_irq_code 0x00156810 0x76 cpu\br28\tools\sdk.elf.o *(.link_bulk_code) *(.frame_irq_code) .frame_irq_code - 0x00156a66 0x1f2 cpu\br28\tools\sdk.elf.o - 0x00156c58 . = ALIGN (0x4) + 0x00156886 0x1f2 cpu\br28\tools\sdk.elf.o + 0x00156a78 . = ALIGN (0x4) *(.link_task_const) *(.link_task_code) .link_task_code - 0x00156c58 0x66e cpu\br28\tools\sdk.elf.o - 0x001572c8 . = ALIGN (0x4) - *fill* 0x001572c6 0x2 + 0x00156a78 0x66e cpu\br28\tools\sdk.elf.o + 0x001570e8 . = ALIGN (0x4) + *fill* 0x001570e6 0x2 *(.classic_irq_const) *(.classic_irq_code) .classic_irq_code - 0x001572c8 0x3a8 cpu\br28\tools\sdk.elf.o - 0x00157670 . = ALIGN (0x4) + 0x001570e8 0x3a8 cpu\br28\tools\sdk.elf.o + 0x00157490 . = ALIGN (0x4) *(.tws_irq_code) - 0x00157670 . = ALIGN (0x4) - 0x00157670 tws_sync_call_begin = . + 0x00157490 . = ALIGN (0x4) + 0x00157490 tws_sync_call_begin = . *(.tws_sync_call) .tws_sync_call - 0x00157670 0xc cpu\br28\tools\sdk.elf.o - 0x0015767c tws_sync_call_end = . - 0x0015767c . = ALIGN (0x4) - 0x0015767c tws_func_stub_begin = . + 0x00157490 0xc cpu\br28\tools\sdk.elf.o + 0x0015749c tws_sync_call_end = . + 0x0015749c . = ALIGN (0x4) + 0x0015749c tws_func_stub_begin = . *(.tws_func_stub) .tws_func_stub - 0x0015767c 0x30 cpu\br28\tools\sdk.elf.o - 0x001576ac tws_func_stub_end = . + 0x0015749c 0x30 cpu\br28\tools\sdk.elf.o + 0x001574cc tws_func_stub_end = . *(.tws_media_sync_code) .tws_media_sync_code - 0x001576ac 0x9e cpu\br28\tools\sdk.elf.o + 0x001574cc 0x9e cpu\br28\tools\sdk.elf.o *(.tws_media_sync_const) *(.tws_data_forward_code) *(.tws_data_forward_const) - 0x0015774c . = ALIGN (0x4) - *fill* 0x0015774a 0x2 - 0x0015774c tws_sync_channel_begin = . + 0x0015756c . = ALIGN (0x4) + *fill* 0x0015756a 0x2 + 0x0015756c tws_sync_channel_begin = . *(.tws_sync_channel.0) *(.tws_sync_channel.1) *(.tws_sync_channel.2) @@ -4218,32 +4201,32 @@ END GROUP *(.tws_sync_channel.11) *(.tws_sync_channel.12) *(.tws_sync_channel.13) - 0x0015774c tws_sync_channel_end = . - 0x0015774c btctler_code_end = . - 0x0015774c . = ALIGN (0x4) - 0x0015774c driver_data_code_start = . - 0x0015774c CLOCK_CACHE_L1_CODE_START = . + 0x0015756c tws_sync_channel_end = . + 0x0015756c btctler_code_end = . + 0x0015756c . = ALIGN (0x4) + 0x0015756c driver_data_code_start = . + 0x0015756c CLOCK_CACHE_L1_CODE_START = . *(.clock.text.cache.L1) 0x00000000 CLOCK_CACHE_L1_SIZE = ABSOLUTE ((. - CLOCK_CACHE_L1_CODE_START)) *(.vm.text.cache.L1) *(.power_driver.text.cache.L1) - *fill* 0x0015774c 0x14 + *fill* 0x0015756c 0x14 .power_driver.text.cache.L1 - 0x00157760 0x16c0 cpu\br28\tools\sdk.elf.o - 0x00157be0 spi_port_sel + 0x00157580 0x16c0 cpu\br28\tools\sdk.elf.o + 0x00157a00 spi_port_sel *(.timer.text.cache.L1) *(.gpio.text.cache.L1) *(.iic_hw.text.cache.L1) - 0x00158e20 driver_data_code_end = . - 0x00158e20 . = ALIGN (0x4) + 0x00158c40 driver_data_code_end = . + 0x00158c40 . = ALIGN (0x4) *(.media.aec.text) -.moveable_slot 0x00158e20 0x0 +.moveable_slot 0x00158c40 0x0 *(movable.slot.*) - 0x00158e20 __report_overlay_begin = . + 0x00158c40 __report_overlay_begin = . -.overlay_aec 0x00158e20 0x0 load address 0x00200000 - 0x00158e20 aec_code_begin = . +.overlay_aec 0x00158c40 0x0 load address 0x00200000 + 0x00158c40 aec_code_begin = . *(.text._*) *(.data._*) *(.aec_code) @@ -4259,7 +4242,7 @@ END GROUP *(.dms_code) *(.dms_const) *(.dms_sparse_code) - 0x00158e20 aec_code_end = . + 0x00158c40 aec_code_end = . 0x00000000 aec_code_size = (aec_code_end - aec_code_begin) *(.msbc_enc) *(.cvsd_codec) @@ -4290,11 +4273,11 @@ END GROUP [!provide] PROVIDE (__load_start_overlay_aec, LOADADDR (.overlay_aec)) [!provide] PROVIDE (__load_stop_overlay_aec, (LOADADDR (.overlay_aec) + SIZEOF (.overlay_aec))) -.overlay_aac 0x00158e20 0x0 load address 0x00200000 +.overlay_aac 0x00158c40 0x0 load address 0x00200000 [!provide] PROVIDE (__load_start_overlay_aac, LOADADDR (.overlay_aac)) [!provide] PROVIDE (__load_stop_overlay_aac, (LOADADDR (.overlay_aac) + SIZEOF (.overlay_aac))) -.overlay_mp3 0x00158e20 0x0 load address 0x00200000 +.overlay_mp3 0x00158c40 0x0 load address 0x00200000 *(.mp3_mem) *(.mp3_ctrl_mem) *(.mp3pick_mem) @@ -4303,7 +4286,7 @@ END GROUP [!provide] PROVIDE (__load_start_overlay_mp3, LOADADDR (.overlay_mp3)) [!provide] PROVIDE (__load_stop_overlay_mp3, (LOADADDR (.overlay_mp3) + SIZEOF (.overlay_mp3))) -.overlay_wma 0x00158e20 0x0 load address 0x00200000 +.overlay_wma 0x00158c40 0x0 load address 0x00200000 *(.wma_mem) *(.wma_ctrl_mem) *(.wmapick_mem) @@ -4311,48 +4294,48 @@ END GROUP [!provide] PROVIDE (__load_start_overlay_wma, LOADADDR (.overlay_wma)) [!provide] PROVIDE (__load_stop_overlay_wma, (LOADADDR (.overlay_wma) + SIZEOF (.overlay_wma))) -.overlay_wav 0x00158e20 0x0 load address 0x00200000 +.overlay_wav 0x00158c40 0x0 load address 0x00200000 *(.wav_mem) *(.wav_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_wav, LOADADDR (.overlay_wav)) [!provide] PROVIDE (__load_stop_overlay_wav, (LOADADDR (.overlay_wav) + SIZEOF (.overlay_wav))) -.overlay_ape 0x00158e20 0x0 load address 0x00200000 +.overlay_ape 0x00158c40 0x0 load address 0x00200000 *(.ape_mem) *(.ape_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_ape, LOADADDR (.overlay_ape)) [!provide] PROVIDE (__load_stop_overlay_ape, (LOADADDR (.overlay_ape) + SIZEOF (.overlay_ape))) -.overlay_flac 0x00158e20 0x0 load address 0x00200000 +.overlay_flac 0x00158c40 0x0 load address 0x00200000 *(.flac_mem) *(.flac_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_flac, LOADADDR (.overlay_flac)) [!provide] PROVIDE (__load_stop_overlay_flac, (LOADADDR (.overlay_flac) + SIZEOF (.overlay_flac))) -.overlay_m4a 0x00158e20 0x0 load address 0x00200000 +.overlay_m4a 0x00158c40 0x0 load address 0x00200000 *(.m4a_mem) *(.m4a_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_m4a, LOADADDR (.overlay_m4a)) [!provide] PROVIDE (__load_stop_overlay_m4a, (LOADADDR (.overlay_m4a) + SIZEOF (.overlay_m4a))) -.overlay_amr 0x00158e20 0x0 load address 0x00200000 +.overlay_amr 0x00158c40 0x0 load address 0x00200000 *(.amr_mem) *(.amr_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_amr, LOADADDR (.overlay_amr)) [!provide] PROVIDE (__load_stop_overlay_amr, (LOADADDR (.overlay_amr) + SIZEOF (.overlay_amr))) -.overlay_dts 0x00158e20 0x0 load address 0x00200000 +.overlay_dts 0x00158c40 0x0 load address 0x00200000 *(.dts_mem) *(.dts_ctrl_mem) [!provide] PROVIDE (__load_start_overlay_dts, LOADADDR (.overlay_dts)) [!provide] PROVIDE (__load_stop_overlay_dts, (LOADADDR (.overlay_dts) + SIZEOF (.overlay_dts))) -.overlay_fm 0x00158e20 0x0 load address 0x00200000 +.overlay_fm 0x00158c40 0x0 load address 0x00200000 *(.fm_mem) [!provide] PROVIDE (__load_start_overlay_fm, LOADADDR (.overlay_fm)) [!provide] PROVIDE (__load_stop_overlay_fm, (LOADADDR (.overlay_fm) + SIZEOF (.overlay_fm))) -.overlay_pc 0x00158e20 0x0 load address 0x00200000 +.overlay_pc 0x00158c40 0x0 load address 0x00200000 *(.usb_audio_play_dma) *(.usb_audio_rec_dma) *(.uac_rx) @@ -4367,9 +4350,9 @@ END GROUP *(.cdc_var) [!provide] PROVIDE (__load_start_overlay_pc, LOADADDR (.overlay_pc)) [!provide] PROVIDE (__load_stop_overlay_pc, (LOADADDR (.overlay_pc) + SIZEOF (.overlay_pc))) - 0x00158e20 data_code_pc_limit_end = . - 0x00158e20 __report_overlay_end = . - 0x00158e20 _HEAP_BEGIN = . + 0x00158c40 data_code_pc_limit_end = . + 0x00158c40 __report_overlay_end = . + 0x00158c40 _HEAP_BEGIN = . 0x0019fb80 _HEAP_END = RAM0_END 0x02000000 . = ORIGIN (psr_ram) @@ -4382,53 +4365,53 @@ END GROUP 0x00001ace UPDATE_CODE_TOTAL_SIZE = (update_code_end - update_code_start) 0x00000000 BTSTACK_LE_HOST_MESH_RAM_TOTAL = (BTSTACK_LE_HOST_MESH_DATA_SIZE + BTSTACK_LE_HOST_MESH_BSS_SIZE) 0x00000000 BTSTACK_LE_HOST_MESH_FLASH_TOTAL = BTSTACK_LE_HOST_MESH_CODE_SIZE - 0x0000aa70 BTSTACK_CODE_SIZE = ((btstack_code_end - btstack_code_start) + (btstack_data_end - btstack_data_start)) + 0x0000aa76 BTSTACK_CODE_SIZE = ((btstack_code_end - btstack_code_start) + (btstack_data_end - btstack_data_start)) 0x00000410 BTCTLER_LE_RAM_TOTAL = (BTCTLER_LE_CONTROLLER_DATA_SIZE + BTCTLER_LE_CONTROLLER_BSS_SIZE) - 0x0000716a BTCTLER_LE_CODE_TOTAL = BTCTLER_LE_CONTROLLER_CODE_SIZE + 0x00007168 BTCTLER_LE_CODE_TOTAL = BTCTLER_LE_CONTROLLER_CODE_SIZE 0x0000033a BTCTLER_CL_RAM_TOTAL = (BTCTLER_CL_DATA_SIZE + BTCTLER_CL_BSS_SIZE) 0x0000147c BTCTLER_CL_CODE_TOTAL = BTCTLER_CL_CODE_SIZE 0x000006e2 BTCTLER_COMMON_RAM_TOTAL = (BTCTLER_CONTROLLER_BSS_SIZE + BTCTLER_CONTROLLER_DATA_SIZE) - 0x0000275e BTCTLER_COMMON_CODE_TOTAL = BTCTLER_CONTROLLER_CODE_SIZE + 0x00002760 BTCTLER_COMMON_CODE_TOTAL = BTCTLER_CONTROLLER_CODE_SIZE 0x00000e2c BTCTLER_RAM_TOTAL = ((btctler_data_end - btctler_data_start) + (btctler_bss_end - btctler_bss_start)) - 0xfa1260b4 BTCTLER_CODE_TOTAL = (btctler_code_end - btctler_code_start) - 0x00000998 DRIVER_RAM_TOTAL = ((driver_data_end - driver_data_start) + (driver_bss_end - driver_bss_start)) - 0x00004854 DRIVER_CODE_TOTAL = (driver_code_end - driver_code_start) + 0xfa1276bc BTCTLER_CODE_TOTAL = (btctler_code_end - btctler_code_start) + 0x00000908 DRIVER_RAM_TOTAL = ((driver_data_end - driver_data_start) + (driver_bss_end - driver_bss_start)) + 0x00004760 DRIVER_CODE_TOTAL = (driver_code_end - driver_code_start) 0x000016d4 DRIVER_DATA_CODE_TOTAL = (driver_data_code_end - driver_data_code_start) 0x06000100 text_begin = ADDR (.text) - 0x00050c80 text_size = SIZEOF (.text) - 0x06050d80 text_end = (text_begin + text_size) - 0x00148020 bss_begin = ADDR (.bss) - 0x0000b414 bss_size = SIZEOF (.bss) - 0x00153434 bss_end = (bss_begin + bss_size) + 0x0004f31c text_size = SIZEOF (.text) + 0x0604f41c text_end = (text_begin + text_size) + 0x00147fe0 bss_begin = ADDR (.bss) + 0x0000b264 bss_size = SIZEOF (.bss) + 0x00153244 bss_end = (bss_begin + bss_size) 0x00147040 data_addr = ADDR (.data) - 0x06050d80 data_begin = (text_begin + text_size) - 0x00000fe0 data_size = SIZEOF (.data) - 0x00158e20 moveable_slot_addr = ADDR (.moveable_slot) - 0x06051d60 moveable_slot_begin = (data_begin + data_size) + 0x0604f41c data_begin = (text_begin + text_size) + 0x00000fa0 data_size = SIZEOF (.data) + 0x00158c40 moveable_slot_addr = ADDR (.moveable_slot) + 0x060503bc moveable_slot_begin = (data_begin + data_size) 0x00000000 moveable_slot_size = SIZEOF (.moveable_slot) - 0x00153440 data_code_addr = ADDR (.data_code) - 0x06051d60 data_code_begin = (moveable_slot_begin + moveable_slot_size) + 0x00153260 data_code_addr = ADDR (.data_code) + 0x060503bc data_code_begin = (moveable_slot_begin + moveable_slot_size) 0x000059e0 data_code_size = SIZEOF (.data_code) - 0x00158e20 aec_addr = ADDR (.overlay_aec) - 0x06057740 aec_begin = (data_code_begin + data_code_size) + 0x00158c40 aec_addr = ADDR (.overlay_aec) + 0x06055d9c aec_begin = (data_code_begin + data_code_size) 0x00000000 aec_size = SIZEOF (.overlay_aec) - 0x00158e20 aac_addr = ADDR (.overlay_aac) - 0x06057740 aac_begin = (aec_begin + aec_size) + 0x00158c40 aac_addr = ADDR (.overlay_aac) + 0x06055d9c aac_begin = (aec_begin + aec_size) 0x00000000 aac_size = SIZEOF (.overlay_aac) 0x02000000 psr_data_code_addr = ADDR (.psr_data_code) - 0x06057740 psr_data_code_begin = (aac_begin + aac_size) + 0x06055d9c psr_data_code_begin = (aac_begin + aac_size) 0x00000000 psr_data_code_size = SIZEOF (.psr_data_code) 0x00000001 ASSERT ((_HEAP_BEGIN > bss_begin), _HEAP_BEGIN < bss_begin) 0x00000001 ASSERT ((_HEAP_BEGIN > data_addr), _HEAP_BEGIN < data_addr) 0x00000001 ASSERT ((_HEAP_BEGIN > data_code_addr), _HEAP_BEGIN < data_code_addr) - 0x00158e20 PROVIDE (HEAP_BEGIN, _HEAP_BEGIN) + 0x00158c40 PROVIDE (HEAP_BEGIN, _HEAP_BEGIN) 0x0019fb80 PROVIDE (HEAP_END, _HEAP_END) - 0x00046d60 _MALLOC_SIZE = (_HEAP_END - _HEAP_BEGIN) - 0x00046d60 PROVIDE (MALLOC_SIZE, (_HEAP_END - _HEAP_BEGIN)) + 0x00046f40 _MALLOC_SIZE = (_HEAP_END - _HEAP_BEGIN) + 0x00046f40 PROVIDE (MALLOC_SIZE, (_HEAP_END - _HEAP_BEGIN)) 0x00000001 ASSERT ((MALLOC_SIZE >= 0x8000), heap space too small !) 0x06000100 report_text_beign = ADDR (.text) - 0x00050c80 report_text_size = SIZEOF (.text) - 0x06050d80 report_text_end = (report_text_beign + report_text_size) + 0x0004f31c report_text_size = SIZEOF (.text) + 0x0604f41c report_text_end = (report_text_beign + report_text_size) 0x00140000 report_mmu_tlb_begin = ADDR (.mmu_tlb) 0x00005000 report_mmu_tlb_size = SIZEOF (.mmu_tlb) 0x00145000 report_mmu_tlb_end = (report_mmu_tlb_begin + report_mmu_tlb_size) @@ -4439,68 +4422,68 @@ END GROUP 0x00002000 report_irq_stack_size = SIZEOF (.irq_stack) 0x00147040 report_irq_stack_end = (report_irq_stack_begin + report_irq_stack_size) 0x00147040 report_data_begin = ADDR (.data) - 0x00000fe0 report_data_size = SIZEOF (.data) - 0x00148020 report_data_end = (report_data_begin + report_data_size) - 0x00148020 report_bss_begin = ADDR (.bss) - 0x0000b414 report_bss_size = SIZEOF (.bss) - 0x00153434 report_bss_end = (report_bss_begin + report_bss_size) - 0x00153440 report_data_code_begin = ADDR (.data_code) + 0x00000fa0 report_data_size = SIZEOF (.data) + 0x00147fe0 report_data_end = (report_data_begin + report_data_size) + 0x00147fe0 report_bss_begin = ADDR (.bss) + 0x0000b264 report_bss_size = SIZEOF (.bss) + 0x00153244 report_bss_end = (report_bss_begin + report_bss_size) + 0x00153260 report_data_code_begin = ADDR (.data_code) 0x000059e0 report_data_code_size = SIZEOF (.data_code) - 0x00158e20 report_data_code_end = (report_data_code_begin + report_data_code_size) - 0x00158e20 report_overlay_begin = __report_overlay_begin + 0x00158c40 report_data_code_end = (report_data_code_begin + report_data_code_size) + 0x00158c40 report_overlay_begin = __report_overlay_begin 0x00000000 report_overlay_size = (__report_overlay_end - __report_overlay_begin) - 0x00158e20 report_overlay_end = __report_overlay_end - 0x00158e20 report_heap_beign = _HEAP_BEGIN - 0x00046d60 report_heap_size = (_HEAP_END - _HEAP_BEGIN) + 0x00158c40 report_overlay_end = __report_overlay_end + 0x00158c40 report_heap_beign = _HEAP_BEGIN + 0x00046f40 report_heap_size = (_HEAP_END - _HEAP_BEGIN) 0x0019fb80 report_heap_end = _HEAP_END 0x0009fb80 BR28_PHY_RAM_SIZE = PHY_RAM_SIZE - 0x0005fb74 BR28_SDK_RAM_SIZE = (((((((report_mmu_tlb_size + report_boot_info_size) + report_irq_stack_size) + report_data_size) + report_bss_size) + report_overlay_size) + report_data_code_size) + report_heap_size) + 0x0005fb64 BR28_SDK_RAM_SIZE = (((((((report_mmu_tlb_size + report_boot_info_size) + report_irq_stack_size) + report_data_size) + report_bss_size) + report_overlay_size) + report_data_code_size) + report_heap_size) LOAD C:\JL\pi32\pi32v2-lib\r3-large\libm.a LOAD C:\JL\pi32\pi32v2-lib\r3-large\libc.a LOAD C:\JL\pi32\pi32v2-lib\r3-large\libm.a LOAD C:\JL\pi32\pi32v2-lib\r3-large\libcompiler-rt.a OUTPUT(cpu\br28\tools\sdk.elf elf32-pi32v2) -.debug_str 0x00000000 0x5e657 - .debug_str 0x00000000 0x5e657 cpu\br28\tools\sdk.elf.o - 0x64b9a (size before relaxing) +.debug_str 0x00000000 0x5dd44 + .debug_str 0x00000000 0x5dd44 cpu\br28\tools\sdk.elf.o + 0x641c2 (size before relaxing) -.debug_loc 0x00000000 0x2f9f9 - .debug_loc 0x00000000 0x2f9f9 cpu\br28\tools\sdk.elf.o +.debug_loc 0x00000000 0x2f25b + .debug_loc 0x00000000 0x2f25b cpu\br28\tools\sdk.elf.o .debug_abbrev 0x00000000 0x1131 .debug_abbrev 0x00000000 0x110b cpu\br28\tools\sdk.elf.o .debug_abbrev 0x0000110b 0x26 cpu/br28/liba/cpu.a(startup.S.o) -.debug_info 0x00000000 0xf9017 - .debug_info 0x00000000 0xf8e23 cpu\br28\tools\sdk.elf.o - .debug_info 0x000f8e23 0x1f4 cpu/br28/liba/cpu.a(startup.S.o) +.debug_info 0x00000000 0xf78a0 + .debug_info 0x00000000 0xf76ac cpu\br28\tools\sdk.elf.o + .debug_info 0x000f76ac 0x1f4 cpu/br28/liba/cpu.a(startup.S.o) -.debug_ranges 0x00000000 0x6928 - .debug_ranges 0x00000000 0x6900 cpu\br28\tools\sdk.elf.o - .debug_ranges 0x00006900 0x28 cpu/br28/liba/cpu.a(startup.S.o) +.debug_ranges 0x00000000 0x6810 + .debug_ranges 0x00000000 0x67e8 cpu\br28\tools\sdk.elf.o + .debug_ranges 0x000067e8 0x28 cpu/br28/liba/cpu.a(startup.S.o) .debug_macinfo 0x00000000 0x1 .debug_macinfo 0x00000000 0x1 cpu\br28\tools\sdk.elf.o .debug_pubnames - 0x00000000 0x29126 + 0x00000000 0x2882f .debug_pubnames - 0x00000000 0x29126 cpu\br28\tools\sdk.elf.o + 0x00000000 0x2882f cpu\br28\tools\sdk.elf.o .debug_pubtypes - 0x00000000 0x19a8b + 0x00000000 0x199ab .debug_pubtypes - 0x00000000 0x19a8b cpu\br28\tools\sdk.elf.o + 0x00000000 0x199ab cpu\br28\tools\sdk.elf.o -.debug_frame 0x00000000 0xfb8c - .debug_frame 0x00000000 0xfb8c cpu\br28\tools\sdk.elf.o +.debug_frame 0x00000000 0xf7d0 + .debug_frame 0x00000000 0xf7d0 cpu\br28\tools\sdk.elf.o -.debug_line 0x00000000 0x65b49 - .debug_line 0x00000000 0x659f0 cpu\br28\tools\sdk.elf.o - .debug_line 0x000659f0 0x30 obj/Release/apps/earphone/sdk_version.z.o - .debug_line 0x00065a20 0x129 cpu/br28/liba/cpu.a(startup.S.o) +.debug_line 0x00000000 0x641fe + .debug_line 0x00000000 0x640a5 cpu\br28\tools\sdk.elf.o + .debug_line 0x000640a5 0x30 obj/Release/apps/earphone/sdk_version.z.o + .debug_line 0x000640d5 0x129 cpu/br28/liba/cpu.a(startup.S.o) .debug_aranges 0x00000000 0x28 .debug_aranges diff --git a/include_lib/driver/cpu/br28/asm/mcpwm.h b/include_lib/driver/cpu/br28/asm/mcpwm.h index b28fb49..21615c2 100644 --- a/include_lib/driver/cpu/br28/asm/mcpwm.h +++ b/include_lib/driver/cpu/br28/asm/mcpwm.h @@ -61,13 +61,9 @@ void mcpwm_test(void); void set_io_ext_interrupt_cbfun(void (*cbfun)(u8 index)); void io_ext_interrupt_init(u8 index, u8 port, u8 trigger_mode); void io_ext_interrupt_close(u8 index, u8 port); -void io_ext_interrupt_test(void); - void timer_pwm_init(JL_TIMER_TypeDef *JL_TIMERx, u32 pwm_io, u32 fre, u32 duty); void set_timer_pwm_duty(JL_TIMER_TypeDef *JL_TIMERx, u32 duty); -void timer_pwm_test(void); - #endif diff --git a/obj/Release/apps/earphone/app_main.o b/obj/Release/apps/earphone/app_main.o index 5ff6ecf..04ed9f7 100644 Binary files a/obj/Release/apps/earphone/app_main.o and b/obj/Release/apps/earphone/app_main.o differ diff --git a/obj/Release/apps/earphone/board/br28/board_jl701n_demo.o b/obj/Release/apps/earphone/board/br28/board_jl701n_demo.o index ee9a806..cbf75b4 100644 Binary files a/obj/Release/apps/earphone/board/br28/board_jl701n_demo.o and b/obj/Release/apps/earphone/board/br28/board_jl701n_demo.o differ diff --git a/obj/Release/apps/earphone/dual_update_demo.o b/obj/Release/apps/earphone/dual_update_demo.o index 6dd7390..e37d978 100644 Binary files a/obj/Release/apps/earphone/dual_update_demo.o and b/obj/Release/apps/earphone/dual_update_demo.o differ diff --git a/obj/Release/apps/earphone/key_event_deal.o b/obj/Release/apps/earphone/key_event_deal.o index dfe50b2..7e49f0c 100644 Binary files a/obj/Release/apps/earphone/key_event_deal.o and b/obj/Release/apps/earphone/key_event_deal.o differ diff --git a/obj/Release/apps/earphone/log_config/lib_media_config.o b/obj/Release/apps/earphone/log_config/lib_media_config.o index 3178eaf..ed08c31 100644 Binary files a/obj/Release/apps/earphone/log_config/lib_media_config.o and b/obj/Release/apps/earphone/log_config/lib_media_config.o differ diff --git a/obj/Release/apps/usr_le_code/usr_le_adv.o b/obj/Release/apps/usr_le_code/usr_le_adv.o index dfbd7bd..80abb44 100644 Binary files a/obj/Release/apps/usr_le_code/usr_le_adv.o and b/obj/Release/apps/usr_le_code/usr_le_adv.o differ diff --git a/obj/Release/apps/usr_le_code/usr_le_recieve.o b/obj/Release/apps/usr_le_code/usr_le_recieve.o index 73baa3e..8c3bb90 100644 Binary files a/obj/Release/apps/usr_le_code/usr_le_recieve.o and b/obj/Release/apps/usr_le_code/usr_le_recieve.o differ diff --git a/obj/Release/apps/usr_moto/usr_moto_work.o b/obj/Release/apps/usr_moto/usr_moto_work.o deleted file mode 100644 index db2b724..0000000 Binary files a/obj/Release/apps/usr_moto/usr_moto_work.o and /dev/null differ diff --git a/obj/Release/apps/usr_rtc/alarm_api.o b/obj/Release/apps/usr_rtc/alarm_api.o deleted file mode 100644 index d2f9b7b..0000000 Binary files a/obj/Release/apps/usr_rtc/alarm_api.o and /dev/null differ diff --git a/obj/Release/apps/usr_rtc/alarm_user.o b/obj/Release/apps/usr_rtc/alarm_user.o deleted file mode 100644 index 8dc6167..0000000 Binary files a/obj/Release/apps/usr_rtc/alarm_user.o and /dev/null differ diff --git a/obj/Release/apps/usr_rtc/rtc.o b/obj/Release/apps/usr_rtc/rtc.o deleted file mode 100644 index 4f7b853..0000000 Binary files a/obj/Release/apps/usr_rtc/rtc.o and /dev/null differ diff --git a/obj/Release/apps/usr_rtc/virtual_rtc.o b/obj/Release/apps/usr_rtc/virtual_rtc.o deleted file mode 100644 index 5eedf42..0000000 Binary files a/obj/Release/apps/usr_rtc/virtual_rtc.o and /dev/null differ diff --git a/obj/Release/apps/usr_uart_code/usr_uart_code.o b/obj/Release/apps/usr_uart_code/usr_uart_code.o deleted file mode 100644 index a74042e..0000000 Binary files a/obj/Release/apps/usr_uart_code/usr_uart_code.o and /dev/null differ diff --git a/obj/Release/apps/usr_uart_code/usr_uart_data_ana.o b/obj/Release/apps/usr_uart_code/usr_uart_data_ana.o deleted file mode 100644 index e7136ee..0000000 Binary files a/obj/Release/apps/usr_uart_code/usr_uart_data_ana.o and /dev/null differ diff --git a/obj/Release/apps/usr_utc/usr_plan.o b/obj/Release/apps/usr_utc/usr_plan.o deleted file mode 100644 index 1952ef0..0000000 Binary files a/obj/Release/apps/usr_utc/usr_plan.o and /dev/null differ diff --git a/obj/Release/apps/usr_utc/usr_utc_de_en.o b/obj/Release/apps/usr_utc/usr_utc_de_en.o deleted file mode 100644 index 65037a1..0000000 Binary files a/obj/Release/apps/usr_utc/usr_utc_de_en.o and /dev/null differ diff --git a/obj/Release/apps/usr_utc/usr_utc_encode.o b/obj/Release/apps/usr_utc/usr_utc_encode.o deleted file mode 100644 index b5b5b7f..0000000 Binary files a/obj/Release/apps/usr_utc/usr_utc_encode.o and /dev/null differ diff --git a/obj/Release/cpu/br28/app_audio.o b/obj/Release/cpu/br28/app_audio.o index aa2cad4..a43012b 100644 Binary files a/obj/Release/cpu/br28/app_audio.o and b/obj/Release/cpu/br28/app_audio.o differ diff --git a/obj/Release/cpu/br28/audio_link.o b/obj/Release/cpu/br28/audio_link.o index db1bf7b..a97d681 100644 Binary files a/obj/Release/cpu/br28/audio_link.o and b/obj/Release/cpu/br28/audio_link.o differ diff --git a/obj/Release/cpu/br28/mcpwm.o b/obj/Release/cpu/br28/mcpwm.o index 5d00317..890e5a0 100644 Binary files a/obj/Release/cpu/br28/mcpwm.o and b/obj/Release/cpu/br28/mcpwm.o differ diff --git a/obj/Release/cpu/br28/power/power_app.o b/obj/Release/cpu/br28/power/power_app.o index 75fe7b5..f7c72d9 100644 Binary files a/obj/Release/cpu/br28/power/power_app.o and b/obj/Release/cpu/br28/power/power_app.o differ diff --git a/obj/Release/cpu/br28/power/power_port.o b/obj/Release/cpu/br28/power/power_port.o index 551453a..4867e03 100644 Binary files a/obj/Release/cpu/br28/power/power_port.o and b/obj/Release/cpu/br28/power/power_port.o differ