From 9d4bac6658c86f367a4a72c84e19509b6f87bef7 Mon Sep 17 00:00:00 2001 From: mculover666 <2412828003@qq.com> Date: Thu, 7 May 2020 12:08:07 +0800 Subject: [PATCH 1/2] add support for quectel m26 GSM/GPRS module --- devices/m26/m26.c | 547 ++++++++++++++++++++++++++++++++++++++++++++++ devices/m26/m26.h | 36 +++ 2 files changed, 583 insertions(+) create mode 100644 devices/m26/m26.c create mode 100644 devices/m26/m26.h diff --git a/devices/m26/m26.c b/devices/m26/m26.c new file mode 100644 index 00000000..d6563973 --- /dev/null +++ b/devices/m26/m26.c @@ -0,0 +1,547 @@ +/** + * @brief Quectel M26 GSM/GPRS Module + * @author Mculover666 <2412828003@qq.com> + * @date 2020/05/07 +*/ + +#include "m26.h" +#include "tos_at.h" +#include "tos_hal.h" +#include "sal_module_wrapper.h" + +#include +#include +#include + +static int m26_echo_close(void) +{ + at_echo_t echo; + + tos_at_echo_create(&echo, NULL, 0, NULL); + tos_at_cmd_exec(&echo, 300, "ATE0\r\n"); + if (echo.status == AT_ECHO_STATUS_OK) + { + return 0; + } + return -1; +} +static int m26_sim_card_check(void) +{ + at_echo_t echo; + int try = 0; + char echo_buffer[32]; + + while (try++ < 10) { + tos_at_echo_create(&echo, echo_buffer, sizeof(echo_buffer), NULL); + tos_at_cmd_exec(&echo, 2000, "AT+CPIN?\r\n"); + if (echo.status != AT_ECHO_STATUS_OK) { + return -1; + } + + if(strstr(echo.buffer, "READY")) + { + return 0; + } + } + + return -1; +} + +static int m26_signal_quality_check(void) +{ + int rssi, ber; + at_echo_t echo; + char echo_buffer[32], *str; + int try = 0; + + + while (try++ < 10) + { + tos_at_echo_create(&echo, echo_buffer, sizeof(echo_buffer), NULL); + tos_at_cmd_exec(&echo, 1000, "AT+CSQ\r\n"); + if (echo.status != AT_ECHO_STATUS_OK) + { + return -1; + } + + str = strstr(echo.buffer, "+CSQ:"); + sscanf(str, "+CSQ:%d,%d", &rssi, &ber); + if (rssi != 99) { + return 0; + } + } + + return -1; +} +static int m26_gsm_network_check(void) +{ + int n, stat; + at_echo_t echo; + char echo_buffer[32], *str; + int try = 0; + + while (try++ < 10) + { + tos_at_echo_create(&echo, echo_buffer, sizeof(echo_buffer), NULL); + tos_at_cmd_exec(&echo, 1000, "AT+CREG?\r\n"); + if (echo.status != AT_ECHO_STATUS_OK) { + return -1; + } + + str = strstr(echo.buffer, "+CREG:"); + sscanf(str, "+CREG:%d,%d", &n, &stat); + if (stat == 1) { + return 0; + } + } + return -1; +} + +static int m26_gprs_network_check(void) +{ + int n, stat; + at_echo_t echo; + char echo_buffer[32], *str; + int try = 0; + + while (try++ < 10) + { + tos_at_echo_create(&echo, echo_buffer, sizeof(echo_buffer), NULL); + tos_at_cmd_exec(&echo, 1000, "AT+CGREG?\r\n"); + if (echo.status != AT_ECHO_STATUS_OK) + { + return -1; + } + + str = strstr(echo.buffer, "+CGREG:"); + sscanf(str, "+CGREG:%d,%d", &n, &stat); + if (stat == 1) + { + return 0; + } + } + + return -1; +} + +static int m26_close_apn(void) +{ + at_echo_t echo; + char echo_buffer[32]; + + tos_at_echo_create(&echo, echo_buffer, sizeof(echo_buffer), NULL); + tos_at_cmd_exec(&echo, 3000, "AT+QIDEACT\r\n"); + + if(strstr(echo.buffer, "DEACT OK") == NULL) + { + return -1; + } + + return 0; +} + +static int m26_send_mode_set(sal_send_mode_t mode) +{ + int try = 0; + at_echo_t echo; + + while (try++ < 10) + { + tos_at_echo_create(&echo, NULL, 0, NULL); + tos_at_cmd_exec(&echo, 300, "AT+QIMODE=%d\r\n", mode == SAL_SEND_MODE_NORMAL ? 0 : 1); + if (echo.status == AT_ECHO_STATUS_OK) + { + return 0; + } + } + return -1; +} + +static int m26_multilink_set(sal_multilink_state_t state) +{ + int try = 0; + at_echo_t echo; + + while (try++ < 10) + { + tos_at_echo_create(&echo, NULL, 0, NULL); + tos_at_cmd_exec(&echo, 300, "AT+QIMUX=%d\r\n", state == SAL_MULTILINK_STATE_ENABLE ? 1 : 0); + if (echo.status == AT_ECHO_STATUS_OK) + { + return 0; + } + } + return -1; +} + +static int m26_recv_mode_set() +{ + at_echo_t echo; + + tos_at_echo_create(&echo, NULL, 0, NULL); + tos_at_cmd_exec(&echo, 300, "AT+QINDI=0\r\n"); + if (echo.status != AT_ECHO_STATUS_OK) + { + return -1; + } + return 0; +} + +static int m26_set_apn(void) +{ + at_echo_t echo; + + tos_at_echo_create(&echo, NULL, 0, NULL); + tos_at_cmd_exec(&echo, 300, "AT+QICSGP=1,\"CMNET\"\r\n"); + if (echo.status != AT_ECHO_STATUS_OK) + { + return -1; + } + + tos_at_cmd_exec(&echo, 300, "AT+QIFGCNT=0\r\n"); + if (echo.status != AT_ECHO_STATUS_OK) + { + return -1; + } + + tos_at_cmd_exec(&echo, 300, "AT+QIREGAPP\r\n"); + if (echo.status != AT_ECHO_STATUS_OK) + { + return -1; + } + + tos_at_cmd_exec(&echo, 3000, "AT+QIACT\r\n"); + if (echo.status != AT_ECHO_STATUS_OK) + { + return -1; + } + + tos_at_cmd_exec(&echo, 300, "AT+QILOCIP\r\n"); + + return 0; +} + + + +static int m26_init(void) +{ + printf("Init m26 ...\n" ); + + if (m26_echo_close() != 0) + { + printf("echo close failed\n"); + return -1; + } + + if(m26_sim_card_check() != 0) + { + printf("sim card check failed,please insert your card\n"); + return -1; + } + + if (m26_signal_quality_check() != 0) + { + printf("signal quality check status failed\n"); + return -1; + } + + if(m26_gsm_network_check() != 0) + { + printf("GSM network register status check fail\n"); + return -1; + } + + if(m26_gprs_network_check() != 0) + { + printf("GPRS network register status check fail\n"); + return -1; + } + + if(m26_close_apn() != 0) + { + printf("close apn failed\n"); + return -1; + } + +#if TOS_CFG_MODULE_SINGLE_LINK_EN > 0u + if (m26_multilink_set(SAL_MULTILINK_STATE_DISABLE) != 0) + { + printf("multilink set FAILED\n"); + return -1; + } +#else + if (m26_multilink_set(SAL_MULTILINK_STATE_ENABLE) != 0) + { + printf("multilink set FAILED\n"); + return -1; + } +#endif + + if (m26_send_mode_set(SAL_SEND_MODE_NORMAL) != 0) + { + printf("send mode set FAILED\n"); + return -1; + } + + if(m26_recv_mode_set() != 0) + { + printf("recv mode set FAILED\n"); + return -1; + } + + if (m26_set_apn() != 0) { + printf("apn set FAILED\n"); + return -1; + } + + printf("Init m26 ok\n" ); + return 0; +} + +static int m26_connect(const char *ip, const char *port, sal_proto_t proto) +{ + int id; + at_echo_t echo; + + id = tos_at_channel_alloc(ip, port); + if (id == -1) { + return -1; + } + + tos_at_echo_create(&echo, NULL, 0, NULL); + + tos_at_cmd_exec(&echo, 2000, "%s=1\r\n", "AT+QIHEAD"); + if (echo.status != AT_ECHO_STATUS_OK) { + tos_at_channel_free(id); + return -1; + } + +#if TOS_CFG_MODULE_SINGLE_LINK_EN > 0u + tos_at_echo_create(&echo, NULL, 0, "CONNECT OK"); + tos_at_cmd_exec(&echo, 4000, "AT+QIOPEN=\"%s\",\"%s\",\"%s\"\r\n", + proto == TOS_SAL_PROTO_UDP ? "UDP" : "TCP", ip, atoi(port)); + if (echo.status == AT_ECHO_STATUS_OK) { + return id; + } +#else + tos_at_echo_create(&echo, NULL, 0, "CONNECT OK"); + tos_at_cmd_exec(&echo, 4000, "AT+QIOPEN=%d,\"%s\",\"%s\",%d\r\n", + id, proto == TOS_SAL_PROTO_UDP ? "UDP" : "TCP", ip, atoi(port)); + if (echo.status == AT_ECHO_STATUS_OK) { + return id; + } +#endif + + tos_at_channel_free(id); + return -1; +} + +static int m26_recv_timeout(int id, void *buf, size_t len, uint32_t timeout) +{ + return tos_at_channel_read_timed(id, buf, len, timeout); +} + +static int m26_recv(int id, void *buf, size_t len) +{ + return m26_recv_timeout(id, buf, len, (uint32_t)4000); +} + +int m26_send(int id, const void *buf, size_t len) +{ + at_echo_t echo; + + if (tos_at_global_lock_pend() != 0) { + return -1; + } + + tos_at_echo_create(&echo, NULL, 0, ">"); + +#if TOS_CFG_MODULE_SINGLE_LINK_EN > 0u + tos_at_cmd_exec(&echo, 1000, + "AT+QISEND=%d\r\n", + len); +#else + tos_at_cmd_exec(&echo, 1000, + "AT+QISEND=%d,%d\r\n", + id, len); +#endif + + if (echo.status != AT_ECHO_STATUS_OK && echo.status != AT_ECHO_STATUS_EXPECT) { + tos_at_global_lock_post(); + return -1; + } + + tos_at_echo_create(&echo, NULL, 0, "SEND OK"); + tos_at_raw_data_send(&echo, 1000, (uint8_t *)buf, len); + if (echo.status != AT_ECHO_STATUS_OK && echo.status != AT_ECHO_STATUS_EXPECT) { + tos_at_global_lock_post(); + return -1; + } + + tos_at_global_lock_post(); + + return len; +} + +static void m26_transparent_mode_exit(void) +{ + tos_at_cmd_exec(NULL, 500, "+++"); +} + +static int m26_close(int id) +{ + m26_transparent_mode_exit(); + +#if TOS_CFG_MODULE_SINGLE_LINK_EN > 0u + tos_at_cmd_exec(NULL, 1000, "AT+QICLOSE=%d\r\n", id); +#else + tos_at_cmd_exec(NULL, 1000, "AT+QICLOSE=%d\r\n", id); +#endif + + tos_at_channel_free(id); + + return 0; +} + +static int m26_parse_domain(const char *host_name, char *host_ip, size_t host_ip_len) +{ + char *str; + at_echo_t echo; + char echo_buffer[64]; + + tos_at_echo_create(&echo, echo_buffer, sizeof(echo_buffer), NULL); + tos_at_cmd_exec(&echo, 2000, "AT+QIDNSGIP=\"%s\"\r\n", host_name); + + if (echo.status != AT_ECHO_STATUS_OK) { + return -1; + } + + /* + "xxx.xxx.xxx.xxx" + */ + + int seg1, seg2, seg3, seg4; + str = strstr(echo.buffer, "OK"); + str += strlen("OK\r\n"); + sscanf(str, "%d.%d.%d.%d", &seg1, &seg2, &seg3, &seg4); + snprintf(host_ip, host_ip_len, "%d.%d.%d.%d", seg1, seg2, seg3, seg4); + host_ip[host_ip_len - 1] = '\0'; + + printf("GOT IP: %s\n", host_ip); + + return 0; +} + +__STATIC__ void m26_incoming_data_process(void) +{ + uint8_t data; + int channel_id = 0, data_len = 0, read_len; + uint8_t buffer[128]; + + /* + +RECEIVE: 0, + IPD: + + +RECEIVE: prefix + 0: scoket id + */ + if (tos_at_uart_read(&data, 1) != 1) + { + return; + } + + while (1) + { + if (tos_at_uart_read(&data, 1) != 1) + { + return; + } + + if (data == ',') + { + break; + } + channel_id = channel_id * 10 + (data - '0'); + } + + if (tos_at_uart_read(&data, 1) != 1) + { + return; + } + + while (1) + { + if (tos_at_uart_read(&data, 1) != 1) + { + return; + } + + if (data == '\r') + { + break; + } + data_len = data_len * 10 + (data - '0'); + } + + while (1) + { + if (tos_at_uart_read(&data, 1) != 1) + { + return; + } + + if (data == ':') + { + break; + } +} + + do { +#define MIN(a, b) ((a) < (b) ? (a) : (b)) + read_len = MIN(data_len, sizeof(buffer)); + if (tos_at_uart_read(buffer, read_len) != read_len) { + return; + } + + if (tos_at_channel_write(channel_id, buffer, read_len) <= 0) { + return; + } + + data_len -= read_len; + } while (data_len > 0); + + return; +} + +at_event_t m26_at_event[] = { + { "+RECEIVE:", m26_incoming_data_process}, +}; + +sal_module_t sal_module_m26 = { + .init = m26_init, + .connect = m26_connect, + .send = m26_send, + .recv_timeout = m26_recv_timeout, + .recv = m26_recv, + .close = m26_close, + .parse_domain = m26_parse_domain, +}; + +int m26_sal_init(hal_uart_port_t uart_port) +{ + + if (tos_at_init(uart_port, m26_at_event, + sizeof(m26_at_event) / sizeof(m26_at_event[0])) != 0) { + return -1; + } + + if (tos_sal_module_register(&sal_module_m26) != 0) { + return -1; + } + if (tos_sal_module_init() != 0) { + return -1; + } + + return 0; +} + diff --git a/devices/m26/m26.h b/devices/m26/m26.h new file mode 100644 index 00000000..25c8021e --- /dev/null +++ b/devices/m26/m26.h @@ -0,0 +1,36 @@ +/*---------------------------------------------------------------------------- + * Tencent is pleased to support the open source community by making TencentOS + * available. + * + * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved. + * If you have downloaded a copy of the TencentOS binary from Tencent, please + * note that the TencentOS binary is licensed under the BSD 3-Clause License. + * + * If you have downloaded a copy of the TencentOS source code from Tencent, + * please note that TencentOS source code is licensed under the BSD 3-Clause + * License, except for the third-party components listed below which are + * subject to different license terms. Your integration of TencentOS into your + * own projects may require compliance with the BSD 3-Clause License, as well + * as the other licenses applicable to the third-party components included + * within TencentOS. + *---------------------------------------------------------------------------*/ + +#ifndef __M26_H__ +#define __M26_H__ + +#include "tos_hal.h" + +typedef enum sal_send_mode { + SAL_SEND_MODE_NORMAL, + SAL_SEND_MODE_TRANSPARENT, +} sal_send_mode_t; + +typedef enum sal_multilink_state { + SAL_MULTILINK_STATE_ENABLE, + SAL_MULTILINK_STATE_DISABLE, +} sal_multilink_state_t; + +int m26_sal_init(hal_uart_port_t uart_port); + +#endif /* __M26_H__ */ + From 39173317dbf2d7df73202280ba25f554d967ce28 Mon Sep 17 00:00:00 2001 From: supowang Date: Thu, 7 May 2020 12:31:43 +0800 Subject: [PATCH 2/2] fix l073 lorawankeil project fix l073 lorawankeil project --- .../BSP/HardWare/LSM6DS3/LSM6DS3.c | 2 +- .../TencentOS_tiny_STM32L073RZTx.dbgconf | 43 + .../RTE/_TencentOS_tiny/RTE_Components.h | 20 + .../lorawan/TencentOS_tiny.uvguix.supowang | 1892 ++++++++++ .../KEIL/lorawan/TencentOS_tiny.uvoptx | 172 +- .../KEIL/lorawan/TencentOS_tiny.uvprojx | 27 +- .../TencentOS_tiny.build_log.htm | 125 + .../lorawan/TencentOS_tiny/TencentOS_tiny.htm | 3291 +++++++++++++++++ .../lorawan/TencentOS_tiny/TencentOS_tiny.sct | 16 + .../Inc/stm32l0xx_hal_flash_ex2.h | 2 +- .../Src/stm32l0xx_hal_flash_ex2.c | 2 +- 11 files changed, 5532 insertions(+), 60 deletions(-) create mode 100644 board/NUCLEO_STM32L073RZ/KEIL/lorawan/DebugConfig/TencentOS_tiny_STM32L073RZTx.dbgconf create mode 100644 board/NUCLEO_STM32L073RZ/KEIL/lorawan/RTE/_TencentOS_tiny/RTE_Components.h create mode 100644 board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvguix.supowang create mode 100644 board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.build_log.htm create mode 100644 board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.htm create mode 100644 board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.sct diff --git a/board/NUCLEO_STM32L073RZ/BSP/HardWare/LSM6DS3/LSM6DS3.c b/board/NUCLEO_STM32L073RZ/BSP/HardWare/LSM6DS3/LSM6DS3.c index 4070363f..13366480 100644 --- a/board/NUCLEO_STM32L073RZ/BSP/HardWare/LSM6DS3/LSM6DS3.c +++ b/board/NUCLEO_STM32L073RZ/BSP/HardWare/LSM6DS3/LSM6DS3.c @@ -356,4 +356,4 @@ uint8_t LSM6DS3_Get_Step(sensor_motion_t* sensor_motion) HAL_I2C_Mem_Read(&hi2c1, LSM6DS3_ADDR_RD, LSM6DS3_STEP_COUNTER_L, I2C_MEMADD_SIZE_8BIT, &step_l, 1, 0xFFFF); sensor_motion->stepCount = (uint16_t)step_h<<8|step_l; return 0; -} \ No newline at end of file +} diff --git a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/DebugConfig/TencentOS_tiny_STM32L073RZTx.dbgconf b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/DebugConfig/TencentOS_tiny_STM32L073RZTx.dbgconf new file mode 100644 index 00000000..5b27c4a9 --- /dev/null +++ b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/DebugConfig/TencentOS_tiny_STM32L073RZTx.dbgconf @@ -0,0 +1,43 @@ +// File: STM32L0x1_0x2_0x3_DBGMCU.ini +// Version: 1.0.0 +// Note: refer to STM32L0x1 reference manual (RM0377) +// refer to STM32L0x1 datasheet +// refer to STM32L0x2 reference manual (RM0376) +// refer to STM32L0x2 datasheet +// refer to STM32L0x3 reference manual (RM0367) +// refer to STM32L0x3 datasheet + +// <<< Use Configuration Wizard in Context Menu >>> + +// Debug MCU configuration register (DBGMCU_CR) +// Reserved bits must be kept at reset value +// DBG_STANDBY Debug Standby Mode +// DBG_STOP Debug Stop Mode +// DBG_SLEEP Debug Sleep Mode +// +DbgMCU_CR = 0x00000007; + +// Debug MCU APB1 freeze register (DBGMCU_APB1_FZ) +// Reserved bits must be kept at reset value +// DBG_LPTIMER_STOP LPTIM1 counter stopped when core is halted +// DBG_I2C3_STOP I2C3 SMBUS timeout mode stopped when core is halted +// DBG_I2C2_STOP I2C2 SMBUS timeout mode stopped when core is halted +// DBG_I2C1_STOP I2C1 SMBUS timeout mode stopped when core is halted +// DBG_IWDG_STOP Debug independent watchdog stopped when core is halted +// DBG_WWDG_STOP Debug window watchdog stopped when core is halted +// DBG_RTC_STOP Debug RTC stopped when core is halted +// DBG_TIM7_STOP TIM7 counter stopped when core is halted +// DBG_TIM6_STOP TIM6 counter stopped when core is halted +// DBG_TIM3_STOP TIM3 counter stopped when core is halted +// DBG_TIM2_STOP TIM2 counter stopped when core is halted +// +DbgMCU_APB1_Fz = 0x00000000; + +// Debug MCU APB2 freeze register (DBGMCU_APB2_FZ) +// Reserved bits must be kept at reset value +// DBG_TIM22_STOP TIM22 counter stopped when core is halted +// DBG_TIM21_STOP TIM21 counter stopped when core is halted +// +DbgMCU_APB2_Fz = 0x00000000; + +// <<< end of configuration section >>> diff --git a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/RTE/_TencentOS_tiny/RTE_Components.h b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/RTE/_TencentOS_tiny/RTE_Components.h new file mode 100644 index 00000000..4b2a0396 --- /dev/null +++ b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/RTE/_TencentOS_tiny/RTE_Components.h @@ -0,0 +1,20 @@ + +/* + * Auto generated Run-Time-Environment Component Configuration File + * *** Do not modify ! *** + * + * Project: 'TencentOS_tiny' + * Target: 'TencentOS_tiny' + */ + +#ifndef RTE_COMPONENTS_H +#define RTE_COMPONENTS_H + + +/* + * Define the Device Header File: + */ +#define CMSIS_device_header "stm32l0xx.h" + + +#endif /* RTE_COMPONENTS_H */ diff --git a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvguix.supowang b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvguix.supowang new file mode 100644 index 00000000..e8c542a3 --- /dev/null +++ b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvguix.supowang @@ -0,0 +1,1892 @@ + + + + -6.1 + +
### uVision Project, (C) Keil Software
+ + + + + + 38003 + Registers + 140 90 + + + 346 + Code Coverage + 1010 160 + + + 204 + Performance Analyzer + 1170 + + + + + + 35141 + Event Statistics + + 200 50 700 + + + 1506 + Symbols + + 80 80 80 + + + 1936 + Watch 1 + + 200 133 133 + + + 1937 + Watch 2 + + 200 133 133 + + + 1935 + Call Stack + Locals + + 200 133 133 + + + 2506 + Trace Data + + 75 135 130 95 70 230 200 150 + + + 466 + Source Browser - *** Not Enabled *** + 500 + 300 + + + + + + + + 1 + 1 + 0 + 0 + -1 + + + + + + + 44 + 2 + 3 + + -32000 + -32000 + + + -1 + -1 + + + 77 + 473 + 1512 + 964 + + + + 0 + + 636 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000300000002000000010000007B433A5C55736572735C7375706F77616E675C446F63756D656E74735C4769744875625C54656E63656E744F532D74696E795C706C6174666F726D5C76656E646F725F6273705C73745C53544D33324C3078785F48414C5F4472697665725C496E635C73746D33326C3078785F68616C5F666C6173685F6578322E68000000001973746D33326C3078785F68616C5F666C6173685F6578322E6800000000C5D4F200FFFFFFFF7B433A5C55736572735C7375706F77616E675C446F63756D656E74735C4769744875625C54656E63656E744F532D74696E795C706C6174666F726D5C76656E646F725F6273705C73745C53544D33324C3078785F48414C5F4472697665725C5372635C73746D33326C3078785F68616C5F666C6173685F6578322E63000000001973746D33326C3078785F68616C5F666C6173685F6578322E6300000000FFDC7800FFFFFFFF69433A5C55736572735C7375706F77616E675C446F63756D656E74735C4769744875625C54656E63656E744F532D74696E795C626F6172645C4E55434C454F5F53544D33324C303733525A5C4253505C48617264576172655C4C534D364453335C4C534D364453332E6300000000094C534D364453332E6300000000BECEA100FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F4000000660000008007000087020000 + + + + 0 + Build + + -1 + -1 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000004F00000090050000DF000000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 1005 + 1005 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000057020000 + + + 16 + D60700006D000000C608000038010000 + + + + 109 + 109 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000057020000 + + + 16 + D60700006D000000F2080000AD020000 + + + + 1465 + 1465 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000002D02000090050000BD020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 1466 + 1466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 1467 + 1467 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 1468 + 1468 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 1506 + 1506 + 0 + 0 + 0 + 0 + 32767 + 0 + 16384 + 0 + + 16 + A3040000660000008D05000001010000 + + + 16 + D60700006D000000C608000038010000 + + + + 1913 + 1913 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 1935 + 1935 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 03000000300200008D050000A4020000 + + + 16 + D60700006D000000C608000038010000 + + + + 1936 + 1936 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D000000C608000038010000 + + + + 1937 + 1937 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D000000C608000038010000 + + + + 1939 + 1939 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 1940 + 1940 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 1941 + 1941 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 1942 + 1942 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 195 + 195 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000057020000 + + + 16 + D60700006D000000F2080000AD020000 + + + + 196 + 196 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED00000057020000 + + + 16 + D60700006D000000F2080000AD020000 + + + + 197 + 197 + 1 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000008802000080070000E6030000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 198 + 198 + 0 + 0 + 0 + 0 + 32767 + 0 + 32768 + 0 + + 16 + 000000001902000090050000BD020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 199 + 199 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000008B0200008D050000EB020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 203 + 203 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + F40000006300000090050000DF000000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 204 + 204 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 221 + 221 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000000000000000000000000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 2506 + 2506 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A0040000630000009005000029020000 + + + 16 + D60700006D000000C608000038010000 + + + + 2507 + 2507 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 000000002D02000090050000A9020000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 343 + 343 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 346 + 346 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 35141 + 35141 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F40000006300000090050000DF000000 + + + 16 + D60700006D000000C608000038010000 + + + + 35824 + 35824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 35885 + 35885 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35886 + 35886 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35887 + 35887 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35888 + 35888 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35889 + 35889 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35890 + 35890 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35891 + 35891 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35892 + 35892 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35893 + 35893 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35894 + 35894 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35895 + 35895 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35896 + 35896 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35897 + 35897 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35898 + 35898 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35899 + 35899 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35900 + 35900 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35901 + 35901 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35902 + 35902 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35903 + 35903 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35904 + 35904 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 35905 + 35905 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 38003 + 38003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 0300000066000000ED000000A4020000 + + + 16 + D60700006D000000F2080000AD020000 + + + + 38007 + 38007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000880200009005000004030000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 436 + 436 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000008B0200008D050000EB020000 + + + 16 + D60700006D000000F2080000AD020000 + + + + 437 + 437 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D000000C608000038010000 + + + + 440 + 440 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D000000C608000038010000 + + + + 463 + 463 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000008B0200008D050000EB020000 + + + 16 + D60700006D000000F2080000AD020000 + + + + 466 + 466 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 030000008B0200008D050000EB020000 + + + 16 + D60700006D000000F2080000AD020000 + + + + 470 + 470 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + F7000000660000008D050000C6000000 + + + 16 + D60700006D0000009E0A0000FD000000 + + + + 50000 + 50000 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50001 + 50001 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50002 + 50002 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50003 + 50003 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50004 + 50004 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50005 + 50005 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50006 + 50006 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50007 + 50007 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50008 + 50008 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50009 + 50009 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50010 + 50010 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50011 + 50011 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50012 + 50012 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50013 + 50013 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50014 + 50014 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50015 + 50015 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50016 + 50016 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50017 + 50017 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50018 + 50018 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 50019 + 50019 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + A3040000660000008D0500007C010000 + + + 16 + D60700006D000000C608000038010000 + + + + 59392 + 59392 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 0 + + 16 + 0000000000000000C40300001C000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59393 + 0 + 1 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 00000000E603000080070000F9030000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59399 + 59399 + 1 + 0 + 0 + 0 + 32767 + 0 + 8192 + 1 + + 16 + 000000001C000000E701000038000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 59400 + 59400 + 0 + 0 + 0 + 0 + 32767 + 0 + 8192 + 2 + + 16 + 00000000380000006F02000054000000 + + + 16 + 0A0000000A0000006E0000006E000000 + + + + 824 + 824 + 0 + 0 + 0 + 0 + 32767 + 0 + 4096 + 0 + + 16 + 03000000300200008D05000090020000 + + + 16 + D60700006D000000C608000038010000 + + + + 3334 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFF4000000DF00000090050000E3000000000000000100001004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000D60700006D0000009E0A0000FD000000F40000004F00000090050000DF0000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF9C0400004F000000A004000029020000000000000200001004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D60700006D000000C608000038010000A00400004F000000900500002902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFFF00000004F000000F400000070020000010000000200001004000000010000000000000000000000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000D60700006D000000C608000038010000000000004F000000F0000000700200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000015020000900500001902000000000000010000100400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB09000001800080000000000000D60700006D000000C608000038010000000000001902000090050000BD02000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFC802000019020000CC020000BD02000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF00000000700200008007000074020000010000000100001004000000010000009CFDFFFF28010000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF0100007794000001800080000001000000D60700006D0000009E0A0000FD000000000000007402000080070000E60300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF24536F757263652042726F77736572202D202A2A2A204E6F7420456E61626C6564202A2A2A00000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + + + 59392 + File + + 2651 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001248414C5F464C4153485F52656164576F7264960000000000000014001248414C5F464C4153485F52656164576F726416657370383236365F7265636F6E6E6563745F696E69740C4D585F54494D375F496E69740D707276765541525452784953520F5379735469636B5F48616E646C6572046563323110746F735F61745F756172745F726561640F61745F756172745F676574636861720B756172745F72785F73656D16746F735F61745F756172745F77726974655F627974650841545F4147454E540F746F735F61745F636D645F6578656312746F735F61745F6563686F5F6372656174651453414C5F53454E445F4D4F44455F4E4F524D414C14746F735F61745F6368616E6E656C5F77726974652041545F444154415F4348414E4E454C5F4649464F5F4255464645525F53495A450E61745F6368616E6E656C5F67657414746F735F61745F6368616E6E656C5F616C6C6F630B5573617274325F496E69740E6B5F7072696F5F6D73675F715F740000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000000000000010000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65FF7F0000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 1423 + 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000 + + + + 59399 + Build + + 988 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050000000000E54656E63656E744F535F74696E79960000000000000001000E54656E63656E744F535F74696E79000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64FF7F0000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 583 + 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000 + + + + 59400 + Debug + + 2373 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000000000000100000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000000000001000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000000000000100000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000000000000100000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000000000000100000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F720100000000000000000000000100000001000000000000000000000001000000000000000000054465627567FF7F0000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000 + + + 898 + 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000 + + + + 0 + 1920 + 1080 + + + + + + 1 + 0 + + 100 + 2 + + C:\Users\supowang\Documents\GitHub\TencentOS-tiny\platform\vendor_bsp\st\STM32L0xx_HAL_Driver\Inc\stm32l0xx_hal_flash_ex2.h + 0 + 2 + 44 + 1 + + 0 + + + ..\..\..\..\platform\vendor_bsp\st\STM32L0xx_HAL_Driver\Src\stm32l0xx_hal_flash_ex2.c + 0 + 60 + 90 + 1 + + 0 + + + ..\..\BSP\HardWare\LSM6DS3\LSM6DS3.c + 0 + 330 + 360 + 1 + + 0 + + + + +
diff --git a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvoptx b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvoptx index 7fb6906d..6dd3364a 100644 --- a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvoptx +++ b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvoptx @@ -183,7 +183,7 @@ Application/MDK-ARM - 0 + 1 0 0 0 @@ -203,7 +203,7 @@ Application/User - 0 + 1 0 0 0 @@ -303,17 +303,65 @@ 0 0 + + 2 + 10 + 1 + 0 + 0 + 0 + ..\..\BSP\HardWare\Common\bsp.c + bsp.c + 0 + 0 + + + 2 + 11 + 1 + 0 + 0 + 0 + ..\..\BSP\HardWare\LIS3MDL\LIS3MDL.c + LIS3MDL.c + 0 + 0 + + + 2 + 12 + 1 + 0 + 0 + 0 + ..\..\BSP\HardWare\LPS22HB\LPS22HB.c + LPS22HB.c + 0 + 0 + + + 2 + 13 + 1 + 0 + 0 + 0 + ..\..\BSP\HardWare\LSM6DS3\LSM6DS3.c + LSM6DS3.c + 0 + 0 + Drivers/STM32L0xx_HAL_Driver - 0 + 1 0 0 0 3 - 10 + 14 1 0 0 @@ -325,7 +373,7 @@ 3 - 11 + 15 1 0 0 @@ -337,7 +385,7 @@ 3 - 12 + 16 1 0 0 @@ -349,7 +397,7 @@ 3 - 13 + 17 1 0 0 @@ -361,7 +409,7 @@ 3 - 14 + 18 1 0 0 @@ -373,7 +421,7 @@ 3 - 15 + 19 1 0 0 @@ -385,7 +433,7 @@ 3 - 16 + 20 1 0 0 @@ -397,7 +445,7 @@ 3 - 17 + 21 1 0 0 @@ -409,7 +457,7 @@ 3 - 18 + 22 1 0 0 @@ -421,7 +469,7 @@ 3 - 19 + 23 1 0 0 @@ -433,7 +481,7 @@ 3 - 20 + 24 1 0 0 @@ -445,7 +493,7 @@ 3 - 21 + 25 1 0 0 @@ -457,7 +505,7 @@ 3 - 22 + 26 1 0 0 @@ -469,7 +517,7 @@ 3 - 23 + 27 1 0 0 @@ -481,7 +529,7 @@ 3 - 24 + 28 1 0 0 @@ -493,7 +541,7 @@ 3 - 25 + 29 1 0 0 @@ -505,7 +553,7 @@ 3 - 26 + 30 1 0 0 @@ -515,6 +563,18 @@ 0 0 + + 3 + 31 + 1 + 0 + 0 + 0 + ..\..\..\..\platform\vendor_bsp\st\STM32L0xx_HAL_Driver\Src\stm32l0xx_hal_flash_ex2.c + stm32l0xx_hal_flash_ex2.c + 0 + 0 + @@ -525,7 +585,7 @@ 0 4 - 27 + 32 1 0 0 @@ -545,7 +605,7 @@ 0 5 - 28 + 33 1 0 0 @@ -557,7 +617,7 @@ 5 - 29 + 34 1 0 0 @@ -569,7 +629,7 @@ 5 - 30 + 35 2 0 0 @@ -589,7 +649,7 @@ 0 6 - 31 + 36 1 0 0 @@ -601,7 +661,7 @@ 6 - 32 + 37 1 0 0 @@ -613,7 +673,7 @@ 6 - 33 + 38 1 0 0 @@ -625,7 +685,7 @@ 6 - 34 + 39 1 0 0 @@ -637,7 +697,7 @@ 6 - 35 + 40 1 0 0 @@ -649,7 +709,7 @@ 6 - 36 + 41 1 0 0 @@ -661,7 +721,7 @@ 6 - 37 + 42 1 0 0 @@ -673,7 +733,7 @@ 6 - 38 + 43 1 0 0 @@ -685,7 +745,7 @@ 6 - 39 + 44 1 0 0 @@ -697,7 +757,7 @@ 6 - 40 + 45 1 0 0 @@ -709,7 +769,7 @@ 6 - 41 + 46 1 0 0 @@ -721,7 +781,7 @@ 6 - 42 + 47 1 0 0 @@ -733,7 +793,7 @@ 6 - 43 + 48 1 0 0 @@ -745,7 +805,7 @@ 6 - 44 + 49 1 0 0 @@ -757,7 +817,7 @@ 6 - 45 + 50 1 0 0 @@ -769,7 +829,7 @@ 6 - 46 + 51 1 0 0 @@ -781,7 +841,7 @@ 6 - 47 + 52 1 0 0 @@ -793,7 +853,7 @@ 6 - 48 + 53 1 0 0 @@ -805,7 +865,7 @@ 6 - 49 + 54 1 0 0 @@ -817,7 +877,7 @@ 6 - 50 + 55 1 0 0 @@ -829,7 +889,7 @@ 6 - 51 + 56 1 0 0 @@ -841,7 +901,7 @@ 6 - 52 + 57 1 0 0 @@ -853,7 +913,7 @@ 6 - 53 + 58 1 0 0 @@ -865,7 +925,7 @@ 6 - 54 + 59 1 0 0 @@ -885,7 +945,7 @@ 0 7 - 55 + 60 1 0 0 @@ -905,7 +965,7 @@ 0 8 - 56 + 61 1 0 0 @@ -919,13 +979,13 @@ devices - 0 + 1 0 0 0 9 - 57 + 62 1 0 0 @@ -945,7 +1005,7 @@ 0 10 - 58 + 63 1 0 0 @@ -965,7 +1025,7 @@ 0 11 - 59 + 64 1 0 0 @@ -977,7 +1037,7 @@ 11 - 60 + 65 1 0 0 @@ -989,7 +1049,7 @@ 11 - 61 + 66 1 0 0 diff --git a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvprojx b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvprojx index 4bcbaf30..16410041 100644 --- a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvprojx +++ b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny.uvprojx @@ -338,7 +338,7 @@ USE_HAL_DRIVER,STM32L073xx,USE_HAL_DRIVER,STM32L073xx - ..\..\BSP\Inc;../../../../platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Inc;../../../../platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Inc/Legacy;../../../../platform/vendor_bsp/st/CMSIS/Device/ST/STM32L0xx/Include;../../../../platform/vendor_bsp/st/CMSIS/Include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m0+\armcc;..\..\..\..\kernel\core\include;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\hal\include;..\..\..\..\osal\cmsis_os;..\..\TOS_CONFIG;..\..\..\..\devices\rhf76_lora;..\..\..\..\net\at\include;..\..\..\..\net\lora_module_wrapper;..\..\BSP\HardWare\HTS221;..\..\..\..\examples\LoRaWAN + ..\..\BSP\Inc;../../../../platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Inc;../../../../platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Inc/Legacy;../../../../platform/vendor_bsp/st/CMSIS/Device/ST/STM32L0xx/Include;../../../../platform/vendor_bsp/st/CMSIS/Include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m0+\armcc;..\..\..\..\kernel\core\include;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\hal\include;..\..\..\..\osal\cmsis_os;..\..\TOS_CONFIG;..\..\..\..\devices\rhf76_lora;..\..\..\..\net\at\include;..\..\..\..\net\lora_module_wrapper;..\..\BSP\HardWare\HTS221;..\..\..\..\examples\LoRaWAN;..\..\BSP\HardWare\Common;..\..\BSP\HardWare\LIS3MDL;..\..\BSP\HardWare\LPS22HB;..\..\BSP\HardWare\LSM6DS3 @@ -432,6 +432,26 @@ 1 ..\..\BSP\HardWare\HTS221\HTS221.c + + bsp.c + 1 + ..\..\BSP\HardWare\Common\bsp.c + + + LIS3MDL.c + 1 + ..\..\BSP\HardWare\LIS3MDL\LIS3MDL.c + + + LPS22HB.c + 1 + ..\..\BSP\HardWare\LPS22HB\LPS22HB.c + + + LSM6DS3.c + 1 + ..\..\BSP\HardWare\LSM6DS3\LSM6DS3.c + @@ -522,6 +542,11 @@ 1 ../../../../platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_cortex.c + + stm32l0xx_hal_flash_ex2.c + 1 + ..\..\..\..\platform\vendor_bsp\st\STM32L0xx_HAL_Driver\Src\stm32l0xx_hal_flash_ex2.c + diff --git a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.build_log.htm b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.build_log.htm new file mode 100644 index 00000000..1375d5b7 --- /dev/null +++ b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.build_log.htm @@ -0,0 +1,125 @@ + + +
+

