From d9e2a58a66135c4779056a64182c151c91bdf70f Mon Sep 17 00:00:00 2001 From: xushaoxiang Date: Sat, 11 Jul 2026 09:11:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E4=B8=80=E4=B8=AA=E9=80=9A?= =?UTF-8?q?=E9=81=93=E6=9C=80=E5=A4=9A=E5=AF=B9=E7=A0=815=E4=B8=AA?= =?UTF-8?q?=E9=81=A5=E6=8E=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ble/ble_peripheral/app/api/app_task.h | 6 +- .../ble/ble_peripheral/app/src/app_task.c | 51 +- .../ble/ble_peripheral/app/src/fmc_spi_1.c | 100 +- .../ble/ble_peripheral/app/src/rf433.c | 263 +-- .../ble/ble_peripheral/app/src/rf433.h | 30 +- .../ble/ble_peripheral/app/src/timer.c | 3 +- .../ble/ble_peripheral/app/src/uart_1.c | 4 +- .../ble/ble_peripheral/app/src/usr_server.h | 6 +- .../mdk/Listings/Xinc_ble_sdk.map | 1450 ++++++++--------- .../mdk/Objects/Xinc_ble_sdk.axf | Bin 878968 -> 877160 bytes .../mdk/Objects/Xinc_ble_sdk.build_log.htm | 62 +- .../mdk/Objects/Xinc_ble_sdk.htm | 300 ++-- .../ble/ble_peripheral/mdk/Objects/aes.o | Bin 921696 -> 921696 bytes .../ble_peripheral/mdk/Objects/app_batt.crf | Bin 1335578 -> 1335578 bytes .../ble/ble_peripheral/mdk/Objects/app_batt.o | Bin 1131708 -> 1131696 bytes .../ble_peripheral/mdk/Objects/app_sec.crf | Bin 1350992 -> 1350992 bytes .../ble/ble_peripheral/mdk/Objects/app_sec.o | Bin 1145016 -> 1145004 bytes .../ble_peripheral/mdk/Objects/app_task.crf | Bin 1468076 -> 1468209 bytes .../ble/ble_peripheral/mdk/Objects/app_task.o | Bin 1238056 -> 1238040 bytes .../ble_peripheral/mdk/Objects/arch_main.crf | Bin 1347890 -> 1347439 bytes .../ble_peripheral/mdk/Objects/arch_main.o | Bin 1156532 -> 1156328 bytes .../Objects/ble_peripheral_ble-sdk-xip.dep | 48 +- .../ble_peripheral/mdk/Objects/fmc_spi_1.crf | Bin 825252 -> 824888 bytes .../ble_peripheral/mdk/Objects/fmc_spi_1.o | Bin 749856 -> 749884 bytes .../ble/ble_peripheral/mdk/Objects/key.o | Bin 749524 -> 749524 bytes .../ble/ble_peripheral/mdk/Objects/led.o | Bin 737492 -> 737492 bytes .../ble/ble_peripheral/mdk/Objects/nvds.o | Bin 1032692 -> 1032692 bytes .../mdk/Objects/ota_flash_interface.o | Bin 1017620 -> 1017620 bytes .../mdk/Objects/ota_protocol.crf | Bin 1354399 -> 1354399 bytes .../ble_peripheral/mdk/Objects/ota_protocol.o | Bin 1168536 -> 1168524 bytes .../ble_peripheral/mdk/Objects/ota_server.crf | Bin 1343277 -> 1343277 bytes .../ble_peripheral/mdk/Objects/ota_server.o | Bin 1138988 -> 1138976 bytes .../ble/ble_peripheral/mdk/Objects/rf433.crf | Bin 862298 -> 860872 bytes .../ble/ble_peripheral/mdk/Objects/rf433.o | Bin 801884 -> 798828 bytes .../mdk/Objects/rf433_decoder.o | Bin 804528 -> 804528 bytes .../ble/ble_peripheral/mdk/Objects/sleep.o | Bin 1001364 -> 1001364 bytes .../ble_peripheral/mdk/Objects/switch_s.crf | Bin 819483 -> 819042 bytes .../ble/ble_peripheral/mdk/Objects/switch_s.o | Bin 744816 -> 744624 bytes .../ble_peripheral/mdk/Objects/system_xinc.o | Bin 750308 -> 750308 bytes .../ble/ble_peripheral/mdk/Objects/timer.crf | Bin 820781 -> 820346 bytes .../ble/ble_peripheral/mdk/Objects/timer.o | Bin 748192 -> 748000 bytes .../ble_peripheral/mdk/Objects/timeslice.crf | Bin 1163326 -> 1162898 bytes .../ble_peripheral/mdk/Objects/timeslice.o | Bin 1015472 -> 1015280 bytes .../ble/ble_peripheral/mdk/Objects/uart_1.crf | Bin 818947 -> 818506 bytes .../ble/ble_peripheral/mdk/Objects/uart_1.o | Bin 742400 -> 742208 bytes .../ble_peripheral/mdk/Objects/usr_server.crf | Bin 1336252 -> 1336252 bytes .../ble_peripheral/mdk/Objects/usr_server.o | Bin 1136264 -> 1136256 bytes .../ble_peripheral/mdk/Objects/xc_drv_adc.o | Bin 810636 -> 810636 bytes .../mdk/Objects/xc_drv_aotimer.o | Bin 733020 -> 733020 bytes .../ble_peripheral/mdk/Objects/xc_drv_bor.o | Bin 758016 -> 758016 bytes .../ble_peripheral/mdk/Objects/xc_drv_calib.o | Bin 788572 -> 788572 bytes .../ble_peripheral/mdk/Objects/xc_drv_clock.o | Bin 831908 -> 831908 bytes .../ble_peripheral/mdk/Objects/xc_drv_dma.o | Bin 732928 -> 732928 bytes .../mdk/Objects/xc_drv_fmc_spi.o | Bin 791072 -> 791072 bytes .../mdk/Objects/xc_drv_fmc_spi_dma.o | Bin 733112 -> 733112 bytes .../ble_peripheral/mdk/Objects/xc_drv_gpio.o | Bin 780148 -> 780152 bytes .../ble_peripheral/mdk/Objects/xc_drv_i2c.o | Bin 732928 -> 732928 bytes .../ble_peripheral/mdk/Objects/xc_drv_pga.o | Bin 735940 -> 735940 bytes .../ble_peripheral/mdk/Objects/xc_drv_pwm.o | Bin 871616 -> 871616 bytes .../ble_peripheral/mdk/Objects/xc_drv_pwr.o | Bin 867620 -> 867620 bytes .../ble_peripheral/mdk/Objects/xc_drv_qdec.o | Bin 735272 -> 735272 bytes .../ble_peripheral/mdk/Objects/xc_drv_rtc.o | Bin 799356 -> 799356 bytes .../ble_peripheral/mdk/Objects/xc_drv_spi.o | Bin 732928 -> 732928 bytes .../mdk/Objects/xc_drv_spi_dma.o | Bin 733020 -> 733020 bytes .../mdk/Objects/xc_drv_sw_i2c.o | Bin 732996 -> 732996 bytes .../mdk/Objects/xc_drv_systick.o | Bin 739356 -> 739356 bytes .../ble_peripheral/mdk/Objects/xc_drv_timer.o | Bin 796976 -> 796976 bytes .../ble_peripheral/mdk/Objects/xc_drv_uart.o | Bin 795964 -> 795964 bytes .../mdk/Objects/xc_drv_uart_dma.o | Bin 733044 -> 733044 bytes .../ble_peripheral/mdk/Objects/xc_drv_wdt.o | Bin 762284 -> 762284 bytes .../ble_peripheral/mdk/Objects/xc_gap_api.o | Bin 1075480 -> 1075480 bytes .../mdk/Objects/xc_gatt_client_api.o | Bin 1049708 -> 1049708 bytes .../mdk/Objects/xc_gatt_server_api.o | Bin 1053900 -> 1053900 bytes .../example/ble/ble_peripheral/mdk/app.bin | Bin 30432 -> 30568 bytes .../ble/ble_peripheral/mdk/ble_peripheral.bin | Bin 106496 -> 106496 bytes .../mdk/ble_peripheral.uvguix.QJM | 152 +- project/example/ble/ble_peripheral/mdk/fb.txt | 3 +- .../mdk/output_bin/ble_peripheral.bin | Bin 106496 -> 106496 bytes .../mdk/output_bin/ota_data_aes.bin | Bin 30736 -> 30992 bytes .../mdk/output_bin/ota_data_double.bin | Bin 30736 -> 30992 bytes .../mdk/output_bin/ota_data_single.bin | Bin 30736 -> 30992 bytes 81 files changed, 1204 insertions(+), 1274 deletions(-) diff --git a/project/example/ble/ble_peripheral/app/api/app_task.h b/project/example/ble/ble_peripheral/app/api/app_task.h index df46df3..c56c201 100644 --- a/project/example/ble/ble_peripheral/app/api/app_task.h +++ b/project/example/ble/ble_peripheral/app/api/app_task.h @@ -49,7 +49,7 @@ } /// Default Device Name -#define APP_DFLT_DEVICE_NAME ("Hpw422") +#define APP_DFLT_DEVICE_NAME ("HPW422") #define APP_DFLT_DEVICE_NAME_LEN (sizeof(APP_DFLT_DEVICE_NAME))//must not be greater than APP_DEVICE_NAME_MAX_LEN #define APP_SINGLEOTA_DEVICE_NAME "OTA_TEST" #define APP_SINGLEOTA_DEVICE_NAME_LEN (sizeof(APP_SINGLEOTA_DEVICE_NAME)) @@ -64,8 +64,8 @@ #define APP_ADV_INT_MAX (64) #define ADV_DATA_MAX_LENGTH 28 -#define MANUFACTURER_DATA "\x09\xFF\x00\x60\x52\x57\x2D\x42\x4C\x45" -#define MANUFACTURER_DATA_LEN (sizeof(MANUFACTURER_DATA))//10 +#define MANUFACTURER_DATA "\x09\xFF\x32\x60\x47\x99" +#define MANUFACTURER_DATA_LEN (sizeof(MANUFACTURER_DATA)-1)//10 /// Advertising duration (in unit of 10ms). 0 means that advertising continues /// until the host disable it diff --git a/project/example/ble/ble_peripheral/app/src/app_task.c b/project/example/ble/ble_peripheral/app/src/app_task.c index 7487a6f..ac90d9d 100644 --- a/project/example/ble/ble_peripheral/app/src/app_task.c +++ b/project/example/ble/ble_peripheral/app/src/app_task.c @@ -111,22 +111,53 @@ void app_create_advertising(void) } } +//void app_set_adv_data(void) +//{ +// if (app_env.adv_state == APP_ADV_STATE_STARTING) { +// uint8_t adv_data[ADV_DATA_MAX_LENGTH] = {0}; +// adv_data[0] = APP_DFLT_DEVICE_NAME_LEN + 1; +// adv_data[1] = GAP_AD_TYPE_COMPLETE_NAME; +// memcpy(&adv_data[2], APP_DFLT_DEVICE_NAME, APP_DFLT_DEVICE_NAME_LEN); +// xc_ble_set_adv_data(app_env.adv_actv_idx, APP_DFLT_DEVICE_NAME_LEN + 2, +// adv_data); +// +// adv_info.name_length= APP_SINGLEOTA_DEVICE_NAME_LEN; +// memcpy(&adv_info.name,APP_SINGLEOTA_DEVICE_NAME,APP_SINGLEOTA_DEVICE_NAME_LEN); +// app_env.adv_state = APP_ADV_STATE_SETTING_ADV_DATA; +// } +//} + void app_set_adv_data(void) { if (app_env.adv_state == APP_ADV_STATE_STARTING) { - uint8_t adv_data[ADV_DATA_MAX_LENGTH] = {0}; - adv_data[0] = APP_DFLT_DEVICE_NAME_LEN + 1; - adv_data[1] = GAP_AD_TYPE_COMPLETE_NAME; - memcpy(&adv_data[2], APP_DFLT_DEVICE_NAME, APP_DFLT_DEVICE_NAME_LEN); - xc_ble_set_adv_data(app_env.adv_actv_idx, APP_DFLT_DEVICE_NAME_LEN + 2, - adv_data); - - adv_info.name_length= APP_SINGLEOTA_DEVICE_NAME_LEN; - memcpy(&adv_info.name,APP_SINGLEOTA_DEVICE_NAME,APP_SINGLEOTA_DEVICE_NAME_LEN); + uint8_t adv_data[ADV_DATA_MAX_LENGTH] = {0}; // 初始化广播数据数组 + uint8_t pos = 0; // 追踪广播数据的位置 + + // 添加设备名称 + adv_data[pos] = APP_DFLT_DEVICE_NAME_LEN + 1; // 设备名称长度 + 1 字节的类型字段 + pos++; + adv_data[pos] = GAP_AD_TYPE_COMPLETE_NAME; // 设备名称类型 + pos++; + memcpy(&adv_data[pos], APP_DFLT_DEVICE_NAME, APP_DFLT_DEVICE_NAME_LEN); // 复制设备名称 + pos += APP_DFLT_DEVICE_NAME_LEN; + + // 添加制造商数据 + adv_data[pos] = MANUFACTURER_DATA_LEN + 1; // 制造商数据长度 + 1 字节的类型字段 + pos++; + adv_data[pos] = GAP_AD_TYPE_MANU_SPECIFIC_DATA; // 制造商数据类型 + pos++; + memcpy(&adv_data[pos], MANUFACTURER_DATA, MANUFACTURER_DATA_LEN); // 复制制造商数据 + pos += MANUFACTURER_DATA_LEN; + + // 设置广播数据 + xc_ble_set_adv_data(app_env.adv_actv_idx, pos, adv_data); + + // 更新广播状态 app_env.adv_state = APP_ADV_STATE_SETTING_ADV_DATA; - } + } } + void app_set_scan_rsp_data(void) { if (app_env.adv_state == APP_ADV_STATE_SETTING_ADV_DATA) { diff --git a/project/example/ble/ble_peripheral/app/src/fmc_spi_1.c b/project/example/ble/ble_peripheral/app/src/fmc_spi_1.c index 11a5af1..29cb347 100644 --- a/project/example/ble/ble_peripheral/app/src/fmc_spi_1.c +++ b/project/example/ble/ble_peripheral/app/src/fmc_spi_1.c @@ -24,26 +24,38 @@ static unsigned char get_checksum(unsigned char *ptrdata, unsigned char length) void read_user_data(void) { - if(r_data[20] == get_checksum(&r_data[2],18)) + if(r_data[26] == get_checksum(&r_data[2],24)) { - adress_H_array[0]=r_data[2]; - adress_H_array[1]=r_data[3]; - adress_H_array[2]=r_data[4]; - adress_H_array[3]=r_data[5]; - adress_H_array[4]=r_data[6]; - adress_L_array[0]=r_data[7]; - adress_L_array[1]=r_data[8]; - adress_L_array[2]=r_data[9]; - adress_L_array[3]=r_data[10]; - adress_L_array[4]=r_data[11]; - adress_ch_flag[0]=r_data[12]; - adress_ch_flag[1]=r_data[13]; - adress_ch_flag[2]=r_data[14]; - adress_ch_flag[3]=r_data[15]; - adress_ch_flag[4]=r_data[16]; - adress_index=r_data[17]; - flash_ch1_state=r_data[18]; - flash_ch2_state=r_data[19]; + adress_H_ch1[0]= r_data[2]; + adress_H_ch1[1]= r_data[3]; + adress_H_ch1[2]= r_data[4]; + adress_H_ch1[3]= r_data[5]; + adress_H_ch1[4]= r_data[6]; + + adress_L_ch1[0]= r_data[7]; + adress_L_ch1[1]= r_data[8]; + adress_L_ch1[2]= r_data[9]; + adress_L_ch1[3]= r_data[10]; + adress_L_ch1[4]= r_data[11]; + + + adress_H_ch2[0]= r_data[12]; + adress_H_ch2[1]= r_data[13]; + adress_H_ch2[2]= r_data[14]; + adress_H_ch2[3]= r_data[15]; + adress_H_ch2[4]= r_data[16]; + + adress_L_ch2[0]= r_data[17]; + adress_L_ch2[1]= r_data[18]; + adress_L_ch2[2]= r_data[19]; + adress_L_ch2[3]= r_data[20]; + adress_L_ch2[4]= r_data[21]; + + adress_ch1_index = r_data[22]; + adress_ch2_index = r_data[23]; + + flash_ch1_state=r_data[24]; + flash_ch2_state=r_data[25]; } } @@ -54,26 +66,38 @@ void wright_user_data(void) app_data[0] = 0xAA; app_data[1] = 0x55; - app_data[2] = adress_H_array[0]; - app_data[3] = adress_H_array[1]; - app_data[4] = adress_H_array[2]; - app_data[5] = adress_H_array[3]; - app_data[6] = adress_H_array[4]; - app_data[7] = adress_L_array[0]; - app_data[8] = adress_L_array[1]; - app_data[9] = adress_L_array[2]; - app_data[10] =adress_L_array[3]; - app_data[11] =adress_L_array[4]; - app_data[12] =adress_ch_flag[0]; - app_data[13] =adress_ch_flag[1]; - app_data[14] =adress_ch_flag[2]; - app_data[15] =adress_ch_flag[3]; - app_data[16] =adress_ch_flag[4]; - app_data[17] = adress_index; - app_data[18] = flash_ch1_state; - app_data[19] = flash_ch2_state; + app_data[2] = adress_H_ch1[0]; + app_data[3] = adress_H_ch1[1]; + app_data[4] = adress_H_ch1[2]; + app_data[5] = adress_H_ch1[3]; + app_data[6] = adress_H_ch1[4]; - app_data[20] = get_checksum(&app_data[2],18); + app_data[7] = adress_L_ch1[0]; + app_data[8] = adress_L_ch1[1]; + app_data[9] = adress_L_ch1[2]; + app_data[10] = adress_L_ch1[3]; + app_data[11] = adress_L_ch1[4]; + + + app_data[12] = adress_H_ch2[0]; + app_data[13] = adress_H_ch2[1]; + app_data[14] = adress_H_ch2[2]; + app_data[15] = adress_H_ch2[3]; + app_data[16] = adress_H_ch2[4]; + + app_data[17] = adress_L_ch2[0]; + app_data[18] = adress_L_ch2[1]; + app_data[19] = adress_L_ch2[2]; + app_data[20] = adress_L_ch2[3]; + app_data[21] = adress_L_ch2[4]; + + app_data[22] = adress_ch1_index; + app_data[23] = adress_ch2_index; + app_data[24] = flash_ch1_state; + app_data[25] = flash_ch2_state; + + + app_data[26] = get_checksum(&app_data[2],24); } diff --git a/project/example/ble/ble_peripheral/app/src/rf433.c b/project/example/ble/ble_peripheral/app/src/rf433.c index a37c3f4..0546062 100644 --- a/project/example/ble/ble_peripheral/app/src/rf433.c +++ b/project/example/ble/ble_peripheral/app/src/rf433.c @@ -8,45 +8,47 @@ #include "timeslice.h" #include "dbg.h" #include "rf433_decoder.h" -//鐢╞it琛ㄧず閫氶亾 -#define CH_GPIO2 0x01 -#define CH_GPIO5 0x10 +////鐢╞it琛ㄧず閫氶亾 +//#define CH_GPIO2 0x01 +//#define CH_GPIO5 0x10 Rf433DecoderFrame_t rf433_frame; -uint32_t receive_temp; -uint32_t receive_data; -uint8_t high_level_time; -uint8_t low_level_time; -uint8_t receive_data_cnt; + uint8_t adress_H=0; uint8_t adress_L=0; uint8_t key_state=0; uint8_t KEY_STATE_re=0; // 闀挎寜 -uint8_t long_flag_s=0; -uint8_t receive_finsh_flag=0; + static uint8_t power=2; uint8_t res_data=255; //433杩斿洖鐨勬渶鍚庝竴涓帶鍒跺瓧鑺傦紙浣庡叓浣嶏級 -static uint16_t long_time=0; //琛ㄧず闀挎寜鐭寜 璇ュ间竴瀹氳澶т簬8,68鏄寚68ms閫氳繃閫昏緫鍒嗘瀽浠祴閲忎竴甯433鐨勬椂闂 -static uint16_t time_300ms=1; //琛ㄧず锛氬綋闀挎寜鐨勬椂鍊欒300ms鎵ц涓娆 + uint8_t adress_ture_flag=0; -uint8_t adress_H_array[5]={0,0,0,0,0}; -uint8_t adress_L_array[5]={0,0,0,0,0}; -uint8_t adress_ch_flag[5]={0,0,0,0,0}; -uint8_t adress_index_ture=0xFF; -uint8_t adress_index=0; //鍦板潃涓嬫爣 + +uint8_t adress_H_ch1[5] = {0}; // 閫氶亾1锛圙PIO5锛夐珮8浣嶅湴鍧 +uint8_t adress_L_ch1[5] = {0}; // 閫氶亾1浣8浣嶅湴鍧 +uint8_t adress_ch1_index = 0; // 閫氶亾1鍦板潃绱㈠紩锛0-4锛 + +uint8_t adress_H_ch2[5] = {0}; // 閫氶亾2锛圙PIO2锛夐珮8浣嶅湴鍧 +uint8_t adress_L_ch2[5] = {0}; // 閫氶亾2浣8浣嶅湴鍧 +uint8_t adress_ch2_index = 0; // 閫氶亾2鍦板潃绱㈠紩锛0-4锛 + +uint8_t match_ch = 0; // 鍖归厤鍒扮殑閫氶亾锛1=GPIO5锛2=GPIO2锛 + + +#define MATCH_CH1 (1 << 0) // 閫氶亾1鍖归厤鏍囪 +#define MATCH_CH2 (1 << 1) // 閫氶亾2鍖归厤鏍囪 + uint8_t flash_ch1_state=0; uint8_t flash_ch2_state=0; -union rf433_flag rf_flag = {0}; - #define rf433_long_time 500 uint16_t long_timer=0; @@ -136,125 +138,12 @@ static void set_click(void) -void rf433_receive(void)//rf433鎺ユ敹锛屾煡璇㈠懆鏈100us -{ - - if (RF_DATA == LOW_LEVEL) - { - low_level_time++;//璁板綍浣庣數骞虫椂闂 - rf_flag.rf_receive_flag.current_level = 0; //褰撳墠鐢靛钩鐘舵 - } - else if (RF_DATA == HIGH_LEVEL) - { - high_level_time++;//璁板綍楂樼數骞虫椂闂 - - if (!rf_flag.rf_receive_flag.current_level)//姣忎釜涓婂崌娌挎娴嬶紝0鈫1锛屼竴涓畬鏁寸殑鍛ㄦ湡妫娴 - { - - - if ((high_level_time > 1 && high_level_time < 7) && (low_level_time > 100 && low_level_time < 130)) //鍒ゅ悓姝ョ爜锛屾椂闂撮棿闅13ms浠ュ唴 //1-7锛115-130 12 15 115-130 100 - { - //杩涙潵杩欓噷闇瑕13ms - rf_flag.rf_receive_flag.sync_code = 1;//鍚屾鐮佹帴鏀舵垚鍔熸爣蹇 - receive_data_cnt = 0; - receive_temp = 0; - long_time=frames_time; - - - - } - else if (rf_flag.rf_receive_flag.sync_code)//寮濮嬫帴鏀舵暟鎹寘 - { - - if ((high_level_time >= 1 && high_level_time <= 7) && (low_level_time >= 7 && low_level_time <= 16)) //鏁版嵁浣庣數骞 - { - - receive_temp = receive_temp << 1; - receive_data_cnt++;//鎺ユ敹24浣嶄綅鏁 - if (receive_data_cnt == 24)//24浣嶆暟鎹帴鏀跺畬鎴 - { - //杩涙潵杩欎釜if闇瑕40ms - rf_flag.rf_receive_flag.receive_finish = 1;//24浣嶆暟鎹帴鏀跺畬鎴愭爣蹇 - rf_flag.rf_receive_flag.sync_code = 0; - receive_data = receive_temp;//灏嗘帴鏀跺埌鐨勭紪鐮佸鍒跺埌瑙g爜瀵勫瓨鍣ㄤ腑 - res_data=receive_temp; //灏嗘帴鏀跺埌鐨勭紪鐮佸鍒跺埌瑙g爜瀵勫瓨鍣ㄤ腑 - - } - - - } - else if ((high_level_time >= 7 && high_level_time <= 16) && (low_level_time >= 2 && low_level_time<= 7)) //鏁版嵁楂樼數骞 - { - receive_temp = receive_temp << 1; - receive_temp |= 1; - receive_data_cnt++; - if (receive_data_cnt == 24) - { - //杩涙潵杩欎釜if闇瑕40ms3748f3 - rf_flag.rf_receive_flag.receive_finish = 1;//24浣嶆暟鎹帴鏀跺畬鎴愭爣蹇 - rf_flag.rf_receive_flag.sync_code = 0; - receive_data = receive_temp;//灏嗘帴鏀跺埌鐨勭紪鐮佸鍒跺埌瑙g爜瀵勫瓨鍣ㄤ腑 - res_data=receive_temp; - - } - - } - - else - { - rf_flag.rf_receive_flag.sync_code = 0;//鎺ユ敹澶辫触 - } - - - long_time=frames_time;//璇ュ间竴瀹氳澶т笌68,68鏄寚68ms閫氳繃閫昏緫鍒嗘瀽浠祴閲忎竴甯х殑鏃堕棿 - } - - if(long_time>0) - { //涓鐩存寜鐫浼氳繘鍏ヨif - //P05=0; //433LED鐏 - long_time--; - long_flag_s=0; - if( KEY_STATE_re==1) - { - if(time_300ms==0) - { - time_300ms=Short_time; - long_flag_s=1; - KEY_STATE_re=0; - } - else if(time_300ms>0) - time_300ms--; - } - } - else - { //鏉炬墜 - time_300ms=LongPress_time; - long_time=0; - long_flag_s=0; - Key_TypeDef.KEY_STATE_Click=0; - KEY_STATE_re=0; - } - - low_level_time = 0;//娓呴浂浣庣數骞虫椂闂 - high_level_time = 1;//楂樼數骞虫椂闂村紑濮嬭鏁 - - } - rf_flag.rf_receive_flag.current_level = 1;//褰撳墠鐢靛钩鐘舵 - } -} void app_key_callback_handler(uint16_t key_value) //鎸夐敭鍥炶皟鍑芥暟 { switch(key_value) { -// case REC_KEY_UP_SHORT_UP: //鐭寜 -// -// key_state=KEY_SHORT; -// power=4; -// led_state=2; -// break; - case REC_KEY_UP_LONG_DOWN: //闀挎寜 led_state=1; @@ -318,17 +207,17 @@ void _433_fun(void) // if(Key_TypeDef.KEY_STATE_Click==1||KEY_STATE_re==1) return; // set_click(); //璁剧疆鍗曞嚮闀挎寜 - uint8_t ch_mask = adress_ch_flag[adress_index_ture]; + switch(res_data) { case 0x03: //濡傛灉鏄3閿仴鎺ф垨鑰呮槸姝f柟褰㈢櫧鑹查仴鎺 - if(ch_mask & CH_GPIO2){ + if(match_ch & MATCH_CH2){ xc_gpio_toggle_pin(GPIO_2); flash_ch2_state=xc_gpio_read_pin(GPIO_2); } - if(ch_mask & CH_GPIO5){ + if(match_ch & MATCH_CH1){ xc_gpio_toggle_pin(GPIO_5); flash_ch1_state=xc_gpio_read_pin(GPIO_5); } @@ -338,13 +227,12 @@ void _433_fun(void) case 0x04: //濡傛灉鏄粦鑹查暱鏂瑰舰閬ユ帶鎴栬呮き鍦嗛仴鎺у叧闂寜閿 - if(ch_mask & CH_GPIO2) + if(match_ch & MATCH_CH2) { xc_gpio_write_pin(GPIO_2,GPIO_PIN_RESET); flash_ch2_state=xc_gpio_read_pin(GPIO_2); } - - if(ch_mask & CH_GPIO5) + if(match_ch & MATCH_CH1) { xc_gpio_write_pin(GPIO_5,GPIO_PIN_RESET); flash_ch1_state=xc_gpio_read_pin(GPIO_5); @@ -354,13 +242,13 @@ void _433_fun(void) break; case 0x02: //濡傛灉鏄粦鑹查暱鏂瑰舰閬ユ帶鎴栬呮き鍦嗛仴鎺ф墦寮鎸夐敭 - if(ch_mask & CH_GPIO2) + if(match_ch & MATCH_CH2) { xc_gpio_write_pin(GPIO_2,GPIO_PIN_SET); flash_ch2_state=xc_gpio_read_pin(GPIO_2); } - if(ch_mask & CH_GPIO5) + if(match_ch & MATCH_CH1) { xc_gpio_write_pin(GPIO_5,GPIO_PIN_SET); flash_ch1_state=xc_gpio_read_pin(GPIO_5); @@ -391,14 +279,14 @@ void scan_433(void) if(rf433_sw_flag==1) { rf433_sw_flag=0; - power=3; + power=4; key_state=KEY_SHORT; led_state=2; } else if(rf433_sw_flag==2) { rf433_sw_flag=0; - power=4; + power=3; key_state=KEY_SHORT; led_state=2; } @@ -408,9 +296,9 @@ void scan_433(void) adress_H = rf433_frame.addr_h; adress_L = rf433_frame.addr_l; res_data = rf433_frame.key ; - //LOGI("finsh finsh finsh\r\n"); + } - //LOGI("rf433_decoder_flag %d adress_H 0x%02x adress_L 0x%02x res_data 0x%02x\r\n",rf433_decoder_flag,adress_H,adress_L,res_data); + if(power==3 && rf433_decoder_flag==true && key_state==KEY_SHORT ) //鍙屽嚮瀵圭爜GPIO2 { @@ -420,40 +308,31 @@ void scan_433(void) led_state=0; - uint8_t ch_mask=CH_GPIO2; //瀵瑰簲浣嶆帺鐮 -// adress_H=((receive_data>>16)&0xff); //璇诲彇楂樺叓浣嶅湴鍧鐮 -// adress_L=((receive_data>>8)&0xff); //璇诲彇浣庡叓浣嶅湴鍧鐮 - - if(adress_index>4) + if(adress_ch2_index>4) { - adress_index=0; + adress_ch2_index=0; } adress_ture_flag=0; for(i=0;i<5;i++) { - if(adress_H_array[i]==adress_H && adress_L_array[i]==adress_L) + if(adress_H_ch2[i]==adress_H && adress_L_ch2[i]==adress_L) { adress_ture_flag=1; - adress_index_ture=i; //瀛樻斁鎵惧埌鐨勫湴鍧涓嬫爣 - adress_ch_flag[i] |= ch_mask; + break; } } if(adress_ture_flag==0) { - uint8_t current_idx = adress_index ; - adress_H_array[current_idx] = adress_H; - adress_L_array[current_idx] = adress_L; - adress_ch_flag[current_idx] = ch_mask; // 鍒濆鎺╃爜 - adress_index++; + + adress_H_ch2[adress_ch2_index] = adress_H; + adress_L_ch2[adress_ch2_index] = adress_L; + adress_ch2_index++; // 绱㈠紩鑷 } - - - - + } @@ -466,34 +345,26 @@ void scan_433(void) power=2; led_state=0; - uint8_t ch_mask=CH_GPIO5; //瀵瑰簲浣嶆帺鐮 - -// adress_H=((receive_data>>16)&0xff); //璇诲彇楂樺叓浣嶅湴鍧鐮 -// adress_L=((receive_data>>8)&0xff); //璇诲彇浣庡叓浣嶅湴鍧鐮 - - if(adress_index>4) + if(adress_ch1_index>4) { - adress_index=0; + adress_ch1_index=0; } adress_ture_flag=0; for(i=0;i<5;i++) { - if(adress_H_array[i]==adress_H && adress_L_array[i]==adress_L) + if(adress_H_ch1[i]==adress_H && adress_L_ch1[i]==adress_L) { adress_ture_flag=1; - adress_index_ture=i; //瀛樻斁鎵惧埌鐨勫湴鍧涓嬫爣 - adress_ch_flag[i] |= ch_mask; + break; } } if(adress_ture_flag==0) { - uint8_t current_idx = adress_index ; - adress_H_array[current_idx] = adress_H; - adress_L_array[current_idx] = adress_L; - adress_ch_flag[current_idx] = ch_mask; // 鍒濆鎺╃爜 - adress_index++; + adress_H_ch1[adress_ch1_index] = adress_H; + adress_L_ch1[adress_ch1_index] = adress_L; + adress_ch1_index++; // 绱㈠紩鑷 } } @@ -511,19 +382,31 @@ void scan_433(void) { return; } - adress_index_ture = 0xFF; // 榛樿鏃犳晥 + + + // 鍒濆鍖栧尮閰嶇姸鎬 + match_ch = 0; + for(i=0; i<5; i++) { - if( adress_H_array[i] == adress_H && - adress_L_array[i] == adress_L ) - { - adress_index_ture = i; // 鎵惧埌绱㈠紩 + if( adress_H_ch1[i] == adress_H && adress_L_ch1[i] == adress_L ) + { + match_ch|= MATCH_CH1; break; } } - - // 鎵惧埌鏈夋晥绱㈠紩鎵ц - if(adress_index_ture != 0xFF) + + for(i=0; i<5; i++) + { + if(adress_H_ch2[i]==adress_H && adress_L_ch2[i]==adress_L) + { + match_ch|= MATCH_CH2; // 鏍囪鍖归厤鍒伴氶亾2 + break; + } + } + + + if(match_ch != 0) { _433_fun(); flash_run(); @@ -536,10 +419,12 @@ void scan_433(void) if( key_state==KEY_LONG ) { key_state=0; - memset(adress_H_array, 0, sizeof(adress_H_array)); - memset(adress_L_array, 0, sizeof(adress_L_array)); - memset(adress_ch_flag, 0, sizeof(adress_ch_flag)); - adress_index=0; + memset(adress_H_ch1, 0, sizeof(adress_H_ch1)); + memset(adress_H_ch2, 0, sizeof(adress_H_ch2)); + memset(adress_L_ch1, 0, sizeof(adress_L_ch1)); + memset(adress_L_ch2, 0, sizeof(adress_L_ch2)); + adress_ch1_index=0; + adress_ch2_index=0; flash_run(); } diff --git a/project/example/ble/ble_peripheral/app/src/rf433.h b/project/example/ble/ble_peripheral/app/src/rf433.h index 48169e1..2190c9a 100644 --- a/project/example/ble/ble_peripheral/app/src/rf433.h +++ b/project/example/ble/ble_peripheral/app/src/rf433.h @@ -45,33 +45,22 @@ extern uint8_t flash_ch1_state; extern uint8_t flash_ch2_state; -extern uint8_t adress_H_array[5]; -extern uint8_t adress_L_array[5]; -extern uint8_t adress_ch_flag[5]; -extern uint8_t adress_index; extern uint8_t key_state; + +extern uint8_t adress_H_ch1[5]; // 閫氶亾1锛圙PIO5锛夐珮8浣嶅湴鍧 +extern uint8_t adress_L_ch1[5]; // 閫氶亾1浣8浣嶅湴鍧 +extern uint8_t adress_ch1_index; // 閫氶亾1鍦板潃绱㈠紩锛0-4锛 + +extern uint8_t adress_H_ch2[5]; // 閫氶亾2锛圙PIO2锛夐珮8浣嶅湴鍧 +extern uint8_t adress_L_ch2[5]; // 閫氶亾2浣8浣嶅湴鍧 +extern uint8_t adress_ch2_index; // 閫氶亾2鍦板潃绱㈠紩锛0-4锛 + enum { LOW_LEVEL, //0 HIGH_LEVEL //1 }; -union rf433_flag -{ - struct - { - unsigned char study: 1; //琛ㄧず鍗犵敤1浣 - unsigned char long_press_flag:1; - unsigned char short_press_flag:1; - unsigned char current_level: 1; - unsigned char sync_code: 1; - unsigned char decode_success_flag:1; //鏉炬墜妫娴嬫爣蹇 - unsigned char new_remote_flag:1; - unsigned char receive_finish: 1; - unsigned char raised_long_press_flag: 1; - } rf_receive_flag; - unsigned char flag; -}; //鑱斿悎浣撹祴鍒濆 rf_flag = {0} void flash_run(void); @@ -80,7 +69,6 @@ void rf433_gpio_init(void); void chx_gpio_init(void); -void rf433_receive(void); void app_key_callback_handler(uint16_t key_value); diff --git a/project/example/ble/ble_peripheral/app/src/timer.c b/project/example/ble/ble_peripheral/app/src/timer.c index f6349e8..a86fa43 100644 --- a/project/example/ble/ble_peripheral/app/src/timer.c +++ b/project/example/ble/ble_peripheral/app/src/timer.c @@ -162,10 +162,9 @@ __RAM_CODE void timer1_callback(void *context) __RAM_CODE void timer2_callback(void *context) { - //rf433_receive(); + rf433_decoder_sample(RF_DATA); - } diff --git a/project/example/ble/ble_peripheral/app/src/uart_1.c b/project/example/ble/ble_peripheral/app/src/uart_1.c index 9f1d775..93ff42d 100644 --- a/project/example/ble/ble_peripheral/app/src/uart_1.c +++ b/project/example/ble/ble_peripheral/app/src/uart_1.c @@ -1,7 +1,7 @@ #include "uart_1.h" #include "xc_drv_gpio.h" #include "rf433.h" - +//#include "dbg.h" ble_data_msg user_ble_data_msg; ble_data_msg *p_ble_data_msg = NULL; @@ -24,7 +24,7 @@ void scan_uart(uint8_t *arr) checksum += user_rx_buf[i]; } user_rx_buf[5] = checksum; // 鏍¢獙浣 - + //LOGI("%02x %02x %02x %02x %02x %02x\r\n",user_rx_buf[0],user_rx_buf[1],user_rx_buf[2],user_rx_buf[3],user_rx_buf[4],user_rx_buf[5]); switch(user_rx_buf[4]) { case 0x01: diff --git a/project/example/ble/ble_peripheral/app/src/usr_server.h b/project/example/ble/ble_peripheral/app/src/usr_server.h index 8a64eb8..19567ec 100644 --- a/project/example/ble/ble_peripheral/app/src/usr_server.h +++ b/project/example/ble/ble_peripheral/app/src/usr_server.h @@ -21,10 +21,10 @@ #include "xc_gatt_server_api.h" #define CUSTOM_SVC_UUID 0xFFF0 -#define CUSTOM_SVC_RX_CHAR_UUID 0xFFF3 +#define CUSTOM_SVC_RX_CHAR_UUID 0xFFE2 #define CUSTOM_SVC_TX_CHAR_UUID 0xFFF4 -#define CUSTOM_SVC_RX_CHAR_VAL_MAX_LENGTH 20 -#define CUSTOM_SVC_TX_CHAR_VAL_MAX_LENGTH 20 +#define CUSTOM_SVC_RX_CHAR_VAL_MAX_LENGTH 120 +#define CUSTOM_SVC_TX_CHAR_VAL_MAX_LENGTH 120 enum cust_svc { diff --git a/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map b/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map index eb75677..18b3b43 100644 --- a/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map +++ b/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map @@ -55,7 +55,6 @@ Section Cross References app_task.o(i.app_set_adv_data) refers to rt_memclr.o(.text) for __aeabi_memclr4 app_task.o(i.app_set_adv_data) refers to rt_memcpy.o(.text) for __aeabi_memcpy app_task.o(i.app_set_adv_data) refers to app_task.o(.data) for .data - app_task.o(i.app_set_adv_data) refers to arch_main.o(.bss) for adv_info app_task.o(i.app_set_dev_name) refers to rt_memcpy.o(.text) for __aeabi_memcpy app_task.o(i.app_set_dev_name) refers to app_task.o(.data) for .data app_task.o(i.app_set_scan_rsp_data) refers to rt_memclr.o(.text) for __aeabi_memclr4 @@ -629,12 +628,10 @@ Section Cross References rf433.o(i.chx_gpio_init) refers to rf433.o(.data) for .data rf433.o(i.flash_run) refers to timeslice.o(i.set_TaskComps_timer) for set_TaskComps_timer rf433.o(i.rf433_gpio_init) refers to xc_drv_gpio.o(i.xc_gpio_init) for xc_gpio_init - rf433.o(i.rf433_receive) refers to xc_drv_gpio.o(i.xc_gpio_read_pin) for xc_gpio_read_pin - rf433.o(i.rf433_receive) refers to rf433.o(.data) for .data rf433.o(i.scan_433) refers to rf433_decoder.o(i.rf433_decoder_get_frame) for rf433_decoder_get_frame rf433.o(i.scan_433) refers to rf433.o(i._433_fun) for _433_fun rf433.o(i.scan_433) refers to rf433.o(i.flash_run) for flash_run - rf433.o(i.scan_433) refers to rt_memclr.o(.text) for __aeabi_memclr4 + rf433.o(i.scan_433) refers to rt_memclr.o(.text) for __aeabi_memclr rf433.o(i.scan_433) refers to rf433.o(.bss) for .bss rf433.o(i.scan_433) refers to rf433.o(.data) for .data rf433.o(i.scan_433) refers to switch_s.o(.data) for rf433_sw_flag @@ -654,10 +651,10 @@ Section Cross References fmc_spi_1.o(i.fmc_spi_read) refers to fmc_spi_1.o(.bss) for .bss fmc_spi_1.o(i.read_user_data) refers to fmc_spi_1.o(i.get_checksum) for get_checksum fmc_spi_1.o(i.read_user_data) refers to fmc_spi_1.o(.bss) for .bss - fmc_spi_1.o(i.read_user_data) refers to rf433.o(.data) for adress_H_array + fmc_spi_1.o(i.read_user_data) refers to rf433.o(.data) for adress_H_ch1 fmc_spi_1.o(i.wright_user_data) refers to fmc_spi_1.o(i.get_checksum) for get_checksum fmc_spi_1.o(i.wright_user_data) refers to fmc_spi_1.o(.bss) for .bss - fmc_spi_1.o(i.wright_user_data) refers to rf433.o(.data) for adress_H_array + fmc_spi_1.o(i.wright_user_data) refers to rf433.o(.data) for adress_H_ch1 key.o(i.app_key_click_detection) refers to key.o(i.get_click_event) for get_click_event key.o(i.app_key_click_detection) refers to key.o(i.key_click_state_reset) for key_click_state_reset key.o(i.app_key_click_detection) refers to key.o(.data) for .data @@ -1197,7 +1194,7 @@ Removing Unused input sections from the image. Removing app_batt.o(.data), (2 bytes). Removing app_task.o(.emb_text), (8 bytes). Removing app_task.o(i.app_set_dev_name), (36 bytes). - Removing app_task.o(i.app_set_scan_rsp_data), (80 bytes). + Removing app_task.o(i.app_set_scan_rsp_data), (76 bytes). Removing app_task.o(i.app_stop_advertising), (32 bytes). Removing arch_main.o(.emb_text), (8 bytes). Removing arch_main.o(i.stack_tag), (48 bytes). @@ -1401,8 +1398,8 @@ Removing Unused input sections from the image. Removing timeslice.o(.emb_text), (8 bytes). Removing uart_1.o(.emb_text), (8 bytes). Removing rf433.o(.emb_text), (8 bytes). - Removing rf433.o(i.rf433_receive), (248 bytes). Removing rf433.o(.data), (1 bytes). + Removing rf433.o(.data), (8 bytes). Removing switch_s.o(.emb_text), (8 bytes). Removing fmc_spi_1.o(.emb_text), (8 bytes). Removing key.o(.emb_text), (8 bytes). @@ -1432,7 +1429,7 @@ Removing Unused input sections from the image. Removing rf433_decoder.o(.emb_text), (8 bytes). Removing rf433_decoder.o(i.rf433_decoder_get_lost_count), (12 bytes). -249 unused section(s) (total 14480 bytes) removed from the image. +249 unused section(s) (total 14236 bytes) removed from the image. ============================================================================== @@ -1487,136 +1484,136 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) ../clib/../cmprslib/zerorunl2.c 0x00000000 Number 0 __dczerorl2.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE - ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE + ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_locale.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_locale_intlibspace.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0_sigfpe.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0_sigfpe.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_ctype_table.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_locale_intlibspace.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0_sigfpe.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0_sigfpe.o ABSOLUTE ../clib/angel/scatterp.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 tempstk.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 tempstk.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/bigflt.c 0x00000000 Number 0 bigflt0.o ABSOLUTE ../clib/btod.c 0x00000000 Number 0 btod.o ABSOLUTE - ../clib/division.c 0x00000000 Number 0 lludiv.o ABSOLUTE ../clib/division.c 0x00000000 Number 0 rtudiv10.o ABSOLUTE ../clib/division.c 0x00000000 Number 0 lludiv10.o ABSOLUTE - ../clib/division.s 0x00000000 Number 0 aeabi_sdiv_div0.o ABSOLUTE + ../clib/division.c 0x00000000 Number 0 lludiv.o ABSOLUTE ../clib/division.s 0x00000000 Number 0 aeabi_sdiv.o ABSOLUTE + ../clib/division.s 0x00000000 Number 0 aeabi_sdiv_div0.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE ../clib/locale.c 0x00000000 Number 0 _wcrtomb.o ABSOLUTE - ../clib/locale.s 0x00000000 Number 0 lc_numeric_c.o ABSOLUTE ../clib/locale.s 0x00000000 Number 0 lc_ctype_c.o ABSOLUTE + ../clib/locale.s 0x00000000 Number 0 lc_numeric_c.o ABSOLUTE ../clib/longlong.c 0x00000000 Number 0 llmul.o ABSOLUTE - ../clib/memcpset.c 0x00000000 Number 0 rt_memclr.o ABSOLUTE - ../clib/memcpset.c 0x00000000 Number 0 rt_memcpy.o ABSOLUTE ../clib/memcpset.c 0x00000000 Number 0 rt_memcpy.o ABSOLUTE ../clib/memcpset.c 0x00000000 Number 0 aeabi_memset.o ABSOLUTE + ../clib/memcpset.c 0x00000000 Number 0 rt_memcpy.o ABSOLUTE + ../clib/memcpset.c 0x00000000 Number 0 rt_memclr.o ABSOLUTE ../clib/misc.s 0x00000000 Number 0 printf_stubs.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_oct_int_ll.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_charcount.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_wctomb.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_longlong_dec.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_truncate.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_oct_int.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_fp_dec.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_fp_infnan.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_fp_hex.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_wchar.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_wchar.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_fp_hex.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_fp_dec.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ptr.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_dec.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_truncate.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_pad.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_fp_infnan.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_oct_ll.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_n.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_g.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_d.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_s.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_p.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_i.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_llu.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_lc.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_lld.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_ls.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_llx.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_lli.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_llo.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_e.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_longlong_dec.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_wctomb.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_charcount.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 printf.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_ll.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_llu.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_ls.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_e.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_f.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_u.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_a.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_i.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_lc.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_d.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_o.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_l.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_p.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_n.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_c.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_llx.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_lld.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_lli.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_a.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_g.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_s.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_llo.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_l.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_fpe_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE ../clib/string.c 0x00000000 Number 0 memcmp.o ABSOLUTE @@ -1628,8 +1625,8 @@ Image Symbol Table ../fplib/cfplib/fdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE ../fplib/cfplib/ffix.c 0x00000000 Number 0 dfixui.o ABSOLUTE ../fplib/cfplib/ffix.c 0x00000000 Number 0 ffixui.o ABSOLUTE - ../fplib/cfplib/fflt.c 0x00000000 Number 0 fflti.o ABSOLUTE ../fplib/cfplib/fflt.c 0x00000000 Number 0 dflti.o ABSOLUTE + ../fplib/cfplib/fflt.c 0x00000000 Number 0 fflti.o ABSOLUTE ../fplib/cfplib/fpinit.c 0x00000000 Number 0 fpinit.o ABSOLUTE ../fplib/cfplib/ieee_status.c 0x00000000 Number 0 ieee_status.o ABSOLUTE ../fplib/fmul6m.s 0x00000000 Number 0 fmul.o ABSOLUTE @@ -1773,43 +1770,41 @@ Image Symbol Table .data 0x10002df8 Section 24 timer.o(.data) .data 0x10002e10 Section 144 timeslice.o(.data) .data 0x10002ea0 Section 12 uart_1.o(.data) - .data 0x10002eac Section 60 rf433.o(.data) - power 0x10002eb1 Data 1 rf433.o(.data) - long_time 0x10002ebe Data 2 rf433.o(.data) - time_300ms 0x10002ec0 Data 2 rf433.o(.data) - .data 0x10002ee8 Section 22 switch_s.o(.data) - s1_state 0x10002eed Data 1 switch_s.o(.data) - s2_state 0x10002eee Data 1 switch_s.o(.data) - s1_debounce_cnt 0x10002efa Data 2 switch_s.o(.data) - s2_debounce_cnt 0x10002efc Data 2 switch_s.o(.data) - .data 0x10002f00 Section 20 key.o(.data) - last_key_val 0x10002f00 Data 2 key.o(.data) - key_down_count 0x10002f02 Data 2 key.o(.data) - key_up_count 0x10002f04 Data 2 key.o(.data) - .data 0x10002f14 Section 1 led.o(.data) - .data 0x10002f15 Section 1 led.o(.data) - pwm_state 0x10002f15 Data 1 led.o(.data) - .data 0x10002f16 Section 1 ota_flash_interface.o(.data) - .data 0x10002f18 Section 17 ota_protocol.o(.data) - .data 0x10002f2a Section 4 ota_server.o(.data) - .bss 0x10002f30 Section 28 arch_main.o(.bss) - .bss 0x10002f4c Section 24 nvds.o(.bss) - .bss 0x10002f64 Section 64 xc_drv_adc.o(.bss) - adc_value 0x10002f64 Data 64 xc_drv_adc.o(.bss) - .bss 0x10002fa4 Section 16 xc_drv_clock.o(.bss) - .bss 0x10002fb4 Section 12 xc_drv_uart.o(.bss) - .bss 0x10002fc0 Section 12 rf433.o(.bss) - .bss 0x10002fcc Section 512 fmc_spi_1.o(.bss) - .bss 0x100031cc Section 272 ota_flash_interface.o(.bss) - .bss 0x100032dc Section 276 ota_protocol.o(.bss) - fotas_write_env 0x100032dc Data 276 ota_protocol.o(.bss) - .bss 0x100033f0 Section 1102 rf433_decoder.o(.bss) - s_fifo 0x100033f0 Data 1036 rf433_decoder.o(.bss) - s_dec 0x100037fc Data 52 rf433_decoder.o(.bss) - s_repair 0x10003830 Data 14 rf433_decoder.o(.bss) - .bss 0x10003840 Section 96 libspace.o(.bss) - HEAP 0x100038a0 Section 0 startup_xinc.o(HEAP) - Heap_Mem 0x100038a0 Data 0 startup_xinc.o(HEAP) + .data 0x10002eac Section 36 rf433.o(.data) + power 0x10002eaf Data 1 rf433.o(.data) + .data 0x10002ed0 Section 22 switch_s.o(.data) + s1_state 0x10002ed5 Data 1 switch_s.o(.data) + s2_state 0x10002ed6 Data 1 switch_s.o(.data) + s1_debounce_cnt 0x10002ee2 Data 2 switch_s.o(.data) + s2_debounce_cnt 0x10002ee4 Data 2 switch_s.o(.data) + .data 0x10002ee8 Section 20 key.o(.data) + last_key_val 0x10002ee8 Data 2 key.o(.data) + key_down_count 0x10002eea Data 2 key.o(.data) + key_up_count 0x10002eec Data 2 key.o(.data) + .data 0x10002efc Section 1 led.o(.data) + .data 0x10002efd Section 1 led.o(.data) + pwm_state 0x10002efd Data 1 led.o(.data) + .data 0x10002efe Section 1 ota_flash_interface.o(.data) + .data 0x10002f00 Section 17 ota_protocol.o(.data) + .data 0x10002f12 Section 4 ota_server.o(.data) + .bss 0x10002f18 Section 28 arch_main.o(.bss) + .bss 0x10002f34 Section 24 nvds.o(.bss) + .bss 0x10002f4c Section 64 xc_drv_adc.o(.bss) + adc_value 0x10002f4c Data 64 xc_drv_adc.o(.bss) + .bss 0x10002f8c Section 16 xc_drv_clock.o(.bss) + .bss 0x10002f9c Section 12 xc_drv_uart.o(.bss) + .bss 0x10002fa8 Section 12 rf433.o(.bss) + .bss 0x10002fb4 Section 512 fmc_spi_1.o(.bss) + .bss 0x100031b4 Section 272 ota_flash_interface.o(.bss) + .bss 0x100032c4 Section 276 ota_protocol.o(.bss) + fotas_write_env 0x100032c4 Data 276 ota_protocol.o(.bss) + .bss 0x100033d8 Section 1102 rf433_decoder.o(.bss) + s_fifo 0x100033d8 Data 1036 rf433_decoder.o(.bss) + s_dec 0x100037e4 Data 52 rf433_decoder.o(.bss) + s_repair 0x10003818 Data 14 rf433_decoder.o(.bss) + .bss 0x10003828 Section 96 libspace.o(.bss) + HEAP 0x10003888 Section 0 startup_xinc.o(HEAP) + Heap_Mem 0x10003888 Data 0 startup_xinc.o(HEAP) RESET 0x11012000 Section 192 startup_xinc.o(RESET) !!!main 0x110120c0 Section 8 __main.o(!!!main) !!!scatter 0x110120c8 Section 60 __scatter.o(!!!scatter) @@ -2048,146 +2043,146 @@ Image Symbol Table pwm_freq_to_period 0x11016205 Thumb Code 148 xc_drv_pwm.o(i.pwm_freq_to_period) i.pwm_pin_set 0x110162e0 Section 0 xc_drv_pwm.o(i.pwm_pin_set) i.read_user_data 0x110163a0 Section 0 fmc_spi_1.o(i.read_user_data) - i.reverse_verif_is_true 0x11016424 Section 0 xc_drv_fmc_spi.o(i.reverse_verif_is_true) - i.rf433_abs_diff_u16 0x11016432 Section 0 rf433_decoder.o(i.rf433_abs_diff_u16) - rf433_abs_diff_u16 0x11016433 Thumb Code 14 rf433_decoder.o(i.rf433_abs_diff_u16) - i.rf433_decode_reset 0x11016440 Section 0 rf433_decoder.o(i.rf433_decode_reset) - rf433_decode_reset 0x11016441 Thumb Code 32 rf433_decoder.o(i.rf433_decode_reset) - i.rf433_decoder_get_frame 0x11016464 Section 0 rf433_decoder.o(i.rf433_decoder_get_frame) - i.rf433_decoder_init 0x11016488 Section 0 rf433_decoder.o(i.rf433_decoder_init) - i.rf433_decoder_process 0x110164bc Section 0 rf433_decoder.o(i.rf433_decoder_process) - i.rf433_decoder_sample 0x110164fc Section 0 rf433_decoder.o(i.rf433_decoder_sample) - i.rf433_gpio_init 0x11016570 Section 0 rf433.o(i.rf433_gpio_init) - i.rf433_is_long 0x11016590 Section 0 rf433_decoder.o(i.rf433_is_long) - rf433_is_long 0x11016591 Thumb Code 22 rf433_decoder.o(i.rf433_is_long) - i.rf433_is_short 0x110165ac Section 0 rf433_decoder.o(i.rf433_is_short) - rf433_is_short 0x110165ad Thumb Code 22 rf433_decoder.o(i.rf433_is_short) - i.rf433_limit_t 0x110165c8 Section 0 rf433_decoder.o(i.rf433_limit_t) - rf433_limit_t 0x110165c9 Thumb Code 16 rf433_decoder.o(i.rf433_limit_t) - i.rf433_output_code 0x110165d8 Section 0 rf433_decoder.o(i.rf433_output_code) - rf433_output_code 0x110165d9 Thumb Code 84 rf433_decoder.o(i.rf433_output_code) - i.rf433_process_clean_pulse 0x11016634 Section 0 rf433_decoder.o(i.rf433_process_clean_pulse) - rf433_process_clean_pulse 0x11016635 Thumb Code 538 rf433_decoder.o(i.rf433_process_clean_pulse) - i.rf433_repair_input_pulse 0x1101687c Section 0 rf433_decoder.o(i.rf433_repair_input_pulse) - rf433_repair_input_pulse 0x1101687d Thumb Code 188 rf433_decoder.o(i.rf433_repair_input_pulse) - i.rf433_repair_reset 0x1101693c Section 0 rf433_decoder.o(i.rf433_repair_reset) - rf433_repair_reset 0x1101693d Thumb Code 20 rf433_decoder.o(i.rf433_repair_reset) - i.rf433_update_range_by_t 0x11016954 Section 0 rf433_decoder.o(i.rf433_update_range_by_t) - rf433_update_range_by_t 0x11016955 Thumb Code 104 rf433_decoder.o(i.rf433_update_range_by_t) - i.rom_env_host_init 0x110169c0 Section 0 arch_main.o(i.rom_env_host_init) - i.scan_433 0x110169e8 Section 0 rf433.o(i.scan_433) - i.scan_uart 0x11016b98 Section 0 uart_1.o(i.scan_uart) - i.set_TaskComps_timer 0x11016c28 Section 0 timeslice.o(i.set_TaskComps_timer) - i.set_single_addr_name 0x11016c38 Section 0 arch_main.o(i.set_single_addr_name) - i.set_vector 0x11016cd4 Section 0 system_xinc.o(i.set_vector) - i.slave_send_data 0x11016d10 Section 0 usr_server.o(i.slave_send_data) - i.srv_get_hdl_from_att_idx 0x11016dac Section 0 usr_server.o(i.srv_get_hdl_from_att_idx) - i.switch_init 0x11016dbc Section 0 switch_s.o(i.switch_init) - i.systick_callback 0x11016e2c Section 0 xc_drv_systick.o(i.systick_callback) - i.timer0_2_init 0x11016e30 Section 0 timer.o(i.timer0_2_init) - i.timer3_callback 0x11016eb8 Section 0 xc_drv_timer.o(i.timer3_callback) - i.trigger_check_process 0x11016ebc Section 0 switch_s.o(i.trigger_check_process) - i.uart_user_handler 0x1101712c Section 0 xc_drv_uart.o(i.uart_user_handler) - i.updateTimer 0x110171dc Section 0 timer.o(i.updateTimer) - i.wdt_init 0x110171f2 Section 0 arch_main.o(i.wdt_init) - i.wright_user_data 0x1101720c Section 0 fmc_spi_1.o(i.wright_user_data) - i.xc_adc_data_average 0x11017294 Section 0 xc_drv_adc.o(i.xc_adc_data_average) - i.xc_ble_activity_delete 0x11017310 Section 0 xc_gap_api.o(i.xc_ble_activity_delete) - i.xc_bor_init 0x11017338 Section 0 xc_drv_bor.o(i.xc_bor_init) - i.xc_clock_bbpll_common_cfg 0x11017368 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) - i.xc_clock_bbpll_freq_cfg 0x110173a8 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) - i.xc_clock_hfclk_in_get 0x11017494 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_in_get) - i.xc_clock_hfclk_set 0x110174a0 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_set) - i.xc_clock_init_cfg 0x1101757c Section 0 xc_drv_clock.o(i.xc_clock_init_cfg) - i.xc_clock_lfclk_in_get 0x11017594 Section 0 xc_drv_clock.o(i.xc_clock_lfclk_in_get) - i.xc_clock_lfclk_set 0x110175a0 Section 0 xc_drv_clock.o(i.xc_clock_lfclk_set) - i.xc_fota_dev_ack_cmd 0x1101760c Section 0 ota_protocol.o(i.xc_fota_dev_ack_cmd) - i.xc_gpio_direction_config 0x11017634 Section 0 xc_drv_gpio.o(i.xc_gpio_direction_config) - i.xc_gpio_fun_sel 0x11017650 Section 0 xc_drv_gpio.o(i.xc_gpio_fun_sel) - i.xc_gpio_init 0x11017678 Section 0 xc_drv_gpio.o(i.xc_gpio_init) - i.xc_gpio_it_config 0x110176a8 Section 0 xc_drv_gpio.o(i.xc_gpio_it_config) - i.xc_gpio_mux_ctl 0x110176dc Section 0 xc_drv_gpio.o(i.xc_gpio_mux_ctl) - i.xc_gpio_pull_config 0x11017728 Section 0 xc_drv_gpio.o(i.xc_gpio_pull_config) - i.xc_gpio_read_pin 0x11017810 Section 0 xc_drv_gpio.o(i.xc_gpio_read_pin) - i.xc_gpio_toggle_pin 0x11017834 Section 0 xc_drv_gpio.o(i.xc_gpio_toggle_pin) - i.xc_gpio_write_pin 0x11017860 Section 0 xc_drv_gpio.o(i.xc_gpio_write_pin) - i.xc_hfclk_set 0x1101787c Section 0 xc_drv_clock.o(i.xc_hfclk_set) - i.xc_ota_schedule 0x110178bc Section 0 ota_protocol.o(i.xc_ota_schedule) - i.xc_pwm_dutycycle_set 0x11017920 Section 0 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) - i.xc_pwm_init 0x11017990 Section 0 xc_drv_pwm.o(i.xc_pwm_init) - i.xc_pwm_start_all 0x11017a70 Section 0 xc_drv_pwm.o(i.xc_pwm_start_all) - i.xc_pwr_vol_set 0x11017a8c Section 0 xc_drv_pwr.o(i.xc_pwr_vol_set) - i.xc_rc32k_soft_calib_set 0x11017ae8 Section 0 xc_drv_calib.o(i.xc_rc32k_soft_calib_set) - i.xc_system_param_check 0x11017be0 Section 0 xc_drv_clock.o(i.xc_system_param_check) - i.xc_systick_unit_get 0x11017dfc Section 0 xc_drv_clock.o(i.xc_systick_unit_get) - i.xc_timer_init 0x11017e08 Section 0 xc_drv_timer.o(i.xc_timer_init) - i.xc_timer_set_value 0x11017f28 Section 0 xc_drv_timer.o(i.xc_timer_set_value) - i.xc_timer_start 0x11017f50 Section 0 xc_drv_timer.o(i.xc_timer_start) - i.xc_timer_us_to_ticks 0x11017f8c Section 0 xc_drv_timer.o(i.xc_timer_us_to_ticks) - xc_timer_us_to_ticks 0x11017f8d Thumb Code 230 xc_drv_timer.o(i.xc_timer_us_to_ticks) - i.xc_uart_init 0x11018080 Section 0 xc_drv_uart.o(i.xc_uart_init) - i.xc_unique_identification_read 0x11018270 Section 0 xc_drv_fmc_spi.o(i.xc_unique_identification_read) - i.xc_wdt_init 0x11018358 Section 0 xc_drv_wdt.o(i.xc_wdt_init) - i.xc_wdt_refresh 0x110183c0 Section 0 xc_drv_wdt.o(i.xc_wdt_refresh) - i.xc_wdt_reload 0x11018400 Section 0 xc_drv_wdt.o(i.xc_wdt_reload) - i.xc_wdt_start 0x11018444 Section 0 xc_drv_wdt.o(i.xc_wdt_start) - locale$$code 0x11018478 Section 44 lc_numeric_c.o(locale$$code) - locale$$code 0x110184a4 Section 44 lc_ctype_c.o(locale$$code) - x$fpl$fmul 0x110184d0 Section 176 fmul.o(x$fpl$fmul) - x$fpl$printf1 0x11018580 Section 16 printf1.o(x$fpl$printf1) - x$fpl$printf2 0x11018590 Section 16 printf2.o(x$fpl$printf2) - .constdata 0x110185a0 Section 8 app_task.o(.constdata) - x$fpl$usenofp 0x110185a0 Section 0 usenofp.o(x$fpl$usenofp) - .constdata 0x110185a8 Section 56 app_task.o(.constdata) - .constdata 0x110185e0 Section 2 arch_main.o(.constdata) - .constdata 0x110185e4 Section 40 app_sec.o(.constdata) - .constdata 0x1101860c Section 8 app_sec.o(.constdata) - .constdata 0x11018614 Section 134 usr_server.o(.constdata) - custom_server_atts 0x11018614 Data 36 usr_server.o(.constdata) - custom_src_cb 0x11018638 Data 20 usr_server.o(.constdata) - __func__ 0x1101864c Data 25 usr_server.o(.constdata) - __func__ 0x11018665 Data 27 usr_server.o(.constdata) - __func__ 0x11018680 Data 26 usr_server.o(.constdata) - .constdata 0x1101869a Section 4 nvds.o(.constdata) - .constdata 0x1101869e Section 31 xc_drv_pwm.o(.constdata) - pwm_offset 0x1101869e Data 12 xc_drv_pwm.o(.constdata) - __func__ 0x110186aa Data 19 xc_drv_pwm.o(.constdata) - .constdata 0x110186bd Section 4 xc_drv_timer.o(.constdata) - timer_offset 0x110186bd Data 4 xc_drv_timer.o(.constdata) - .constdata 0x110186c2 Section 6 xc_drv_uart.o(.constdata) - uart_offset 0x110186c2 Data 6 xc_drv_uart.o(.constdata) - .constdata 0x110186c8 Section 16 ota_protocol.o(.constdata) - __func__ 0x110186c8 Data 16 ota_protocol.o(.constdata) - .constdata 0x110186d8 Section 40 _printf_hex_int_ll_ptr.o(.constdata) - uc_hextab 0x110186d8 Data 20 _printf_hex_int_ll_ptr.o(.constdata) - lc_hextab 0x110186ec Data 20 _printf_hex_int_ll_ptr.o(.constdata) - .constdata 0x11018700 Section 17 __printf_flags_ss_wp.o(.constdata) - maptable 0x11018700 Data 17 __printf_flags_ss_wp.o(.constdata) - .constdata 0x11018711 Section 64 fdiv.o(.constdata) - fdiv_tab 0x11018711 Data 64 fdiv.o(.constdata) - .constdata 0x11018754 Section 8 _printf_wctomb.o(.constdata) - initial_mbstate 0x11018754 Data 8 _printf_wctomb.o(.constdata) - .constdata 0x1101875c Section 38 _printf_fp_hex.o(.constdata) - lc_hextab 0x1101875c Data 19 _printf_fp_hex.o(.constdata) - uc_hextab 0x1101876f Data 19 _printf_fp_hex.o(.constdata) - .constdata 0x11018784 Section 148 bigflt0.o(.constdata) - tenpwrs_x 0x11018784 Data 60 bigflt0.o(.constdata) - tenpwrs_i 0x110187c0 Data 64 bigflt0.o(.constdata) - .conststring 0x11018818 Section 207 app_task.o(.conststring) - .conststring 0x110188e8 Section 85 usr_server.o(.conststring) - .conststring 0x11018940 Section 98 xc_drv_pwm.o(.conststring) - .conststring 0x110189a4 Section 181 rf433_decoder.o(.conststring) - locale$$data 0x11018aac Section 28 lc_numeric_c.o(locale$$data) - __lcnum_c_name 0x11018ab0 Data 2 lc_numeric_c.o(locale$$data) - __lcnum_c_start 0x11018ab8 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_point 0x11018ac4 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_thousands 0x11018ac6 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_grouping 0x11018ac7 Data 0 lc_numeric_c.o(locale$$data) - locale$$data 0x11018ac8 Section 272 lc_ctype_c.o(locale$$data) - __lcnum_c_end 0x11018ac8 Data 0 lc_numeric_c.o(locale$$data) - __lcctype_c_name 0x11018acc Data 2 lc_ctype_c.o(locale$$data) - __lcctype_c_start 0x11018ad4 Data 0 lc_ctype_c.o(locale$$data) - __lcctype_c_end 0x11018bd8 Data 0 lc_ctype_c.o(locale$$data) + i.reverse_verif_is_true 0x11016448 Section 0 xc_drv_fmc_spi.o(i.reverse_verif_is_true) + i.rf433_abs_diff_u16 0x11016456 Section 0 rf433_decoder.o(i.rf433_abs_diff_u16) + rf433_abs_diff_u16 0x11016457 Thumb Code 14 rf433_decoder.o(i.rf433_abs_diff_u16) + i.rf433_decode_reset 0x11016464 Section 0 rf433_decoder.o(i.rf433_decode_reset) + rf433_decode_reset 0x11016465 Thumb Code 32 rf433_decoder.o(i.rf433_decode_reset) + i.rf433_decoder_get_frame 0x11016488 Section 0 rf433_decoder.o(i.rf433_decoder_get_frame) + i.rf433_decoder_init 0x110164ac Section 0 rf433_decoder.o(i.rf433_decoder_init) + i.rf433_decoder_process 0x110164e0 Section 0 rf433_decoder.o(i.rf433_decoder_process) + i.rf433_decoder_sample 0x11016520 Section 0 rf433_decoder.o(i.rf433_decoder_sample) + i.rf433_gpio_init 0x11016594 Section 0 rf433.o(i.rf433_gpio_init) + i.rf433_is_long 0x110165b4 Section 0 rf433_decoder.o(i.rf433_is_long) + rf433_is_long 0x110165b5 Thumb Code 22 rf433_decoder.o(i.rf433_is_long) + i.rf433_is_short 0x110165d0 Section 0 rf433_decoder.o(i.rf433_is_short) + rf433_is_short 0x110165d1 Thumb Code 22 rf433_decoder.o(i.rf433_is_short) + i.rf433_limit_t 0x110165ec Section 0 rf433_decoder.o(i.rf433_limit_t) + rf433_limit_t 0x110165ed Thumb Code 16 rf433_decoder.o(i.rf433_limit_t) + i.rf433_output_code 0x110165fc Section 0 rf433_decoder.o(i.rf433_output_code) + rf433_output_code 0x110165fd Thumb Code 84 rf433_decoder.o(i.rf433_output_code) + i.rf433_process_clean_pulse 0x11016658 Section 0 rf433_decoder.o(i.rf433_process_clean_pulse) + rf433_process_clean_pulse 0x11016659 Thumb Code 538 rf433_decoder.o(i.rf433_process_clean_pulse) + i.rf433_repair_input_pulse 0x110168a0 Section 0 rf433_decoder.o(i.rf433_repair_input_pulse) + rf433_repair_input_pulse 0x110168a1 Thumb Code 188 rf433_decoder.o(i.rf433_repair_input_pulse) + i.rf433_repair_reset 0x11016960 Section 0 rf433_decoder.o(i.rf433_repair_reset) + rf433_repair_reset 0x11016961 Thumb Code 20 rf433_decoder.o(i.rf433_repair_reset) + i.rf433_update_range_by_t 0x11016978 Section 0 rf433_decoder.o(i.rf433_update_range_by_t) + rf433_update_range_by_t 0x11016979 Thumb Code 104 rf433_decoder.o(i.rf433_update_range_by_t) + i.rom_env_host_init 0x110169e4 Section 0 arch_main.o(i.rom_env_host_init) + i.scan_433 0x11016a0c Section 0 rf433.o(i.scan_433) + i.scan_uart 0x11016c00 Section 0 uart_1.o(i.scan_uart) + i.set_TaskComps_timer 0x11016c90 Section 0 timeslice.o(i.set_TaskComps_timer) + i.set_single_addr_name 0x11016ca0 Section 0 arch_main.o(i.set_single_addr_name) + i.set_vector 0x11016d3c Section 0 system_xinc.o(i.set_vector) + i.slave_send_data 0x11016d78 Section 0 usr_server.o(i.slave_send_data) + i.srv_get_hdl_from_att_idx 0x11016e14 Section 0 usr_server.o(i.srv_get_hdl_from_att_idx) + i.switch_init 0x11016e24 Section 0 switch_s.o(i.switch_init) + i.systick_callback 0x11016e94 Section 0 xc_drv_systick.o(i.systick_callback) + i.timer0_2_init 0x11016e98 Section 0 timer.o(i.timer0_2_init) + i.timer3_callback 0x11016f20 Section 0 xc_drv_timer.o(i.timer3_callback) + i.trigger_check_process 0x11016f24 Section 0 switch_s.o(i.trigger_check_process) + i.uart_user_handler 0x11017194 Section 0 xc_drv_uart.o(i.uart_user_handler) + i.updateTimer 0x11017244 Section 0 timer.o(i.updateTimer) + i.wdt_init 0x1101725a Section 0 arch_main.o(i.wdt_init) + i.wright_user_data 0x11017274 Section 0 fmc_spi_1.o(i.wright_user_data) + i.xc_adc_data_average 0x11017320 Section 0 xc_drv_adc.o(i.xc_adc_data_average) + i.xc_ble_activity_delete 0x1101739c Section 0 xc_gap_api.o(i.xc_ble_activity_delete) + i.xc_bor_init 0x110173c4 Section 0 xc_drv_bor.o(i.xc_bor_init) + i.xc_clock_bbpll_common_cfg 0x110173f4 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) + i.xc_clock_bbpll_freq_cfg 0x11017434 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) + i.xc_clock_hfclk_in_get 0x11017520 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_in_get) + i.xc_clock_hfclk_set 0x1101752c Section 0 xc_drv_clock.o(i.xc_clock_hfclk_set) + i.xc_clock_init_cfg 0x11017608 Section 0 xc_drv_clock.o(i.xc_clock_init_cfg) + i.xc_clock_lfclk_in_get 0x11017620 Section 0 xc_drv_clock.o(i.xc_clock_lfclk_in_get) + i.xc_clock_lfclk_set 0x1101762c Section 0 xc_drv_clock.o(i.xc_clock_lfclk_set) + i.xc_fota_dev_ack_cmd 0x11017698 Section 0 ota_protocol.o(i.xc_fota_dev_ack_cmd) + i.xc_gpio_direction_config 0x110176c0 Section 0 xc_drv_gpio.o(i.xc_gpio_direction_config) + i.xc_gpio_fun_sel 0x110176dc Section 0 xc_drv_gpio.o(i.xc_gpio_fun_sel) + i.xc_gpio_init 0x11017704 Section 0 xc_drv_gpio.o(i.xc_gpio_init) + i.xc_gpio_it_config 0x11017734 Section 0 xc_drv_gpio.o(i.xc_gpio_it_config) + i.xc_gpio_mux_ctl 0x11017768 Section 0 xc_drv_gpio.o(i.xc_gpio_mux_ctl) + i.xc_gpio_pull_config 0x110177b4 Section 0 xc_drv_gpio.o(i.xc_gpio_pull_config) + i.xc_gpio_read_pin 0x1101789c Section 0 xc_drv_gpio.o(i.xc_gpio_read_pin) + i.xc_gpio_toggle_pin 0x110178c0 Section 0 xc_drv_gpio.o(i.xc_gpio_toggle_pin) + i.xc_gpio_write_pin 0x110178ec Section 0 xc_drv_gpio.o(i.xc_gpio_write_pin) + i.xc_hfclk_set 0x11017908 Section 0 xc_drv_clock.o(i.xc_hfclk_set) + i.xc_ota_schedule 0x11017948 Section 0 ota_protocol.o(i.xc_ota_schedule) + i.xc_pwm_dutycycle_set 0x110179ac Section 0 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) + i.xc_pwm_init 0x11017a1c Section 0 xc_drv_pwm.o(i.xc_pwm_init) + i.xc_pwm_start_all 0x11017afc Section 0 xc_drv_pwm.o(i.xc_pwm_start_all) + i.xc_pwr_vol_set 0x11017b18 Section 0 xc_drv_pwr.o(i.xc_pwr_vol_set) + i.xc_rc32k_soft_calib_set 0x11017b74 Section 0 xc_drv_calib.o(i.xc_rc32k_soft_calib_set) + i.xc_system_param_check 0x11017c6c Section 0 xc_drv_clock.o(i.xc_system_param_check) + i.xc_systick_unit_get 0x11017e88 Section 0 xc_drv_clock.o(i.xc_systick_unit_get) + i.xc_timer_init 0x11017e94 Section 0 xc_drv_timer.o(i.xc_timer_init) + i.xc_timer_set_value 0x11017fb4 Section 0 xc_drv_timer.o(i.xc_timer_set_value) + i.xc_timer_start 0x11017fdc Section 0 xc_drv_timer.o(i.xc_timer_start) + i.xc_timer_us_to_ticks 0x11018018 Section 0 xc_drv_timer.o(i.xc_timer_us_to_ticks) + xc_timer_us_to_ticks 0x11018019 Thumb Code 230 xc_drv_timer.o(i.xc_timer_us_to_ticks) + i.xc_uart_init 0x1101810c Section 0 xc_drv_uart.o(i.xc_uart_init) + i.xc_unique_identification_read 0x110182fc Section 0 xc_drv_fmc_spi.o(i.xc_unique_identification_read) + i.xc_wdt_init 0x110183e4 Section 0 xc_drv_wdt.o(i.xc_wdt_init) + i.xc_wdt_refresh 0x1101844c Section 0 xc_drv_wdt.o(i.xc_wdt_refresh) + i.xc_wdt_reload 0x1101848c Section 0 xc_drv_wdt.o(i.xc_wdt_reload) + i.xc_wdt_start 0x110184d0 Section 0 xc_drv_wdt.o(i.xc_wdt_start) + locale$$code 0x11018504 Section 44 lc_numeric_c.o(locale$$code) + locale$$code 0x11018530 Section 44 lc_ctype_c.o(locale$$code) + x$fpl$fmul 0x1101855c Section 176 fmul.o(x$fpl$fmul) + x$fpl$printf1 0x1101860c Section 16 printf1.o(x$fpl$printf1) + x$fpl$printf2 0x1101861c Section 16 printf2.o(x$fpl$printf2) + .constdata 0x1101862c Section 8 app_task.o(.constdata) + x$fpl$usenofp 0x1101862c Section 0 usenofp.o(x$fpl$usenofp) + .constdata 0x11018634 Section 56 app_task.o(.constdata) + .constdata 0x1101866c Section 2 arch_main.o(.constdata) + .constdata 0x11018670 Section 40 app_sec.o(.constdata) + .constdata 0x11018698 Section 8 app_sec.o(.constdata) + .constdata 0x110186a0 Section 134 usr_server.o(.constdata) + custom_server_atts 0x110186a0 Data 36 usr_server.o(.constdata) + custom_src_cb 0x110186c4 Data 20 usr_server.o(.constdata) + __func__ 0x110186d8 Data 25 usr_server.o(.constdata) + __func__ 0x110186f1 Data 27 usr_server.o(.constdata) + __func__ 0x1101870c Data 26 usr_server.o(.constdata) + .constdata 0x11018726 Section 4 nvds.o(.constdata) + .constdata 0x1101872a Section 31 xc_drv_pwm.o(.constdata) + pwm_offset 0x1101872a Data 12 xc_drv_pwm.o(.constdata) + __func__ 0x11018736 Data 19 xc_drv_pwm.o(.constdata) + .constdata 0x11018749 Section 4 xc_drv_timer.o(.constdata) + timer_offset 0x11018749 Data 4 xc_drv_timer.o(.constdata) + .constdata 0x1101874e Section 6 xc_drv_uart.o(.constdata) + uart_offset 0x1101874e Data 6 xc_drv_uart.o(.constdata) + .constdata 0x11018754 Section 16 ota_protocol.o(.constdata) + __func__ 0x11018754 Data 16 ota_protocol.o(.constdata) + .constdata 0x11018764 Section 40 _printf_hex_int_ll_ptr.o(.constdata) + uc_hextab 0x11018764 Data 20 _printf_hex_int_ll_ptr.o(.constdata) + lc_hextab 0x11018778 Data 20 _printf_hex_int_ll_ptr.o(.constdata) + .constdata 0x1101878c Section 17 __printf_flags_ss_wp.o(.constdata) + maptable 0x1101878c Data 17 __printf_flags_ss_wp.o(.constdata) + .constdata 0x1101879d Section 64 fdiv.o(.constdata) + fdiv_tab 0x1101879d Data 64 fdiv.o(.constdata) + .constdata 0x110187e0 Section 8 _printf_wctomb.o(.constdata) + initial_mbstate 0x110187e0 Data 8 _printf_wctomb.o(.constdata) + .constdata 0x110187e8 Section 38 _printf_fp_hex.o(.constdata) + lc_hextab 0x110187e8 Data 19 _printf_fp_hex.o(.constdata) + uc_hextab 0x110187fb Data 19 _printf_fp_hex.o(.constdata) + .constdata 0x11018810 Section 148 bigflt0.o(.constdata) + tenpwrs_x 0x11018810 Data 60 bigflt0.o(.constdata) + tenpwrs_i 0x1101884c Data 64 bigflt0.o(.constdata) + .conststring 0x110188a4 Section 207 app_task.o(.conststring) + .conststring 0x11018974 Section 85 usr_server.o(.conststring) + .conststring 0x110189cc Section 98 xc_drv_pwm.o(.conststring) + .conststring 0x11018a30 Section 181 rf433_decoder.o(.conststring) + locale$$data 0x11018b38 Section 28 lc_numeric_c.o(locale$$data) + __lcnum_c_name 0x11018b3c Data 2 lc_numeric_c.o(locale$$data) + __lcnum_c_start 0x11018b44 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_point 0x11018b50 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_thousands 0x11018b52 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_grouping 0x11018b53 Data 0 lc_numeric_c.o(locale$$data) + locale$$data 0x11018b54 Section 272 lc_ctype_c.o(locale$$data) + __lcnum_c_end 0x11018b54 Data 0 lc_numeric_c.o(locale$$data) + __lcctype_c_name 0x11018b58 Data 2 lc_ctype_c.o(locale$$data) + __lcctype_c_start 0x11018b60 Data 0 lc_ctype_c.o(locale$$data) + __lcctype_c_end 0x11018c64 Data 0 lc_ctype_c.o(locale$$data) ram_em 0x53006c00 Section 512 nvds.o(ram_em) ram_em 0x53006e00 Section 2091 ota_protocol.o(ram_em) @@ -2556,60 +2551,53 @@ Image Symbol Table adress_H 0x10002eac Data 1 rf433.o(.data) adress_L 0x10002ead Data 1 rf433.o(.data) key_state 0x10002eae Data 1 rf433.o(.data) - KEY_STATE_re 0x10002eaf Data 1 rf433.o(.data) - long_flag_s 0x10002eb0 Data 1 rf433.o(.data) - res_data 0x10002eb2 Data 1 rf433.o(.data) - adress_ture_flag 0x10002eb3 Data 1 rf433.o(.data) - adress_index_ture 0x10002eb4 Data 1 rf433.o(.data) - adress_index 0x10002eb5 Data 1 rf433.o(.data) - flash_ch1_state 0x10002eb6 Data 1 rf433.o(.data) - flash_ch2_state 0x10002eb7 Data 1 rf433.o(.data) - last_H_adress 0x10002eb8 Data 1 rf433.o(.data) - last_L_adress 0x10002eb9 Data 1 rf433.o(.data) - high_level_time 0x10002eba Data 1 rf433.o(.data) - low_level_time 0x10002ebb Data 1 rf433.o(.data) - receive_data_cnt 0x10002ebc Data 1 rf433.o(.data) - rf_flag 0x10002ec2 Data 2 rf433.o(.data) - long_timer 0x10002ec4 Data 2 rf433.o(.data) - receive_temp 0x10002ec8 Data 4 rf433.o(.data) - receive_data 0x10002ecc Data 4 rf433.o(.data) - adress_H_array 0x10002ed0 Data 5 rf433.o(.data) - adress_L_array 0x10002ed5 Data 5 rf433.o(.data) - adress_ch_flag 0x10002eda Data 5 rf433.o(.data) - Key_TypeDef 0x10002ee0 Data 8 rf433.o(.data) - trig1_cnt 0x10002ee8 Data 1 switch_s.o(.data) - trig1_wait 0x10002ee9 Data 1 switch_s.o(.data) - trig2_cnt 0x10002eea Data 1 switch_s.o(.data) - trig2_wait 0x10002eeb Data 1 switch_s.o(.data) - rf433_sw_flag 0x10002eec Data 1 switch_s.o(.data) - switch1_RELEASE_flag 0x10002eef Data 1 switch_s.o(.data) - switch2_RELEASE_flag 0x10002ef0 Data 1 switch_s.o(.data) - s1_first_press_flag 0x10002ef1 Data 1 switch_s.o(.data) - s2_first_press_flag 0x10002ef2 Data 1 switch_s.o(.data) - S1_first_on_state 0x10002ef3 Data 1 switch_s.o(.data) - S2_first_on_state 0x10002ef4 Data 1 switch_s.o(.data) - trig1_timeout 0x10002ef6 Data 2 switch_s.o(.data) - trig2_timeout 0x10002ef8 Data 2 switch_s.o(.data) - key_callback 0x10002f08 Data 4 key.o(.data) - g_key_click_state 0x10002f0c Data 8 key.o(.data) - led_state 0x10002f14 Data 1 led.o(.data) - app_op_flash_flag 0x10002f16 Data 1 ota_flash_interface.o(.data) - ota_flag 0x10002f18 Data 1 ota_protocol.o(.data) - jump2app 0x10002f1c Data 4 ota_protocol.o(.data) - fotas_status 0x10002f20 Data 9 ota_protocol.o(.data) - ota_srv_user_lid 0x10002f2a Data 1 ota_server.o(.data) - ota_svc_tx_char_notify 0x10002f2b Data 1 ota_server.o(.data) - ota_svc_start_hdl 0x10002f2c Data 2 ota_server.o(.data) - adv_info 0x10002f30 Data 28 arch_main.o(.bss) - nvds_env 0x10002f4c Data 24 nvds.o(.bss) - clock_cb 0x10002fa4 Data 16 xc_drv_clock.o(.bss) - uart_ctl_block 0x10002fb4 Data 12 xc_drv_uart.o(.bss) - rf433_frame 0x10002fc0 Data 12 rf433.o(.bss) - r_data 0x10002fcc Data 256 fmc_spi_1.o(.bss) - app_data 0x100030cc Data 256 fmc_spi_1.o(.bss) - op_flash 0x100031cc Data 272 ota_flash_interface.o(.bss) - __libspace_start 0x10003840 Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x100038a0 Data 0 libspace.o(.bss) + res_data 0x10002eb0 Data 1 rf433.o(.data) + adress_ture_flag 0x10002eb1 Data 1 rf433.o(.data) + adress_ch1_index 0x10002eb2 Data 1 rf433.o(.data) + adress_ch2_index 0x10002eb3 Data 1 rf433.o(.data) + match_ch 0x10002eb4 Data 1 rf433.o(.data) + flash_ch1_state 0x10002eb5 Data 1 rf433.o(.data) + flash_ch2_state 0x10002eb6 Data 1 rf433.o(.data) + last_H_adress 0x10002eb7 Data 1 rf433.o(.data) + last_L_adress 0x10002eb8 Data 1 rf433.o(.data) + long_timer 0x10002eba Data 2 rf433.o(.data) + adress_H_ch1 0x10002ebc Data 5 rf433.o(.data) + adress_L_ch1 0x10002ec1 Data 5 rf433.o(.data) + adress_H_ch2 0x10002ec6 Data 5 rf433.o(.data) + adress_L_ch2 0x10002ecb Data 5 rf433.o(.data) + trig1_cnt 0x10002ed0 Data 1 switch_s.o(.data) + trig1_wait 0x10002ed1 Data 1 switch_s.o(.data) + trig2_cnt 0x10002ed2 Data 1 switch_s.o(.data) + trig2_wait 0x10002ed3 Data 1 switch_s.o(.data) + rf433_sw_flag 0x10002ed4 Data 1 switch_s.o(.data) + switch1_RELEASE_flag 0x10002ed7 Data 1 switch_s.o(.data) + switch2_RELEASE_flag 0x10002ed8 Data 1 switch_s.o(.data) + s1_first_press_flag 0x10002ed9 Data 1 switch_s.o(.data) + s2_first_press_flag 0x10002eda Data 1 switch_s.o(.data) + S1_first_on_state 0x10002edb Data 1 switch_s.o(.data) + S2_first_on_state 0x10002edc Data 1 switch_s.o(.data) + trig1_timeout 0x10002ede Data 2 switch_s.o(.data) + trig2_timeout 0x10002ee0 Data 2 switch_s.o(.data) + key_callback 0x10002ef0 Data 4 key.o(.data) + g_key_click_state 0x10002ef4 Data 8 key.o(.data) + led_state 0x10002efc Data 1 led.o(.data) + app_op_flash_flag 0x10002efe Data 1 ota_flash_interface.o(.data) + ota_flag 0x10002f00 Data 1 ota_protocol.o(.data) + jump2app 0x10002f04 Data 4 ota_protocol.o(.data) + fotas_status 0x10002f08 Data 9 ota_protocol.o(.data) + ota_srv_user_lid 0x10002f12 Data 1 ota_server.o(.data) + ota_svc_tx_char_notify 0x10002f13 Data 1 ota_server.o(.data) + ota_svc_start_hdl 0x10002f14 Data 2 ota_server.o(.data) + adv_info 0x10002f18 Data 28 arch_main.o(.bss) + nvds_env 0x10002f34 Data 24 nvds.o(.bss) + clock_cb 0x10002f8c Data 16 xc_drv_clock.o(.bss) + uart_ctl_block 0x10002f9c Data 12 xc_drv_uart.o(.bss) + rf433_frame 0x10002fa8 Data 12 rf433.o(.bss) + r_data 0x10002fb4 Data 256 fmc_spi_1.o(.bss) + app_data 0x100030b4 Data 256 fmc_spi_1.o(.bss) + op_flash 0x100031b4 Data 272 ota_flash_interface.o(.bss) + __libspace_start 0x10003828 Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x10003888 Data 0 libspace.o(.bss) _gatt_srv_att_read_get_cfm 0x11002d53 Thumb Code 0 rom_symdefs.o ABSOLUTE _gatt_srv_att_val_set_cfm 0x11002dc7 Thumb Code 0 rom_symdefs.o ABSOLUTE co_rand_word 0x11004109 Thumb Code 0 rom_symdefs.o ABSOLUTE @@ -2862,7 +2850,7 @@ Image Symbol Table UART1_Handler 0x11014067 Thumb Code 10 xc_drv_uart.o(i.UART1_Handler) UART2_Handler 0x11014071 Thumb Code 10 xc_drv_uart.o(i.UART2_Handler) WDT_Handler 0x1101407d Thumb Code 14 xc_drv_wdt.o(i.WDT_Handler) - _433_fun 0x110140e9 Thumb Code 126 rf433.o(i._433_fun) + _433_fun 0x110140e9 Thumb Code 128 rf433.o(i._433_fun) __ARM_common_ll_muluu 0x1101416d Thumb Code 48 btod.o(i.__ARM_common_ll_muluu) __ARM_common_switch8 0x1101419d Thumb Code 26 arch_main.o(i.__ARM_common_switch8) __ARM_fpclassify 0x110141b9 Thumb Code 40 fpclassify.o(i.__ARM_fpclassify) @@ -2878,7 +2866,7 @@ Image Symbol Table app_key_scan 0x11014449 Thumb Code 78 key.o(i.app_key_scan) app_op_flash 0x1101450d Thumb Code 42 ota_flash_interface.o(i.app_op_flash) app_op_flash_on 0x11014549 Thumb Code 20 ota_flash_interface.o(i.app_op_flash_on) - app_set_adv_data 0x11014565 Thumb Code 76 app_task.o(i.app_set_adv_data) + app_set_adv_data 0x11014565 Thumb Code 84 app_task.o(i.app_set_adv_data) app_start_advertising 0x110145cd Thumb Code 54 app_task.o(i.app_start_advertising) app_uart_init 0x11014609 Thumb Code 82 arch_main.o(i.app_uart_init) ble_callback 0x11014661 Thumb Code 20 uart_1.o(i.ble_callback) @@ -2929,83 +2917,83 @@ Image Symbol Table pwm_capture_ch1_callback 0x110161fd Thumb Code 4 xc_drv_pwm.o(i.pwm_capture_ch1_callback) pwm_capture_ch2_callback 0x11016201 Thumb Code 4 xc_drv_pwm.o(i.pwm_capture_ch2_callback) pwm_pin_set 0x110162e1 Thumb Code 192 xc_drv_pwm.o(i.pwm_pin_set) - read_user_data 0x110163a1 Thumb Code 104 fmc_spi_1.o(i.read_user_data) - reverse_verif_is_true 0x11016425 Thumb Code 14 xc_drv_fmc_spi.o(i.reverse_verif_is_true) - rf433_decoder_get_frame 0x11016465 Thumb Code 32 rf433_decoder.o(i.rf433_decoder_get_frame) - rf433_decoder_init 0x11016489 Thumb Code 48 rf433_decoder.o(i.rf433_decoder_init) - rf433_decoder_process 0x110164bd Thumb Code 56 rf433_decoder.o(i.rf433_decoder_process) - rf433_decoder_sample 0x110164fd Thumb Code 104 rf433_decoder.o(i.rf433_decoder_sample) - rf433_gpio_init 0x11016571 Thumb Code 30 rf433.o(i.rf433_gpio_init) - rom_env_host_init 0x110169c1 Thumb Code 24 arch_main.o(i.rom_env_host_init) - scan_433 0x110169e9 Thumb Code 416 rf433.o(i.scan_433) - scan_uart 0x11016b99 Thumb Code 132 uart_1.o(i.scan_uart) - set_TaskComps_timer 0x11016c29 Thumb Code 10 timeslice.o(i.set_TaskComps_timer) - set_single_addr_name 0x11016c39 Thumb Code 118 arch_main.o(i.set_single_addr_name) - set_vector 0x11016cd5 Thumb Code 46 system_xinc.o(i.set_vector) - slave_send_data 0x11016d11 Thumb Code 82 usr_server.o(i.slave_send_data) - srv_get_hdl_from_att_idx 0x11016dad Thumb Code 10 usr_server.o(i.srv_get_hdl_from_att_idx) - switch_init 0x11016dbd Thumb Code 102 switch_s.o(i.switch_init) - systick_callback 0x11016e2d Thumb Code 2 xc_drv_systick.o(i.systick_callback) - timer0_2_init 0x11016e31 Thumb Code 124 timer.o(i.timer0_2_init) - timer3_callback 0x11016eb9 Thumb Code 2 xc_drv_timer.o(i.timer3_callback) - trigger_check_process 0x11016ebd Thumb Code 610 switch_s.o(i.trigger_check_process) - uart_user_handler 0x1101712d Thumb Code 138 xc_drv_uart.o(i.uart_user_handler) - updateTimer 0x110171dd Thumb Code 22 timer.o(i.updateTimer) - wdt_init 0x110171f3 Thumb Code 26 arch_main.o(i.wdt_init) - wright_user_data 0x1101720d Thumb Code 108 fmc_spi_1.o(i.wright_user_data) - xc_adc_data_average 0x11017295 Thumb Code 120 xc_drv_adc.o(i.xc_adc_data_average) - xc_ble_activity_delete 0x11017311 Thumb Code 36 xc_gap_api.o(i.xc_ble_activity_delete) - xc_bor_init 0x11017339 Thumb Code 40 xc_drv_bor.o(i.xc_bor_init) - xc_clock_bbpll_common_cfg 0x11017369 Thumb Code 50 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) - xc_clock_bbpll_freq_cfg 0x110173a9 Thumb Code 224 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) - xc_clock_hfclk_in_get 0x11017495 Thumb Code 6 xc_drv_clock.o(i.xc_clock_hfclk_in_get) - xc_clock_hfclk_set 0x110174a1 Thumb Code 192 xc_drv_clock.o(i.xc_clock_hfclk_set) - xc_clock_init_cfg 0x1101757d Thumb Code 22 xc_drv_clock.o(i.xc_clock_init_cfg) - xc_clock_lfclk_in_get 0x11017595 Thumb Code 6 xc_drv_clock.o(i.xc_clock_lfclk_in_get) - xc_clock_lfclk_set 0x110175a1 Thumb Code 96 xc_drv_clock.o(i.xc_clock_lfclk_set) - xc_fota_dev_ack_cmd 0x1101760d Thumb Code 36 ota_protocol.o(i.xc_fota_dev_ack_cmd) - xc_gpio_direction_config 0x11017635 Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_direction_config) - xc_gpio_fun_sel 0x11017651 Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_fun_sel) - xc_gpio_init 0x11017679 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_init) - xc_gpio_it_config 0x110176a9 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_it_config) - xc_gpio_mux_ctl 0x110176dd Thumb Code 70 xc_drv_gpio.o(i.xc_gpio_mux_ctl) - xc_gpio_pull_config 0x11017729 Thumb Code 228 xc_drv_gpio.o(i.xc_gpio_pull_config) - xc_gpio_read_pin 0x11017811 Thumb Code 30 xc_drv_gpio.o(i.xc_gpio_read_pin) - xc_gpio_toggle_pin 0x11017835 Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_toggle_pin) - xc_gpio_write_pin 0x11017861 Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_write_pin) - xc_hfclk_set 0x1101787d Thumb Code 58 xc_drv_clock.o(i.xc_hfclk_set) - xc_ota_schedule 0x110178bd Thumb Code 68 ota_protocol.o(i.xc_ota_schedule) - xc_pwm_dutycycle_set 0x11017921 Thumb Code 104 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) - xc_pwm_init 0x11017991 Thumb Code 208 xc_drv_pwm.o(i.xc_pwm_init) - xc_pwm_start_all 0x11017a71 Thumb Code 20 xc_drv_pwm.o(i.xc_pwm_start_all) - xc_pwr_vol_set 0x11017a8d Thumb Code 70 xc_drv_pwr.o(i.xc_pwr_vol_set) - xc_rc32k_soft_calib_set 0x11017ae9 Thumb Code 204 xc_drv_calib.o(i.xc_rc32k_soft_calib_set) - xc_system_param_check 0x11017be1 Thumb Code 230 xc_drv_clock.o(i.xc_system_param_check) - xc_systick_unit_get 0x11017dfd Thumb Code 6 xc_drv_clock.o(i.xc_systick_unit_get) - xc_timer_init 0x11017e09 Thumb Code 274 xc_drv_timer.o(i.xc_timer_init) - xc_timer_set_value 0x11017f29 Thumb Code 32 xc_drv_timer.o(i.xc_timer_set_value) - xc_timer_start 0x11017f51 Thumb Code 48 xc_drv_timer.o(i.xc_timer_start) - xc_uart_init 0x11018081 Thumb Code 476 xc_drv_uart.o(i.xc_uart_init) - xc_unique_identification_read 0x11018271 Thumb Code 228 xc_drv_fmc_spi.o(i.xc_unique_identification_read) - xc_wdt_init 0x11018359 Thumb Code 94 xc_drv_wdt.o(i.xc_wdt_init) - xc_wdt_refresh 0x110183c1 Thumb Code 56 xc_drv_wdt.o(i.xc_wdt_refresh) - xc_wdt_reload 0x11018401 Thumb Code 60 xc_drv_wdt.o(i.xc_wdt_reload) - xc_wdt_start 0x11018445 Thumb Code 44 xc_drv_wdt.o(i.xc_wdt_start) - _get_lc_numeric 0x11018479 Thumb Code 44 lc_numeric_c.o(locale$$code) - _get_lc_ctype 0x110184a5 Thumb Code 44 lc_ctype_c.o(locale$$code) - __aeabi_fmul 0x110184d1 Thumb Code 0 fmul.o(x$fpl$fmul) - _fmul 0x110184d1 Thumb Code 172 fmul.o(x$fpl$fmul) - _printf_fp_dec 0x11018581 Thumb Code 16 printf1.o(x$fpl$printf1) - _printf_fp_hex 0x11018591 Thumb Code 16 printf2.o(x$fpl$printf2) - __I$use$fp 0x110185a0 Number 0 usenofp.o(x$fpl$usenofp) - app_msg_handler_tab 0x110185a0 Data 8 app_task.o(.constdata) - TASK_DESC_APP 0x110185a8 Data 12 app_task.o(.constdata) - app_sec_msg_handler_list 0x110185e4 Data 40 app_sec.o(.constdata) - app_sec_handlers 0x1101860c Data 8 app_sec.o(.constdata) - nvds_magic_number 0x1101869a Data 4 nvds.o(.constdata) - Region$$Table$$Base 0x11018a5c Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x11018aac Number 0 anon$$obj.o(Region$$Table) - __ctype 0x11018ad5 Data 0 lc_ctype_c.o(locale$$data) + read_user_data 0x110163a1 Thumb Code 132 fmc_spi_1.o(i.read_user_data) + reverse_verif_is_true 0x11016449 Thumb Code 14 xc_drv_fmc_spi.o(i.reverse_verif_is_true) + rf433_decoder_get_frame 0x11016489 Thumb Code 32 rf433_decoder.o(i.rf433_decoder_get_frame) + rf433_decoder_init 0x110164ad Thumb Code 48 rf433_decoder.o(i.rf433_decoder_init) + rf433_decoder_process 0x110164e1 Thumb Code 56 rf433_decoder.o(i.rf433_decoder_process) + rf433_decoder_sample 0x11016521 Thumb Code 104 rf433_decoder.o(i.rf433_decoder_sample) + rf433_gpio_init 0x11016595 Thumb Code 30 rf433.o(i.rf433_gpio_init) + rom_env_host_init 0x110169e5 Thumb Code 24 arch_main.o(i.rom_env_host_init) + scan_433 0x11016a0d Thumb Code 484 rf433.o(i.scan_433) + scan_uart 0x11016c01 Thumb Code 132 uart_1.o(i.scan_uart) + set_TaskComps_timer 0x11016c91 Thumb Code 10 timeslice.o(i.set_TaskComps_timer) + set_single_addr_name 0x11016ca1 Thumb Code 118 arch_main.o(i.set_single_addr_name) + set_vector 0x11016d3d Thumb Code 46 system_xinc.o(i.set_vector) + slave_send_data 0x11016d79 Thumb Code 82 usr_server.o(i.slave_send_data) + srv_get_hdl_from_att_idx 0x11016e15 Thumb Code 10 usr_server.o(i.srv_get_hdl_from_att_idx) + switch_init 0x11016e25 Thumb Code 102 switch_s.o(i.switch_init) + systick_callback 0x11016e95 Thumb Code 2 xc_drv_systick.o(i.systick_callback) + timer0_2_init 0x11016e99 Thumb Code 124 timer.o(i.timer0_2_init) + timer3_callback 0x11016f21 Thumb Code 2 xc_drv_timer.o(i.timer3_callback) + trigger_check_process 0x11016f25 Thumb Code 610 switch_s.o(i.trigger_check_process) + uart_user_handler 0x11017195 Thumb Code 138 xc_drv_uart.o(i.uart_user_handler) + updateTimer 0x11017245 Thumb Code 22 timer.o(i.updateTimer) + wdt_init 0x1101725b Thumb Code 26 arch_main.o(i.wdt_init) + wright_user_data 0x11017275 Thumb Code 136 fmc_spi_1.o(i.wright_user_data) + xc_adc_data_average 0x11017321 Thumb Code 120 xc_drv_adc.o(i.xc_adc_data_average) + xc_ble_activity_delete 0x1101739d Thumb Code 36 xc_gap_api.o(i.xc_ble_activity_delete) + xc_bor_init 0x110173c5 Thumb Code 40 xc_drv_bor.o(i.xc_bor_init) + xc_clock_bbpll_common_cfg 0x110173f5 Thumb Code 50 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) + xc_clock_bbpll_freq_cfg 0x11017435 Thumb Code 224 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) + xc_clock_hfclk_in_get 0x11017521 Thumb Code 6 xc_drv_clock.o(i.xc_clock_hfclk_in_get) + xc_clock_hfclk_set 0x1101752d Thumb Code 192 xc_drv_clock.o(i.xc_clock_hfclk_set) + xc_clock_init_cfg 0x11017609 Thumb Code 22 xc_drv_clock.o(i.xc_clock_init_cfg) + xc_clock_lfclk_in_get 0x11017621 Thumb Code 6 xc_drv_clock.o(i.xc_clock_lfclk_in_get) + xc_clock_lfclk_set 0x1101762d Thumb Code 96 xc_drv_clock.o(i.xc_clock_lfclk_set) + xc_fota_dev_ack_cmd 0x11017699 Thumb Code 36 ota_protocol.o(i.xc_fota_dev_ack_cmd) + xc_gpio_direction_config 0x110176c1 Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_direction_config) + xc_gpio_fun_sel 0x110176dd Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_fun_sel) + xc_gpio_init 0x11017705 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_init) + xc_gpio_it_config 0x11017735 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_it_config) + xc_gpio_mux_ctl 0x11017769 Thumb Code 70 xc_drv_gpio.o(i.xc_gpio_mux_ctl) + xc_gpio_pull_config 0x110177b5 Thumb Code 228 xc_drv_gpio.o(i.xc_gpio_pull_config) + xc_gpio_read_pin 0x1101789d Thumb Code 30 xc_drv_gpio.o(i.xc_gpio_read_pin) + xc_gpio_toggle_pin 0x110178c1 Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_toggle_pin) + xc_gpio_write_pin 0x110178ed Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_write_pin) + xc_hfclk_set 0x11017909 Thumb Code 58 xc_drv_clock.o(i.xc_hfclk_set) + xc_ota_schedule 0x11017949 Thumb Code 68 ota_protocol.o(i.xc_ota_schedule) + xc_pwm_dutycycle_set 0x110179ad Thumb Code 104 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) + xc_pwm_init 0x11017a1d Thumb Code 208 xc_drv_pwm.o(i.xc_pwm_init) + xc_pwm_start_all 0x11017afd Thumb Code 20 xc_drv_pwm.o(i.xc_pwm_start_all) + xc_pwr_vol_set 0x11017b19 Thumb Code 70 xc_drv_pwr.o(i.xc_pwr_vol_set) + xc_rc32k_soft_calib_set 0x11017b75 Thumb Code 204 xc_drv_calib.o(i.xc_rc32k_soft_calib_set) + xc_system_param_check 0x11017c6d Thumb Code 230 xc_drv_clock.o(i.xc_system_param_check) + xc_systick_unit_get 0x11017e89 Thumb Code 6 xc_drv_clock.o(i.xc_systick_unit_get) + xc_timer_init 0x11017e95 Thumb Code 274 xc_drv_timer.o(i.xc_timer_init) + xc_timer_set_value 0x11017fb5 Thumb Code 32 xc_drv_timer.o(i.xc_timer_set_value) + xc_timer_start 0x11017fdd Thumb Code 48 xc_drv_timer.o(i.xc_timer_start) + xc_uart_init 0x1101810d Thumb Code 476 xc_drv_uart.o(i.xc_uart_init) + xc_unique_identification_read 0x110182fd Thumb Code 228 xc_drv_fmc_spi.o(i.xc_unique_identification_read) + xc_wdt_init 0x110183e5 Thumb Code 94 xc_drv_wdt.o(i.xc_wdt_init) + xc_wdt_refresh 0x1101844d Thumb Code 56 xc_drv_wdt.o(i.xc_wdt_refresh) + xc_wdt_reload 0x1101848d Thumb Code 60 xc_drv_wdt.o(i.xc_wdt_reload) + xc_wdt_start 0x110184d1 Thumb Code 44 xc_drv_wdt.o(i.xc_wdt_start) + _get_lc_numeric 0x11018505 Thumb Code 44 lc_numeric_c.o(locale$$code) + _get_lc_ctype 0x11018531 Thumb Code 44 lc_ctype_c.o(locale$$code) + __aeabi_fmul 0x1101855d Thumb Code 0 fmul.o(x$fpl$fmul) + _fmul 0x1101855d Thumb Code 172 fmul.o(x$fpl$fmul) + _printf_fp_dec 0x1101860d Thumb Code 16 printf1.o(x$fpl$printf1) + _printf_fp_hex 0x1101861d Thumb Code 16 printf2.o(x$fpl$printf2) + __I$use$fp 0x1101862c Number 0 usenofp.o(x$fpl$usenofp) + app_msg_handler_tab 0x1101862c Data 8 app_task.o(.constdata) + TASK_DESC_APP 0x11018634 Data 12 app_task.o(.constdata) + app_sec_msg_handler_list 0x11018670 Data 40 app_sec.o(.constdata) + app_sec_handlers 0x11018698 Data 8 app_sec.o(.constdata) + nvds_magic_number 0x11018726 Data 4 nvds.o(.constdata) + Region$$Table$$Base 0x11018ae8 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x11018b38 Number 0 anon$$obj.o(Region$$Table) + __ctype 0x11018b61 Data 0 lc_ctype_c.o(locale$$data) write_buffer 0x53006c00 Data 512 nvds.o(ram_em) fota_env 0x53006e00 Data 2091 ota_protocol.o(ram_em) @@ -3017,39 +3005,39 @@ Memory Map of the image Image Entry point : 0x110120c1 - Load Region LOAD (Base: 0x11012000, Size: 0x00008234, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x000076e0]) + Load Region LOAD (Base: 0x11012000, Size: 0x000082a8, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00007768]) - Execution Region RW1 (Exec base: 0x10000100, Load base: 0x11018bd8, Size: 0x000006f0, Max: 0xffffffff, ABSOLUTE) + Execution Region RW1 (Exec base: 0x10000100, Load base: 0x11018c64, Size: 0x000006f0, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x10000100 - 0x000006f0 Zero RW 1 STACK startup_xinc.o - Execution Region RW (Exec base: 0x10002300, Load base: 0x11018bd8, Size: 0x000015a0, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000064]) + Execution Region RW (Exec base: 0x10002300, Load base: 0x11018c64, Size: 0x00001588, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000060]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x10002300 0x11018bd8 0x00000040 Code RO 4778 .text c_p.l(rt_memclr.o) - 0x10002340 0x11018c18 0x0000015a Code RO 4784 .text c_p.l(aeabi_sdiv.o) + 0x10002300 0x11018c64 0x00000040 Code RO 4773 .text c_p.l(rt_memclr.o) + 0x10002340 0x11018ca4 0x0000015a Code RO 4779 .text c_p.l(aeabi_sdiv.o) 0x1000249a COMPRESSED 0x00000002 PAD - 0x1000249c 0x11018d74 0x0000000c Ven RO 5108 Veneer$$Code anon$$obj.o - 0x100024a8 0x11018d80 0x0000000c Ven RO 5109 Veneer$$Code anon$$obj.o - 0x100024b4 0x11018d8c 0x0000000c Ven RO 5110 Veneer$$Code anon$$obj.o - 0x100024c0 0x11018d98 0x0000000c Ven RO 5111 Veneer$$Code anon$$obj.o - 0x100024cc 0x11018da4 0x0000000c Ven RO 5112 Veneer$$Code anon$$obj.o - 0x100024d8 0x11018db0 0x0000000c Ven RO 5113 Veneer$$Code anon$$obj.o - 0x100024e4 0x11018dbc 0x0000000c Ven RO 5114 Veneer$$Code anon$$obj.o - 0x100024f0 0x11018dc8 0x0000000c Ven RO 5115 Veneer$$Code anon$$obj.o - 0x100024fc 0x11018dd4 0x0000000c Ven RO 5116 Veneer$$Code anon$$obj.o - 0x10002508 0x11018de0 0x0000000c Ven RO 5117 Veneer$$Code anon$$obj.o - 0x10002514 0x11018dec 0x00000018 Code RO 17 ram_code system_xinc.o - 0x1000252c 0x11018e04 0x0000003c Code RO 687 ram_code arch_main.o - 0x10002568 0x11018e40 0x000000b8 Code RO 1597 ram_code xc_drv_bor.o - 0x10002620 0x11018ef8 0x000005c8 Code RO 2139 ram_code xc_drv_fmc_spi.o - 0x10002be8 0x110194c0 0x0000002c Code RO 3262 ram_code xc_drv_rtc.o - 0x10002c14 0x110194ec 0x000000b0 Code RO 4020 ram_code timer.o - 0x10002cc4 0x1101959c 0x000000c8 Code RO 4299 ram_code key.o + 0x1000249c 0x11018e00 0x0000000c Ven RO 5103 Veneer$$Code anon$$obj.o + 0x100024a8 0x11018e0c 0x0000000c Ven RO 5104 Veneer$$Code anon$$obj.o + 0x100024b4 0x11018e18 0x0000000c Ven RO 5105 Veneer$$Code anon$$obj.o + 0x100024c0 0x11018e24 0x0000000c Ven RO 5106 Veneer$$Code anon$$obj.o + 0x100024cc 0x11018e30 0x0000000c Ven RO 5107 Veneer$$Code anon$$obj.o + 0x100024d8 0x11018e3c 0x0000000c Ven RO 5108 Veneer$$Code anon$$obj.o + 0x100024e4 0x11018e48 0x0000000c Ven RO 5109 Veneer$$Code anon$$obj.o + 0x100024f0 0x11018e54 0x0000000c Ven RO 5110 Veneer$$Code anon$$obj.o + 0x100024fc 0x11018e60 0x0000000c Ven RO 5111 Veneer$$Code anon$$obj.o + 0x10002508 0x11018e6c 0x0000000c Ven RO 5112 Veneer$$Code anon$$obj.o + 0x10002514 0x11018e78 0x00000018 Code RO 17 ram_code system_xinc.o + 0x1000252c 0x11018e90 0x0000003c Code RO 687 ram_code arch_main.o + 0x10002568 0x11018ecc 0x000000b8 Code RO 1597 ram_code xc_drv_bor.o + 0x10002620 0x11018f84 0x000005c8 Code RO 2139 ram_code xc_drv_fmc_spi.o + 0x10002be8 0x1101954c 0x0000002c Code RO 3262 ram_code xc_drv_rtc.o + 0x10002c14 0x11019578 0x000000b0 Code RO 4020 ram_code timer.o + 0x10002cc4 0x11019628 0x000000c8 Code RO 4294 ram_code key.o 0x10002d8c COMPRESSED 0x00000004 Data RW 18 .data system_xinc.o 0x10002d90 COMPRESSED 0x00000034 Data RW 554 .data app_task.o 0x10002dc4 COMPRESSED 0x00000001 Data RW 555 .data app_task.o @@ -3065,186 +3053,186 @@ Memory Map of the image 0x10002df8 COMPRESSED 0x00000018 Data RW 4021 .data timer.o 0x10002e10 COMPRESSED 0x00000090 Data RW 4061 .data timeslice.o 0x10002ea0 COMPRESSED 0x0000000c Data RW 4106 .data uart_1.o - 0x10002eac COMPRESSED 0x0000003c Data RW 4150 .data rf433.o - 0x10002ee8 COMPRESSED 0x00000016 Data RW 4214 .data switch_s.o - 0x10002efe COMPRESSED 0x00000002 PAD - 0x10002f00 COMPRESSED 0x00000014 Data RW 4300 .data key.o - 0x10002f14 COMPRESSED 0x00000001 Data RW 4358 .data led.o - 0x10002f15 COMPRESSED 0x00000001 Data RW 4359 .data led.o - 0x10002f16 COMPRESSED 0x00000001 Data RW 4396 .data ota_flash_interface.o - 0x10002f17 COMPRESSED 0x00000001 PAD - 0x10002f18 COMPRESSED 0x00000011 Data RW 4462 .data ota_protocol.o - 0x10002f29 COMPRESSED 0x00000001 PAD - 0x10002f2a COMPRESSED 0x00000004 Data RW 4559 .data ota_server.o - 0x10002f2e COMPRESSED 0x00000002 PAD - 0x10002f30 - 0x0000001c Zero RW 688 .bss arch_main.o - 0x10002f4c - 0x00000018 Zero RW 1040 .bss nvds.o - 0x10002f64 - 0x00000040 Zero RW 1355 .bss xc_drv_adc.o - 0x10002fa4 - 0x00000010 Zero RW 1865 .bss xc_drv_clock.o - 0x10002fb4 - 0x0000000c Zero RW 3745 .bss xc_drv_uart.o - 0x10002fc0 - 0x0000000c Zero RW 4149 .bss rf433.o - 0x10002fcc - 0x00000200 Zero RW 4253 .bss fmc_spi_1.o - 0x100031cc - 0x00000110 Zero RW 4395 .bss ota_flash_interface.o - 0x100032dc - 0x00000114 Zero RW 4459 .bss ota_protocol.o - 0x100033f0 - 0x0000044e Zero RW 4621 .bss rf433_decoder.o - 0x1000383e COMPRESSED 0x00000002 PAD - 0x10003840 - 0x00000060 Zero RW 4941 .bss c_p.l(libspace.o) - 0x100038a0 - 0x00000000 Zero RW 2 HEAP startup_xinc.o + 0x10002eac COMPRESSED 0x00000024 Data RW 4149 .data rf433.o + 0x10002ed0 COMPRESSED 0x00000016 Data RW 4209 .data switch_s.o + 0x10002ee6 COMPRESSED 0x00000002 PAD + 0x10002ee8 COMPRESSED 0x00000014 Data RW 4295 .data key.o + 0x10002efc COMPRESSED 0x00000001 Data RW 4353 .data led.o + 0x10002efd COMPRESSED 0x00000001 Data RW 4354 .data led.o + 0x10002efe COMPRESSED 0x00000001 Data RW 4391 .data ota_flash_interface.o + 0x10002eff COMPRESSED 0x00000001 PAD + 0x10002f00 COMPRESSED 0x00000011 Data RW 4457 .data ota_protocol.o + 0x10002f11 COMPRESSED 0x00000001 PAD + 0x10002f12 COMPRESSED 0x00000004 Data RW 4554 .data ota_server.o + 0x10002f16 COMPRESSED 0x00000002 PAD + 0x10002f18 - 0x0000001c Zero RW 688 .bss arch_main.o + 0x10002f34 - 0x00000018 Zero RW 1040 .bss nvds.o + 0x10002f4c - 0x00000040 Zero RW 1355 .bss xc_drv_adc.o + 0x10002f8c - 0x00000010 Zero RW 1865 .bss xc_drv_clock.o + 0x10002f9c - 0x0000000c Zero RW 3745 .bss xc_drv_uart.o + 0x10002fa8 - 0x0000000c Zero RW 4148 .bss rf433.o + 0x10002fb4 - 0x00000200 Zero RW 4248 .bss fmc_spi_1.o + 0x100031b4 - 0x00000110 Zero RW 4390 .bss ota_flash_interface.o + 0x100032c4 - 0x00000114 Zero RW 4454 .bss ota_protocol.o + 0x100033d8 - 0x0000044e Zero RW 4616 .bss rf433_decoder.o + 0x10003826 COMPRESSED 0x00000002 PAD + 0x10003828 - 0x00000060 Zero RW 4936 .bss c_p.l(libspace.o) + 0x10003888 - 0x00000000 Zero RW 2 HEAP startup_xinc.o - Execution Region EXE (Exec base: 0x11012000, Load base: 0x11012000, Size: 0x00006bd8, Max: 0xffffffff, ABSOLUTE) + Execution Region EXE (Exec base: 0x11012000, Load base: 0x11012000, Size: 0x00006c64, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x11012000 0x11012000 0x000000c0 Data RO 3 RESET startup_xinc.o - 0x110120c0 0x110120c0 0x00000008 Code RO 4790 * !!!main c_p.l(__main.o) - 0x110120c8 0x110120c8 0x0000003c Code RO 5075 !!!scatter c_p.l(__scatter.o) - 0x11012104 0x11012104 0x0000001a Code RO 5077 !!handler_copy c_p.l(__scatter_copy.o) + 0x110120c0 0x110120c0 0x00000008 Code RO 4785 * !!!main c_p.l(__main.o) + 0x110120c8 0x110120c8 0x0000003c Code RO 5070 !!!scatter c_p.l(__scatter.o) + 0x11012104 0x11012104 0x0000001a Code RO 5072 !!handler_copy c_p.l(__scatter_copy.o) 0x1101211e 0x1101211e 0x00000002 PAD - 0x11012120 0x11012120 0x0000001c Code RO 5079 !!handler_zi c_p.l(__scatter_zi.o) - 0x1101213c 0x1101213c 0x00000002 Code RO 4769 .ARM.Collect$$_printf_percent$$00000000 c_p.l(_printf_percent.o) - 0x1101213e 0x1101213e 0x0000000a Code RO 4840 .ARM.Collect$$_printf_percent$$00000001 c_p.l(_printf_n.o) - 0x11012148 0x11012148 0x0000000a Code RO 4841 .ARM.Collect$$_printf_percent$$00000002 c_p.l(_printf_p.o) - 0x11012152 0x11012152 0x0000000a Code RO 4845 .ARM.Collect$$_printf_percent$$00000003 c_p.l(_printf_f.o) - 0x1101215c 0x1101215c 0x0000000a Code RO 4846 .ARM.Collect$$_printf_percent$$00000004 c_p.l(_printf_e.o) - 0x11012166 0x11012166 0x0000000a Code RO 4847 .ARM.Collect$$_printf_percent$$00000005 c_p.l(_printf_g.o) - 0x11012170 0x11012170 0x0000000a Code RO 4848 .ARM.Collect$$_printf_percent$$00000006 c_p.l(_printf_a.o) - 0x1101217a 0x1101217a 0x0000000a Code RO 4853 .ARM.Collect$$_printf_percent$$00000007 c_p.l(_printf_ll.o) - 0x11012184 0x11012184 0x0000000a Code RO 4843 .ARM.Collect$$_printf_percent$$00000008 c_p.l(_printf_i.o) - 0x1101218e 0x1101218e 0x0000000a Code RO 4768 .ARM.Collect$$_printf_percent$$00000009 c_p.l(_printf_d.o) - 0x11012198 0x11012198 0x0000000a Code RO 4844 .ARM.Collect$$_printf_percent$$0000000A c_p.l(_printf_u.o) - 0x110121a2 0x110121a2 0x0000000a Code RO 4842 .ARM.Collect$$_printf_percent$$0000000B c_p.l(_printf_o.o) - 0x110121ac 0x110121ac 0x0000000a Code RO 4767 .ARM.Collect$$_printf_percent$$0000000C c_p.l(_printf_x.o) - 0x110121b6 0x110121b6 0x0000000a Code RO 4850 .ARM.Collect$$_printf_percent$$0000000D c_p.l(_printf_lli.o) - 0x110121c0 0x110121c0 0x0000000a Code RO 4851 .ARM.Collect$$_printf_percent$$0000000E c_p.l(_printf_lld.o) - 0x110121ca 0x110121ca 0x0000000a Code RO 4852 .ARM.Collect$$_printf_percent$$0000000F c_p.l(_printf_llu.o) - 0x110121d4 0x110121d4 0x0000000a Code RO 4857 .ARM.Collect$$_printf_percent$$00000010 c_p.l(_printf_llo.o) - 0x110121de 0x110121de 0x0000000a Code RO 4858 .ARM.Collect$$_printf_percent$$00000011 c_p.l(_printf_llx.o) - 0x110121e8 0x110121e8 0x0000000a Code RO 4854 .ARM.Collect$$_printf_percent$$00000012 c_p.l(_printf_l.o) - 0x110121f2 0x110121f2 0x0000000a Code RO 4839 .ARM.Collect$$_printf_percent$$00000013 c_p.l(_printf_c.o) - 0x110121fc 0x110121fc 0x0000000a Code RO 4766 .ARM.Collect$$_printf_percent$$00000014 c_p.l(_printf_s.o) - 0x11012206 0x11012206 0x0000000a Code RO 4855 .ARM.Collect$$_printf_percent$$00000015 c_p.l(_printf_lc.o) - 0x11012210 0x11012210 0x0000000a Code RO 4856 .ARM.Collect$$_printf_percent$$00000016 c_p.l(_printf_ls.o) - 0x1101221a 0x1101221a 0x00000004 Code RO 4849 .ARM.Collect$$_printf_percent$$00000017 c_p.l(_printf_percent_end.o) - 0x1101221e 0x1101221e 0x00000002 Code RO 4935 .ARM.Collect$$libinit$$00000000 c_p.l(libinit.o) - 0x11012220 0x11012220 0x00000000 Code RO 4958 .ARM.Collect$$libinit$$00000002 c_p.l(libinit2.o) - 0x11012220 0x11012220 0x00000000 Code RO 4960 .ARM.Collect$$libinit$$00000004 c_p.l(libinit2.o) - 0x11012220 0x11012220 0x00000000 Code RO 4963 .ARM.Collect$$libinit$$0000000A c_p.l(libinit2.o) - 0x11012220 0x11012220 0x00000000 Code RO 4965 .ARM.Collect$$libinit$$0000000C c_p.l(libinit2.o) - 0x11012220 0x11012220 0x00000000 Code RO 4967 .ARM.Collect$$libinit$$0000000E c_p.l(libinit2.o) - 0x11012220 0x11012220 0x00000006 Code RO 4968 .ARM.Collect$$libinit$$0000000F c_p.l(libinit2.o) - 0x11012226 0x11012226 0x00000000 Code RO 4970 .ARM.Collect$$libinit$$00000011 c_p.l(libinit2.o) - 0x11012226 0x11012226 0x0000000c Code RO 4971 .ARM.Collect$$libinit$$00000012 c_p.l(libinit2.o) - 0x11012232 0x11012232 0x00000000 Code RO 4972 .ARM.Collect$$libinit$$00000013 c_p.l(libinit2.o) - 0x11012232 0x11012232 0x00000000 Code RO 4974 .ARM.Collect$$libinit$$00000015 c_p.l(libinit2.o) - 0x11012232 0x11012232 0x0000000a Code RO 4975 .ARM.Collect$$libinit$$00000016 c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4976 .ARM.Collect$$libinit$$00000017 c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4978 .ARM.Collect$$libinit$$00000019 c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4980 .ARM.Collect$$libinit$$0000001B c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4982 .ARM.Collect$$libinit$$0000001D c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4984 .ARM.Collect$$libinit$$0000001F c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4986 .ARM.Collect$$libinit$$00000021 c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4988 .ARM.Collect$$libinit$$00000023 c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4990 .ARM.Collect$$libinit$$00000025 c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4994 .ARM.Collect$$libinit$$0000002C c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4996 .ARM.Collect$$libinit$$0000002E c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 4998 .ARM.Collect$$libinit$$00000030 c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000000 Code RO 5000 .ARM.Collect$$libinit$$00000032 c_p.l(libinit2.o) - 0x1101223c 0x1101223c 0x00000002 Code RO 5001 .ARM.Collect$$libinit$$00000033 c_p.l(libinit2.o) - 0x1101223e 0x1101223e 0x00000002 Code RO 5025 .ARM.Collect$$libshutdown$$00000000 c_p.l(libshutdown.o) - 0x11012240 0x11012240 0x00000000 Code RO 5051 .ARM.Collect$$libshutdown$$00000002 c_p.l(libshutdown2.o) - 0x11012240 0x11012240 0x00000000 Code RO 5053 .ARM.Collect$$libshutdown$$00000004 c_p.l(libshutdown2.o) - 0x11012240 0x11012240 0x00000000 Code RO 5055 .ARM.Collect$$libshutdown$$00000006 c_p.l(libshutdown2.o) - 0x11012240 0x11012240 0x00000000 Code RO 5058 .ARM.Collect$$libshutdown$$00000009 c_p.l(libshutdown2.o) - 0x11012240 0x11012240 0x00000000 Code RO 5061 .ARM.Collect$$libshutdown$$0000000C c_p.l(libshutdown2.o) - 0x11012240 0x11012240 0x00000000 Code RO 5063 .ARM.Collect$$libshutdown$$0000000E c_p.l(libshutdown2.o) - 0x11012240 0x11012240 0x00000000 Code RO 5066 .ARM.Collect$$libshutdown$$00000011 c_p.l(libshutdown2.o) - 0x11012240 0x11012240 0x00000002 Code RO 5067 .ARM.Collect$$libshutdown$$00000012 c_p.l(libshutdown2.o) - 0x11012242 0x11012242 0x00000000 Code RO 4809 .ARM.Collect$$rtentry$$00000000 c_p.l(__rtentry.o) - 0x11012242 0x11012242 0x00000000 Code RO 4871 .ARM.Collect$$rtentry$$00000002 c_p.l(__rtentry2.o) - 0x11012242 0x11012242 0x00000006 Code RO 4883 .ARM.Collect$$rtentry$$00000004 c_p.l(__rtentry4.o) - 0x11012248 0x11012248 0x00000000 Code RO 4873 .ARM.Collect$$rtentry$$00000009 c_p.l(__rtentry2.o) - 0x11012248 0x11012248 0x00000004 Code RO 4874 .ARM.Collect$$rtentry$$0000000A c_p.l(__rtentry2.o) - 0x1101224c 0x1101224c 0x00000000 Code RO 4876 .ARM.Collect$$rtentry$$0000000C c_p.l(__rtentry2.o) - 0x1101224c 0x1101224c 0x00000008 Code RO 4877 .ARM.Collect$$rtentry$$0000000D c_p.l(__rtentry2.o) - 0x11012254 0x11012254 0x00000002 Code RO 4944 .ARM.Collect$$rtexit$$00000000 c_p.l(rtexit.o) - 0x11012256 0x11012256 0x00000000 Code RO 5003 .ARM.Collect$$rtexit$$00000002 c_p.l(rtexit2.o) - 0x11012256 0x11012256 0x00000004 Code RO 5004 .ARM.Collect$$rtexit$$00000003 c_p.l(rtexit2.o) - 0x1101225a 0x1101225a 0x00000006 Code RO 5005 .ARM.Collect$$rtexit$$00000004 c_p.l(rtexit2.o) - 0x11012260 0x11012260 0x00000038 Code RO 4772 .emb_text c_p.l(rt_memcpy.o) + 0x11012120 0x11012120 0x0000001c Code RO 5074 !!handler_zi c_p.l(__scatter_zi.o) + 0x1101213c 0x1101213c 0x00000002 Code RO 4764 .ARM.Collect$$_printf_percent$$00000000 c_p.l(_printf_percent.o) + 0x1101213e 0x1101213e 0x0000000a Code RO 4835 .ARM.Collect$$_printf_percent$$00000001 c_p.l(_printf_n.o) + 0x11012148 0x11012148 0x0000000a Code RO 4836 .ARM.Collect$$_printf_percent$$00000002 c_p.l(_printf_p.o) + 0x11012152 0x11012152 0x0000000a Code RO 4840 .ARM.Collect$$_printf_percent$$00000003 c_p.l(_printf_f.o) + 0x1101215c 0x1101215c 0x0000000a Code RO 4841 .ARM.Collect$$_printf_percent$$00000004 c_p.l(_printf_e.o) + 0x11012166 0x11012166 0x0000000a Code RO 4842 .ARM.Collect$$_printf_percent$$00000005 c_p.l(_printf_g.o) + 0x11012170 0x11012170 0x0000000a Code RO 4843 .ARM.Collect$$_printf_percent$$00000006 c_p.l(_printf_a.o) + 0x1101217a 0x1101217a 0x0000000a Code RO 4848 .ARM.Collect$$_printf_percent$$00000007 c_p.l(_printf_ll.o) + 0x11012184 0x11012184 0x0000000a Code RO 4838 .ARM.Collect$$_printf_percent$$00000008 c_p.l(_printf_i.o) + 0x1101218e 0x1101218e 0x0000000a Code RO 4763 .ARM.Collect$$_printf_percent$$00000009 c_p.l(_printf_d.o) + 0x11012198 0x11012198 0x0000000a Code RO 4839 .ARM.Collect$$_printf_percent$$0000000A c_p.l(_printf_u.o) + 0x110121a2 0x110121a2 0x0000000a Code RO 4837 .ARM.Collect$$_printf_percent$$0000000B c_p.l(_printf_o.o) + 0x110121ac 0x110121ac 0x0000000a Code RO 4762 .ARM.Collect$$_printf_percent$$0000000C c_p.l(_printf_x.o) + 0x110121b6 0x110121b6 0x0000000a Code RO 4845 .ARM.Collect$$_printf_percent$$0000000D c_p.l(_printf_lli.o) + 0x110121c0 0x110121c0 0x0000000a Code RO 4846 .ARM.Collect$$_printf_percent$$0000000E c_p.l(_printf_lld.o) + 0x110121ca 0x110121ca 0x0000000a Code RO 4847 .ARM.Collect$$_printf_percent$$0000000F c_p.l(_printf_llu.o) + 0x110121d4 0x110121d4 0x0000000a Code RO 4852 .ARM.Collect$$_printf_percent$$00000010 c_p.l(_printf_llo.o) + 0x110121de 0x110121de 0x0000000a Code RO 4853 .ARM.Collect$$_printf_percent$$00000011 c_p.l(_printf_llx.o) + 0x110121e8 0x110121e8 0x0000000a Code RO 4849 .ARM.Collect$$_printf_percent$$00000012 c_p.l(_printf_l.o) + 0x110121f2 0x110121f2 0x0000000a Code RO 4834 .ARM.Collect$$_printf_percent$$00000013 c_p.l(_printf_c.o) + 0x110121fc 0x110121fc 0x0000000a Code RO 4761 .ARM.Collect$$_printf_percent$$00000014 c_p.l(_printf_s.o) + 0x11012206 0x11012206 0x0000000a Code RO 4850 .ARM.Collect$$_printf_percent$$00000015 c_p.l(_printf_lc.o) + 0x11012210 0x11012210 0x0000000a Code RO 4851 .ARM.Collect$$_printf_percent$$00000016 c_p.l(_printf_ls.o) + 0x1101221a 0x1101221a 0x00000004 Code RO 4844 .ARM.Collect$$_printf_percent$$00000017 c_p.l(_printf_percent_end.o) + 0x1101221e 0x1101221e 0x00000002 Code RO 4930 .ARM.Collect$$libinit$$00000000 c_p.l(libinit.o) + 0x11012220 0x11012220 0x00000000 Code RO 4953 .ARM.Collect$$libinit$$00000002 c_p.l(libinit2.o) + 0x11012220 0x11012220 0x00000000 Code RO 4955 .ARM.Collect$$libinit$$00000004 c_p.l(libinit2.o) + 0x11012220 0x11012220 0x00000000 Code RO 4958 .ARM.Collect$$libinit$$0000000A c_p.l(libinit2.o) + 0x11012220 0x11012220 0x00000000 Code RO 4960 .ARM.Collect$$libinit$$0000000C c_p.l(libinit2.o) + 0x11012220 0x11012220 0x00000000 Code RO 4962 .ARM.Collect$$libinit$$0000000E c_p.l(libinit2.o) + 0x11012220 0x11012220 0x00000006 Code RO 4963 .ARM.Collect$$libinit$$0000000F c_p.l(libinit2.o) + 0x11012226 0x11012226 0x00000000 Code RO 4965 .ARM.Collect$$libinit$$00000011 c_p.l(libinit2.o) + 0x11012226 0x11012226 0x0000000c Code RO 4966 .ARM.Collect$$libinit$$00000012 c_p.l(libinit2.o) + 0x11012232 0x11012232 0x00000000 Code RO 4967 .ARM.Collect$$libinit$$00000013 c_p.l(libinit2.o) + 0x11012232 0x11012232 0x00000000 Code RO 4969 .ARM.Collect$$libinit$$00000015 c_p.l(libinit2.o) + 0x11012232 0x11012232 0x0000000a Code RO 4970 .ARM.Collect$$libinit$$00000016 c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4971 .ARM.Collect$$libinit$$00000017 c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4973 .ARM.Collect$$libinit$$00000019 c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4975 .ARM.Collect$$libinit$$0000001B c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4977 .ARM.Collect$$libinit$$0000001D c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4979 .ARM.Collect$$libinit$$0000001F c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4981 .ARM.Collect$$libinit$$00000021 c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4983 .ARM.Collect$$libinit$$00000023 c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4985 .ARM.Collect$$libinit$$00000025 c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4989 .ARM.Collect$$libinit$$0000002C c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4991 .ARM.Collect$$libinit$$0000002E c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4993 .ARM.Collect$$libinit$$00000030 c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000000 Code RO 4995 .ARM.Collect$$libinit$$00000032 c_p.l(libinit2.o) + 0x1101223c 0x1101223c 0x00000002 Code RO 4996 .ARM.Collect$$libinit$$00000033 c_p.l(libinit2.o) + 0x1101223e 0x1101223e 0x00000002 Code RO 5020 .ARM.Collect$$libshutdown$$00000000 c_p.l(libshutdown.o) + 0x11012240 0x11012240 0x00000000 Code RO 5046 .ARM.Collect$$libshutdown$$00000002 c_p.l(libshutdown2.o) + 0x11012240 0x11012240 0x00000000 Code RO 5048 .ARM.Collect$$libshutdown$$00000004 c_p.l(libshutdown2.o) + 0x11012240 0x11012240 0x00000000 Code RO 5050 .ARM.Collect$$libshutdown$$00000006 c_p.l(libshutdown2.o) + 0x11012240 0x11012240 0x00000000 Code RO 5053 .ARM.Collect$$libshutdown$$00000009 c_p.l(libshutdown2.o) + 0x11012240 0x11012240 0x00000000 Code RO 5056 .ARM.Collect$$libshutdown$$0000000C c_p.l(libshutdown2.o) + 0x11012240 0x11012240 0x00000000 Code RO 5058 .ARM.Collect$$libshutdown$$0000000E c_p.l(libshutdown2.o) + 0x11012240 0x11012240 0x00000000 Code RO 5061 .ARM.Collect$$libshutdown$$00000011 c_p.l(libshutdown2.o) + 0x11012240 0x11012240 0x00000002 Code RO 5062 .ARM.Collect$$libshutdown$$00000012 c_p.l(libshutdown2.o) + 0x11012242 0x11012242 0x00000000 Code RO 4804 .ARM.Collect$$rtentry$$00000000 c_p.l(__rtentry.o) + 0x11012242 0x11012242 0x00000000 Code RO 4866 .ARM.Collect$$rtentry$$00000002 c_p.l(__rtentry2.o) + 0x11012242 0x11012242 0x00000006 Code RO 4878 .ARM.Collect$$rtentry$$00000004 c_p.l(__rtentry4.o) + 0x11012248 0x11012248 0x00000000 Code RO 4868 .ARM.Collect$$rtentry$$00000009 c_p.l(__rtentry2.o) + 0x11012248 0x11012248 0x00000004 Code RO 4869 .ARM.Collect$$rtentry$$0000000A c_p.l(__rtentry2.o) + 0x1101224c 0x1101224c 0x00000000 Code RO 4871 .ARM.Collect$$rtentry$$0000000C c_p.l(__rtentry2.o) + 0x1101224c 0x1101224c 0x00000008 Code RO 4872 .ARM.Collect$$rtentry$$0000000D c_p.l(__rtentry2.o) + 0x11012254 0x11012254 0x00000002 Code RO 4939 .ARM.Collect$$rtexit$$00000000 c_p.l(rtexit.o) + 0x11012256 0x11012256 0x00000000 Code RO 4998 .ARM.Collect$$rtexit$$00000002 c_p.l(rtexit2.o) + 0x11012256 0x11012256 0x00000004 Code RO 4999 .ARM.Collect$$rtexit$$00000003 c_p.l(rtexit2.o) + 0x1101225a 0x1101225a 0x00000006 Code RO 5000 .ARM.Collect$$rtexit$$00000004 c_p.l(rtexit2.o) + 0x11012260 0x11012260 0x00000038 Code RO 4767 .emb_text c_p.l(rt_memcpy.o) 0x11012298 0x11012298 0x00000048 Code RO 4 .text startup_xinc.o - 0x110122e0 0x110122e0 0x00000030 Code RO 4707 .text c_p.l(llmul.o) - 0x11012310 0x11012310 0x00000102 Code RO 4709 .text c_p.l(lludiv.o) + 0x110122e0 0x110122e0 0x00000030 Code RO 4702 .text c_p.l(llmul.o) + 0x11012310 0x11012310 0x00000102 Code RO 4704 .text c_p.l(lludiv.o) 0x11012412 0x11012412 0x00000002 PAD - 0x11012414 0x11012414 0x0000001c Code RO 4711 .text c_p.l(printf.o) - 0x11012430 0x11012430 0x0000001c Code RO 4713 .text c_p.l(__2printf.o) - 0x1101244c 0x1101244c 0x0000004e Code RO 4719 .text c_p.l(_printf_pad.o) - 0x1101249a 0x1101249a 0x00000052 Code RO 4721 .text c_p.l(_printf_str.o) - 0x110124ec 0x110124ec 0x0000006c Code RO 4723 .text c_p.l(_printf_dec.o) - 0x11012558 0x11012558 0x00000098 Code RO 4743 .text c_p.l(_printf_hex_int_ll_ptr.o) - 0x110125f0 0x110125f0 0x00000188 Code RO 4763 .text c_p.l(__printf_flags_ss_wp.o) - 0x11012778 0x11012778 0x0000005a Code RO 4770 .text c_p.l(memcmp.o) - 0x110127d2 0x110127d2 0x00000082 Code RO 4773 .text c_p.l(rt_memcpy.o) - 0x11012854 0x11012854 0x00000012 Code RO 4776 .text c_p.l(aeabi_memset.o) - 0x11012866 0x11012866 0x00000006 Code RO 4788 .text c_p.l(heapauxi.o) - 0x1101286c 0x1101286c 0x00000160 Code RO 4800 .text fz_ps.l(fdiv.o) - 0x110129cc 0x110129cc 0x00000030 Code RO 4803 .text fz_ps.l(ffixui.o) - 0x110129fc 0x110129fc 0x0000005e Code RO 4805 .text fz_ps.l(fflti.o) - 0x11012a5a 0x11012a5a 0x00000024 Code RO 4818 .text c_p.l(_printf_truncate.o) - 0x11012a7e 0x11012a7e 0x000000b0 Code RO 4820 .text c_p.l(_printf_intcommon.o) - 0x11012b2e 0x11012b2e 0x00000026 Code RO 4822 .text c_p.l(_printf_charcount.o) - 0x11012b54 0x11012b54 0x0000002e Code RO 4824 .text c_p.l(_printf_char.o) + 0x11012414 0x11012414 0x0000001c Code RO 4706 .text c_p.l(printf.o) + 0x11012430 0x11012430 0x0000001c Code RO 4708 .text c_p.l(__2printf.o) + 0x1101244c 0x1101244c 0x0000004e Code RO 4714 .text c_p.l(_printf_pad.o) + 0x1101249a 0x1101249a 0x00000052 Code RO 4716 .text c_p.l(_printf_str.o) + 0x110124ec 0x110124ec 0x0000006c Code RO 4718 .text c_p.l(_printf_dec.o) + 0x11012558 0x11012558 0x00000098 Code RO 4738 .text c_p.l(_printf_hex_int_ll_ptr.o) + 0x110125f0 0x110125f0 0x00000188 Code RO 4758 .text c_p.l(__printf_flags_ss_wp.o) + 0x11012778 0x11012778 0x0000005a Code RO 4765 .text c_p.l(memcmp.o) + 0x110127d2 0x110127d2 0x00000082 Code RO 4768 .text c_p.l(rt_memcpy.o) + 0x11012854 0x11012854 0x00000012 Code RO 4771 .text c_p.l(aeabi_memset.o) + 0x11012866 0x11012866 0x00000006 Code RO 4783 .text c_p.l(heapauxi.o) + 0x1101286c 0x1101286c 0x00000160 Code RO 4795 .text fz_ps.l(fdiv.o) + 0x110129cc 0x110129cc 0x00000030 Code RO 4798 .text fz_ps.l(ffixui.o) + 0x110129fc 0x110129fc 0x0000005e Code RO 4800 .text fz_ps.l(fflti.o) + 0x11012a5a 0x11012a5a 0x00000024 Code RO 4813 .text c_p.l(_printf_truncate.o) + 0x11012a7e 0x11012a7e 0x000000b0 Code RO 4815 .text c_p.l(_printf_intcommon.o) + 0x11012b2e 0x11012b2e 0x00000026 Code RO 4817 .text c_p.l(_printf_charcount.o) + 0x11012b54 0x11012b54 0x0000002e Code RO 4819 .text c_p.l(_printf_char.o) 0x11012b82 0x11012b82 0x00000002 PAD - 0x11012b84 0x11012b84 0x00000028 Code RO 4826 .text c_p.l(_printf_char_file.o) - 0x11012bac 0x11012bac 0x000000bc Code RO 4828 .text c_p.l(_printf_wctomb.o) - 0x11012c68 0x11012c68 0x00000070 Code RO 4831 .text c_p.l(_printf_longlong_dec.o) - 0x11012cd8 0x11012cd8 0x00000070 Code RO 4837 .text c_p.l(_printf_oct_int_ll.o) - 0x11012d48 0x11012d48 0x00000028 Code RO 4859 .text c_p.l(rtudiv10.o) - 0x11012d70 0x11012d70 0x0000007a Code RO 4887 .text c_p.l(lludiv10.o) + 0x11012b84 0x11012b84 0x00000028 Code RO 4821 .text c_p.l(_printf_char_file.o) + 0x11012bac 0x11012bac 0x000000bc Code RO 4823 .text c_p.l(_printf_wctomb.o) + 0x11012c68 0x11012c68 0x00000070 Code RO 4826 .text c_p.l(_printf_longlong_dec.o) + 0x11012cd8 0x11012cd8 0x00000070 Code RO 4832 .text c_p.l(_printf_oct_int_ll.o) + 0x11012d48 0x11012d48 0x00000028 Code RO 4854 .text c_p.l(rtudiv10.o) + 0x11012d70 0x11012d70 0x0000007a Code RO 4882 .text c_p.l(lludiv10.o) 0x11012dea 0x11012dea 0x00000002 PAD - 0x11012dec 0x11012dec 0x00000418 Code RO 4889 .text c_p.l(_printf_fp_dec.o) - 0x11013204 0x11013204 0x000002d8 Code RO 4891 .text c_p.l(_printf_fp_hex.o) - 0x110134dc 0x110134dc 0x00000030 Code RO 4894 .text c_p.l(_printf_char_common.o) - 0x1101350c 0x1101350c 0x0000002e Code RO 4896 .text c_p.l(_printf_wchar.o) - 0x1101353a 0x1101353a 0x00000040 Code RO 4898 .text c_p.l(_wcrtomb.o) - 0x1101357a 0x1101357a 0x0000003e Code RO 4900 .text c_p.l(sys_stackheap_outer.o) - 0x110135b8 0x110135b8 0x00000010 Code RO 4903 .text c_p.l(rt_ctype_table.o) - 0x110135c8 0x110135c8 0x00000008 Code RO 4908 .text c_p.l(rt_locale_intlibspace.o) - 0x110135d0 0x110135d0 0x00000088 Code RO 4910 .text c_p.l(_printf_fp_infnan.o) - 0x11013658 0x11013658 0x000000d8 Code RO 4914 .text c_p.l(bigflt0.o) - 0x11013730 0x11013730 0x00000580 Code RO 4917 .text c_p.l(btod.o) - 0x11013cb0 0x11013cb0 0x00000010 Code RO 4924 .text c_p.l(exit.o) - 0x11013cc0 0x11013cc0 0x00000008 Code RO 4940 .text c_p.l(libspace.o) - 0x11013cc8 0x11013cc8 0x00000088 Code RO 4955 .text c_p.l(strcmp.o) - 0x11013d50 0x11013d50 0x00000056 Code RO 5073 .text c_p.l(__dczerorl2.o) + 0x11012dec 0x11012dec 0x00000418 Code RO 4884 .text c_p.l(_printf_fp_dec.o) + 0x11013204 0x11013204 0x000002d8 Code RO 4886 .text c_p.l(_printf_fp_hex.o) + 0x110134dc 0x110134dc 0x00000030 Code RO 4889 .text c_p.l(_printf_char_common.o) + 0x1101350c 0x1101350c 0x0000002e Code RO 4891 .text c_p.l(_printf_wchar.o) + 0x1101353a 0x1101353a 0x00000040 Code RO 4893 .text c_p.l(_wcrtomb.o) + 0x1101357a 0x1101357a 0x0000003e Code RO 4895 .text c_p.l(sys_stackheap_outer.o) + 0x110135b8 0x110135b8 0x00000010 Code RO 4898 .text c_p.l(rt_ctype_table.o) + 0x110135c8 0x110135c8 0x00000008 Code RO 4903 .text c_p.l(rt_locale_intlibspace.o) + 0x110135d0 0x110135d0 0x00000088 Code RO 4905 .text c_p.l(_printf_fp_infnan.o) + 0x11013658 0x11013658 0x000000d8 Code RO 4909 .text c_p.l(bigflt0.o) + 0x11013730 0x11013730 0x00000580 Code RO 4912 .text c_p.l(btod.o) + 0x11013cb0 0x11013cb0 0x00000010 Code RO 4919 .text c_p.l(exit.o) + 0x11013cc0 0x11013cc0 0x00000008 Code RO 4935 .text c_p.l(libspace.o) + 0x11013cc8 0x11013cc8 0x00000088 Code RO 4950 .text c_p.l(strcmp.o) + 0x11013d50 0x11013d50 0x00000056 Code RO 5068 .text c_p.l(__dczerorl2.o) 0x11013da6 0x11013da6 0x00000002 PAD - 0x11013da8 0x11013da8 0x0000000c Ven RO 5081 Veneer$$Code anon$$obj.o - 0x11013db4 0x11013db4 0x0000000c Ven RO 5082 Veneer$$Code anon$$obj.o - 0x11013dc0 0x11013dc0 0x0000000c Ven RO 5083 Veneer$$Code anon$$obj.o - 0x11013dcc 0x11013dcc 0x0000000c Ven RO 5084 Veneer$$Code anon$$obj.o - 0x11013dd8 0x11013dd8 0x0000000c Ven RO 5085 Veneer$$Code anon$$obj.o - 0x11013de4 0x11013de4 0x0000000c Ven RO 5086 Veneer$$Code anon$$obj.o - 0x11013df0 0x11013df0 0x0000000c Ven RO 5087 Veneer$$Code anon$$obj.o - 0x11013dfc 0x11013dfc 0x0000000c Ven RO 5088 Veneer$$Code anon$$obj.o - 0x11013e08 0x11013e08 0x0000000c Ven RO 5089 Veneer$$Code anon$$obj.o - 0x11013e14 0x11013e14 0x0000000c Ven RO 5090 Veneer$$Code anon$$obj.o - 0x11013e20 0x11013e20 0x0000000c Ven RO 5091 Veneer$$Code anon$$obj.o - 0x11013e2c 0x11013e2c 0x0000000c Ven RO 5092 Veneer$$Code anon$$obj.o - 0x11013e38 0x11013e38 0x0000000c Ven RO 5093 Veneer$$Code anon$$obj.o - 0x11013e44 0x11013e44 0x0000000c Ven RO 5094 Veneer$$Code anon$$obj.o - 0x11013e50 0x11013e50 0x0000000c Ven RO 5095 Veneer$$Code anon$$obj.o - 0x11013e5c 0x11013e5c 0x0000000c Ven RO 5096 Veneer$$Code anon$$obj.o - 0x11013e68 0x11013e68 0x0000000c Ven RO 5097 Veneer$$Code anon$$obj.o - 0x11013e74 0x11013e74 0x0000000c Ven RO 5098 Veneer$$Code anon$$obj.o - 0x11013e80 0x11013e80 0x0000000c Ven RO 5099 Veneer$$Code anon$$obj.o - 0x11013e8c 0x11013e8c 0x0000000c Ven RO 5100 Veneer$$Code anon$$obj.o - 0x11013e98 0x11013e98 0x0000000c Ven RO 5101 Veneer$$Code anon$$obj.o - 0x11013ea4 0x11013ea4 0x0000000c Ven RO 5102 Veneer$$Code anon$$obj.o - 0x11013eb0 0x11013eb0 0x0000000c Ven RO 5103 Veneer$$Code anon$$obj.o - 0x11013ebc 0x11013ebc 0x0000000c Ven RO 5104 Veneer$$Code anon$$obj.o - 0x11013ec8 0x11013ec8 0x0000000c Ven RO 5105 Veneer$$Code anon$$obj.o - 0x11013ed4 0x11013ed4 0x0000000c Ven RO 5106 Veneer$$Code anon$$obj.o - 0x11013ee0 0x11013ee0 0x0000000c Ven RO 5107 Veneer$$Code anon$$obj.o + 0x11013da8 0x11013da8 0x0000000c Ven RO 5076 Veneer$$Code anon$$obj.o + 0x11013db4 0x11013db4 0x0000000c Ven RO 5077 Veneer$$Code anon$$obj.o + 0x11013dc0 0x11013dc0 0x0000000c Ven RO 5078 Veneer$$Code anon$$obj.o + 0x11013dcc 0x11013dcc 0x0000000c Ven RO 5079 Veneer$$Code anon$$obj.o + 0x11013dd8 0x11013dd8 0x0000000c Ven RO 5080 Veneer$$Code anon$$obj.o + 0x11013de4 0x11013de4 0x0000000c Ven RO 5081 Veneer$$Code anon$$obj.o + 0x11013df0 0x11013df0 0x0000000c Ven RO 5082 Veneer$$Code anon$$obj.o + 0x11013dfc 0x11013dfc 0x0000000c Ven RO 5083 Veneer$$Code anon$$obj.o + 0x11013e08 0x11013e08 0x0000000c Ven RO 5084 Veneer$$Code anon$$obj.o + 0x11013e14 0x11013e14 0x0000000c Ven RO 5085 Veneer$$Code anon$$obj.o + 0x11013e20 0x11013e20 0x0000000c Ven RO 5086 Veneer$$Code anon$$obj.o + 0x11013e2c 0x11013e2c 0x0000000c Ven RO 5087 Veneer$$Code anon$$obj.o + 0x11013e38 0x11013e38 0x0000000c Ven RO 5088 Veneer$$Code anon$$obj.o + 0x11013e44 0x11013e44 0x0000000c Ven RO 5089 Veneer$$Code anon$$obj.o + 0x11013e50 0x11013e50 0x0000000c Ven RO 5090 Veneer$$Code anon$$obj.o + 0x11013e5c 0x11013e5c 0x0000000c Ven RO 5091 Veneer$$Code anon$$obj.o + 0x11013e68 0x11013e68 0x0000000c Ven RO 5092 Veneer$$Code anon$$obj.o + 0x11013e74 0x11013e74 0x0000000c Ven RO 5093 Veneer$$Code anon$$obj.o + 0x11013e80 0x11013e80 0x0000000c Ven RO 5094 Veneer$$Code anon$$obj.o + 0x11013e8c 0x11013e8c 0x0000000c Ven RO 5095 Veneer$$Code anon$$obj.o + 0x11013e98 0x11013e98 0x0000000c Ven RO 5096 Veneer$$Code anon$$obj.o + 0x11013ea4 0x11013ea4 0x0000000c Ven RO 5097 Veneer$$Code anon$$obj.o + 0x11013eb0 0x11013eb0 0x0000000c Ven RO 5098 Veneer$$Code anon$$obj.o + 0x11013ebc 0x11013ebc 0x0000000c Ven RO 5099 Veneer$$Code anon$$obj.o + 0x11013ec8 0x11013ec8 0x0000000c Ven RO 5100 Veneer$$Code anon$$obj.o + 0x11013ed4 0x11013ed4 0x0000000c Ven RO 5101 Veneer$$Code anon$$obj.o + 0x11013ee0 0x11013ee0 0x0000000c Ven RO 5102 Veneer$$Code anon$$obj.o 0x11013eec 0x11013eec 0x00000014 Code RO 1333 i.GADC_Handler xc_drv_adc.o 0x11013f00 0x11013f00 0x00000024 Code RO 2268 i.GPIO_Handler xc_drv_gpio.o 0x11013f24 0x11013f24 0x0000002c Code RO 2456 i.PWM_Handler xc_drv_pwm.o @@ -3263,11 +3251,11 @@ Memory Map of the image 0x1101407c 0x1101407c 0x00000020 Code RO 3945 i.WDT_Handler xc_drv_wdt.o 0x1101409c 0x1101409c 0x0000004c Code RO 12 i.WDT_ResetInit system_xinc.o 0x110140e8 0x110140e8 0x00000084 Code RO 4141 i._433_fun rf433.o - 0x1101416c 0x1101416c 0x00000030 Code RO 4919 i.__ARM_common_ll_muluu c_p.l(btod.o) + 0x1101416c 0x1101416c 0x00000030 Code RO 4914 i.__ARM_common_ll_muluu c_p.l(btod.o) 0x1101419c 0x1101419c 0x0000001a Code RO 746 i.__ARM_common_switch8 arch_main.o 0x110141b6 0x110141b6 0x00000002 PAD - 0x110141b8 0x110141b8 0x0000002c Code RO 4938 i.__ARM_fpclassify m_ps.l(fpclassify.o) - 0x110141e4 0x110141e4 0x0000000e Code RO 4756 i._is_digit c_p.l(__printf_wp.o) + 0x110141b8 0x110141b8 0x0000002c Code RO 4933 i.__ARM_fpclassify m_ps.l(fpclassify.o) + 0x110141e4 0x110141e4 0x0000000e Code RO 4751 i._is_digit c_p.l(__printf_wp.o) 0x110141f2 0x110141f2 0x00000002 Code RO 13 i._sys_exit system_xinc.o 0x110141f4 0x110141f4 0x0000008c Code RO 1334 i.adc_intr_callback xc_drv_adc.o 0x11014280 0x11014280 0x00000048 Code RO 536 i.app_create_advertising app_task.o @@ -3275,20 +3263,20 @@ Memory Map of the image 0x11014304 0x11014304 0x00000028 Code RO 538 i.app_get_dev_name app_task.o 0x1101432c 0x1101432c 0x00000044 Code RO 539 i.app_init app_task.o 0x11014370 0x11014370 0x00000040 Code RO 4142 i.app_key_callback_handler rf433.o - 0x110143b0 0x110143b0 0x00000068 Code RO 4292 i.app_key_click_detection key.o - 0x11014418 0x11014418 0x00000030 Code RO 4293 i.app_key_init key.o - 0x11014448 0x11014448 0x00000054 Code RO 4295 i.app_key_scan key.o + 0x110143b0 0x110143b0 0x00000068 Code RO 4287 i.app_key_click_detection key.o + 0x11014418 0x11014418 0x00000030 Code RO 4288 i.app_key_init key.o + 0x11014448 0x11014448 0x00000054 Code RO 4290 i.app_key_scan key.o 0x1101449c 0x1101449c 0x00000070 Code RO 540 i.app_msg_handler app_task.o - 0x1101450c 0x1101450c 0x0000003c Code RO 4389 i.app_op_flash ota_flash_interface.o - 0x11014548 0x11014548 0x00000018 Code RO 4390 i.app_op_flash_on ota_flash_interface.o + 0x1101450c 0x1101450c 0x0000003c Code RO 4384 i.app_op_flash ota_flash_interface.o + 0x11014548 0x11014548 0x00000018 Code RO 4385 i.app_op_flash_on ota_flash_interface.o 0x11014560 0x11014560 0x00000004 Code RO 806 i.app_sec_msg_dflt_handler app_sec.o 0x11014564 0x11014564 0x00000068 Code RO 541 i.app_set_adv_data app_task.o 0x110145cc 0x110145cc 0x0000003c Code RO 544 i.app_start_advertising app_task.o 0x11014608 0x11014608 0x00000058 Code RO 678 i.app_uart_init arch_main.o 0x11014660 0x11014660 0x00000018 Code RO 4103 i.ble_callback uart_1.o - 0x11014678 0x11014678 0x000000b8 Code RO 4391 i.ble_flash_handle ota_flash_interface.o - 0x11014730 0x11014730 0x0000001c Code RO 4392 i.ble_flash_later_page_erase ota_flash_interface.o - 0x1101474c 0x1101474c 0x0000002c Code RO 4394 i.ble_flash_later_write_page ota_flash_interface.o + 0x11014678 0x11014678 0x000000b8 Code RO 4386 i.ble_flash_handle ota_flash_interface.o + 0x11014730 0x11014730 0x0000001c Code RO 4387 i.ble_flash_later_page_erase ota_flash_interface.o + 0x1101474c 0x1101474c 0x0000002c Code RO 4389 i.ble_flash_later_write_page ota_flash_interface.o 0x11014778 0x11014778 0x00000030 Code RO 4104 i.ble_message_process uart_1.o 0x110147a8 0x110147a8 0x00000048 Code RO 4143 i.ble_mode_scan rf433.o 0x110147f0 0x110147f0 0x0000006c Code RO 679 i.bluetooth_init arch_main.o @@ -3305,7 +3293,7 @@ Memory Map of the image 0x11014d7c 0x11014d7c 0x00000164 Code RO 681 i.flash_init arch_main.o 0x11014ee0 0x11014ee0 0x0000000e Code RO 4145 i.flash_run rf433.o 0x11014eee 0x11014eee 0x00000056 Code RO 2135 i.flash_size_and_type_get xc_drv_fmc_spi.o - 0x11014f44 0x11014f44 0x0000002c Code RO 4249 i.fmc_spi_read fmc_spi_1.o + 0x11014f44 0x11014f44 0x0000002c Code RO 4244 i.fmc_spi_read fmc_spi_1.o 0x11014f70 0x11014f70 0x00000200 Code RO 808 i.gapc_bond_ind_handler app_sec.o 0x11015170 0x11015170 0x0000021c Code RO 809 i.gapc_bond_req_ind_handler app_sec.o 0x1101538c 0x1101538c 0x0000034c Code RO 546 i.gapc_callback app_task.o @@ -3315,14 +3303,14 @@ Memory Map of the image 0x11015994 0x11015994 0x00000144 Code RO 548 i.gapm_callback app_task.o 0x11015ad8 0x11015ad8 0x000000a4 Code RO 549 i.gapm_cmp_evt app_task.o 0x11015b7c 0x11015b7c 0x00000008 Code RO 550 i.get_app_env app_task.o - 0x11015b84 0x11015b84 0x0000001c Code RO 4250 i.get_checksum fmc_spi_1.o - 0x11015ba0 0x11015ba0 0x0000002e Code RO 4296 i.get_click_event key.o + 0x11015b84 0x11015b84 0x0000001c Code RO 4245 i.get_checksum fmc_spi_1.o + 0x11015ba0 0x11015ba0 0x0000002e Code RO 4291 i.get_click_event key.o 0x11015bce 0x11015bce 0x00000002 PAD 0x11015bd0 0x11015bd0 0x00000014 Code RO 1025 i.get_fota_env_addr nvds.o - 0x11015be4 0x11015be4 0x00000038 Code RO 4211 i.gpio_intr_callback switch_s.o - 0x11015c1c 0x11015c1c 0x00000014 Code RO 4297 i.gpio_key_check key.o - 0x11015c30 0x11015c30 0x00000014 Code RO 4298 i.key_click_state_reset key.o - 0x11015c44 0x11015c44 0x0000003c Code RO 4356 i.led_gpio_init led.o + 0x11015be4 0x11015be4 0x00000038 Code RO 4206 i.gpio_intr_callback switch_s.o + 0x11015c1c 0x11015c1c 0x00000014 Code RO 4292 i.gpio_key_check key.o + 0x11015c30 0x11015c30 0x00000014 Code RO 4293 i.key_click_state_reset key.o + 0x11015c44 0x11015c44 0x0000003c Code RO 4351 i.led_gpio_init led.o 0x11015c80 0x11015c80 0x00000054 Code RO 682 i.main arch_main.o 0x11015cd4 0x11015cd4 0x00000034 Code RO 1026 i.nvds_browse_tag nvds.o 0x11015d08 0x11015d08 0x00000038 Code RO 1027 i.nvds_del nvds.o @@ -3337,139 +3325,139 @@ Memory Map of the image 0x11015ff8 0x11015ff8 0x00000084 Code RO 1037 i.nvds_space_init nvds.o 0x1101607c 0x1101607c 0x00000038 Code RO 1038 i.nvds_walk_tag nvds.o 0x110160b4 0x110160b4 0x00000028 Code RO 1039 i.nvds_write nvds.o - 0x110160dc 0x110160dc 0x0000009c Code RO 4551 i.ota_slave_send_data ota_server.o - 0x11016178 0x11016178 0x00000010 Code RO 4552 i.ota_srv_get_hdl_from_att_idx ota_server.o - 0x11016188 0x11016188 0x0000003c Code RO 4449 i.ota_write_flash ota_protocol.o - 0x110161c4 0x110161c4 0x00000034 Code RO 4357 i.pwm3_toggle led.o + 0x110160dc 0x110160dc 0x0000009c Code RO 4546 i.ota_slave_send_data ota_server.o + 0x11016178 0x11016178 0x00000010 Code RO 4547 i.ota_srv_get_hdl_from_att_idx ota_server.o + 0x11016188 0x11016188 0x0000003c Code RO 4444 i.ota_write_flash ota_protocol.o + 0x110161c4 0x110161c4 0x00000034 Code RO 4352 i.pwm3_toggle led.o 0x110161f8 0x110161f8 0x00000004 Code RO 2457 i.pwm_capture_ch0_callback xc_drv_pwm.o 0x110161fc 0x110161fc 0x00000004 Code RO 2458 i.pwm_capture_ch1_callback xc_drv_pwm.o 0x11016200 0x11016200 0x00000004 Code RO 2459 i.pwm_capture_ch2_callback xc_drv_pwm.o 0x11016204 0x11016204 0x000000dc Code RO 2460 i.pwm_freq_to_period xc_drv_pwm.o 0x110162e0 0x110162e0 0x000000c0 Code RO 2461 i.pwm_pin_set xc_drv_pwm.o - 0x110163a0 0x110163a0 0x00000084 Code RO 4251 i.read_user_data fmc_spi_1.o - 0x11016424 0x11016424 0x0000000e Code RO 2136 i.reverse_verif_is_true xc_drv_fmc_spi.o - 0x11016432 0x11016432 0x0000000e Code RO 4606 i.rf433_abs_diff_u16 rf433_decoder.o - 0x11016440 0x11016440 0x00000024 Code RO 4607 i.rf433_decode_reset rf433_decoder.o - 0x11016464 0x11016464 0x00000024 Code RO 4608 i.rf433_decoder_get_frame rf433_decoder.o - 0x11016488 0x11016488 0x00000034 Code RO 4610 i.rf433_decoder_init rf433_decoder.o - 0x110164bc 0x110164bc 0x00000040 Code RO 4611 i.rf433_decoder_process rf433_decoder.o - 0x110164fc 0x110164fc 0x00000074 Code RO 4612 i.rf433_decoder_sample rf433_decoder.o - 0x11016570 0x11016570 0x0000001e Code RO 4146 i.rf433_gpio_init rf433.o - 0x1101658e 0x1101658e 0x00000002 PAD - 0x11016590 0x11016590 0x0000001c Code RO 4613 i.rf433_is_long rf433_decoder.o - 0x110165ac 0x110165ac 0x0000001c Code RO 4614 i.rf433_is_short rf433_decoder.o - 0x110165c8 0x110165c8 0x00000010 Code RO 4615 i.rf433_limit_t rf433_decoder.o - 0x110165d8 0x110165d8 0x0000005c Code RO 4616 i.rf433_output_code rf433_decoder.o - 0x11016634 0x11016634 0x00000248 Code RO 4617 i.rf433_process_clean_pulse rf433_decoder.o - 0x1101687c 0x1101687c 0x000000c0 Code RO 4618 i.rf433_repair_input_pulse rf433_decoder.o - 0x1101693c 0x1101693c 0x00000018 Code RO 4619 i.rf433_repair_reset rf433_decoder.o - 0x11016954 0x11016954 0x0000006c Code RO 4620 i.rf433_update_range_by_t rf433_decoder.o - 0x110169c0 0x110169c0 0x00000028 Code RO 683 i.rom_env_host_init arch_main.o - 0x110169e8 0x110169e8 0x000001b0 Code RO 4148 i.scan_433 rf433.o - 0x11016b98 0x11016b98 0x00000090 Code RO 4105 i.scan_uart uart_1.o - 0x11016c28 0x11016c28 0x00000010 Code RO 4060 i.set_TaskComps_timer timeslice.o - 0x11016c38 0x11016c38 0x0000009c Code RO 684 i.set_single_addr_name arch_main.o - 0x11016cd4 0x11016cd4 0x0000003c Code RO 16 i.set_vector system_xinc.o - 0x11016d10 0x11016d10 0x0000009c Code RO 936 i.slave_send_data usr_server.o - 0x11016dac 0x11016dac 0x00000010 Code RO 937 i.srv_get_hdl_from_att_idx usr_server.o - 0x11016dbc 0x11016dbc 0x00000070 Code RO 4212 i.switch_init switch_s.o - 0x11016e2c 0x11016e2c 0x00000002 Code RO 3498 i.systick_callback xc_drv_systick.o - 0x11016e2e 0x11016e2e 0x00000002 PAD - 0x11016e30 0x11016e30 0x00000088 Code RO 4018 i.timer0_2_init timer.o - 0x11016eb8 0x11016eb8 0x00000002 Code RO 3540 i.timer3_callback xc_drv_timer.o - 0x11016eba 0x11016eba 0x00000002 PAD - 0x11016ebc 0x11016ebc 0x00000270 Code RO 4213 i.trigger_check_process switch_s.o - 0x1101712c 0x1101712c 0x000000b0 Code RO 3735 i.uart_user_handler xc_drv_uart.o - 0x110171dc 0x110171dc 0x00000016 Code RO 4019 i.updateTimer timer.o - 0x110171f2 0x110171f2 0x0000001a Code RO 686 i.wdt_init arch_main.o - 0x1101720c 0x1101720c 0x00000088 Code RO 4252 i.wright_user_data fmc_spi_1.o - 0x11017294 0x11017294 0x0000007c Code RO 1340 i.xc_adc_data_average xc_drv_adc.o - 0x11017310 0x11017310 0x00000028 Code RO 1135 i.xc_ble_activity_delete xc_gap_api.o - 0x11017338 0x11017338 0x00000030 Code RO 1596 i.xc_bor_init xc_drv_bor.o - 0x11017368 0x11017368 0x00000040 Code RO 1839 i.xc_clock_bbpll_common_cfg xc_drv_clock.o - 0x110173a8 0x110173a8 0x000000ec Code RO 1840 i.xc_clock_bbpll_freq_cfg xc_drv_clock.o - 0x11017494 0x11017494 0x0000000c Code RO 1841 i.xc_clock_hfclk_in_get xc_drv_clock.o - 0x110174a0 0x110174a0 0x000000dc Code RO 1842 i.xc_clock_hfclk_set xc_drv_clock.o - 0x1101757c 0x1101757c 0x00000016 Code RO 1844 i.xc_clock_init_cfg xc_drv_clock.o - 0x11017592 0x11017592 0x00000002 PAD - 0x11017594 0x11017594 0x0000000c Code RO 1845 i.xc_clock_lfclk_in_get xc_drv_clock.o - 0x110175a0 0x110175a0 0x0000006c Code RO 1846 i.xc_clock_lfclk_set xc_drv_clock.o - 0x1101760c 0x1101760c 0x00000028 Code RO 4453 i.xc_fota_dev_ack_cmd ota_protocol.o - 0x11017634 0x11017634 0x0000001c Code RO 2270 i.xc_gpio_direction_config xc_drv_gpio.o - 0x11017650 0x11017650 0x00000028 Code RO 2271 i.xc_gpio_fun_sel xc_drv_gpio.o - 0x11017678 0x11017678 0x0000002e Code RO 2272 i.xc_gpio_init xc_drv_gpio.o - 0x110176a6 0x110176a6 0x00000002 PAD - 0x110176a8 0x110176a8 0x00000034 Code RO 2273 i.xc_gpio_it_config xc_drv_gpio.o - 0x110176dc 0x110176dc 0x0000004c Code RO 2274 i.xc_gpio_mux_ctl xc_drv_gpio.o - 0x11017728 0x11017728 0x000000e8 Code RO 2275 i.xc_gpio_pull_config xc_drv_gpio.o - 0x11017810 0x11017810 0x00000024 Code RO 2276 i.xc_gpio_read_pin xc_drv_gpio.o - 0x11017834 0x11017834 0x0000002c Code RO 2277 i.xc_gpio_toggle_pin xc_drv_gpio.o - 0x11017860 0x11017860 0x0000001c Code RO 2278 i.xc_gpio_write_pin xc_drv_gpio.o - 0x1101787c 0x1101787c 0x00000040 Code RO 1861 i.xc_hfclk_set xc_drv_clock.o - 0x110178bc 0x110178bc 0x00000064 Code RO 4457 i.xc_ota_schedule ota_protocol.o - 0x11017920 0x11017920 0x00000070 Code RO 2484 i.xc_pwm_dutycycle_set xc_drv_pwm.o - 0x11017990 0x11017990 0x000000e0 Code RO 2485 i.xc_pwm_init xc_drv_pwm.o - 0x11017a70 0x11017a70 0x0000001c Code RO 2490 i.xc_pwm_start_all xc_drv_pwm.o - 0x11017a8c 0x11017a8c 0x0000005c Code RO 2908 i.xc_pwr_vol_set xc_drv_pwr.o - 0x11017ae8 0x11017ae8 0x000000f8 Code RO 1684 i.xc_rc32k_soft_calib_set xc_drv_calib.o - 0x11017be0 0x11017be0 0x0000021c Code RO 1862 i.xc_system_param_check xc_drv_clock.o - 0x11017dfc 0x11017dfc 0x0000000c Code RO 1864 i.xc_systick_unit_get xc_drv_clock.o - 0x11017e08 0x11017e08 0x00000120 Code RO 3541 i.xc_timer_init xc_drv_timer.o - 0x11017f28 0x11017f28 0x00000028 Code RO 3542 i.xc_timer_set_value xc_drv_timer.o - 0x11017f50 0x11017f50 0x0000003c Code RO 3543 i.xc_timer_start xc_drv_timer.o - 0x11017f8c 0x11017f8c 0x000000f4 Code RO 3545 i.xc_timer_us_to_ticks xc_drv_timer.o - 0x11018080 0x11018080 0x000001f0 Code RO 3739 i.xc_uart_init xc_drv_uart.o - 0x11018270 0x11018270 0x000000e8 Code RO 2138 i.xc_unique_identification_read xc_drv_fmc_spi.o - 0x11018358 0x11018358 0x00000068 Code RO 3948 i.xc_wdt_init xc_drv_wdt.o - 0x110183c0 0x110183c0 0x00000040 Code RO 3949 i.xc_wdt_refresh xc_drv_wdt.o - 0x11018400 0x11018400 0x00000044 Code RO 3950 i.xc_wdt_reload xc_drv_wdt.o - 0x11018444 0x11018444 0x00000034 Code RO 3951 i.xc_wdt_start xc_drv_wdt.o - 0x11018478 0x11018478 0x0000002c Code RO 4922 locale$$code c_p.l(lc_numeric_c.o) - 0x110184a4 0x110184a4 0x0000002c Code RO 4949 locale$$code c_p.l(lc_ctype_c.o) - 0x110184d0 0x110184d0 0x000000b0 Code RO 4807 x$fpl$fmul fz_ps.l(fmul.o) - 0x11018580 0x11018580 0x00000010 Code RO 4861 x$fpl$printf1 fz_ps.l(printf1.o) - 0x11018590 0x11018590 0x00000010 Code RO 4863 x$fpl$printf2 fz_ps.l(printf2.o) - 0x110185a0 0x110185a0 0x00000000 Code RO 4869 x$fpl$usenofp fz_ps.l(usenofp.o) - 0x110185a0 0x110185a0 0x00000008 Data RO 551 .constdata app_task.o - 0x110185a8 0x110185a8 0x00000038 Data RO 552 .constdata app_task.o - 0x110185e0 0x110185e0 0x00000002 Data RO 689 .constdata arch_main.o - 0x110185e2 0x110185e2 0x00000002 PAD - 0x110185e4 0x110185e4 0x00000028 Data RO 813 .constdata app_sec.o - 0x1101860c 0x1101860c 0x00000008 Data RO 814 .constdata app_sec.o - 0x11018614 0x11018614 0x00000086 Data RO 938 .constdata usr_server.o - 0x1101869a 0x1101869a 0x00000004 Data RO 1041 .constdata nvds.o - 0x1101869e 0x1101869e 0x0000001f Data RO 2501 .constdata xc_drv_pwm.o - 0x110186bd 0x110186bd 0x00000004 Data RO 3546 .constdata xc_drv_timer.o - 0x110186c1 0x110186c1 0x00000001 PAD - 0x110186c2 0x110186c2 0x00000006 Data RO 3746 .constdata xc_drv_uart.o - 0x110186c8 0x110186c8 0x00000010 Data RO 4460 .constdata ota_protocol.o - 0x110186d8 0x110186d8 0x00000028 Data RO 4744 .constdata c_p.l(_printf_hex_int_ll_ptr.o) - 0x11018700 0x11018700 0x00000011 Data RO 4764 .constdata c_p.l(__printf_flags_ss_wp.o) - 0x11018711 0x11018711 0x00000040 Data RO 4801 .constdata fz_ps.l(fdiv.o) - 0x11018751 0x11018751 0x00000003 PAD - 0x11018754 0x11018754 0x00000008 Data RO 4829 .constdata c_p.l(_printf_wctomb.o) - 0x1101875c 0x1101875c 0x00000026 Data RO 4892 .constdata c_p.l(_printf_fp_hex.o) - 0x11018782 0x11018782 0x00000002 PAD - 0x11018784 0x11018784 0x00000094 Data RO 4915 .constdata c_p.l(bigflt0.o) - 0x11018818 0x11018818 0x000000cf Data RO 553 .conststring app_task.o - 0x110188e7 0x110188e7 0x00000001 PAD - 0x110188e8 0x110188e8 0x00000055 Data RO 939 .conststring usr_server.o - 0x1101893d 0x1101893d 0x00000003 PAD - 0x11018940 0x11018940 0x00000062 Data RO 2502 .conststring xc_drv_pwm.o - 0x110189a2 0x110189a2 0x00000002 PAD - 0x110189a4 0x110189a4 0x000000b5 Data RO 4622 .conststring rf433_decoder.o - 0x11018a59 0x11018a59 0x00000003 PAD - 0x11018a5c 0x11018a5c 0x00000050 Data RO 5071 Region$$Table anon$$obj.o - 0x11018aac 0x11018aac 0x0000001c Data RO 4921 locale$$data c_p.l(lc_numeric_c.o) - 0x11018ac8 0x11018ac8 0x00000110 Data RO 4948 locale$$data c_p.l(lc_ctype_c.o) + 0x110163a0 0x110163a0 0x000000a8 Code RO 4246 i.read_user_data fmc_spi_1.o + 0x11016448 0x11016448 0x0000000e Code RO 2136 i.reverse_verif_is_true xc_drv_fmc_spi.o + 0x11016456 0x11016456 0x0000000e Code RO 4601 i.rf433_abs_diff_u16 rf433_decoder.o + 0x11016464 0x11016464 0x00000024 Code RO 4602 i.rf433_decode_reset rf433_decoder.o + 0x11016488 0x11016488 0x00000024 Code RO 4603 i.rf433_decoder_get_frame rf433_decoder.o + 0x110164ac 0x110164ac 0x00000034 Code RO 4605 i.rf433_decoder_init rf433_decoder.o + 0x110164e0 0x110164e0 0x00000040 Code RO 4606 i.rf433_decoder_process rf433_decoder.o + 0x11016520 0x11016520 0x00000074 Code RO 4607 i.rf433_decoder_sample rf433_decoder.o + 0x11016594 0x11016594 0x0000001e Code RO 4146 i.rf433_gpio_init rf433.o + 0x110165b2 0x110165b2 0x00000002 PAD + 0x110165b4 0x110165b4 0x0000001c Code RO 4608 i.rf433_is_long rf433_decoder.o + 0x110165d0 0x110165d0 0x0000001c Code RO 4609 i.rf433_is_short rf433_decoder.o + 0x110165ec 0x110165ec 0x00000010 Code RO 4610 i.rf433_limit_t rf433_decoder.o + 0x110165fc 0x110165fc 0x0000005c Code RO 4611 i.rf433_output_code rf433_decoder.o + 0x11016658 0x11016658 0x00000248 Code RO 4612 i.rf433_process_clean_pulse rf433_decoder.o + 0x110168a0 0x110168a0 0x000000c0 Code RO 4613 i.rf433_repair_input_pulse rf433_decoder.o + 0x11016960 0x11016960 0x00000018 Code RO 4614 i.rf433_repair_reset rf433_decoder.o + 0x11016978 0x11016978 0x0000006c Code RO 4615 i.rf433_update_range_by_t rf433_decoder.o + 0x110169e4 0x110169e4 0x00000028 Code RO 683 i.rom_env_host_init arch_main.o + 0x11016a0c 0x11016a0c 0x000001f4 Code RO 4147 i.scan_433 rf433.o + 0x11016c00 0x11016c00 0x00000090 Code RO 4105 i.scan_uart uart_1.o + 0x11016c90 0x11016c90 0x00000010 Code RO 4060 i.set_TaskComps_timer timeslice.o + 0x11016ca0 0x11016ca0 0x0000009c Code RO 684 i.set_single_addr_name arch_main.o + 0x11016d3c 0x11016d3c 0x0000003c Code RO 16 i.set_vector system_xinc.o + 0x11016d78 0x11016d78 0x0000009c Code RO 936 i.slave_send_data usr_server.o + 0x11016e14 0x11016e14 0x00000010 Code RO 937 i.srv_get_hdl_from_att_idx usr_server.o + 0x11016e24 0x11016e24 0x00000070 Code RO 4207 i.switch_init switch_s.o + 0x11016e94 0x11016e94 0x00000002 Code RO 3498 i.systick_callback xc_drv_systick.o + 0x11016e96 0x11016e96 0x00000002 PAD + 0x11016e98 0x11016e98 0x00000088 Code RO 4018 i.timer0_2_init timer.o + 0x11016f20 0x11016f20 0x00000002 Code RO 3540 i.timer3_callback xc_drv_timer.o + 0x11016f22 0x11016f22 0x00000002 PAD + 0x11016f24 0x11016f24 0x00000270 Code RO 4208 i.trigger_check_process switch_s.o + 0x11017194 0x11017194 0x000000b0 Code RO 3735 i.uart_user_handler xc_drv_uart.o + 0x11017244 0x11017244 0x00000016 Code RO 4019 i.updateTimer timer.o + 0x1101725a 0x1101725a 0x0000001a Code RO 686 i.wdt_init arch_main.o + 0x11017274 0x11017274 0x000000ac Code RO 4247 i.wright_user_data fmc_spi_1.o + 0x11017320 0x11017320 0x0000007c Code RO 1340 i.xc_adc_data_average xc_drv_adc.o + 0x1101739c 0x1101739c 0x00000028 Code RO 1135 i.xc_ble_activity_delete xc_gap_api.o + 0x110173c4 0x110173c4 0x00000030 Code RO 1596 i.xc_bor_init xc_drv_bor.o + 0x110173f4 0x110173f4 0x00000040 Code RO 1839 i.xc_clock_bbpll_common_cfg xc_drv_clock.o + 0x11017434 0x11017434 0x000000ec Code RO 1840 i.xc_clock_bbpll_freq_cfg xc_drv_clock.o + 0x11017520 0x11017520 0x0000000c Code RO 1841 i.xc_clock_hfclk_in_get xc_drv_clock.o + 0x1101752c 0x1101752c 0x000000dc Code RO 1842 i.xc_clock_hfclk_set xc_drv_clock.o + 0x11017608 0x11017608 0x00000016 Code RO 1844 i.xc_clock_init_cfg xc_drv_clock.o + 0x1101761e 0x1101761e 0x00000002 PAD + 0x11017620 0x11017620 0x0000000c Code RO 1845 i.xc_clock_lfclk_in_get xc_drv_clock.o + 0x1101762c 0x1101762c 0x0000006c Code RO 1846 i.xc_clock_lfclk_set xc_drv_clock.o + 0x11017698 0x11017698 0x00000028 Code RO 4448 i.xc_fota_dev_ack_cmd ota_protocol.o + 0x110176c0 0x110176c0 0x0000001c Code RO 2270 i.xc_gpio_direction_config xc_drv_gpio.o + 0x110176dc 0x110176dc 0x00000028 Code RO 2271 i.xc_gpio_fun_sel xc_drv_gpio.o + 0x11017704 0x11017704 0x0000002e Code RO 2272 i.xc_gpio_init xc_drv_gpio.o + 0x11017732 0x11017732 0x00000002 PAD + 0x11017734 0x11017734 0x00000034 Code RO 2273 i.xc_gpio_it_config xc_drv_gpio.o + 0x11017768 0x11017768 0x0000004c Code RO 2274 i.xc_gpio_mux_ctl xc_drv_gpio.o + 0x110177b4 0x110177b4 0x000000e8 Code RO 2275 i.xc_gpio_pull_config xc_drv_gpio.o + 0x1101789c 0x1101789c 0x00000024 Code RO 2276 i.xc_gpio_read_pin xc_drv_gpio.o + 0x110178c0 0x110178c0 0x0000002c Code RO 2277 i.xc_gpio_toggle_pin xc_drv_gpio.o + 0x110178ec 0x110178ec 0x0000001c Code RO 2278 i.xc_gpio_write_pin xc_drv_gpio.o + 0x11017908 0x11017908 0x00000040 Code RO 1861 i.xc_hfclk_set xc_drv_clock.o + 0x11017948 0x11017948 0x00000064 Code RO 4452 i.xc_ota_schedule ota_protocol.o + 0x110179ac 0x110179ac 0x00000070 Code RO 2484 i.xc_pwm_dutycycle_set xc_drv_pwm.o + 0x11017a1c 0x11017a1c 0x000000e0 Code RO 2485 i.xc_pwm_init xc_drv_pwm.o + 0x11017afc 0x11017afc 0x0000001c Code RO 2490 i.xc_pwm_start_all xc_drv_pwm.o + 0x11017b18 0x11017b18 0x0000005c Code RO 2908 i.xc_pwr_vol_set xc_drv_pwr.o + 0x11017b74 0x11017b74 0x000000f8 Code RO 1684 i.xc_rc32k_soft_calib_set xc_drv_calib.o + 0x11017c6c 0x11017c6c 0x0000021c Code RO 1862 i.xc_system_param_check xc_drv_clock.o + 0x11017e88 0x11017e88 0x0000000c Code RO 1864 i.xc_systick_unit_get xc_drv_clock.o + 0x11017e94 0x11017e94 0x00000120 Code RO 3541 i.xc_timer_init xc_drv_timer.o + 0x11017fb4 0x11017fb4 0x00000028 Code RO 3542 i.xc_timer_set_value xc_drv_timer.o + 0x11017fdc 0x11017fdc 0x0000003c Code RO 3543 i.xc_timer_start xc_drv_timer.o + 0x11018018 0x11018018 0x000000f4 Code RO 3545 i.xc_timer_us_to_ticks xc_drv_timer.o + 0x1101810c 0x1101810c 0x000001f0 Code RO 3739 i.xc_uart_init xc_drv_uart.o + 0x110182fc 0x110182fc 0x000000e8 Code RO 2138 i.xc_unique_identification_read xc_drv_fmc_spi.o + 0x110183e4 0x110183e4 0x00000068 Code RO 3948 i.xc_wdt_init xc_drv_wdt.o + 0x1101844c 0x1101844c 0x00000040 Code RO 3949 i.xc_wdt_refresh xc_drv_wdt.o + 0x1101848c 0x1101848c 0x00000044 Code RO 3950 i.xc_wdt_reload xc_drv_wdt.o + 0x110184d0 0x110184d0 0x00000034 Code RO 3951 i.xc_wdt_start xc_drv_wdt.o + 0x11018504 0x11018504 0x0000002c Code RO 4917 locale$$code c_p.l(lc_numeric_c.o) + 0x11018530 0x11018530 0x0000002c Code RO 4944 locale$$code c_p.l(lc_ctype_c.o) + 0x1101855c 0x1101855c 0x000000b0 Code RO 4802 x$fpl$fmul fz_ps.l(fmul.o) + 0x1101860c 0x1101860c 0x00000010 Code RO 4856 x$fpl$printf1 fz_ps.l(printf1.o) + 0x1101861c 0x1101861c 0x00000010 Code RO 4858 x$fpl$printf2 fz_ps.l(printf2.o) + 0x1101862c 0x1101862c 0x00000000 Code RO 4864 x$fpl$usenofp fz_ps.l(usenofp.o) + 0x1101862c 0x1101862c 0x00000008 Data RO 551 .constdata app_task.o + 0x11018634 0x11018634 0x00000038 Data RO 552 .constdata app_task.o + 0x1101866c 0x1101866c 0x00000002 Data RO 689 .constdata arch_main.o + 0x1101866e 0x1101866e 0x00000002 PAD + 0x11018670 0x11018670 0x00000028 Data RO 813 .constdata app_sec.o + 0x11018698 0x11018698 0x00000008 Data RO 814 .constdata app_sec.o + 0x110186a0 0x110186a0 0x00000086 Data RO 938 .constdata usr_server.o + 0x11018726 0x11018726 0x00000004 Data RO 1041 .constdata nvds.o + 0x1101872a 0x1101872a 0x0000001f Data RO 2501 .constdata xc_drv_pwm.o + 0x11018749 0x11018749 0x00000004 Data RO 3546 .constdata xc_drv_timer.o + 0x1101874d 0x1101874d 0x00000001 PAD + 0x1101874e 0x1101874e 0x00000006 Data RO 3746 .constdata xc_drv_uart.o + 0x11018754 0x11018754 0x00000010 Data RO 4455 .constdata ota_protocol.o + 0x11018764 0x11018764 0x00000028 Data RO 4739 .constdata c_p.l(_printf_hex_int_ll_ptr.o) + 0x1101878c 0x1101878c 0x00000011 Data RO 4759 .constdata c_p.l(__printf_flags_ss_wp.o) + 0x1101879d 0x1101879d 0x00000040 Data RO 4796 .constdata fz_ps.l(fdiv.o) + 0x110187dd 0x110187dd 0x00000003 PAD + 0x110187e0 0x110187e0 0x00000008 Data RO 4824 .constdata c_p.l(_printf_wctomb.o) + 0x110187e8 0x110187e8 0x00000026 Data RO 4887 .constdata c_p.l(_printf_fp_hex.o) + 0x1101880e 0x1101880e 0x00000002 PAD + 0x11018810 0x11018810 0x00000094 Data RO 4910 .constdata c_p.l(bigflt0.o) + 0x110188a4 0x110188a4 0x000000cf Data RO 553 .conststring app_task.o + 0x11018973 0x11018973 0x00000001 PAD + 0x11018974 0x11018974 0x00000055 Data RO 939 .conststring usr_server.o + 0x110189c9 0x110189c9 0x00000003 PAD + 0x110189cc 0x110189cc 0x00000062 Data RO 2502 .conststring xc_drv_pwm.o + 0x11018a2e 0x11018a2e 0x00000002 PAD + 0x11018a30 0x11018a30 0x000000b5 Data RO 4617 .conststring rf433_decoder.o + 0x11018ae5 0x11018ae5 0x00000003 PAD + 0x11018ae8 0x11018ae8 0x00000050 Data RO 5066 Region$$Table anon$$obj.o + 0x11018b38 0x11018b38 0x0000001c Data RO 4916 locale$$data c_p.l(lc_numeric_c.o) + 0x11018b54 0x11018b54 0x00000110 Data RO 4943 locale$$data c_p.l(lc_ctype_c.o) - Execution Region RW2 (Exec base: 0x53006c00, Load base: 0x110196c8, Size: 0x00000a2c, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000018]) + Execution Region RW2 (Exec base: 0x53006c00, Load base: 0x11019750, Size: 0x00000a2c, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000018]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x53006c00 COMPRESSED 0x00000200 Data RW 1043 ram_em nvds.o - 0x53006e00 COMPRESSED 0x0000082b Data RW 4463 ram_em ota_protocol.o + 0x53006e00 COMPRESSED 0x0000082b Data RW 4458 ram_em ota_protocol.o ============================================================================== @@ -3479,18 +3467,18 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 0 0 0 0 0 125543 app_batt.o + 0 0 0 0 0 125531 app_batt.o 1620 798 48 2 0 6408 app_sec.o - 1992 822 271 53 0 15534 app_task.o + 1992 814 271 53 0 15542 app_task.o 1092 376 2 0 28 17771 arch_main.o - 340 62 0 0 512 3353 fmc_spi_1.o + 412 78 0 0 512 3409 fmc_spi_1.o 522 30 0 20 0 7991 key.o 112 16 0 2 0 1406 led.o 1052 192 4 516 24 14195 nvds.o 340 86 0 1 272 5439 ota_flash_interface.o 200 50 16 2108 276 3195 ota_protocol.o 172 80 0 4 0 2513 ota_server.o - 832 46 0 60 12 8288 rf433.o + 900 44 0 36 12 6558 rf433.o 1390 110 181 0 1102 12870 rf433_decoder.o 112 18 0 0 0 8773 sleep.o 72 32 192 0 1776 812 startup_xinc.o @@ -3516,7 +3504,7 @@ Image component sizes 40 4 0 0 0 1489 xc_gap_api.o ---------------------------------------------------------------------- - 20382 4482 1164 3024 4096 515750 Object Totals + 20522 4488 1164 3000 4096 514072 Object Totals 444 148 80 0 0 0 (incl. Generated) 16 0 12 10 2 0 (incl. Padding) @@ -3635,15 +3623,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 28524 4714 1784 3024 4192 510542 Grand Totals - 28524 4714 1784 124 4192 510542 ELF Image Totals (compressed) - 28524 4714 1784 124 0 0 ROM Totals + 28664 4720 1784 3000 4192 508864 Grand Totals + 28664 4720 1784 120 4192 508864 ELF Image Totals (compressed) + 28664 4720 1784 120 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 30308 ( 29.60kB) - Total RW Size (RW Data + ZI Data) 7216 ( 7.05kB) - Total ROM Size (Code + RO Data + RW Data) 30432 ( 29.72kB) + Total RO Size (Code + RO Data) 30448 ( 29.73kB) + Total RW Size (RW Data + ZI Data) 7192 ( 7.02kB) + Total ROM Size (Code + RO Data + RW Data) 30568 ( 29.85kB) ============================================================================== diff --git a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf index 9322ee8054b203bd0c3e6012f344be6379a1ef1a..cd732573cacf55817c48640f2e88223f133796d0 100644 GIT binary patch delta 53571 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 delta 55389 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 z7Collection of Component Files used: -Build Time Elapsed: 00:00:20 +Build Time Elapsed: 00:00:22 diff --git a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.htm b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.htm index 5280b1e..9917c12 100644 --- a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.htm +++ b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.htm @@ -3,7 +3,7 @@ Static Call Graph - [.\Objects\Xinc_ble_sdk.axf]


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


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Thu Jul 09 18:43:35 2026 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Fri Jul 10 18:40:48 2026

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

