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