µVision Build Log

+

Tool Versions:

+IDE-Version: µVision V5.26.2.0 +Copyright (C) 2018 ARM Ltd and ARM Germany GmbH. All rights reserved. +License Information: 1 Microsoft, Microsoft, LIC=GE7GK-ZWT6B-GQR0H-WAWBW-YESB9-6JHGD + +Tool Versions: +Toolchain: MDK-ARM Professional Version: 5.26.2.0 +Toolchain Path: C:\Keil_v5\ARM\ARMCC\Bin +C Compiler: Armcc.exe V5.06 update 6 (build 750) +Assembler: Armasm.exe V5.06 update 6 (build 750) +Linker/Locator: ArmLink.exe V5.06 update 6 (build 750) +Library Manager: ArmAr.exe V5.06 update 6 (build 750) +Hex Converter: FromElf.exe V5.06 update 6 (build 750) +CPU DLL: SARMCM3.DLL V5.26.2.0 +Dialog DLL: DARMCM1.DLL V1.19.1.0 +Target DLL: STLink\ST-LINKIII-KEIL_SWO.dll V3.0.5.0 +Dialog DLL: TARMCM1.DLL V1.14.0.0 + +

Project:

+C:\Users\supowang\Documents\GitHub\TencentOS-tiny\board\NUCLEO_STM32L073RZ\KEIL\lorawan\TencentOS_tiny.uvprojx +Project File Date: 05/07/2020 + +

Output:

+*** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' +Rebuild target 'TencentOS_tiny' +assembling startup_stm32l073xx.s... +compiling usart.c... +compiling stm32l0xx_hal_msp.c... +compiling main.c... +compiling gpio.c... +compiling stm32l0xx_it_lorawan.c... +compiling mcu_init.c... +compiling i2c.c... +compiling bsp.c... +compiling LSM6DS3.c... +compiling LPS22HB.c... +compiling HTS221.c... +compiling stm32l0xx_hal_tim.c... +compiling LIS3MDL.c... +compiling stm32l0xx_hal_tim_ex.c... +compiling stm32l0xx_hal_uart.c... +compiling stm32l0xx_hal_uart_ex.c... +compiling stm32l0xx_hal_rcc_ex.c... +compiling stm32l0xx_hal_rcc.c... +compiling stm32l0xx_hal.c... +compiling stm32l0xx_hal_i2c_ex.c... +compiling stm32l0xx_hal_i2c.c... +compiling stm32l0xx_hal_flash_ramfunc.c... +compiling stm32l0xx_hal_flash.c... +compiling stm32l0xx_hal_gpio.c... +compiling stm32l0xx_hal_flash_ex.c... +compiling stm32l0xx_hal_pwr_ex.c... +compiling stm32l0xx_hal_cortex.c... +compiling stm32l0xx_hal_pwr.c... +compiling stm32l0xx_hal_dma.c... +compiling stm32l0xx_hal_flash_ex2.c... +assembling port_s.S... +compiling tos_cpu.c... +compiling system_stm32l0xx.c... +compiling port_c.c... +compiling tos_mmblk.c... +compiling tos_global.c... +compiling tos_event.c... +compiling tos_pend.c... +compiling tos_mmheap.c... +compiling tos_mutex.c... +compiling tos_robin.c... +compiling tos_sem.c... +compiling tos_sched.c... +compiling tos_time.c... +compiling tos_sys.c... +compiling tos_task.c... +compiling tos_timer.c... +compiling tos_tick.c... +compiling tos_char_fifo.c... +compiling tos_countdownlatch.c... +compiling tos_binary_heap.c... +compiling tos_completion.c... +compiling tos_mail_queue.c... +compiling tos_message_queue.c... +compiling tos_priority_message_queue.c... +compiling tos_priority_mail_queue.c... +compiling tos_ring_queue.c... +compiling lora_demo.c... +compiling cmsis_os.c... +compiling tos_priority_queue.c... +compiling RHF76.c... +compiling lora_module_wrapper.c... +compiling tos_hal_uart.c... +compiling tos_at.c... +compiling tos_at_utils.c... +linking... +Program Size: Code=31288 RO-data=532 RW-data=136 ZI-data=17328 +FromELF: creating hex file... +"TencentOS_tiny\TencentOS_tiny.axf" - 0 Error(s), 0 Warning(s). + +

Software Packages used:

+ +Package Vendor: ARM + http://www.keil.com/pack/ARM.CMSIS.5.4.0.pack + ARM.CMSIS.5.4.0 + CMSIS (Cortex Microcontroller Software Interface Standard) + * Component: CORE Version: 5.1.2 + +Package Vendor: Keil + http://www.keil.com/pack/Keil.STM32L0xx_DFP.2.0.0.pack + Keil.STM32L0xx_DFP.2.0.0 + STMicroelectronics STM32L0 Series Device Support, Drivers and Examples + +

Collection of Component include folders:

+ .\RTE\_TencentOS_tiny + C:\Keil_v5\ARM\PACK\ARM\CMSIS\5.4.0\CMSIS\Core\Include + C:\Keil_v5\ARM\PACK\Keil\STM32L0xx_DFP\2.0.0\Drivers\CMSIS\Device\ST\STM32L0xx\Include + +