Call chain for Maximum Stack Depth:

@@ -103,13 +103,13 @@ Global Symbols

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

  • startup_xinc.o(RESET)
-

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

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

[Called By]

    -

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

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

    [Called By]

      -

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

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

      [Called By]

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

        [Called By]

        • >>   bluetooth_init (via Veneer)
        -

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

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

        [Called By]

          FMC_SPI_Flash_WakeUp (Thumb, 0 bytes, Stack size 0 bytes, rom_symdefs.o(ABSOLUTE)) @@ -193,47 +193,46 @@ Global Symbols

        • >>   scan_433 (via Veneer) -

          __rt_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED) +

          __rt_memclr (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

          __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text))

          [Called By]

          • >>   app_start_advertising (via Veneer)
          • >>   app_set_adv_data (via Veneer)
          • >>   app_create_advertising (via Veneer)
          • >>   gapc_callback (via Veneer) +
          • >>   xc_fmc_spi_flash_ruid +
          • >>   rom_env_host_init (via Veneer)
          • >>   xc_fmc_spi_flash_read
          • >>   xc_fmc_spi_flash_read_page
          • >>   xc_fmc_spi_otp_read_page -
          • >>   xc_fmc_spi_flash_ruid -
          • >>   rom_env_host_init (via Veneer) -
          • >>   scan_433 (via Veneer)
          -

          __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED) +

          __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

          __rt_memclr_w (Thumb, 4 bytes, Stack size 0 bytes, rt_memclr.o(.text), UNUSED)

          [Calls]

          • >>   _memset_w
          -

          __aeabi_uidiv (Thumb, 0 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text), UNUSED) +

          __aeabi_uidiv (Thumb, 0 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text), UNUSED)

          __aeabi_uidivmod (Thumb, 20 bytes, Stack size 0 bytes, aeabi_sdiv.o(.text)) -

          [Called By]

          • >>   pwm_freq_to_period (via Veneer) -
          • >>   xc_clock_hfclk_set (via Veneer) -
          • >>   gapc_bond_req_ind_handler (via Veneer) +

            [Called By]
            • >>   gapc_bond_req_ind_handler (via Veneer)
            • >>   xc_uart_init (via Veneer)
            • >>   clock_init (via Veneer)
            • >>   xc_adc_data_average (via Veneer) +
            • >>   pwm_freq_to_period (via Veneer) +
            • >>   xc_clock_hfclk_set (via Veneer)
            • >>   rf433_process_clean_pulse (via Veneer)
            -

            __aeabi_idiv (Thumb, 0 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED) +

            __aeabi_idiv (Thumb, 0 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text), UNUSED)

            __aeabi_idivmod (Thumb, 326 bytes, Stack size 8 bytes, aeabi_sdiv.o(.text))

            [Stack]

            • Max Depth = 8
            • Call Chain = __aeabi_idivmod

            [Called By]
            • >>   flash_init (via Veneer) -
            • >>   _btod_etento (via Veneer)
            • >>   _printf_fp_hex_real (via Veneer) +
            • >>   _btod_etento (via Veneer)

            sendchar (Thumb, 18 bytes, Stack size 0 bytes, system_xinc.o(ram_code)) @@ -335,8 +334,8 @@ Global Symbols

          • >>   ram_memcpy_bytes
          • >>   __aeabi_memclr4
          -
          [Called By]