Collection of Component Files used:

+ + * Component: ARM::CMSIS:CORE:5.1.2 +Build Time Elapsed: 00:00:18 +
+ + diff --git a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.htm b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.htm new file mode 100644 index 00000000..85cb6e64 --- /dev/null +++ b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.htm @@ -0,0 +1,3291 @@ + + +Static Call Graph - [TencentOS_tiny\TencentOS_tiny.axf] +
+

Static Call Graph for image TencentOS_tiny\TencentOS_tiny.axf


+

#<CALLGRAPH># ARM Linker, 5060750: Last Updated: Thu May 07 12:30:08 2020 +

+

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

+Call chain for Maximum Stack Depth:

+application_entry ⇒ print_to_screen ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr +

+

+Functions with no stack information +

+ +

+

+Mutually Recursive functions +

  • ADC1_COMP_IRQHandler   ⇒   ADC1_COMP_IRQHandler
    +
  • HardFault_Handler   ⇒   HardFault_Handler
    +
  • knl_idle_entry   ⇒   knl_idle_entry
    + +

    +

    +Function Pointers +

      +
    • ADC1_COMP_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • DMA1_Channel1_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • DMA1_Channel2_3_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • DMA1_Channel4_5_6_7_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • EXTI0_1_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • EXTI2_3_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • EXTI4_15_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • FLASH_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • HardFault_Handler from stm32l0xx_it_lorawan.o(i.HardFault_Handler) referenced from startup_stm32l073xx.o(RESET) +
    • I2C1_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • I2C2_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • I2C3_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • LCD_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • LPTIM1_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • NMI_Handler from stm32l0xx_it_lorawan.o(i.NMI_Handler) referenced from startup_stm32l073xx.o(RESET) +
    • PVD_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • PendSV_Handler from port_s.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • RCC_CRS_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • RNG_LPUART1_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • RTC_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • Reset_Handler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • SPI1_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • SPI2_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • SVC_Handler from stm32l0xx_it_lorawan.o(i.SVC_Handler) referenced from startup_stm32l073xx.o(RESET) +
    • SysTick_Handler from stm32l0xx_it_lorawan.o(i.SysTick_Handler) referenced from startup_stm32l073xx.o(RESET) +
    • SystemInit from system_stm32l0xx.o(i.SystemInit) referenced from startup_stm32l073xx.o(.text) +
    • TIM21_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • TIM22_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • TIM2_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • TIM3_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • TIM6_DAC_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • TIM7_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • TSC_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • UART_DMAAbortOnError from stm32l0xx_hal_uart.o(i.UART_DMAAbortOnError) referenced from stm32l0xx_hal_uart.o(i.HAL_UART_IRQHandler) +
    • USART1_IRQHandler from stm32l0xx_it_lorawan.o(i.USART1_IRQHandler) referenced from startup_stm32l073xx.o(RESET) +
    • USART2_IRQHandler from stm32l0xx_it_lorawan.o(i.USART2_IRQHandler) referenced from startup_stm32l073xx.o(RESET) +
    • USART4_5_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • USB_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • WWDG_IRQHandler from startup_stm32l073xx.o(.text) referenced from startup_stm32l073xx.o(RESET) +
    • __main from entry.o(.ARM.Collect$$$$00000000) referenced from startup_stm32l073xx.o(.text) +
    • _snputc from printfa.o(i._snputc) referenced from printfa.o(i.__0snprintf) +
    • _snputc from printfa.o(i._snputc) referenced from printfa.o(i.__0vsnprintf) +
    • application_entry from lora_demo.o(i.application_entry) referenced from main.o(.constdata) +
    • at_parser from tos_at.o(i.at_parser) referenced from tos_at.o(i.tos_at_init) +
    • fputc from mcu_init.o(i.fputc) referenced from printfa.o(i.__0printf) +
    • knl_idle_entry from tos_sys.o(i.knl_idle_entry) referenced from tos_sys.o(i.knl_idle_init) +
    • main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B) +
    • recv_callback from lora_demo.o(i.recv_callback) referenced from lora_demo.o(i.application_entry) +
    • rhf76_close from rhf76.o(i.rhf76_close) referenced from rhf76.o(.data) +
    • rhf76_incoming_data_process from rhf76.o(i.rhf76_incoming_data_process) referenced 2 times from rhf76.o(.data) +
    • rhf76_init from rhf76.o(i.rhf76_init) referenced from rhf76.o(.data) +
    • rhf76_join_abp from rhf76.o(i.rhf76_join_abp) referenced from rhf76.o(.data) +
    • rhf76_join_otaa from rhf76.o(i.rhf76_join_otaa) referenced from rhf76.o(.data) +
    • rhf76_send from rhf76.o(i.rhf76_send) referenced from rhf76.o(.data) +
    • rhf76_send_unconfirmed from rhf76.o(i.rhf76_send_unconfirmed) referenced from rhf76.o(.data) +
    • task_exit from tos_task.o(i.task_exit) referenced from tos_task.o(i.tos_task_create) +
    +

    +

    +Global Symbols +

    +

    __main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(.text) +
    +

    _main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) + +

    _main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

    [Calls]

    • >>   __scatterload +
    + +

    __main_after_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) +

    [Called By]

    • >>   __scatterload +
    + +

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) + +

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) + +

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) + +

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) + +

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F)) + +

    Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    ADC1_COMP_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +

    [Calls]

    • >>   ADC1_COMP_IRQHandler +
    +
    [Called By]
    • >>   ADC1_COMP_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32l073xx.o(RESET) +
    +

    DMA1_Channel1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    DMA1_Channel2_3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    DMA1_Channel4_5_6_7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    EXTI0_1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    EXTI2_3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    EXTI4_15_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    FLASH_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    I2C1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    I2C2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    I2C3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    LCD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    LPTIM1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    PVD_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    RCC_CRS_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    RNG_LPUART1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    RTC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    SPI1_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    SPI2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    TIM21_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    TIM22_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    TIM2_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    TIM3_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    TIM6_DAC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    TIM7_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    TSC_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    USART4_5_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    USB_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32l073xx.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    port_int_disable (Thumb, 0 bytes, Stack size unknown bytes, port_s.o(.text), UNUSED) + +

    port_int_enable (Thumb, 0 bytes, Stack size unknown bytes, port_s.o(.text), UNUSED) + +

    port_cpsr_save (Thumb, 0 bytes, Stack size unknown bytes, port_s.o(.text)) +

    [Called By]

    • >>   tos_cpu_cpsr_save +
    + +

    port_cpsr_restore (Thumb, 0 bytes, Stack size unknown bytes, port_s.o(.text)) +

    [Called By]

    • >>   tos_cpu_cpsr_restore +
    + +

    port_sched_start (Thumb, 0 bytes, Stack size unknown bytes, port_s.o(.text)) +

    [Called By]

    • >>   cpu_sched_start +
    + +

    port_context_switch (Thumb, 0 bytes, Stack size unknown bytes, port_s.o(.text)) +

    [Called By]

    • >>   cpu_context_switch +
    + +

    port_irq_context_switch (Thumb, 0 bytes, Stack size unknown bytes, port_s.o(.text)) +

    [Called By]

    • >>   cpu_irq_context_switch +
    + +

    PendSV_Handler (Thumb, 0 bytes, Stack size unknown bytes, port_s.o(.text)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

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

    __aeabi_uidivmod (Thumb, 44 bytes, Stack size 12 bytes, uidiv.o(.text)) +

    [Stack]

    • Max Depth = 12
    • Call Chain = __aeabi_uidivmod +
    +
    [Called By]
    • >>   HAL_InitTick +
    • >>   HAL_RCC_GetSysClockFreq +
    • >>   HAL_RCCEx_GetPeriphCLKFreq +
    • >>   UART_SetConfig +
    • >>   tos_ring_q_enqueue +
    • >>   tos_ring_q_dequeue +
    • >>   _printf_core +
    • >>   __aeabi_idivmod +
    + +

    __aeabi_idiv (Thumb, 0 bytes, Stack size 16 bytes, idiv.o(.text), UNUSED) + +

    __aeabi_idivmod (Thumb, 40 bytes, Stack size 16 bytes, idiv.o(.text)) +

    [Stack]

    • Max Depth = 28
    • Call Chain = __aeabi_idivmod ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   __aeabi_uidivmod +
    +
    [Called By]
    • >>   HTS221_Get_Temperature +
    • >>   HTS221_Get_Humidity +
    + +

    __aeabi_uldivmod (Thumb, 96 bytes, Stack size 48 bytes, uldiv.o(.text)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __aeabi_llsr +
    • >>   __aeabi_llsl +
    +
    [Called By]
    • >>   UART_SetConfig +
    • >>   cpu_init +
    • >>   tos_millisec2tick +
    • >>   _printf_core +
    • >>   _fp_digits +
    + +

    __aeabi_memcpy (Thumb, 36 bytes, Stack size 0 bytes, memcpya.o(.text)) +

    [Called By]

    • >>   tos_ring_q_enqueue +
    • >>   tos_ring_q_dequeue +
    • >>   at_parser +
    • >>   application_entry +
    + +

    __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text)) +

    [Called By]

    • >>   BSP_Sensor_Read +
    • >>   application_entry +
    + +

    __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 0 bytes, memcpya.o(.text), UNUSED) + +

    __aeabi_memset (Thumb, 14 bytes, Stack size 0 bytes, memseta.o(.text)) +

    [Called By]

    • >>   _memset$wrapper +
    • >>   __aeabi_memclr +
    + +

    __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) + +

    __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) + +

    __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text)) +

    [Calls]

    • >>   __aeabi_memset +
    +
    [Called By]
    • >>   tos_mmheap_calloc +
    • >>   at_uart_line_parse +
    • >>   tos_at_echo_fuzzy_matching_create +
    • >>   tos_at_echo_create +
    • >>   rhf76_incoming_data_process +
    + +

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

    [Called By]

    • >>   HAL_I2C_MspInit +
    • >>   SystemClock_Config +
    • >>   HAL_UART_MspInit +
    • >>   MX_GPIO_Init +
    • >>   tos_at_init +
    • >>   rhf76_set_key +
    • >>   rhf76_set_id +
    • >>   rhf76_send_unconfirmed +
    • >>   rhf76_send +
    • >>   write_config_to_Flash +
    • >>   application_entry +
    + +

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

    _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED) +

    [Calls]

    • >>   __aeabi_memset +
    + +

    strstr (Thumb, 40 bytes, Stack size 12 bytes, strstr.o(.text)) +

    [Stack]

    • Max Depth = 12
    • Call Chain = strstr +
    +
    [Called By]
    • >>   at_uart_line_parse +
    • >>   at_parser +
    + +

    strncpy (Thumb, 26 bytes, Stack size 8 bytes, strncpy.o(.text)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = strncpy +
    +
    [Called By]
    • >>   tos_task_create +
    + +

    strlen (Thumb, 14 bytes, Stack size 0 bytes, strlen.o(.text)) +

    [Called By]

    • >>   at_uart_line_parse +
    • >>   at_get_event +
    • >>   rhf76_incoming_data_process +
    + +

    strncmp (Thumb, 30 bytes, Stack size 12 bytes, strncmp.o(.text)) +

    [Stack]

    • Max Depth = 12
    • Call Chain = strncmp +
    +
    [Called By]
    • >>   at_uart_line_parse +
    • >>   at_get_event +
    + +

    __aeabi_uwrite4 (Thumb, 18 bytes, Stack size 0 bytes, uwrite4.o(.text)) +

    [Called By]

    • >>   application_entry +
    + +

    __rt_uwrite4 (Thumb, 0 bytes, Stack size 0 bytes, uwrite4.o(.text), UNUSED) + +

    _uwrite4 (Thumb, 0 bytes, Stack size 0 bytes, uwrite4.o(.text), UNUSED) + +

    __aeabi_dadd (Thumb, 328 bytes, Stack size 48 bytes, dadd.o(.text)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __aeabi_lasr +
    • >>   __aeabi_llsl +
    • >>   _double_round +
    • >>   _double_epilogue +
    +
    [Called By]
    • >>   __aeabi_dsub +
    • >>   print_to_screen +
    • >>   __kernel_poly +
    • >>   __mathlib_dbl_infnan2 +
    • >>   _fp_digits +
    • >>   __aeabi_drsub +
    • >>   pow +
    + +

    __aeabi_dsub (Thumb, 12 bytes, Stack size 8 bytes, dadd.o(.text)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = __aeabi_dsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __aeabi_dadd +
    +
    [Called By]
    • >>   print_to_screen +
    • >>   pow +
    + +

    __aeabi_drsub (Thumb, 12 bytes, Stack size 8 bytes, dadd.o(.text)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = __aeabi_drsub ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __aeabi_dadd +
    +
    [Called By]
    • >>   pow +
    + +

    __aeabi_dmul (Thumb, 202 bytes, Stack size 72 bytes, dmul.o(.text)) +

    [Stack]

    • Max Depth = 128
    • Call Chain = __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   _double_epilogue +
    +
    [Called By]
    • >>   print_to_screen +
    • >>   __kernel_poly +
    • >>   _fp_digits +
    • >>   pow +
    + +

    __aeabi_ddiv (Thumb, 234 bytes, Stack size 40 bytes, ddiv.o(.text)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = __aeabi_ddiv ⇒ _double_round +
    +
    [Calls]
    • >>   _double_round +
    +
    [Called By]
    • >>   print_to_screen +
    • >>   __mathlib_dbl_invalid +
    • >>   __mathlib_dbl_divzero +
    • >>   _fp_digits +
    • >>   pow +
    + +

    __aeabi_i2d (Thumb, 34 bytes, Stack size 16 bytes, dflti.o(.text)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = __aeabi_i2d ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   _double_epilogue +
    +
    [Called By]
    • >>   print_to_screen +
    • >>   pow +
    + +

    __aeabi_ui2d (Thumb, 24 bytes, Stack size 16 bytes, dfltui.o(.text)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = __aeabi_ui2d ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   _double_epilogue +
    +
    [Called By]
    • >>   print_to_screen +
    + +

    __aeabi_f2d (Thumb, 40 bytes, Stack size 0 bytes, f2d.o(.text)) +

    [Called By]

    • >>   print_to_screen +
    + +

    __aeabi_d2f (Thumb, 56 bytes, Stack size 8 bytes, d2f.o(.text)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = __aeabi_d2f +
    +
    [Calls]
    • >>   _float_round +
    +
    [Called By]
    • >>   print_to_screen +
    + +

    __aeabi_llsl (Thumb, 32 bytes, Stack size 8 bytes, llshl.o(.text)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = __aeabi_llsl +
    +
    [Called By]
    • >>   __aeabi_dadd +
    • >>   _double_epilogue +
    • >>   __aeabi_d2ulz +
    • >>   __aeabi_uldivmod +
    + +

    _ll_shift_l (Thumb, 0 bytes, Stack size 8 bytes, llshl.o(.text), UNUSED) + +

    __aeabi_llsr (Thumb, 34 bytes, Stack size 8 bytes, llushr.o(.text)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = __aeabi_llsr +
    +
    [Called By]
    • >>   _dsqrt +
    • >>   _double_epilogue +
    • >>   __aeabi_d2ulz +
    • >>   __aeabi_uldivmod +
    + +

    _ll_ushift_r (Thumb, 0 bytes, Stack size 8 bytes, llushr.o(.text), UNUSED) + +

    __aeabi_lasr (Thumb, 38 bytes, Stack size 8 bytes, llsshr.o(.text)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = __aeabi_lasr +
    +
    [Called By]
    • >>   __aeabi_dadd +
    + +

    _ll_sshift_r (Thumb, 0 bytes, Stack size 8 bytes, llsshr.o(.text), UNUSED) + +

    __I$use$fp (Thumb, 0 bytes, Stack size 0 bytes, iusefp.o(.text), UNUSED) + +

    _float_round (Thumb, 16 bytes, Stack size 0 bytes, fepilogue.o(.text)) +

    [Called By]

    • >>   __aeabi_d2f +
    + +

    _float_epilogue (Thumb, 114 bytes, Stack size 12 bytes, fepilogue.o(.text), UNUSED) + +

    _double_round (Thumb, 26 bytes, Stack size 8 bytes, depilogue.o(.text)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = _double_round +
    +
    [Called By]
    • >>   __aeabi_ddiv +
    • >>   __aeabi_dadd +
    • >>   _dsqrt +
    • >>   _double_epilogue +
    + +

    _double_epilogue (Thumb, 164 bytes, Stack size 48 bytes, depilogue.o(.text)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __ARM_clz +
    • >>   __aeabi_llsr +
    • >>   __aeabi_llsl +
    • >>   _double_round +
    +
    [Called By]
    • >>   __aeabi_ui2d +
    • >>   __aeabi_i2d +
    • >>   __aeabi_dmul +
    • >>   __aeabi_dadd +
    + +

    __ARM_scalbn (Thumb, 44 bytes, Stack size 16 bytes, dscalb.o(.text)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = __ARM_scalbn +
    +
    [Called By]
    • >>   __mathlib_dbl_underflow +
    • >>   __mathlib_dbl_overflow +
    • >>   pow +
    + +

    scalbn (Thumb, 0 bytes, Stack size 16 bytes, dscalb.o(.text), UNUSED) + +

    __aeabi_d2ulz (Thumb, 54 bytes, Stack size 8 bytes, dfixul.o(.text), UNUSED) +

    [Calls]

    • >>   __aeabi_llsr +
    • >>   __aeabi_llsl +
    +
    [Called By]
    • >>   _fp_digits +
    + +

    __aeabi_cdrcmple (Thumb, 38 bytes, Stack size 0 bytes, cdrcmple.o(.text)) +

    [Called By]

    • >>   _fp_digits +
    • >>   pow +
    + +

    __scatterload (Thumb, 28 bytes, Stack size 0 bytes, init.o(.text)) +

    [Calls]

    • >>   __main_after_scatterload +
    +
    [Called By]
    • >>   _main_scatterload +
    + +

    __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) + +

    _dsqrt (Thumb, 162 bytes, Stack size 32 bytes, dsqrt.o(.text)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = _dsqrt ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __aeabi_llsr +
    • >>   _double_round +
    +
    [Called By]
    • >>   sqrt +
    + +

    BSP_Sensor_Init (Thumb, 44 bytes, Stack size 16 bytes, bsp.o(i.BSP_Sensor_Init)) +

    [Stack]

    • Max Depth = 176
    • Call Chain = BSP_Sensor_Init ⇒ LSM6DS3_Init ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   LSM6DS3_Set_Gyro_FullScale +
    • >>   LSM6DS3_Set_Accel_FullScale +
    • >>   LSM6DS3_Init +
    • >>   LPS22HB_Init +
    • >>   LIS3MDL_Set_FullScale +
    • >>   LIS3MDL_Init +
    • >>   HTS221_Init +
    +
    [Called By]
    • >>   application_entry +
    + +

    BSP_Sensor_Read (Thumb, 54 bytes, Stack size 40 bytes, bsp.o(i.BSP_Sensor_Read)) +

    [Stack]

    • Max Depth = 272
    • Call Chain = BSP_Sensor_Read ⇒ HTS221_Get_TemperatureAndHumidity ⇒ HTS221_Get_Temperature ⇒ HTS221_Start ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   LPS22HB_Get_Press +
    • >>   LIS3MDL_Get_Magn +
    • >>   HTS221_Get_TemperatureAndHumidity +
    • >>   __aeabi_memcpy4 +
    +
    [Called By]
    • >>   application_entry +
    + +

    Error_Handler (Thumb, 2 bytes, Stack size 0 bytes, mcu_init.o(i.Error_Handler)) +

    [Called By]

    • >>   MX_I2C1_Init +
    • >>   MX_USART2_UART_Init +
    • >>   MX_USART1_UART_Init +
    + +

    FLASH_WaitForLastOperation (Thumb, 106 bytes, Stack size 16 bytes, stm32l0xx_hal_flash.o(i.FLASH_WaitForLastOperation)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = FLASH_WaitForLastOperation ⇒ FLASH_SetErrorCode +
    +
    [Calls]
    • >>   HAL_GetTick +
    • >>   FLASH_SetErrorCode +
    +
    [Called By]
    • >>   HAL_FLASH_ReadWord +
    • >>   HAL_FLASH_Program +
    + +

    HAL_DMA_Abort_IT (Thumb, 148 bytes, Stack size 16 bytes, stm32l0xx_hal_dma.o(i.HAL_DMA_Abort_IT)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_DMA_Abort_IT +
    +
    [Called By]
    • >>   HAL_UART_IRQHandler +
    + +

    HAL_FLASH_Lock (Thumb, 14 bytes, Stack size 0 bytes, stm32l0xx_hal_flash.o(i.HAL_FLASH_Lock)) +

    [Called By]

    • >>   write_config_to_Flash +
    + +

    HAL_FLASH_Program (Thumb, 50 bytes, Stack size 24 bytes, stm32l0xx_hal_flash.o(i.HAL_FLASH_Program)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation ⇒ FLASH_SetErrorCode +
    +
    [Calls]
    • >>   FLASH_WaitForLastOperation +
    +
    [Called By]
    • >>   write_config_to_Flash +
    + +

    HAL_FLASH_ReadWord (Thumb, 22 bytes, Stack size 16 bytes, stm32l0xx_hal_flash_ex2.o(i.HAL_FLASH_ReadWord)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = HAL_FLASH_ReadWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_SetErrorCode +
    +
    [Calls]
    • >>   FLASH_WaitForLastOperation +
    +
    [Called By]
    • >>   read_config_from_Flash +
    + +

    HAL_FLASH_Unlock (Thumb, 38 bytes, Stack size 0 bytes, stm32l0xx_hal_flash.o(i.HAL_FLASH_Unlock)) +

    [Called By]

    • >>   write_config_to_Flash +
    + +

    HAL_GPIO_DeInit (Thumb, 212 bytes, Stack size 20 bytes, stm32l0xx_hal_gpio.o(i.HAL_GPIO_DeInit)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = HAL_GPIO_DeInit +
    +
    [Called By]
    • >>   HAL_UART_MspDeInit +
    + +

    HAL_GPIO_Init (Thumb, 356 bytes, Stack size 24 bytes, stm32l0xx_hal_gpio.o(i.HAL_GPIO_Init)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_GPIO_Init +
    +
    [Called By]
    • >>   HAL_I2C_MspInit +
    • >>   HAL_UART_MspInit +
    • >>   MX_GPIO_Init +
    + +

    HAL_GPIO_WritePin (Thumb, 12 bytes, Stack size 0 bytes, stm32l0xx_hal_gpio.o(i.HAL_GPIO_WritePin)) +

    [Called By]

    • >>   MX_GPIO_Init +
    + +

    HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32l0xx_hal.o(i.HAL_GetTick)) +

    [Called By]

    • >>   HAL_I2C_Mem_Write +
    • >>   HAL_I2C_Mem_Read +
    • >>   HAL_UART_Transmit +
    • >>   HAL_RCC_OscConfig +
    • >>   HAL_RCC_ClockConfig +
    • >>   HAL_RCCEx_PeriphCLKConfig +
    • >>   I2C_WaitOnTXISFlagUntilTimeout +
    • >>   I2C_WaitOnSTOPFlagUntilTimeout +
    • >>   I2C_WaitOnFlagUntilTimeout +
    • >>   I2C_IsAcknowledgeFailed +
    • >>   UART_WaitOnFlagUntilTimeout +
    • >>   UART_CheckIdleState +
    • >>   FLASH_WaitForLastOperation +
    + +

    HAL_I2CEx_ConfigAnalogFilter (Thumb, 74 bytes, Stack size 16 bytes, stm32l0xx_hal_i2c_ex.o(i.HAL_I2CEx_ConfigAnalogFilter)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_I2CEx_ConfigAnalogFilter +
    +
    [Called By]
    • >>   MX_I2C1_Init +
    + +

    HAL_I2CEx_ConfigDigitalFilter (Thumb, 72 bytes, Stack size 16 bytes, stm32l0xx_hal_i2c_ex.o(i.HAL_I2CEx_ConfigDigitalFilter)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = HAL_I2CEx_ConfigDigitalFilter +
    +
    [Called By]
    • >>   MX_I2C1_Init +
    + +

    HAL_I2C_Init (Thumb, 176 bytes, Stack size 16 bytes, stm32l0xx_hal_i2c.o(i.HAL_I2C_Init)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_I2C_MspInit +
    +
    [Called By]
    • >>   MX_I2C1_Init +
    + +

    HAL_I2C_Mem_Read (Thumb, 338 bytes, Stack size 48 bytes, stm32l0xx_hal_i2c.o(i.HAL_I2C_Mem_Read)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = HAL_I2C_Mem_Read ⇒ I2C_RequestMemoryRead ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   I2C_WaitOnSTOPFlagUntilTimeout +
    • >>   I2C_WaitOnFlagUntilTimeout +
    • >>   I2C_TransferConfig +
    • >>   I2C_RequestMemoryRead +
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   LIS3MDL_Get_FullScale +
    • >>   LSM6DS3_Set_Gyro_FullScale +
    • >>   LSM6DS3_Set_Accel_FullScale +
    • >>   LPS22HB_Get_Press +
    • >>   LIS3MDL_Set_FullScale +
    • >>   LIS3MDL_Get_Magn +
    • >>   HTS221_Get_Temperature +
    • >>   HTS221_Get_Humidity +
    • >>   HTS221_Start +
    + +

    HAL_I2C_Mem_Write (Thumb, 334 bytes, Stack size 48 bytes, stm32l0xx_hal_i2c.o(i.HAL_I2C_Mem_Write)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   I2C_WaitOnTXISFlagUntilTimeout +
    • >>   I2C_WaitOnSTOPFlagUntilTimeout +
    • >>   I2C_WaitOnFlagUntilTimeout +
    • >>   I2C_TransferConfig +
    • >>   I2C_RequestMemoryWrite +
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   LSM6DS3_Set_Gyro_FullScale +
    • >>   LSM6DS3_Set_Accel_FullScale +
    • >>   LSM6DS3_Init +
    • >>   LPS22HB_Init +
    • >>   LPS22HB_Get_Press +
    • >>   LIS3MDL_Set_FullScale +
    • >>   LIS3MDL_Init +
    • >>   HTS221_Init +
    • >>   HTS221_Start +
    + +

    HAL_I2C_MspInit (Thumb, 82 bytes, Stack size 32 bytes, i2c.o(i.HAL_I2C_MspInit)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = HAL_I2C_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_GPIO_Init +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   HAL_I2C_Init +
    + +

    HAL_IncTick (Thumb, 10 bytes, Stack size 0 bytes, stm32l0xx_hal.o(i.HAL_IncTick)) +

    [Called By]

    • >>   SysTick_Handler +
    + +

    HAL_Init (Thumb, 26 bytes, Stack size 8 bytes, stm32l0xx_hal.o(i.HAL_Init)) +

    [Stack]

    • Max Depth = 28
    • Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   HAL_MspInit +
    • >>   HAL_InitTick +
    +
    [Called By]
    • >>   board_init +
    + +

    HAL_InitTick (Thumb, 34 bytes, Stack size 8 bytes, stm32l0xx_hal.o(i.HAL_InitTick)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = HAL_InitTick ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_SYSTICK_Config +
    • >>   __aeabi_uidivmod +
    +
    [Called By]
    • >>   HAL_RCC_OscConfig +
    • >>   HAL_RCC_ClockConfig +
    • >>   HAL_Init +
    + +

    HAL_MspInit (Thumb, 20 bytes, Stack size 0 bytes, stm32l0xx_hal_msp.o(i.HAL_MspInit)) +

    [Called By]

    • >>   HAL_Init +
    + +

    HAL_NVIC_DisableIRQ (Thumb, 26 bytes, Stack size 0 bytes, stm32l0xx_hal_cortex.o(i.HAL_NVIC_DisableIRQ)) +

    [Called By]

    • >>   HAL_UART_MspDeInit +
    + +

    HAL_NVIC_EnableIRQ (Thumb, 18 bytes, Stack size 0 bytes, stm32l0xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)) +

    [Called By]

    • >>   HAL_UART_MspInit +
    + +

    HAL_NVIC_SetPriority (Thumb, 8 bytes, Stack size 8 bytes, stm32l0xx_hal_cortex.o(i.HAL_NVIC_SetPriority)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_NVIC_SetPriority +
    +
    [Calls]
    • >>   __NVIC_SetPriority +
    +
    [Called By]
    • >>   HAL_UART_MspInit +
    • >>   HAL_InitTick +
    + +

    HAL_RCCEx_GetPeriphCLKFreq (Thumb, 414 bytes, Stack size 24 bytes, stm32l0xx_hal_rcc_ex.o(i.HAL_RCCEx_GetPeriphCLKFreq)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = HAL_RCCEx_GetPeriphCLKFreq ⇒ HAL_RCC_GetSysClockFreq ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   HAL_RCC_GetSysClockFreq +
    • >>   HAL_RCC_GetPCLK2Freq +
    • >>   HAL_RCC_GetPCLK1Freq +
    • >>   __aeabi_uidivmod +
    +
    [Called By]
    • >>   UART_SetConfig +
    + +

    HAL_RCCEx_PeriphCLKConfig (Thumb, 416 bytes, Stack size 24 bytes, stm32l0xx_hal_rcc_ex.o(i.HAL_RCCEx_PeriphCLKConfig)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = HAL_RCCEx_PeriphCLKConfig +
    +
    [Calls]
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   SystemClock_Config +
    + +

    HAL_RCC_ClockConfig (Thumb, 340 bytes, Stack size 24 bytes, stm32l0xx_hal_rcc.o(i.HAL_RCC_ClockConfig)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   HAL_InitTick +
    • >>   HAL_RCC_GetSysClockFreq +
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   SystemClock_Config +
    + +

    HAL_RCC_GetPCLK1Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32l0xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)) +

    [Called By]

    • >>   HAL_RCCEx_GetPeriphCLKFreq +
    • >>   UART_SetConfig +
    + +

    HAL_RCC_GetPCLK2Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32l0xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)) +

    [Called By]

    • >>   HAL_RCCEx_GetPeriphCLKFreq +
    • >>   UART_SetConfig +
    + +

    HAL_RCC_GetSysClockFreq (Thumb, 100 bytes, Stack size 8 bytes, stm32l0xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = HAL_RCC_GetSysClockFreq ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   __aeabi_uidivmod +
    +
    [Called By]
    • >>   HAL_RCC_ClockConfig +
    • >>   HAL_RCCEx_GetPeriphCLKFreq +
    • >>   UART_SetConfig +
    + +

    HAL_RCC_OscConfig (Thumb, 1106 bytes, Stack size 24 bytes, stm32l0xx_hal_rcc.o(i.HAL_RCC_OscConfig)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = HAL_RCC_OscConfig ⇒ HAL_InitTick ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   HAL_InitTick +
    • >>   HAL_GetTick +
    • >>   RCC_SetFlashLatencyFromMSIRange +
    +
    [Called By]
    • >>   SystemClock_Config +
    + +

    HAL_SYSTICK_Config (Thumb, 38 bytes, Stack size 8 bytes, stm32l0xx_hal_cortex.o(i.HAL_SYSTICK_Config)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = HAL_SYSTICK_Config +
    +
    [Calls]
    • >>   __NVIC_SetPriority +
    +
    [Called By]
    • >>   HAL_InitTick +
    + +

    HAL_UARTEx_WakeupCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32l0xx_hal_uart_ex.o(i.HAL_UARTEx_WakeupCallback)) +

    [Called By]

    • >>   HAL_UART_IRQHandler +
    + +

    HAL_UART_DeInit (Thumb, 62 bytes, Stack size 16 bytes, stm32l0xx_hal_uart.o(i.HAL_UART_DeInit)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = HAL_UART_DeInit ⇒ HAL_UART_MspDeInit ⇒ HAL_GPIO_DeInit +
    +
    [Calls]
    • >>   HAL_UART_MspDeInit +
    +
    [Called By]
    • >>   tos_hal_uart_deinit +
    + +

    HAL_UART_ErrorCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32l0xx_hal_uart.o(i.HAL_UART_ErrorCallback)) +

    [Called By]

    • >>   HAL_UART_IRQHandler +
    • >>   UART_DMAAbortOnError +
    + +

    HAL_UART_IRQHandler (Thumb, 318 bytes, Stack size 24 bytes, stm32l0xx_hal_uart.o(i.HAL_UART_IRQHandler)) +

    [Stack]

    • Max Depth = 152 + Unknown Stack Size +
    • Call Chain = HAL_UART_IRQHandler ⇒ UART_Receive_IT ⇒ HAL_UART_RxCpltCallback ⇒ tos_at_uart_input_byte ⇒ tos_sem_post ⇒ sem_do_post ⇒ pend_wakeup ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   HAL_UART_TxCpltCallback +
    • >>   HAL_UART_ErrorCallback +
    • >>   HAL_UARTEx_WakeupCallback +
    • >>   HAL_DMA_Abort_IT +
    • >>   UART_Transmit_IT +
    • >>   UART_Receive_IT +
    • >>   UART_EndRxTransfer +
    +
    [Called By]
    • >>   USART2_IRQHandler +
    • >>   USART1_IRQHandler +
    + +

    HAL_UART_Init (Thumb, 108 bytes, Stack size 16 bytes, stm32l0xx_hal_uart.o(i.HAL_UART_Init)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = HAL_UART_Init ⇒ UART_SetConfig ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   HAL_UART_MspInit +
    • >>   UART_SetConfig +
    • >>   UART_CheckIdleState +
    • >>   UART_AdvFeatureConfig +
    +
    [Called By]
    • >>   MX_USART2_UART_Init +
    • >>   MX_USART1_UART_Init +
    + +

    HAL_UART_MspDeInit (Thumb, 68 bytes, Stack size 8 bytes, usart.o(i.HAL_UART_MspDeInit)) +

    [Stack]

    • Max Depth = 28
    • Call Chain = HAL_UART_MspDeInit ⇒ HAL_GPIO_DeInit +
    +
    [Calls]
    • >>   HAL_NVIC_DisableIRQ +
    • >>   HAL_GPIO_DeInit +
    +
    [Called By]
    • >>   HAL_UART_DeInit +
    • >>   tos_hal_uart_deinit +
    + +

    HAL_UART_MspInit (Thumb, 158 bytes, Stack size 48 bytes, usart.o(i.HAL_UART_MspInit)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = HAL_UART_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_NVIC_EnableIRQ +
    • >>   HAL_GPIO_Init +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   HAL_UART_Init +
    + +

    HAL_UART_Receive_IT (Thumb, 154 bytes, Stack size 20 bytes, stm32l0xx_hal_uart.o(i.HAL_UART_Receive_IT)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = HAL_UART_Receive_IT +
    +
    [Called By]
    • >>   HAL_UART_RxCpltCallback +
    • >>   MX_USART1_UART_Init +
    + +

    HAL_UART_RxCpltCallback (Thumb, 30 bytes, Stack size 8 bytes, stm32l0xx_it_lorawan.o(i.HAL_UART_RxCpltCallback)) +

    [Stack]

    • Max Depth = 112 + Unknown Stack Size +
    • Call Chain = HAL_UART_RxCpltCallback ⇒ tos_at_uart_input_byte ⇒ tos_sem_post ⇒ sem_do_post ⇒ pend_wakeup ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_uart_input_byte +
    • >>   HAL_UART_Receive_IT +
    +
    [Called By]
    • >>   UART_Receive_IT +
    + +

    HAL_UART_Transmit (Thumb, 200 bytes, Stack size 48 bytes, stm32l0xx_hal_uart.o(i.HAL_UART_Transmit)) +

    [Stack]

    • Max Depth = 88
    • Call Chain = HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout +
    +
    [Calls]
    • >>   HAL_GetTick +
    • >>   UART_WaitOnFlagUntilTimeout +
    +
    [Called By]
    • >>   fputc +
    • >>   tos_hal_uart_write +
    + +

    HAL_UART_TxCpltCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32l0xx_hal_uart.o(i.HAL_UART_TxCpltCallback)) +

    [Called By]

    • >>   HAL_UART_IRQHandler +
    + +

    HTS221_Get_Humidity (Thumb, 290 bytes, Stack size 56 bytes, hts221.o(i.HTS221_Get_Humidity)) +

    [Stack]

    • Max Depth = 208
    • Call Chain = HTS221_Get_Humidity ⇒ HTS221_Start ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Read +
    • >>   HTS221_Start +
    • >>   __aeabi_idivmod +
    +
    [Called By]
    • >>   HTS221_Get_TemperatureAndHumidity +
    + +

    HTS221_Get_Temperature (Thumb, 318 bytes, Stack size 64 bytes, hts221.o(i.HTS221_Get_Temperature)) +

    [Stack]

    • Max Depth = 216
    • Call Chain = HTS221_Get_Temperature ⇒ HTS221_Start ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Read +
    • >>   HTS221_Start +
    • >>   __aeabi_idivmod +
    +
    [Called By]
    • >>   HTS221_Get_TemperatureAndHumidity +
    + +

    HTS221_Get_TemperatureAndHumidity (Thumb, 42 bytes, Stack size 16 bytes, hts221.o(i.HTS221_Get_TemperatureAndHumidity)) +

    [Stack]

    • Max Depth = 232
    • Call Chain = HTS221_Get_TemperatureAndHumidity ⇒ HTS221_Get_Temperature ⇒ HTS221_Start ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HTS221_Get_Temperature +
    • >>   HTS221_Get_Humidity +
    +
    [Called By]
    • >>   BSP_Sensor_Read +
    + +

    HTS221_Init (Thumb, 106 bytes, Stack size 40 bytes, hts221.o(i.HTS221_Init)) +

    [Stack]

    • Max Depth = 160
    • Call Chain = HTS221_Init ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Write +
    +
    [Called By]
    • >>   BSP_Sensor_Init +
    + +

    HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32l0xx_it_lorawan.o(i.HardFault_Handler)) +

    [Calls]

    • >>   HardFault_Handler +
    +
    [Called By]
    • >>   HardFault_Handler +
    +
    [Address Reference Count : 1]
    • startup_stm32l073xx.o(RESET) +
    +

    LIS3MDL_Get_FullScale (Thumb, 34 bytes, Stack size 24 bytes, lis3mdl.o(i.LIS3MDL_Get_FullScale)) +

    [Stack]

    • Max Depth = 144
    • Call Chain = LIS3MDL_Get_FullScale ⇒ HAL_I2C_Mem_Read ⇒ I2C_RequestMemoryRead ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Read +
    +
    [Called By]
    • >>   LIS3MDL_Get_Magn +
    + +

    LIS3MDL_Get_Magn (Thumb, 240 bytes, Stack size 56 bytes, lis3mdl.o(i.LIS3MDL_Get_Magn)) +

    [Stack]

    • Max Depth = 200
    • Call Chain = LIS3MDL_Get_Magn ⇒ LIS3MDL_Get_FullScale ⇒ HAL_I2C_Mem_Read ⇒ I2C_RequestMemoryRead ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   LIS3MDL_Get_Sensitivity +
    • >>   LIS3MDL_Get_FullScale +
    • >>   HAL_I2C_Mem_Read +
    +
    [Called By]
    • >>   BSP_Sensor_Read +
    + +

    LIS3MDL_Get_Sensitivity (Thumb, 36 bytes, Stack size 0 bytes, lis3mdl.o(i.LIS3MDL_Get_Sensitivity)) +

    [Called By]

    • >>   LIS3MDL_Get_Magn +
    + +

    LIS3MDL_Init (Thumb, 126 bytes, Stack size 40 bytes, lis3mdl.o(i.LIS3MDL_Init)) +

    [Stack]

    • Max Depth = 160
    • Call Chain = LIS3MDL_Init ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Write +
    +
    [Called By]
    • >>   BSP_Sensor_Init +
    + +

    LIS3MDL_Set_FullScale (Thumb, 76 bytes, Stack size 32 bytes, lis3mdl.o(i.LIS3MDL_Set_FullScale)) +

    [Stack]

    • Max Depth = 152
    • Call Chain = LIS3MDL_Set_FullScale ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Write +
    • >>   HAL_I2C_Mem_Read +
    +
    [Called By]
    • >>   BSP_Sensor_Init +
    • >>   recv_callback +
    + +

    LPS22HB_Get_Press (Thumb, 194 bytes, Stack size 56 bytes, lps22hb.o(i.LPS22HB_Get_Press)) +

    [Stack]

    • Max Depth = 176
    • Call Chain = LPS22HB_Get_Press ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Write +
    • >>   HAL_I2C_Mem_Read +
    +
    [Called By]
    • >>   BSP_Sensor_Read +
    + +

    LPS22HB_Init (Thumb, 104 bytes, Stack size 40 bytes, lps22hb.o(i.LPS22HB_Init)) +

    [Stack]

    • Max Depth = 160
    • Call Chain = LPS22HB_Init ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Write +
    +
    [Called By]
    • >>   BSP_Sensor_Init +
    + +

    LSM6DS3_Init (Thumb, 124 bytes, Stack size 40 bytes, lsm6ds3.o(i.LSM6DS3_Init)) +

    [Stack]

    • Max Depth = 160
    • Call Chain = LSM6DS3_Init ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Write +
    +
    [Called By]
    • >>   BSP_Sensor_Init +
    + +

    LSM6DS3_Set_Accel_FullScale (Thumb, 78 bytes, Stack size 32 bytes, lsm6ds3.o(i.LSM6DS3_Set_Accel_FullScale)) +

    [Stack]

    • Max Depth = 152
    • Call Chain = LSM6DS3_Set_Accel_FullScale ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Write +
    • >>   HAL_I2C_Mem_Read +
    +
    [Called By]
    • >>   BSP_Sensor_Init +
    + +

    LSM6DS3_Set_Gyro_FullScale (Thumb, 78 bytes, Stack size 32 bytes, lsm6ds3.o(i.LSM6DS3_Set_Gyro_FullScale)) +

    [Stack]

    • Max Depth = 152
    • Call Chain = LSM6DS3_Set_Gyro_FullScale ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Write +
    • >>   HAL_I2C_Mem_Read +
    +
    [Called By]
    • >>   BSP_Sensor_Init +
    + +

    MX_GPIO_Init (Thumb, 112 bytes, Stack size 40 bytes, gpio.o(i.MX_GPIO_Init)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_GPIO_WritePin +
    • >>   HAL_GPIO_Init +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   board_init +
    + +

    MX_I2C1_Init (Thumb, 76 bytes, Stack size 8 bytes, i2c.o(i.MX_I2C1_Init)) +

    [Stack]

    • Max Depth = 80
    • Call Chain = MX_I2C1_Init ⇒ HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init +
    +
    [Calls]
    • >>   HAL_I2C_Init +
    • >>   HAL_I2CEx_ConfigDigitalFilter +
    • >>   HAL_I2CEx_ConfigAnalogFilter +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   board_init +
    + +

    MX_USART1_UART_Init (Thumb, 58 bytes, Stack size 8 bytes, usart.o(i.MX_USART1_UART_Init)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ UART_SetConfig ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   HAL_UART_Receive_IT +
    • >>   HAL_UART_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   tos_hal_uart_init +
    + +

    MX_USART2_UART_Init (Thumb, 48 bytes, Stack size 8 bytes, usart.o(i.MX_USART2_UART_Init)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = MX_USART2_UART_Init ⇒ HAL_UART_Init ⇒ UART_SetConfig ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   HAL_UART_Init +
    • >>   Error_Handler +
    +
    [Called By]
    • >>   board_init +
    • >>   tos_hal_uart_init +
    + +

    NMI_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32l0xx_it_lorawan.o(i.NMI_Handler)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    SVC_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32l0xx_it_lorawan.o(i.SVC_Handler)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(RESET) +
    +

    SysTick_Handler (Thumb, 28 bytes, Stack size 8 bytes, stm32l0xx_it_lorawan.o(i.SysTick_Handler)) +

    [Stack]

    • Max Depth = 88 + Unknown Stack Size +
    • Call Chain = SysTick_Handler ⇒ tos_tick_handler ⇒ tick_update ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_tick_handler +
    • >>   tos_knl_is_running +
    • >>   tos_knl_irq_leave +
    • >>   tos_knl_irq_enter +
    • >>   HAL_IncTick +
    +
    [Address Reference Count : 1]
    • startup_stm32l073xx.o(RESET) +
    +

    SystemClock_Config (Thumb, 112 bytes, Stack size 128 bytes, mcu_init.o(i.SystemClock_Config)) +

    [Stack]

    • Max Depth = 172
    • Call Chain = SystemClock_Config ⇒ HAL_RCC_OscConfig ⇒ HAL_InitTick ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   HAL_RCC_OscConfig +
    • >>   HAL_RCC_ClockConfig +
    • >>   HAL_RCCEx_PeriphCLKConfig +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   board_init +
    + +

    SystemInit (Thumb, 66 bytes, Stack size 0 bytes, system_stm32l0xx.o(i.SystemInit)) +
    [Address Reference Count : 1]

    • startup_stm32l073xx.o(.text) +
    +

    UART_AdvFeatureConfig (Thumb, 202 bytes, Stack size 8 bytes, stm32l0xx_hal_uart.o(i.UART_AdvFeatureConfig)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = UART_AdvFeatureConfig +
    +
    [Called By]
    • >>   HAL_UART_Init +
    + +

    UART_CheckIdleState (Thumb, 90 bytes, Stack size 24 bytes, stm32l0xx_hal_uart.o(i.UART_CheckIdleState)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = UART_CheckIdleState ⇒ UART_WaitOnFlagUntilTimeout +
    +
    [Calls]
    • >>   HAL_GetTick +
    • >>   UART_WaitOnFlagUntilTimeout +
    +
    [Called By]
    • >>   HAL_UART_Init +
    + +

    UART_SetConfig (Thumb, 510 bytes, Stack size 32 bytes, stm32l0xx_hal_uart.o(i.UART_SetConfig)) +

    [Stack]

    • Max Depth = 88
    • Call Chain = UART_SetConfig ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   HAL_RCC_GetSysClockFreq +
    • >>   HAL_RCC_GetPCLK2Freq +
    • >>   HAL_RCC_GetPCLK1Freq +
    • >>   HAL_RCCEx_GetPeriphCLKFreq +
    • >>   __ARM_common_switch8 +
    • >>   __aeabi_uldivmod +
    • >>   __aeabi_uidivmod +
    +
    [Called By]
    • >>   HAL_UART_Init +
    + +

    UART_WaitOnFlagUntilTimeout (Thumb, 98 bytes, Stack size 40 bytes, stm32l0xx_hal_uart.o(i.UART_WaitOnFlagUntilTimeout)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = UART_WaitOnFlagUntilTimeout +
    +
    [Calls]
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   HAL_UART_Transmit +
    • >>   UART_CheckIdleState +
    + +

    USART1_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32l0xx_it_lorawan.o(i.USART1_IRQHandler)) +

    [Stack]

    • Max Depth = 160 + Unknown Stack Size +
    • Call Chain = USART1_IRQHandler ⇒ HAL_UART_IRQHandler ⇒ UART_Receive_IT ⇒ HAL_UART_RxCpltCallback ⇒ tos_at_uart_input_byte ⇒ tos_sem_post ⇒ sem_do_post ⇒ pend_wakeup ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   HAL_UART_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32l073xx.o(RESET) +
    +

    USART2_IRQHandler (Thumb, 10 bytes, Stack size 8 bytes, stm32l0xx_it_lorawan.o(i.USART2_IRQHandler)) +

    [Stack]

    • Max Depth = 160 + Unknown Stack Size +
    • Call Chain = USART2_IRQHandler ⇒ HAL_UART_IRQHandler ⇒ UART_Receive_IT ⇒ HAL_UART_RxCpltCallback ⇒ tos_at_uart_input_byte ⇒ tos_sem_post ⇒ sem_do_post ⇒ pend_wakeup ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   HAL_UART_IRQHandler +
    +
    [Address Reference Count : 1]
    • startup_stm32l073xx.o(RESET) +
    +

    __0printf (Thumb, 24 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED) +

    [Calls]

    • >>   _printf_core +
    + +

    __1printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED) + +

    __2printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = __2printf +
    +
    [Called By]
    • >>   main +
    • >>   at_parser +
    • >>   at_cmd_do_exec +
    • >>   rhf76_join_otaa +
    • >>   rhf76_join_abp +
    • >>   rhf76_init +
    • >>   rhf76_incoming_data_process +
    • >>   recv_callback +
    • >>   print_to_screen +
    • >>   application_entry +
    + +

    __c89printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED) + +

    printf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0printf), UNUSED) + +

    __0snprintf (Thumb, 46 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf), UNUSED) +

    [Calls]

    • >>   _printf_core +
    + +

    __1snprintf (Thumb, 0 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf), UNUSED) + +

    __2snprintf (Thumb, 0 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = __2snprintf +
    +
    [Called By]
    • >>   rhf76_set_repeat +
    • >>   rhf76_set_data_rate +
    • >>   rhf76_set_key +
    • >>   rhf76_set_id +
    • >>   rhf76_send_unconfirmed +
    • >>   rhf76_send +
    + +

    __c89snprintf (Thumb, 0 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf), UNUSED) + +

    snprintf (Thumb, 0 bytes, Stack size 32 bytes, printfa.o(i.__0snprintf), UNUSED) + +

    __0vsnprintf (Thumb, 40 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED) +

    [Calls]

    • >>   _printf_core +
    + +

    __1vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED) + +

    __2vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED) + +

    __c89vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf), UNUSED) + +

    vsnprintf (Thumb, 0 bytes, Stack size 24 bytes, printfa.o(i.__0vsnprintf)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = vsnprintf +
    +
    [Called By]
    • >>   at_cmd_do_exec +
    + +

    __ARM_clz (Thumb, 46 bytes, Stack size 0 bytes, depilogue.o(i.__ARM_clz)) +

    [Called By]

    • >>   _double_epilogue +
    + +

    __ARM_common_ll_muluu (Thumb, 48 bytes, Stack size 24 bytes, tos_time.o(i.__ARM_common_ll_muluu)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = __ARM_common_ll_muluu +
    +
    [Called By]
    • >>   tos_millisec2tick +
    + +

    __ARM_common_switch8 (Thumb, 26 bytes, Stack size 8 bytes, stm32l0xx_hal_uart.o(i.__ARM_common_switch8)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = __ARM_common_switch8 +
    +
    [Called By]
    • >>   UART_SetConfig +
    • >>   read_config_from_Flash +
    + +

    __ARM_fpclassify (Thumb, 40 bytes, Stack size 0 bytes, fpclassify.o(i.__ARM_fpclassify)) +

    [Called By]

    • >>   pow +
    + +

    __kernel_poly (Thumb, 172 bytes, Stack size 24 bytes, poly.o(i.__kernel_poly)) +

    [Stack]

    • Max Depth = 152
    • Call Chain = __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __aeabi_dmul +
    • >>   __aeabi_dadd +
    +
    [Called By]
    • >>   pow +
    + +

    __mathlib_dbl_divzero (Thumb, 16 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_divzero)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = __mathlib_dbl_divzero ⇒ __aeabi_ddiv ⇒ _double_round +
    +
    [Calls]
    • >>   __aeabi_ddiv +
    +
    [Called By]
    • >>   pow +
    + +

    __mathlib_dbl_infnan2 (Thumb, 8 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_infnan2)) +

    [Stack]

    • Max Depth = 112
    • Call Chain = __mathlib_dbl_infnan2 ⇒ __aeabi_dadd ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __aeabi_dadd +
    +
    [Called By]
    • >>   pow +
    + +

    __mathlib_dbl_invalid (Thumb, 16 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_invalid)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = __mathlib_dbl_invalid ⇒ __aeabi_ddiv ⇒ _double_round +
    +
    [Calls]
    • >>   __aeabi_ddiv +
    +
    [Called By]
    • >>   pow +
    + +

    __mathlib_dbl_overflow (Thumb, 16 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_overflow)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = __mathlib_dbl_overflow ⇒ __ARM_scalbn +
    +
    [Calls]
    • >>   __ARM_scalbn +
    +
    [Called By]
    • >>   pow +
    + +

    __mathlib_dbl_underflow (Thumb, 14 bytes, Stack size 8 bytes, dunder.o(i.__mathlib_dbl_underflow)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = __mathlib_dbl_underflow ⇒ __ARM_scalbn +
    +
    [Calls]
    • >>   __ARM_scalbn +
    +
    [Called By]
    • >>   pow +
    + +

    __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) + +

    __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) + +

    __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) + +

    __set_errno (Thumb, 6 bytes, Stack size 0 bytes, errno.o(i.__set_errno)) +

    [Called By]

    • >>   sqrt +
    • >>   pow +
    + +

    application_entry (Thumb, 380 bytes, Stack size 168 bytes, lora_demo.o(i.application_entry)) +

    [Stack]

    • Max Depth = 504 + Unknown Stack Size +
    • Call Chain = application_entry ⇒ print_to_screen ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   BSP_Sensor_Read +
    • >>   BSP_Sensor_Init +
    • >>   tos_task_delay +
    • >>   tos_lora_module_send_unconfirmed +
    • >>   tos_lora_module_send +
    • >>   tos_lora_module_recvcb_register +
    • >>   tos_lora_module_join_otaa +
    • >>   rhf76_lora_init +
    • >>   set_config_to_default +
    • >>   read_config_from_Flash +
    • >>   print_to_screen +
    • >>   __aeabi_uwrite4 +
    • >>   __2printf +
    • >>   __aeabi_memclr4 +
    • >>   __aeabi_memcpy4 +
    • >>   __aeabi_memcpy +
    +
    [Address Reference Count : 1]
    • main.o(.constdata) +
    +

    at_delay (Thumb, 30 bytes, Stack size 24 bytes, tos_at_utils.o(i.at_delay)) +

    [Stack]

    • Max Depth = 48 + Unknown Stack Size +
    • Call Chain = at_delay ⇒ tos_systick_get ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_systick_get +
    +
    [Called By]
    • >>   at_uart_getchar +
    • >>   at_delay_ms +
    + +

    at_delay_ms (Thumb, 12 bytes, Stack size 8 bytes, tos_at_utils.o(i.at_delay_ms)) +

    [Stack]

    • Max Depth = 72 + Unknown Stack Size +
    • Call Chain = at_delay_ms ⇒ tos_millisec2tick ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   tos_millisec2tick +
    • >>   at_delay +
    +
    [Called By]
    • >>   rhf76_join_otaa +
    • >>   rhf76_join_abp +
    • >>   rhf76_init +
    • >>   rhf76_lora_init +
    + +

    at_timer_init (Thumb, 12 bytes, Stack size 0 bytes, tos_at_utils.o(i.at_timer_init)) +

    [Called By]

    • >>   tos_at_init +
    + +

    board_init (Thumb, 24 bytes, Stack size 8 bytes, mcu_init.o(i.board_init)) +

    [Stack]

    • Max Depth = 180
    • Call Chain = board_init ⇒ SystemClock_Config ⇒ HAL_RCC_OscConfig ⇒ HAL_InitTick ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   MX_I2C1_Init +
    • >>   HAL_Init +
    • >>   SystemClock_Config +
    • >>   MX_USART2_UART_Init +
    • >>   MX_GPIO_Init +
    +
    [Called By]
    • >>   main +
    + +

    cpu_context_switch (Thumb, 8 bytes, Stack size 8 bytes, tos_cpu.o(i.cpu_context_switch)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = cpu_context_switch +
    +
    [Calls]
    • >>   port_context_switch +
    +
    [Called By]
    • >>   knl_sched +
    + +

    cpu_init (Thumb, 26 bytes, Stack size 8 bytes, tos_cpu.o(i.cpu_init)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = cpu_init ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   cpu_systick_init +
    • >>   __aeabi_uldivmod +
    +
    [Called By]
    • >>   tos_knl_init +
    + +

    cpu_irq_context_switch (Thumb, 8 bytes, Stack size 8 bytes, tos_cpu.o(i.cpu_irq_context_switch)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = cpu_irq_context_switch +
    +
    [Calls]
    • >>   port_irq_context_switch +
    +
    [Called By]
    • >>   tos_knl_irq_leave +
    + +

    cpu_sched_start (Thumb, 4 bytes, Stack size 0 bytes, tos_cpu.o(i.cpu_sched_start)) +

    [Calls]

    • >>   port_sched_start +
    +
    [Called By]
    • >>   tos_knl_start +
    + +

    cpu_systick_init (Thumb, 18 bytes, Stack size 8 bytes, tos_cpu.o(i.cpu_systick_init)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = cpu_systick_init ⇒ port_systick_priority_set +
    +
    [Calls]
    • >>   port_systick_priority_set +
    • >>   port_systick_config +
    +
    [Called By]
    • >>   cpu_init +
    + +

    cpu_task_stk_init (Thumb, 104 bytes, Stack size 8 bytes, tos_cpu.o(i.cpu_task_stk_init)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = cpu_task_stk_init +
    +
    [Called By]
    • >>   tos_task_create +
    + +

    fputc (Thumb, 36 bytes, Stack size 16 bytes, mcu_init.o(i.fputc)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = fputc ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout +
    +
    [Calls]
    • >>   HAL_UART_Transmit +
    +
    [Address Reference Count : 1]
    • printfa.o(i.__0printf) +
    +

    knl_idle_init (Thumb, 32 bytes, Stack size 24 bytes, tos_sys.o(i.knl_idle_init)) +

    [Stack]

    • Max Depth = 88 + Unknown Stack Size +
    • Call Chain = knl_idle_init ⇒ tos_task_create ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   tos_task_create +
    +
    [Called By]
    • >>   tos_knl_init +
    + +

    knl_is_idle (Thumb, 14 bytes, Stack size 0 bytes, tos_sys.o(i.knl_is_idle)) +

    [Called By]

    • >>   task_do_destroy +
    • >>   tos_task_create +
    • >>   robin_sched +
    + +

    knl_is_inirq (Thumb, 12 bytes, Stack size 0 bytes, tos_sys.o(i.knl_is_inirq)) +

    [Called By]

    • >>   tos_task_delay +
    • >>   tos_task_yield +
    • >>   tos_task_destroy +
    • >>   tos_task_create +
    • >>   tos_sem_pend +
    • >>   tos_task_prio_change +
    • >>   tos_mutex_post +
    • >>   tos_mutex_pend_timed +
    • >>   tos_mutex_destroy +
    • >>   tos_mutex_create +
    + +

    knl_is_sched_locked (Thumb, 12 bytes, Stack size 0 bytes, tos_sys.o(i.knl_is_sched_locked)) +

    [Called By]

    • >>   tos_task_delay +
    • >>   tos_task_destroy +
    • >>   tos_sem_pend +
    • >>   robin_sched +
    • >>   tos_mutex_pend_timed +
    + +

    knl_is_self (Thumb, 16 bytes, Stack size 0 bytes, tos_sys.o(i.knl_is_self)) +

    [Called By]

    • >>   tos_task_destroy +
    • >>   tos_task_prio_change +
    • >>   tos_mutex_post +
    • >>   tos_mutex_pend_timed +
    + +

    knl_sched (Thumb, 60 bytes, Stack size 8 bytes, tos_sys.o(i.knl_sched)) +

    [Stack]

    • Max Depth = 16 + Unknown Stack Size +
    • Call Chain = knl_sched ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   cpu_context_switch +
    • >>   readyqueue_highest_ready_task_get +
    +
    [Called By]
    • >>   tos_task_delay +
    • >>   tos_task_yield +
    • >>   task_do_destroy +
    • >>   tos_task_create +
    • >>   tos_knl_sched_unlock +
    • >>   tos_sem_pend +
    • >>   tos_sem_destroy +
    • >>   sem_do_post +
    • >>   robin_sched +
    • >>   tos_task_prio_change +
    • >>   tos_mutex_post +
    • >>   tos_mutex_pend_timed +
    • >>   tos_mutex_destroy +
    + +

    main (Thumb, 32 bytes, Stack size 8 bytes, main.o(i.main)) +

    [Stack]

    • Max Depth = 188 + Unknown Stack Size +
    • Call Chain = main ⇒ board_init ⇒ SystemClock_Config ⇒ HAL_RCC_OscConfig ⇒ HAL_InitTick ⇒ __aeabi_uidivmod +
    +
    [Calls]
    • >>   osThreadCreate +
    • >>   osKernelStart +
    • >>   osKernelInitialize +
    • >>   board_init +
    • >>   __2printf +
    +
    [Address Reference Count : 1]
    • entry9a.o(.ARM.Collect$$$$0000000B) +
    +

    mmheap_init_with_pool (Thumb, 20 bytes, Stack size 16 bytes, tos_mmheap.o(i.mmheap_init_with_pool)) +

    [Stack]

    • Max Depth = 88
    • Call Chain = mmheap_init_with_pool ⇒ tos_mmheap_pool_add ⇒ blk_insert ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   mmheap_ctl_init +
    • >>   tos_mmheap_pool_add +
    +
    [Called By]
    • >>   tos_knl_init +
    + +

    mutex_release (Thumb, 18 bytes, Stack size 8 bytes, tos_mutex.o(i.mutex_release)) +

    [Stack]

    • Max Depth = 80 + Unknown Stack Size +
    • Call Chain = mutex_release ⇒ mutex_old_owner_release ⇒ tos_task_prio_change ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   pend_wakeup_all +
    • >>   mutex_old_owner_release +
    +
    [Called By]
    • >>   task_do_destroy +
    + +

    osKernelInitialize (Thumb, 12 bytes, Stack size 8 bytes, cmsis_os.o(i.osKernelInitialize)) +

    [Stack]

    • Max Depth = 104 + Unknown Stack Size +
    • Call Chain = osKernelInitialize ⇒ tos_knl_init ⇒ knl_idle_init ⇒ tos_task_create ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   tos_knl_init +
    • >>   errno_knl2cmsis +
    +
    [Called By]
    • >>   main +
    + +

    osKernelStart (Thumb, 12 bytes, Stack size 8 bytes, cmsis_os.o(i.osKernelStart)) +

    [Stack]

    • Max Depth = 16 + Unknown Stack Size +
    • Call Chain = osKernelStart ⇒ tos_knl_start +
    +
    [Calls]
    • >>   tos_knl_start +
    • >>   errno_knl2cmsis +
    +
    [Called By]
    • >>   main +
    + +

    osThreadCreate (Thumb, 52 bytes, Stack size 32 bytes, cmsis_os.o(i.osThreadCreate)) +

    [Stack]

    • Max Depth = 96 + Unknown Stack Size +
    • Call Chain = osThreadCreate ⇒ tos_task_create ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   tos_task_create +
    • >>   priority_cmsis2knl +
    +
    [Called By]
    • >>   main +
    + +

    pend_highest_pending_prio_get (Thumb, 20 bytes, Stack size 0 bytes, tos_pend.o(i.pend_highest_pending_prio_get)) +

    [Called By]

    • >>   tos_task_prio_change +
    • >>   tos_mutex_post +
    + +

    pend_highest_pending_task_get (Thumb, 6 bytes, Stack size 0 bytes, tos_pend.o(i.pend_highest_pending_task_get)) +

    [Called By]

    • >>   tos_mutex_post +
    + +

    pend_is_nopending (Thumb, 14 bytes, Stack size 0 bytes, tos_pend.o(i.pend_is_nopending)) +

    [Called By]

    • >>   sem_do_post +
    • >>   tos_mutex_post +
    + +

    pend_list_adjust (Thumb, 18 bytes, Stack size 8 bytes, tos_pend.o(i.pend_list_adjust)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = pend_list_adjust ⇒ pend_list_add +
    +
    [Calls]
    • >>   pend_list_add +
    +
    [Called By]
    • >>   tos_task_prio_change +
    + +

    pend_list_remove (Thumb, 24 bytes, Stack size 0 bytes, tos_pend.o(i.pend_list_remove)) +

    [Called By]

    • >>   pend_task_wakeup +
    • >>   task_do_destroy +
    + +

    pend_object_deinit (Thumb, 6 bytes, Stack size 0 bytes, tos_pend.o(i.pend_object_deinit)) +

    [Called By]

    • >>   tos_sem_destroy +
    • >>   tos_mutex_destroy +
    + +

    pend_object_init (Thumb, 6 bytes, Stack size 0 bytes, tos_pend.o(i.pend_object_init)) +

    [Called By]

    • >>   tos_sem_create_max +
    • >>   tos_mutex_create +
    + +

    pend_state2errno (Thumb, 42 bytes, Stack size 0 bytes, tos_pend.o(i.pend_state2errno)) +

    [Called By]

    • >>   tos_sem_pend +
    • >>   tos_mutex_pend_timed +
    + +

    pend_task_block (Thumb, 48 bytes, Stack size 24 bytes, tos_pend.o(i.pend_task_block)) +

    [Stack]

    • Max Depth = 72 + Unknown Stack Size +
    • Call Chain = pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tick_list_add +
    • >>   readyqueue_remove +
    • >>   pend_list_add +
    +
    [Called By]
    • >>   tos_sem_pend +
    • >>   tos_mutex_pend_timed +
    + +

    pend_task_wakeup (Thumb, 50 bytes, Stack size 16 bytes, tos_pend.o(i.pend_task_wakeup)) +

    [Stack]

    • Max Depth = 48 + Unknown Stack Size +
    • Call Chain = pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tick_list_remove +
    • >>   readyqueue_add +
    • >>   pend_list_remove +
    +
    [Called By]
    • >>   pend_wakeup_all +
    • >>   pend_wakeup_one +
    • >>   tick_update +
    + +

    pend_wakeup (Thumb, 18 bytes, Stack size 8 bytes, tos_pend.o(i.pend_wakeup)) +

    [Stack]

    • Max Depth = 72 + Unknown Stack Size +
    • Call Chain = pend_wakeup ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   pend_wakeup_all +
    • >>   pend_wakeup_one +
    +
    [Called By]
    • >>   sem_do_post +
    + +

    pend_wakeup_all (Thumb, 36 bytes, Stack size 16 bytes, tos_pend.o(i.pend_wakeup_all)) +

    [Stack]

    • Max Depth = 64 + Unknown Stack Size +
    • Call Chain = pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   pend_task_wakeup +
    +
    [Called By]
    • >>   tos_sem_destroy +
    • >>   pend_wakeup +
    • >>   tos_mutex_destroy +
    • >>   mutex_release +
    + +

    pend_wakeup_one (Thumb, 12 bytes, Stack size 8 bytes, tos_pend.o(i.pend_wakeup_one)) +

    [Stack]

    • Max Depth = 56 + Unknown Stack Size +
    • Call Chain = pend_wakeup_one ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   pend_task_wakeup +
    +
    [Called By]
    • >>   pend_wakeup +
    • >>   tos_mutex_post +
    + +

    port_systick_config (Thumb, 32 bytes, Stack size 8 bytes, port_c.o(i.port_systick_config)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = port_systick_config +
    +
    [Calls]
    • >>   __NVIC_SetPriority +
    +
    [Called By]
    • >>   cpu_systick_init +
    + +

    port_systick_priority_set (Thumb, 14 bytes, Stack size 8 bytes, port_c.o(i.port_systick_priority_set)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = port_systick_priority_set +
    +
    [Calls]
    • >>   __NVIC_SetPriority +
    +
    [Called By]
    • >>   cpu_systick_init +
    + +

    pow (Thumb, 2548 bytes, Stack size 128 bytes, pow.o(i.pow)) +

    [Stack]

    • Max Depth = 280
    • Call Chain = pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __aeabi_i2d +
    • >>   __aeabi_dsub +
    • >>   __aeabi_dmul +
    • >>   __aeabi_ddiv +
    • >>   __aeabi_dadd +
    • >>   __set_errno +
    • >>   sqrt +
    • >>   __kernel_poly +
    • >>   __ARM_fpclassify +
    • >>   __mathlib_dbl_underflow +
    • >>   __mathlib_dbl_overflow +
    • >>   __mathlib_dbl_invalid +
    • >>   __mathlib_dbl_infnan2 +
    • >>   __mathlib_dbl_divzero +
    • >>   __aeabi_drsub +
    • >>   __aeabi_cdrcmple +
    • >>   __ARM_scalbn +
    +
    [Called By]
    • >>   print_to_screen +
    + +

    print_to_screen (Thumb, 296 bytes, Stack size 56 bytes, lora_demo.o(i.print_to_screen)) +

    [Stack]

    • Max Depth = 336
    • Call Chain = print_to_screen ⇒ pow ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __aeabi_ui2d +
    • >>   __aeabi_i2d +
    • >>   __aeabi_f2d +
    • >>   __aeabi_dsub +
    • >>   __aeabi_dmul +
    • >>   __aeabi_ddiv +
    • >>   __aeabi_dadd +
    • >>   __aeabi_d2f +
    • >>   __2printf +
    • >>   pow +
    +
    [Called By]
    • >>   application_entry +
    + +

    read_config_from_Flash (Thumb, 152 bytes, Stack size 24 bytes, lora_demo.o(i.read_config_from_Flash)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = read_config_from_Flash ⇒ HAL_FLASH_ReadWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_SetErrorCode +
    +
    [Calls]
    • >>   __ARM_common_switch8 +
    • >>   HAL_FLASH_ReadWord +
    +
    [Called By]
    • >>   application_entry +
    + +

    readyqueue_add (Thumb, 30 bytes, Stack size 8 bytes, tos_sched.o(i.readyqueue_add)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = readyqueue_add ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   readyqueue_add_tail +
    • >>   readyqueue_add_head +
    +
    [Called By]
    • >>   pend_task_wakeup +
    + +

    readyqueue_add_head (Thumb, 38 bytes, Stack size 16 bytes, tos_sched.o(i.readyqueue_add_head)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = readyqueue_add_head ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   readyqueue_prio_mark +
    +
    [Called By]
    • >>   readyqueue_add +
    • >>   tos_task_prio_change +
    + +

    readyqueue_add_tail (Thumb, 38 bytes, Stack size 16 bytes, tos_sched.o(i.readyqueue_add_tail)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   readyqueue_prio_mark +
    +
    [Called By]
    • >>   tos_task_yield +
    • >>   tos_task_create +
    • >>   readyqueue_add +
    • >>   tos_task_prio_change +
    + +

    readyqueue_first_task_get (Thumb, 20 bytes, Stack size 0 bytes, tos_sched.o(i.readyqueue_first_task_get)) +

    [Called By]

    • >>   robin_sched +
    + +

    readyqueue_highest_ready_task_get (Thumb, 18 bytes, Stack size 0 bytes, tos_sched.o(i.readyqueue_highest_ready_task_get)) +

    [Called By]

    • >>   tos_knl_irq_leave +
    • >>   knl_sched +
    • >>   tos_knl_start +
    + +

    readyqueue_init (Thumb, 48 bytes, Stack size 0 bytes, tos_sched.o(i.readyqueue_init)) +

    [Called By]

    • >>   tos_knl_init +
    + +

    readyqueue_is_prio_onlyone (Thumb, 22 bytes, Stack size 0 bytes, tos_sched.o(i.readyqueue_is_prio_onlyone)) +

    [Called By]

    • >>   robin_sched +
    + +

    readyqueue_move_head_to_tail (Thumb, 32 bytes, Stack size 0 bytes, tos_sched.o(i.readyqueue_move_head_to_tail)) +

    [Called By]

    • >>   robin_sched +
    + +

    readyqueue_remove (Thumb, 92 bytes, Stack size 16 bytes, tos_sched.o(i.readyqueue_remove)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = readyqueue_remove +
    +
    [Calls]
    • >>   tos_cpu_clz +
    +
    [Called By]
    • >>   tos_task_delay +
    • >>   pend_task_block +
    • >>   tos_task_yield +
    • >>   task_do_destroy +
    • >>   tos_task_prio_change +
    + +

    recv_callback (Thumb, 86 bytes, Stack size 16 bytes, lora_demo.o(i.recv_callback)) +

    [Stack]

    • Max Depth = 168
    • Call Chain = recv_callback ⇒ LIS3MDL_Set_FullScale ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   LIS3MDL_Set_FullScale +
    • >>   write_config_to_Flash +
    • >>   __2printf +
    +
    [Address Reference Count : 1]
    • lora_demo.o(i.application_entry) +
    +

    rhf76_join_abp (Thumb, 158 bytes, Stack size 80 bytes, rhf76.o(i.rhf76_join_abp)) +

    [Stack]

    • Max Depth = 392 + Unknown Stack Size +
    • Call Chain = rhf76_join_abp ⇒ rhf76_set_key ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    • >>   at_delay_ms +
    • >>   rhf76_set_mode +
    • >>   rhf76_set_key +
    • >>   rhf76_set_id +
    • >>   __2printf +
    +
    [Address Reference Count : 1]
    • rhf76.o(.data) +
    +

    rhf76_join_otaa (Thumb, 126 bytes, Stack size 64 bytes, rhf76.o(i.rhf76_join_otaa)) +

    [Stack]

    • Max Depth = 376 + Unknown Stack Size +
    • Call Chain = rhf76_join_otaa ⇒ rhf76_set_key ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    • >>   at_delay_ms +
    • >>   rhf76_set_mode +
    • >>   rhf76_set_key +
    • >>   rhf76_set_id +
    • >>   __2printf +
    +
    [Address Reference Count : 1]
    • rhf76.o(.data) +
    +

    rhf76_lora_init (Thumb, 50 bytes, Stack size 8 bytes, rhf76.o(i.rhf76_lora_init)) +

    [Stack]

    • Max Depth = 208 + Unknown Stack Size +
    • Call Chain = rhf76_lora_init ⇒ tos_at_init ⇒ tos_hal_uart_init ⇒ MX_USART2_UART_Init ⇒ HAL_UART_Init ⇒ UART_SetConfig ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   tos_lora_module_register +
    • >>   tos_lora_module_init +
    • >>   tos_at_init +
    • >>   at_delay_ms +
    +
    [Called By]
    • >>   application_entry +
    + +

    rhf76_set_data_rate (Thumb, 110 bytes, Stack size 88 bytes, rhf76.o(i.rhf76_set_data_rate)) +

    [Stack]

    • Max Depth = 272 + Unknown Stack Size +
    • Call Chain = rhf76_set_data_rate ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_echo_fuzzy_matching_create +
    • >>   tos_at_cmd_exec +
    • >>   __2snprintf +
    +
    [Called By]
    • >>   rhf76_init +
    + +

    rhf76_set_repeat (Thumb, 104 bytes, Stack size 88 bytes, rhf76.o(i.rhf76_set_repeat)) +

    [Stack]

    • Max Depth = 272 + Unknown Stack Size +
    • Call Chain = rhf76_set_repeat ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    • >>   __2snprintf +
    +
    [Called By]
    • >>   rhf76_init +
    + +

    robin_sched (Thumb, 108 bytes, Stack size 16 bytes, tos_robin.o(i.robin_sched)) +

    [Stack]

    • Max Depth = 32 + Unknown Stack Size +
    • Call Chain = robin_sched ⇒ knl_sched ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   knl_sched +
    • >>   knl_is_sched_locked +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   readyqueue_move_head_to_tail +
    • >>   readyqueue_is_prio_onlyone +
    • >>   readyqueue_first_task_get +
    • >>   knl_is_idle +
    +
    [Called By]
    • >>   tos_tick_handler +
    + +

    set_config_to_default (Thumb, 24 bytes, Stack size 0 bytes, lora_demo.o(i.set_config_to_default)) +

    [Called By]

    • >>   application_entry +
    + +

    sqrt (Thumb, 66 bytes, Stack size 24 bytes, sqrt.o(i.sqrt)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = sqrt ⇒ _dsqrt ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __set_errno +
    • >>   _dsqrt +
    +
    [Called By]
    • >>   pow +
    + +

    tick_list_add (Thumb, 20 bytes, Stack size 8 bytes, tos_tick.o(i.tick_list_add)) +

    [Stack]

    • Max Depth = 48 + Unknown Stack Size +
    • Call Chain = tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tick_task_place +
    +
    [Called By]
    • >>   tos_task_delay +
    • >>   pend_task_block +
    + +

    tick_list_remove (Thumb, 106 bytes, Stack size 24 bytes, tos_tick.o(i.tick_list_remove)) +

    [Stack]

    • Max Depth = 32 + Unknown Stack Size +
    • Call Chain = tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   tos_list_empty +
    +
    [Called By]
    • >>   pend_task_wakeup +
    • >>   task_do_destroy +
    + +

    tick_update (Thumb, 110 bytes, Stack size 24 bytes, tos_tick.o(i.tick_update)) +

    [Stack]

    • Max Depth = 72 + Unknown Stack Size +
    • Call Chain = tick_update ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   pend_task_wakeup +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   tos_tick_handler +
    + +

    timer_init (Thumb, 4 bytes, Stack size 0 bytes, tos_timer.o(i.timer_init)) +

    [Called By]

    • >>   tos_knl_init +
    + +

    timer_update (Thumb, 104 bytes, Stack size 24 bytes, tos_timer.o(i.timer_update)) +

    [Stack]

    • Max Depth = 56 + Unknown Stack Size +
    • Call Chain = timer_update ⇒ timer_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_knl_sched_unlock +
    • >>   tos_knl_sched_lock +
    • >>   timer_takeoff +
    • >>   timer_place +
    +
    [Called By]
    • >>   tos_tick_handler +
    + +

    tos_at_cmd_exec (Thumb, 58 bytes, Stack size 32 bytes, tos_at.o(i.tos_at_cmd_exec)) +

    [Stack]

    • Max Depth = 184 + Unknown Stack Size +
    • Call Chain = tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_task_delay +
    • >>   tos_millisec2tick +
    • >>   at_echo_attach +
    • >>   at_cmd_do_exec +
    +
    [Called By]
    • >>   rhf76_set_repeat +
    • >>   rhf76_set_data_rate +
    • >>   rhf76_join_otaa +
    • >>   rhf76_join_abp +
    • >>   rhf76_set_mode +
    • >>   rhf76_set_key +
    • >>   rhf76_set_id +
    • >>   rhf76_set_class +
    • >>   rhf76_send_unconfirmed +
    • >>   rhf76_send +
    • >>   rhf76_init +
    + +

    tos_at_echo_create (Thumb, 46 bytes, Stack size 24 bytes, tos_at.o(i.tos_at_echo_create)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = tos_at_echo_create +
    +
    [Calls]
    • >>   __aeabi_memclr +
    +
    [Called By]
    • >>   rhf76_set_repeat +
    • >>   rhf76_join_otaa +
    • >>   rhf76_join_abp +
    • >>   rhf76_set_mode +
    • >>   rhf76_set_key +
    • >>   rhf76_set_id +
    • >>   rhf76_set_class +
    • >>   rhf76_send_unconfirmed +
    • >>   rhf76_send +
    • >>   rhf76_init +
    + +

    tos_at_echo_fuzzy_matching_create (Thumb, 50 bytes, Stack size 24 bytes, tos_at.o(i.tos_at_echo_fuzzy_matching_create)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = tos_at_echo_fuzzy_matching_create +
    +
    [Calls]
    • >>   __aeabi_memclr +
    +
    [Called By]
    • >>   rhf76_set_data_rate +
    + +

    tos_at_init (Thumb, 334 bytes, Stack size 80 bytes, tos_at.o(i.tos_at_init)) +

    [Stack]

    • Max Depth = 200 + Unknown Stack Size +
    • Call Chain = tos_at_init ⇒ tos_hal_uart_init ⇒ MX_USART2_UART_Init ⇒ HAL_UART_Init ⇒ UART_SetConfig ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   tos_task_destroy +
    • >>   tos_task_create +
    • >>   tos_sem_destroy +
    • >>   tos_sem_create +
    • >>   tos_mutex_destroy +
    • >>   tos_mutex_create +
    • >>   tos_mmheap_free +
    • >>   tos_mmheap_alloc +
    • >>   tos_chr_fifo_destroy +
    • >>   tos_chr_fifo_create +
    • >>   at_timer_init +
    • >>   at_recv_cache_deinit +
    • >>   tos_hal_uart_init +
    • >>   tos_hal_uart_deinit +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   rhf76_lora_init +
    + +

    tos_at_uart_input_byte (Thumb, 24 bytes, Stack size 8 bytes, tos_at.o(i.tos_at_uart_input_byte)) +

    [Stack]

    • Max Depth = 104 + Unknown Stack Size +
    • Call Chain = tos_at_uart_input_byte ⇒ tos_sem_post ⇒ sem_do_post ⇒ pend_wakeup ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_sem_post +
    • >>   tos_chr_fifo_push +
    +
    [Called By]
    • >>   HAL_UART_RxCpltCallback +
    + +

    tos_at_uart_read (Thumb, 44 bytes, Stack size 24 bytes, tos_at.o(i.tos_at_uart_read)) +

    [Stack]

    • Max Depth = 144 + Unknown Stack Size +
    • Call Chain = tos_at_uart_read ⇒ at_uart_getchar ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   at_uart_getchar +
    +
    [Called By]
    • >>   rhf76_incoming_data_process +
    + +

    tos_chr_fifo_create (Thumb, 34 bytes, Stack size 8 bytes, tos_char_fifo.o(i.tos_chr_fifo_create)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = tos_chr_fifo_create ⇒ tos_ring_q_create +
    +
    [Calls]
    • >>   tos_ring_q_create +
    +
    [Called By]
    • >>   tos_at_init +
    + +

    tos_chr_fifo_destroy (Thumb, 36 bytes, Stack size 8 bytes, tos_char_fifo.o(i.tos_chr_fifo_destroy)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = tos_chr_fifo_destroy +
    +
    [Calls]
    • >>   tos_ring_q_destroy +
    +
    [Called By]
    • >>   tos_at_init +
    + +

    tos_chr_fifo_pop (Thumb, 20 bytes, Stack size 8 bytes, tos_char_fifo.o(i.tos_chr_fifo_pop)) +

    [Stack]

    • Max Depth = 48 + Unknown Stack Size +
    • Call Chain = tos_chr_fifo_pop ⇒ tos_ring_q_dequeue ⇒ tos_ring_q_is_empty ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_ring_q_dequeue +
    +
    [Called By]
    • >>   at_uart_getchar +
    + +

    tos_chr_fifo_push (Thumb, 22 bytes, Stack size 16 bytes, tos_char_fifo.o(i.tos_chr_fifo_push)) +

    [Stack]

    • Max Depth = 48 + Unknown Stack Size +
    • Call Chain = tos_chr_fifo_push ⇒ tos_ring_q_enqueue ⇒ tos_ring_q_is_full ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_ring_q_enqueue +
    +
    [Called By]
    • >>   tos_at_uart_input_byte +
    + +

    tos_cpu_clz (Thumb, 50 bytes, Stack size 0 bytes, tos_cpu.o(i.tos_cpu_clz)) +

    [Called By]

    • >>   readyqueue_remove +
    + +

    tos_cpu_cpsr_restore (Thumb, 8 bytes, Stack size 8 bytes, tos_cpu.o(i.tos_cpu_cpsr_restore)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = tos_cpu_cpsr_restore +
    +
    [Calls]
    • >>   port_cpsr_restore +
    +
    [Called By]
    • >>   tos_knl_irq_leave +
    • >>   tos_task_delay +
    • >>   knl_sched +
    • >>   tick_task_place +
    • >>   tos_task_yield +
    • >>   task_do_destroy +
    • >>   tos_task_create +
    • >>   tos_knl_sched_unlock +
    • >>   tos_knl_sched_lock +
    • >>   tos_sem_pend +
    • >>   tos_sem_destroy +
    • >>   sem_do_post +
    • >>   robin_sched +
    • >>   tick_list_remove +
    • >>   tos_task_prio_change +
    • >>   tos_mutex_post +
    • >>   tos_mutex_pend_timed +
    • >>   tos_mutex_destroy +
    • >>   tos_ring_q_is_full +
    • >>   tos_ring_q_is_empty +
    • >>   tos_ring_q_enqueue +
    • >>   tos_ring_q_dequeue +
    • >>   timer_takeoff +
    • >>   timer_place +
    • >>   tos_systick_get +
    • >>   tick_update +
    + +

    tos_cpu_cpsr_save (Thumb, 8 bytes, Stack size 8 bytes, tos_cpu.o(i.tos_cpu_cpsr_save)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   port_cpsr_save +
    +
    [Called By]
    • >>   tos_knl_irq_leave +
    • >>   tos_task_delay +
    • >>   knl_sched +
    • >>   tick_task_place +
    • >>   tos_task_yield +
    • >>   task_do_destroy +
    • >>   tos_task_create +
    • >>   tos_knl_sched_unlock +
    • >>   tos_knl_sched_lock +
    • >>   tos_sem_pend +
    • >>   tos_sem_destroy +
    • >>   sem_do_post +
    • >>   robin_sched +
    • >>   tick_list_remove +
    • >>   tos_task_prio_change +
    • >>   tos_mutex_post +
    • >>   tos_mutex_pend_timed +
    • >>   tos_mutex_destroy +
    • >>   tos_ring_q_is_full +
    • >>   tos_ring_q_is_empty +
    • >>   tos_ring_q_enqueue +
    • >>   tos_ring_q_dequeue +
    • >>   timer_takeoff +
    • >>   timer_place +
    • >>   tos_systick_get +
    • >>   tick_update +
    + +

    tos_hal_uart_deinit (Thumb, 42 bytes, Stack size 16 bytes, tos_hal_uart.o(i.tos_hal_uart_deinit)) +

    [Stack]

    • Max Depth = 60
    • Call Chain = tos_hal_uart_deinit ⇒ HAL_UART_DeInit ⇒ HAL_UART_MspDeInit ⇒ HAL_GPIO_DeInit +
    +
    [Calls]
    • >>   HAL_UART_MspDeInit +
    • >>   HAL_UART_DeInit +
    +
    [Called By]
    • >>   tos_at_init +
    + +

    tos_hal_uart_init (Thumb, 44 bytes, Stack size 8 bytes, tos_hal_uart.o(i.tos_hal_uart_init)) +

    [Stack]

    • Max Depth = 120
    • Call Chain = tos_hal_uart_init ⇒ MX_USART2_UART_Init ⇒ HAL_UART_Init ⇒ UART_SetConfig ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   MX_USART2_UART_Init +
    • >>   MX_USART1_UART_Init +
    +
    [Called By]
    • >>   tos_at_init +
    + +

    tos_hal_uart_write (Thumb, 34 bytes, Stack size 8 bytes, tos_hal_uart.o(i.tos_hal_uart_write)) +

    [Stack]

    • Max Depth = 96
    • Call Chain = tos_hal_uart_write ⇒ HAL_UART_Transmit ⇒ UART_WaitOnFlagUntilTimeout +
    +
    [Calls]
    • >>   HAL_UART_Transmit +
    +
    [Called By]
    • >>   at_uart_send +
    + +

    tos_knl_init (Thumb, 38 bytes, Stack size 8 bytes, tos_sys.o(i.tos_knl_init)) +

    [Stack]

    • Max Depth = 96 + Unknown Stack Size +
    • Call Chain = tos_knl_init ⇒ knl_idle_init ⇒ tos_task_create ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   cpu_init +
    • >>   timer_init +
    • >>   knl_idle_init +
    • >>   readyqueue_init +
    • >>   mmheap_init_with_pool +
    +
    [Called By]
    • >>   osKernelInitialize +
    + +

    tos_knl_irq_enter (Thumb, 22 bytes, Stack size 0 bytes, tos_sys.o(i.tos_knl_irq_enter)) +

    [Called By]

    • >>   SysTick_Handler +
    + +

    tos_knl_irq_leave (Thumb, 70 bytes, Stack size 8 bytes, tos_sys.o(i.tos_knl_irq_leave)) +

    [Stack]

    • Max Depth = 16 + Unknown Stack Size +
    • Call Chain = tos_knl_irq_leave ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   cpu_irq_context_switch +
    • >>   readyqueue_highest_ready_task_get +
    +
    [Called By]
    • >>   SysTick_Handler +
    + +

    tos_knl_is_running (Thumb, 12 bytes, Stack size 0 bytes, tos_sys.o(i.tos_knl_is_running)) +

    [Called By]

    • >>   tos_tick_handler +
    • >>   SysTick_Handler +
    • >>   tos_task_create +
    + +

    tos_knl_sched_lock (Thumb, 62 bytes, Stack size 8 bytes, tos_sys.o(i.tos_knl_sched_lock)) +

    [Stack]

    • Max Depth = 16 + Unknown Stack Size +
    • Call Chain = tos_knl_sched_lock ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   timer_update +
    + +

    tos_knl_sched_unlock (Thumb, 64 bytes, Stack size 8 bytes, tos_sys.o(i.tos_knl_sched_unlock)) +

    [Stack]

    • Max Depth = 24 + Unknown Stack Size +
    • Call Chain = tos_knl_sched_unlock ⇒ knl_sched ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   knl_sched +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   timer_update +
    + +

    tos_knl_start (Thumb, 40 bytes, Stack size 8 bytes, tos_sys.o(i.tos_knl_start)) +

    [Stack]

    • Max Depth = 8 + Unknown Stack Size +
    • Call Chain = tos_knl_start +
    +
    [Calls]
    • >>   cpu_sched_start +
    • >>   readyqueue_highest_ready_task_get +
    +
    [Called By]
    • >>   osKernelStart +
    + +

    tos_lora_module_init (Thumb, 22 bytes, Stack size 0 bytes, lora_module_wrapper.o(i.tos_lora_module_init)) +

    [Called By]

    • >>   rhf76_lora_init +
    + +

    tos_lora_module_join_otaa (Thumb, 22 bytes, Stack size 0 bytes, lora_module_wrapper.o(i.tos_lora_module_join_otaa)) +

    [Called By]

    • >>   application_entry +
    + +

    tos_lora_module_recvcb_register (Thumb, 20 bytes, Stack size 0 bytes, lora_module_wrapper.o(i.tos_lora_module_recvcb_register)) +

    [Called By]

    • >>   application_entry +
    + +

    tos_lora_module_register (Thumb, 20 bytes, Stack size 0 bytes, lora_module_wrapper.o(i.tos_lora_module_register)) +

    [Called By]

    • >>   rhf76_lora_init +
    + +

    tos_lora_module_send (Thumb, 22 bytes, Stack size 0 bytes, lora_module_wrapper.o(i.tos_lora_module_send)) +

    [Called By]

    • >>   application_entry +
    + +

    tos_lora_module_send_unconfirmed (Thumb, 22 bytes, Stack size 0 bytes, lora_module_wrapper.o(i.tos_lora_module_send_unconfirmed)) +

    [Called By]

    • >>   application_entry +
    + +

    tos_millisec2tick (Thumb, 22 bytes, Stack size 8 bytes, tos_time.o(i.tos_millisec2tick)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = tos_millisec2tick ⇒ __aeabi_uldivmod ⇒ __aeabi_llsr +
    +
    [Calls]
    • >>   __ARM_common_ll_muluu +
    • >>   __aeabi_uldivmod +
    +
    [Called By]
    • >>   tos_at_cmd_exec +
    • >>   at_delay_ms +
    + +

    tos_mmheap_alloc (Thumb, 26 bytes, Stack size 8 bytes, tos_mmheap.o(i.tos_mmheap_alloc)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = tos_mmheap_alloc ⇒ blk_prepare_used ⇒ blk_insert ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   blk_prepare_used +
    • >>   blk_locate_free +
    • >>   adjust_request_size +
    +
    [Called By]
    • >>   tos_mmheap_calloc +
    • >>   tos_at_init +
    + +

    tos_mmheap_calloc (Thumb, 26 bytes, Stack size 16 bytes, tos_mmheap.o(i.tos_mmheap_calloc)) +

    [Stack]

    • Max Depth = 88
    • Call Chain = tos_mmheap_calloc ⇒ tos_mmheap_alloc ⇒ blk_prepare_used ⇒ blk_insert ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   tos_mmheap_alloc +
    • >>   __aeabi_memclr +
    +
    [Called By]
    • >>   rhf76_send_unconfirmed +
    • >>   rhf76_send +
    + +

    tos_mmheap_free (Thumb, 50 bytes, Stack size 16 bytes, tos_mmheap.o(i.tos_mmheap_free)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = tos_mmheap_free ⇒ blk_merge_next ⇒ blk_remove ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   blk_remove +
    • >>   blk_merge_next +
    • >>   blk_mark_as_free +
    • >>   blk_insert +
    • >>   blk_absorb +
    +
    [Called By]
    • >>   at_recv_cache_deinit +
    • >>   tos_at_init +
    • >>   rhf76_send_unconfirmed +
    • >>   rhf76_send +
    + +

    tos_mmheap_pool_add (Thumb, 132 bytes, Stack size 24 bytes, tos_mmheap.o(i.tos_mmheap_pool_add)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = tos_mmheap_pool_add ⇒ blk_insert ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   mmheap_pool_is_exist +
    • >>   blk_link_next +
    • >>   blk_insert +
    +
    [Called By]
    • >>   mmheap_init_with_pool +
    + +

    tos_mutex_create (Thumb, 52 bytes, Stack size 8 bytes, tos_mutex.o(i.tos_mutex_create)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = tos_mutex_create +
    +
    [Calls]
    • >>   pend_object_init +
    • >>   knl_is_inirq +
    +
    [Called By]
    • >>   tos_at_init +
    + +

    tos_mutex_destroy (Thumb, 72 bytes, Stack size 16 bytes, tos_mutex.o(i.tos_mutex_destroy)) +

    [Stack]

    • Max Depth = 88 + Unknown Stack Size +
    • Call Chain = tos_mutex_destroy ⇒ mutex_old_owner_release ⇒ tos_task_prio_change ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   pend_wakeup_all +
    • >>   pend_object_deinit +
    • >>   knl_sched +
    • >>   knl_is_inirq +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   mutex_old_owner_release +
    +
    [Called By]
    • >>   tos_at_init +
    + +

    tos_mutex_pend (Thumb, 14 bytes, Stack size 8 bytes, tos_mutex.o(i.tos_mutex_pend)) +

    [Stack]

    • Max Depth = 104 + Unknown Stack Size +
    • Call Chain = tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_mutex_pend_timed +
    +
    [Called By]
    • >>   at_uart_send +
    • >>   at_uart_getchar +
    • >>   at_cmd_do_exec +
    + +

    tos_mutex_pend_timed (Thumb, 202 bytes, Stack size 24 bytes, tos_mutex.o(i.tos_mutex_pend_timed)) +

    [Stack]

    • Max Depth = 96 + Unknown Stack Size +
    • Call Chain = tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   pend_task_block +
    • >>   pend_state2errno +
    • >>   knl_sched +
    • >>   knl_is_sched_locked +
    • >>   knl_is_inirq +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   tos_task_prio_change +
    • >>   knl_is_self +
    • >>   mutex_fresh_owner_mark +
    +
    [Called By]
    • >>   tos_mutex_pend +
    + +

    tos_mutex_post (Thumb, 162 bytes, Stack size 16 bytes, tos_mutex.o(i.tos_mutex_post)) +

    [Stack]

    • Max Depth = 88 + Unknown Stack Size +
    • Call Chain = tos_mutex_post ⇒ mutex_old_owner_release ⇒ tos_task_prio_change ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   knl_sched +
    • >>   knl_is_inirq +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   tos_task_prio_change +
    • >>   pend_wakeup_one +
    • >>   pend_is_nopending +
    • >>   pend_highest_pending_task_get +
    • >>   pend_highest_pending_prio_get +
    • >>   knl_is_self +
    • >>   mutex_old_owner_release +
    • >>   mutex_fresh_owner_mark +
    +
    [Called By]
    • >>   at_uart_send +
    • >>   at_uart_getchar +
    • >>   at_cmd_do_exec +
    + +

    tos_ring_q_create (Thumb, 36 bytes, Stack size 8 bytes, tos_ring_queue.o(i.tos_ring_q_create)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = tos_ring_q_create +
    +
    [Called By]
    • >>   tos_chr_fifo_create +
    + +

    tos_ring_q_dequeue (Thumb, 96 bytes, Stack size 24 bytes, tos_ring_queue.o(i.tos_ring_q_dequeue)) +

    [Stack]

    • Max Depth = 40 + Unknown Stack Size +
    • Call Chain = tos_ring_q_dequeue ⇒ tos_ring_q_is_empty ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   tos_ring_q_is_empty +
    • >>   __aeabi_memcpy +
    • >>   __aeabi_uidivmod +
    +
    [Called By]
    • >>   tos_chr_fifo_pop +
    + +

    tos_ring_q_destroy (Thumb, 40 bytes, Stack size 0 bytes, tos_ring_queue.o(i.tos_ring_q_destroy)) +

    [Called By]

    • >>   tos_chr_fifo_destroy +
    + +

    tos_ring_q_enqueue (Thumb, 98 bytes, Stack size 16 bytes, tos_ring_queue.o(i.tos_ring_q_enqueue)) +

    [Stack]

    • Max Depth = 32 + Unknown Stack Size +
    • Call Chain = tos_ring_q_enqueue ⇒ tos_ring_q_is_full ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   tos_ring_q_is_full +
    • >>   __aeabi_memcpy +
    • >>   __aeabi_uidivmod +
    +
    [Called By]
    • >>   tos_chr_fifo_push +
    + +

    tos_ring_q_is_empty (Thumb, 34 bytes, Stack size 8 bytes, tos_ring_queue.o(i.tos_ring_q_is_empty)) +

    [Stack]

    • Max Depth = 16 + Unknown Stack Size +
    • Call Chain = tos_ring_q_is_empty ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   tos_ring_q_dequeue +
    + +

    tos_ring_q_is_full (Thumb, 36 bytes, Stack size 8 bytes, tos_ring_queue.o(i.tos_ring_q_is_full)) +

    [Stack]

    • Max Depth = 16 + Unknown Stack Size +
    • Call Chain = tos_ring_q_is_full ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   tos_ring_q_enqueue +
    + +

    tos_sem_create (Thumb, 10 bytes, Stack size 8 bytes, tos_sem.o(i.tos_sem_create)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = tos_sem_create ⇒ tos_sem_create_max +
    +
    [Calls]
    • >>   tos_sem_create_max +
    +
    [Called By]
    • >>   tos_at_init +
    + +

    tos_sem_create_max (Thumb, 22 bytes, Stack size 8 bytes, tos_sem.o(i.tos_sem_create_max)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = tos_sem_create_max +
    +
    [Calls]
    • >>   pend_object_init +
    +
    [Called By]
    • >>   tos_sem_create +
    + +

    tos_sem_destroy (Thumb, 44 bytes, Stack size 16 bytes, tos_sem.o(i.tos_sem_destroy)) +

    [Stack]

    • Max Depth = 80 + Unknown Stack Size +
    • Call Chain = tos_sem_destroy ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   pend_wakeup_all +
    • >>   pend_object_deinit +
    • >>   knl_sched +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   tos_at_init +
    + +

    tos_sem_pend (Thumb, 130 bytes, Stack size 24 bytes, tos_sem.o(i.tos_sem_pend)) +

    [Stack]

    • Max Depth = 96 + Unknown Stack Size +
    • Call Chain = tos_sem_pend ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   pend_task_block +
    • >>   pend_state2errno +
    • >>   knl_sched +
    • >>   knl_is_sched_locked +
    • >>   knl_is_inirq +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   at_uart_getchar +
    + +

    tos_sem_post (Thumb, 10 bytes, Stack size 8 bytes, tos_sem.o(i.tos_sem_post)) +

    [Stack]

    • Max Depth = 96 + Unknown Stack Size +
    • Call Chain = tos_sem_post ⇒ sem_do_post ⇒ pend_wakeup ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   sem_do_post +
    +
    [Called By]
    • >>   tos_at_uart_input_byte +
    • >>   at_parser +
    + +

    tos_systick_get (Thumb, 20 bytes, Stack size 16 bytes, tos_time.o(i.tos_systick_get)) +

    [Stack]

    • Max Depth = 24 + Unknown Stack Size +
    • Call Chain = tos_systick_get ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   at_delay +
    + +

    tos_task_create (Thumb, 204 bytes, Stack size 40 bytes, tos_task.o(i.tos_task_create)) +

    [Stack]

    • Max Depth = 64 + Unknown Stack Size +
    • Call Chain = tos_task_create ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   tos_knl_is_running +
    • >>   knl_sched +
    • >>   knl_is_inirq +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   cpu_task_stk_init +
    • >>   task_reset +
    • >>   readyqueue_add_tail +
    • >>   knl_is_idle +
    • >>   strncpy +
    +
    [Called By]
    • >>   osThreadCreate +
    • >>   knl_idle_init +
    • >>   tos_at_init +
    + +

    tos_task_delay (Thumb, 94 bytes, Stack size 16 bytes, tos_task.o(i.tos_task_delay)) +

    [Stack]

    • Max Depth = 64 + Unknown Stack Size +
    • Call Chain = tos_task_delay ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   knl_sched +
    • >>   knl_is_sched_locked +
    • >>   knl_is_inirq +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   tos_task_yield +
    • >>   tick_list_add +
    • >>   readyqueue_remove +
    +
    [Called By]
    • >>   tos_at_cmd_exec +
    • >>   application_entry +
    + +

    tos_task_destroy (Thumb, 58 bytes, Stack size 8 bytes, tos_task.o(i.tos_task_destroy)) +

    [Stack]

    • Max Depth = 104 + Unknown Stack Size +
    • Call Chain = tos_task_destroy ⇒ task_do_destroy ⇒ mutex_release ⇒ mutex_old_owner_release ⇒ tos_task_prio_change ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   knl_is_sched_locked +
    • >>   knl_is_inirq +
    • >>   task_do_destroy +
    • >>   knl_is_self +
    +
    [Called By]
    • >>   task_exit +
    • >>   tos_at_init +
    + +

    tos_task_prio_change (Thumb, 174 bytes, Stack size 32 bytes, tos_task.o(i.tos_task_prio_change)) +

    [Stack]

    • Max Depth = 56 + Unknown Stack Size +
    • Call Chain = tos_task_prio_change ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   knl_sched +
    • >>   knl_is_inirq +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   readyqueue_add_tail +
    • >>   readyqueue_add_head +
    • >>   readyqueue_remove +
    • >>   pend_list_adjust +
    • >>   pend_highest_pending_prio_get +
    • >>   knl_is_self +
    +
    [Called By]
    • >>   tos_mutex_post +
    • >>   tos_mutex_pend_timed +
    • >>   mutex_old_owner_release +
    + +

    tos_task_yield (Thumb, 42 bytes, Stack size 16 bytes, tos_task.o(i.tos_task_yield)) +

    [Stack]

    • Max Depth = 40 + Unknown Stack Size +
    • Call Chain = tos_task_yield ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   knl_sched +
    • >>   knl_is_inirq +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   readyqueue_add_tail +
    • >>   readyqueue_remove +
    +
    [Called By]
    • >>   tos_task_delay +
    + +

    tos_tick_handler (Thumb, 36 bytes, Stack size 8 bytes, tos_tick.o(i.tos_tick_handler)) +

    [Stack]

    • Max Depth = 80 + Unknown Stack Size +
    • Call Chain = tos_tick_handler ⇒ tick_update ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_knl_is_running +
    • >>   robin_sched +
    • >>   timer_update +
    • >>   tick_update +
    +
    [Called By]
    • >>   SysTick_Handler +
    + +

    write_config_to_Flash (Thumb, 112 bytes, Stack size 56 bytes, lora_demo.o(i.write_config_to_Flash)) +

    [Stack]

    • Max Depth = 104
    • Call Chain = write_config_to_Flash ⇒ HAL_FLASH_Program ⇒ FLASH_WaitForLastOperation ⇒ FLASH_SetErrorCode +
    +
    [Calls]
    • >>   HAL_FLASH_Unlock +
    • >>   HAL_FLASH_Program +
    • >>   HAL_FLASH_Lock +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   recv_callback +
    +

    +

    +Local Symbols +

    +

    HTS221_Start (Thumb, 60 bytes, Stack size 32 bytes, hts221.o(i.HTS221_Start)) +

    [Stack]

    • Max Depth = 152
    • Call Chain = HTS221_Start ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   HAL_I2C_Mem_Write +
    • >>   HAL_I2C_Mem_Read +
    +
    [Called By]
    • >>   HTS221_Get_Temperature +
    • >>   HTS221_Get_Humidity +
    + +

    UART_DMAAbortOnError (Thumb, 20 bytes, Stack size 8 bytes, stm32l0xx_hal_uart.o(i.UART_DMAAbortOnError)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = UART_DMAAbortOnError +
    +
    [Calls]
    • >>   HAL_UART_ErrorCallback +
    +
    [Address Reference Count : 1]
    • stm32l0xx_hal_uart.o(i.HAL_UART_IRQHandler) +
    +

    UART_EndRxTransfer (Thumb, 30 bytes, Stack size 0 bytes, stm32l0xx_hal_uart.o(i.UART_EndRxTransfer)) +

    [Called By]

    • >>   HAL_UART_IRQHandler +
    + +

    UART_Receive_IT (Thumb, 126 bytes, Stack size 16 bytes, stm32l0xx_hal_uart.o(i.UART_Receive_IT)) +

    [Stack]

    • Max Depth = 128 + Unknown Stack Size +
    • Call Chain = UART_Receive_IT ⇒ HAL_UART_RxCpltCallback ⇒ tos_at_uart_input_byte ⇒ tos_sem_post ⇒ sem_do_post ⇒ pend_wakeup ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   HAL_UART_RxCpltCallback +
    +
    [Called By]
    • >>   HAL_UART_IRQHandler +
    + +

    UART_Transmit_IT (Thumb, 102 bytes, Stack size 0 bytes, stm32l0xx_hal_uart.o(i.UART_Transmit_IT)) +

    [Called By]

    • >>   HAL_UART_IRQHandler +
    + +

    I2C_Flush_TXDR (Thumb, 34 bytes, Stack size 0 bytes, stm32l0xx_hal_i2c.o(i.I2C_Flush_TXDR)) +

    [Called By]

    • >>   I2C_IsAcknowledgeFailed +
    + +

    I2C_IsAcknowledgeFailed (Thumb, 110 bytes, Stack size 32 bytes, stm32l0xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed)) +

    [Stack]

    • Max Depth = 32
    • Call Chain = I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   I2C_Flush_TXDR +
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   I2C_WaitOnTXISFlagUntilTimeout +
    • >>   I2C_WaitOnSTOPFlagUntilTimeout +
    + +

    I2C_RequestMemoryRead (Thumb, 104 bytes, Stack size 24 bytes, stm32l0xx_hal_i2c.o(i.I2C_RequestMemoryRead)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = I2C_RequestMemoryRead ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   I2C_WaitOnTXISFlagUntilTimeout +
    • >>   I2C_WaitOnFlagUntilTimeout +
    • >>   I2C_TransferConfig +
    +
    [Called By]
    • >>   HAL_I2C_Mem_Read +
    + +

    I2C_RequestMemoryWrite (Thumb, 104 bytes, Stack size 24 bytes, stm32l0xx_hal_i2c.o(i.I2C_RequestMemoryWrite)) +

    [Stack]

    • Max Depth = 72
    • Call Chain = I2C_RequestMemoryWrite ⇒ I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   I2C_WaitOnTXISFlagUntilTimeout +
    • >>   I2C_WaitOnFlagUntilTimeout +
    • >>   I2C_TransferConfig +
    +
    [Called By]
    • >>   HAL_I2C_Mem_Write +
    + +

    I2C_TransferConfig (Thumb, 34 bytes, Stack size 20 bytes, stm32l0xx_hal_i2c.o(i.I2C_TransferConfig)) +

    [Stack]

    • Max Depth = 20
    • Call Chain = I2C_TransferConfig +
    +
    [Called By]
    • >>   HAL_I2C_Mem_Write +
    • >>   HAL_I2C_Mem_Read +
    • >>   I2C_RequestMemoryWrite +
    • >>   I2C_RequestMemoryRead +
    + +

    I2C_WaitOnFlagUntilTimeout (Thumb, 72 bytes, Stack size 24 bytes, stm32l0xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = I2C_WaitOnFlagUntilTimeout +
    +
    [Calls]
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   HAL_I2C_Mem_Write +
    • >>   HAL_I2C_Mem_Read +
    • >>   I2C_RequestMemoryWrite +
    • >>   I2C_RequestMemoryRead +
    + +

    I2C_WaitOnSTOPFlagUntilTimeout (Thumb, 78 bytes, Stack size 16 bytes, stm32l0xx_hal_i2c.o(i.I2C_WaitOnSTOPFlagUntilTimeout)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = I2C_WaitOnSTOPFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   I2C_IsAcknowledgeFailed +
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   HAL_I2C_Mem_Write +
    • >>   HAL_I2C_Mem_Read +
    + +

    I2C_WaitOnTXISFlagUntilTimeout (Thumb, 82 bytes, Stack size 16 bytes, stm32l0xx_hal_i2c.o(i.I2C_WaitOnTXISFlagUntilTimeout)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = I2C_WaitOnTXISFlagUntilTimeout ⇒ I2C_IsAcknowledgeFailed +
    +
    [Calls]
    • >>   I2C_IsAcknowledgeFailed +
    • >>   HAL_GetTick +
    +
    [Called By]
    • >>   HAL_I2C_Mem_Write +
    • >>   I2C_RequestMemoryWrite +
    • >>   I2C_RequestMemoryRead +
    + +

    RCC_SetFlashLatencyFromMSIRange (Thumb, 94 bytes, Stack size 16 bytes, stm32l0xx_hal_rcc.o(i.RCC_SetFlashLatencyFromMSIRange)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = RCC_SetFlashLatencyFromMSIRange +
    +
    [Called By]
    • >>   HAL_RCC_OscConfig +
    + +

    FLASH_SetErrorCode (Thumb, 134 bytes, Stack size 8 bytes, stm32l0xx_hal_flash.o(i.FLASH_SetErrorCode)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = FLASH_SetErrorCode +
    +
    [Called By]
    • >>   FLASH_WaitForLastOperation +
    + +

    __NVIC_SetPriority (Thumb, 60 bytes, Stack size 0 bytes, stm32l0xx_hal_cortex.o(i.__NVIC_SetPriority)) +

    [Called By]

    • >>   HAL_NVIC_SetPriority +
    • >>   HAL_SYSTICK_Config +
    + +

    __NVIC_SetPriority (Thumb, 60 bytes, Stack size 0 bytes, port_c.o(i.__NVIC_SetPriority)) +

    [Called By]

    • >>   port_systick_priority_set +
    • >>   port_systick_config +
    + +

    __ffs (Thumb, 16 bytes, Stack size 8 bytes, tos_mmheap.o(i.__ffs)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = __ffs +
    +
    [Calls]
    • >>   generic_fls +
    +
    [Called By]
    • >>   blk_locate_free +
    + +

    __fls (Thumb, 10 bytes, Stack size 8 bytes, tos_mmheap.o(i.__fls)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = __fls +
    +
    [Calls]
    • >>   generic_fls +
    +
    [Called By]
    • >>   mapping_insert +
    • >>   blk_locate_free +
    + +

    adjust_request_size (Thumb, 32 bytes, Stack size 0 bytes, tos_mmheap.o(i.adjust_request_size)) +

    [Called By]

    • >>   tos_mmheap_alloc +
    + +

    blk_absorb (Thumb, 28 bytes, Stack size 8 bytes, tos_mmheap.o(i.blk_absorb)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = blk_absorb ⇒ blk_link_next +
    +
    [Calls]
    • >>   blk_link_next +
    +
    [Called By]
    • >>   blk_merge_next +
    • >>   tos_mmheap_free +
    + +

    blk_can_split (Thumb, 20 bytes, Stack size 0 bytes, tos_mmheap.o(i.blk_can_split)) +

    [Called By]

    • >>   blk_prepare_used +
    + +

    blk_insert (Thumb, 74 bytes, Stack size 24 bytes, tos_mmheap.o(i.blk_insert)) +

    [Stack]

    • Max Depth = 48
    • Call Chain = blk_insert ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   mapping_insert +
    +
    [Called By]
    • >>   blk_prepare_used +
    • >>   tos_mmheap_pool_add +
    • >>   tos_mmheap_free +
    + +

    blk_link_next (Thumb, 12 bytes, Stack size 8 bytes, tos_mmheap.o(i.blk_link_next)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = blk_link_next +
    +
    [Calls]
    • >>   blk_next +
    +
    [Called By]
    • >>   blk_prepare_used +
    • >>   blk_mark_as_free +
    • >>   blk_absorb +
    • >>   tos_mmheap_pool_add +
    + +

    blk_locate_free (Thumb, 136 bytes, Stack size 32 bytes, tos_mmheap.o(i.blk_locate_free)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = blk_locate_free ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   remove_free_block +
    • >>   mapping_insert +
    • >>   __fls +
    • >>   __ffs +
    +
    [Called By]
    • >>   tos_mmheap_alloc +
    + +

    blk_mark_as_free (Thumb, 26 bytes, Stack size 8 bytes, tos_mmheap.o(i.blk_mark_as_free)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = blk_mark_as_free ⇒ blk_link_next +
    +
    [Calls]
    • >>   blk_link_next +
    +
    [Called By]
    • >>   blk_split +
    • >>   tos_mmheap_free +
    + +

    blk_mark_as_used (Thumb, 26 bytes, Stack size 8 bytes, tos_mmheap.o(i.blk_mark_as_used)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = blk_mark_as_used +
    +
    [Calls]
    • >>   blk_next +
    +
    [Called By]
    • >>   blk_prepare_used +
    + +

    blk_merge_next (Thumb, 36 bytes, Stack size 16 bytes, tos_mmheap.o(i.blk_merge_next)) +

    [Stack]

    • Max Depth = 56
    • Call Chain = blk_merge_next ⇒ blk_remove ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   blk_remove +
    • >>   blk_next +
    • >>   blk_absorb +
    +
    [Called By]
    • >>   tos_mmheap_free +
    + +

    blk_next (Thumb, 16 bytes, Stack size 0 bytes, tos_mmheap.o(i.blk_next)) +

    [Called By]

    • >>   blk_merge_next +
    • >>   blk_mark_as_used +
    • >>   blk_link_next +
    + +

    blk_prepare_used (Thumb, 62 bytes, Stack size 16 bytes, tos_mmheap.o(i.blk_prepare_used)) +

    [Stack]

    • Max Depth = 64
    • Call Chain = blk_prepare_used ⇒ blk_insert ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   blk_split +
    • >>   blk_mark_as_used +
    • >>   blk_link_next +
    • >>   blk_insert +
    • >>   blk_can_split +
    +
    [Called By]
    • >>   tos_mmheap_alloc +
    + +

    blk_remove (Thumb, 30 bytes, Stack size 16 bytes, tos_mmheap.o(i.blk_remove)) +

    [Stack]

    • Max Depth = 40
    • Call Chain = blk_remove ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   remove_free_block +
    • >>   mapping_insert +
    +
    [Called By]
    • >>   blk_merge_next +
    • >>   tos_mmheap_free +
    + +

    blk_split (Thumb, 50 bytes, Stack size 8 bytes, tos_mmheap.o(i.blk_split)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = blk_split ⇒ blk_mark_as_free ⇒ blk_link_next +
    +
    [Calls]
    • >>   blk_mark_as_free +
    +
    [Called By]
    • >>   blk_prepare_used +
    + +

    generic_fls (Thumb, 48 bytes, Stack size 0 bytes, tos_mmheap.o(i.generic_fls)) +

    [Called By]

    • >>   __fls +
    • >>   __ffs +
    + +

    mapping_insert (Thumb, 44 bytes, Stack size 16 bytes, tos_mmheap.o(i.mapping_insert)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   __fls +
    +
    [Called By]
    • >>   blk_remove +
    • >>   blk_locate_free +
    • >>   blk_insert +
    + +

    mmheap_ctl_init (Thumb, 68 bytes, Stack size 16 bytes, tos_mmheap.o(i.mmheap_ctl_init)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = mmheap_ctl_init +
    +
    [Called By]
    • >>   mmheap_init_with_pool +
    + +

    mmheap_pool_is_exist (Thumb, 34 bytes, Stack size 8 bytes, tos_mmheap.o(i.mmheap_pool_is_exist)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = mmheap_pool_is_exist +
    +
    [Called By]
    • >>   tos_mmheap_pool_add +
    + +

    remove_free_block (Thumb, 66 bytes, Stack size 16 bytes, tos_mmheap.o(i.remove_free_block)) +

    [Stack]

    • Max Depth = 16
    • Call Chain = remove_free_block +
    +
    [Called By]
    • >>   blk_remove +
    • >>   blk_locate_free +
    + +

    mutex_fresh_owner_mark (Thumb, 28 bytes, Stack size 0 bytes, tos_mutex.o(i.mutex_fresh_owner_mark)) +

    [Called By]

    • >>   tos_mutex_post +
    • >>   tos_mutex_pend_timed +
    + +

    mutex_old_owner_release (Thumb, 58 bytes, Stack size 16 bytes, tos_mutex.o(i.mutex_old_owner_release)) +

    [Stack]

    • Max Depth = 72 + Unknown Stack Size +
    • Call Chain = mutex_old_owner_release ⇒ tos_task_prio_change ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   tos_task_prio_change +
    +
    [Called By]
    • >>   tos_mutex_post +
    • >>   tos_mutex_destroy +
    • >>   mutex_release +
    + +

    pend_list_add (Thumb, 60 bytes, Stack size 12 bytes, tos_pend.o(i.pend_list_add)) +

    [Stack]

    • Max Depth = 12
    • Call Chain = pend_list_add +
    +
    [Called By]
    • >>   pend_task_block +
    • >>   pend_list_adjust +
    + +

    readyqueue_prio_mark (Thumb, 42 bytes, Stack size 8 bytes, tos_sched.o(i.readyqueue_prio_mark)) +

    [Stack]

    • Max Depth = 8
    • Call Chain = readyqueue_prio_mark +
    +
    [Called By]
    • >>   readyqueue_add_tail +
    • >>   readyqueue_add_head +
    + +

    sem_do_post (Thumb, 86 bytes, Stack size 16 bytes, tos_sem.o(i.sem_do_post)) +

    [Stack]

    • Max Depth = 88 + Unknown Stack Size +
    • Call Chain = sem_do_post ⇒ pend_wakeup ⇒ pend_wakeup_all ⇒ pend_task_wakeup ⇒ tick_list_remove ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   knl_sched +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   pend_wakeup +
    • >>   pend_is_nopending +
    +
    [Called By]
    • >>   tos_sem_post +
    + +

    knl_idle_entry (Thumb, 2 bytes, Stack size 0 bytes, tos_sys.o(i.knl_idle_entry)) +

    [Calls]

    • >>   knl_idle_entry +
    +
    [Called By]
    • >>   knl_idle_entry +
    +
    [Address Reference Count : 1]
    • tos_sys.o(i.knl_idle_init) +
    +

    task_do_destroy (Thumb, 126 bytes, Stack size 16 bytes, tos_task.o(i.task_do_destroy)) +

    [Stack]

    • Max Depth = 96 + Unknown Stack Size +
    • Call Chain = task_do_destroy ⇒ mutex_release ⇒ mutex_old_owner_release ⇒ tos_task_prio_change ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   knl_sched +
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    • >>   task_reset +
    • >>   knl_is_idle +
    • >>   tick_list_remove +
    • >>   readyqueue_remove +
    • >>   pend_list_remove +
    • >>   mutex_release +
    +
    [Called By]
    • >>   tos_task_destroy +
    + +

    task_exit (Thumb, 10 bytes, Stack size 8 bytes, tos_task.o(i.task_exit)) +

    [Stack]

    • Max Depth = 112 + Unknown Stack Size +
    • Call Chain = task_exit ⇒ tos_task_destroy ⇒ task_do_destroy ⇒ mutex_release ⇒ mutex_old_owner_release ⇒ tos_task_prio_change ⇒ readyqueue_add_tail ⇒ readyqueue_prio_mark +
    +
    [Calls]
    • >>   tos_task_destroy +
    +
    [Address Reference Count : 1]
    • tos_task.o(i.tos_task_create) +
    +

    task_reset (Thumb, 42 bytes, Stack size 0 bytes, tos_task.o(i.task_reset)) +

    [Called By]

    • >>   task_do_destroy +
    • >>   tos_task_create +
    + +

    tick_task_place (Thumb, 154 bytes, Stack size 32 bytes, tos_tick.o(i.tick_task_place)) +

    [Stack]

    • Max Depth = 40 + Unknown Stack Size +
    • Call Chain = tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   tick_list_add +
    + +

    tos_list_empty (Thumb, 14 bytes, Stack size 0 bytes, tos_tick.o(i.tos_list_empty)) +

    [Called By]

    • >>   tick_list_remove +
    + +

    timer_place (Thumb, 90 bytes, Stack size 24 bytes, tos_timer.o(i.timer_place)) +

    [Stack]

    • Max Depth = 32 + Unknown Stack Size +
    • Call Chain = timer_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   timer_update +
    + +

    timer_takeoff (Thumb, 64 bytes, Stack size 16 bytes, tos_timer.o(i.timer_takeoff)) +

    [Stack]

    • Max Depth = 24 + Unknown Stack Size +
    • Call Chain = timer_takeoff ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_cpu_cpsr_save +
    • >>   tos_cpu_cpsr_restore +
    +
    [Called By]
    • >>   timer_update +
    + +

    errno_knl2cmsis (Thumb, 8 bytes, Stack size 0 bytes, cmsis_os.o(i.errno_knl2cmsis)) +

    [Called By]

    • >>   osKernelStart +
    • >>   osKernelInitialize +
    + +

    priority_cmsis2knl (Thumb, 16 bytes, Stack size 0 bytes, cmsis_os.o(i.priority_cmsis2knl)) +

    [Called By]

    • >>   osThreadCreate +
    + +

    __ascii2hex (Thumb, 42 bytes, Stack size 0 bytes, rhf76.o(i.__ascii2hex)) +

    [Called By]

    • >>   rhf76_incoming_data_process +
    + +

    __hex2str (Thumb, 60 bytes, Stack size 24 bytes, rhf76.o(i.__hex2str)) +

    [Stack]

    • Max Depth = 24
    • Call Chain = __hex2str +
    +
    [Calls]
    • >>   __num2hex +
    +
    [Called By]
    • >>   rhf76_send_unconfirmed +
    • >>   rhf76_send +
    + +

    __num2hex (Thumb, 26 bytes, Stack size 0 bytes, rhf76.o(i.__num2hex)) +

    [Called By]

    • >>   __hex2str +
    + +

    rhf76_close (Thumb, 4 bytes, Stack size 0 bytes, rhf76.o(i.rhf76_close)) +
    [Address Reference Count : 1]

    • rhf76.o(.data) +
    +

    rhf76_incoming_data_process (Thumb, 146 bytes, Stack size 32 bytes, rhf76.o(i.rhf76_incoming_data_process)) +

    [Stack]

    • Max Depth = 176 + Unknown Stack Size +
    • Call Chain = rhf76_incoming_data_process ⇒ tos_at_uart_read ⇒ at_uart_getchar ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_uart_read +
    • >>   __ascii2hex +
    • >>   __2printf +
    • >>   strlen +
    • >>   __aeabi_memclr +
    +
    [Address Reference Count : 1]
    • rhf76.o(.data) +
    +

    rhf76_init (Thumb, 324 bytes, Stack size 64 bytes, rhf76.o(i.rhf76_init)) +

    [Stack]

    • Max Depth = 336 + Unknown Stack Size +
    • Call Chain = rhf76_init ⇒ rhf76_set_repeat ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    • >>   at_delay_ms +
    • >>   rhf76_set_repeat +
    • >>   rhf76_set_data_rate +
    • >>   rhf76_set_class +
    • >>   __2printf +
    +
    [Address Reference Count : 1]
    • rhf76.o(.data) +
    +

    rhf76_send (Thumb, 110 bytes, Stack size 168 bytes, rhf76.o(i.rhf76_send)) +

    [Stack]

    • Max Depth = 352 + Unknown Stack Size +
    • Call Chain = rhf76_send ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_mmheap_free +
    • >>   tos_mmheap_calloc +
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    • >>   __hex2str +
    • >>   __2snprintf +
    • >>   __aeabi_memclr4 +
    +
    [Address Reference Count : 1]
    • rhf76.o(.data) +
    +

    rhf76_send_unconfirmed (Thumb, 110 bytes, Stack size 168 bytes, rhf76.o(i.rhf76_send_unconfirmed)) +

    [Stack]

    • Max Depth = 352 + Unknown Stack Size +
    • Call Chain = rhf76_send_unconfirmed ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_mmheap_free +
    • >>   tos_mmheap_calloc +
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    • >>   __hex2str +
    • >>   __2snprintf +
    • >>   __aeabi_memclr4 +
    +
    [Address Reference Count : 1]
    • rhf76.o(.data) +
    +

    rhf76_set_class (Thumb, 94 bytes, Stack size 64 bytes, rhf76.o(i.rhf76_set_class)) +

    [Stack]

    • Max Depth = 248 + Unknown Stack Size +
    • Call Chain = rhf76_set_class ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    +
    [Called By]
    • >>   rhf76_init +
    + +

    rhf76_set_id (Thumb, 116 bytes, Stack size 128 bytes, rhf76.o(i.rhf76_set_id)) +

    [Stack]

    • Max Depth = 312 + Unknown Stack Size +
    • Call Chain = rhf76_set_id ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    • >>   __2snprintf +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   rhf76_join_otaa +
    • >>   rhf76_join_abp +
    + +

    rhf76_set_key (Thumb, 116 bytes, Stack size 128 bytes, rhf76.o(i.rhf76_set_key)) +

    [Stack]

    • Max Depth = 312 + Unknown Stack Size +
    • Call Chain = rhf76_set_key ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    • >>   __2snprintf +
    • >>   __aeabi_memclr4 +
    +
    [Called By]
    • >>   rhf76_join_otaa +
    • >>   rhf76_join_abp +
    + +

    rhf76_set_mode (Thumb, 82 bytes, Stack size 64 bytes, rhf76.o(i.rhf76_set_mode)) +

    [Stack]

    • Max Depth = 248 + Unknown Stack Size +
    • Call Chain = rhf76_set_mode ⇒ tos_at_cmd_exec ⇒ at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_at_echo_create +
    • >>   tos_at_cmd_exec +
    +
    [Called By]
    • >>   rhf76_join_otaa +
    • >>   rhf76_join_abp +
    + +

    at_cmd_do_exec (Thumb, 72 bytes, Stack size 24 bytes, tos_at.o(i.at_cmd_do_exec)) +

    [Stack]

    • Max Depth = 152 + Unknown Stack Size +
    • Call Chain = at_cmd_do_exec ⇒ at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_mutex_post +
    • >>   tos_mutex_pend +
    • >>   at_uart_send +
    • >>   vsnprintf +
    • >>   __2printf +
    +
    [Called By]
    • >>   tos_at_cmd_exec +
    + +

    at_echo_attach (Thumb, 14 bytes, Stack size 0 bytes, tos_at.o(i.at_echo_attach)) +

    [Called By]

    • >>   tos_at_cmd_exec +
    + +

    at_get_event (Thumb, 66 bytes, Stack size 32 bytes, tos_at.o(i.at_get_event)) +

    [Stack]

    • Max Depth = 44
    • Call Chain = at_get_event ⇒ strncmp +
    +
    [Calls]
    • >>   strncmp +
    • >>   strlen +
    +
    [Called By]
    • >>   at_uart_line_parse +
    • >>   at_parser +
    + +

    at_parser (Thumb, 190 bytes, Stack size 0 bytes, tos_at.o(i.at_parser)) +

    [Stack]

    • Max Depth = 168 + Unknown Stack Size +
    • Call Chain = at_parser ⇒ at_uart_line_parse ⇒ at_uart_getchar ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_sem_post +
    • >>   at_uart_line_parse +
    • >>   at_get_event +
    • >>   __2printf +
    • >>   strstr +
    • >>   __aeabi_memcpy +
    +
    [Address Reference Count : 1]
    • tos_at.o(i.tos_at_init) +
    +

    at_recv_cache_deinit (Thumb, 24 bytes, Stack size 8 bytes, tos_at.o(i.at_recv_cache_deinit)) +

    [Stack]

    • Max Depth = 80
    • Call Chain = at_recv_cache_deinit ⇒ tos_mmheap_free ⇒ blk_merge_next ⇒ blk_remove ⇒ mapping_insert ⇒ __fls +
    +
    [Calls]
    • >>   tos_mmheap_free +
    +
    [Called By]
    • >>   tos_at_init +
    + +

    at_uart_getchar (Thumb, 78 bytes, Stack size 16 bytes, tos_at.o(i.at_uart_getchar)) +

    [Stack]

    • Max Depth = 120 + Unknown Stack Size +
    • Call Chain = at_uart_getchar ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_sem_pend +
    • >>   tos_mutex_post +
    • >>   tos_mutex_pend +
    • >>   tos_chr_fifo_pop +
    • >>   at_delay +
    +
    [Called By]
    • >>   at_uart_line_parse +
    • >>   tos_at_uart_read +
    + +

    at_uart_line_parse (Thumb, 216 bytes, Stack size 48 bytes, tos_at.o(i.at_uart_line_parse)) +

    [Stack]

    • Max Depth = 168 + Unknown Stack Size +
    • Call Chain = at_uart_line_parse ⇒ at_uart_getchar ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   at_uart_getchar +
    • >>   at_get_event +
    • >>   strncmp +
    • >>   strlen +
    • >>   strstr +
    • >>   __aeabi_memclr +
    +
    [Called By]
    • >>   at_parser +
    + +

    at_uart_send (Thumb, 42 bytes, Stack size 24 bytes, tos_at.o(i.at_uart_send)) +

    [Stack]

    • Max Depth = 128 + Unknown Stack Size +
    • Call Chain = at_uart_send ⇒ tos_mutex_pend ⇒ tos_mutex_pend_timed ⇒ pend_task_block ⇒ tick_list_add ⇒ tick_task_place ⇒ tos_cpu_cpsr_save +
    +
    [Calls]
    • >>   tos_mutex_post +
    • >>   tos_mutex_pend +
    • >>   tos_hal_uart_write +
    +
    [Called By]
    • >>   at_cmd_do_exec +
    + +

    _fp_digits (Thumb, 344 bytes, Stack size 64 bytes, printfa.o(i._fp_digits), UNUSED) +

    [Calls]

    • >>   __aeabi_dmul +
    • >>   __aeabi_ddiv +
    • >>   __aeabi_dadd +
    • >>   __aeabi_d2ulz +
    • >>   __aeabi_uldivmod +
    • >>   __aeabi_cdrcmple +
    +
    [Called By]
    • >>   _printf_core +
    + +

    _printf_core (Thumb, 1754 bytes, Stack size 128 bytes, printfa.o(i._printf_core), UNUSED) +

    [Calls]

    • >>   _printf_pre_padding +
    • >>   _printf_post_padding +
    • >>   _fp_digits +
    • >>   __aeabi_uldivmod +
    • >>   __aeabi_uidivmod +
    +
    [Called By]
    • >>   __0vsnprintf +
    • >>   __0snprintf +
    • >>   __0printf +
    + +

    _printf_post_padding (Thumb, 32 bytes, Stack size 24 bytes, printfa.o(i._printf_post_padding), UNUSED) +

    [Called By]

    • >>   _printf_core +
    + +

    _printf_pre_padding (Thumb, 44 bytes, Stack size 40 bytes, printfa.o(i._printf_pre_padding), UNUSED) +

    [Called By]

    • >>   _printf_core +
    + +

    _snputc (Thumb, 22 bytes, Stack size 0 bytes, printfa.o(i._snputc)) +
    [Address Reference Count : 2]

    • printfa.o(i.__0snprintf) +
    • printfa.o(i.__0vsnprintf) +

    +

    +Undefined Global Symbols +


    diff --git a/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.sct b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.sct new file mode 100644 index 00000000..2d15c6b4 --- /dev/null +++ b/board/NUCLEO_STM32L073RZ/KEIL/lorawan/TencentOS_tiny/TencentOS_tiny.sct @@ -0,0 +1,16 @@ +; ************************************************************* +; *** Scatter-Loading Description File generated by uVision *** +; ************************************************************* + +LR_IROM1 0x08000000 0x00030000 { ; load region size_region + ER_IROM1 0x08000000 0x00030000 { ; load address = execution address + *.o (RESET, +First) + *(InRoot$$Sections) + .ANY (+RO) + .ANY (+XO) + } + RW_IRAM1 0x20000000 0x00005000 { ; RW data + .ANY (+RW +ZI) + } +} + diff --git a/platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ex2.h b/platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ex2.h index 9641f2a8..fe9062be 100644 --- a/platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ex2.h +++ b/platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Inc/stm32l0xx_hal_flash_ex2.h @@ -40,4 +40,4 @@ HAL_StatusTypeDef HAL_FLASH_ReadHalfWord(uint32_t Address, uint16_t* Data); } #endif -#endif /* __STM32L0xx_HAL_FLASH_EX2_H */ \ No newline at end of file +#endif /* __STM32L0xx_HAL_FLASH_EX2_H */ diff --git a/platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex2.c b/platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex2.c index 2a341d3d..8c8a080b 100644 --- a/platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex2.c +++ b/platform/vendor_bsp/st/STM32L0xx_HAL_Driver/Src/stm32l0xx_hal_flash_ex2.c @@ -86,4 +86,4 @@ HAL_StatusTypeDef HAL_FLASH_ReadHalfWord(uint32_t Address, uint16_t* Data) *Data = *(__IO uint16_t*)Address; } return status; -} \ No newline at end of file +}