9 Commits

Author SHA1 Message Date
Вячеслав Штейбезандт
a01376255e Отправка Modbus. Промежуточный коммит 2026-06-08 11:42:22 +03:00
Вячеслав Штейбезандт
4da9640c3f Функция отправки сообщений
Пока только PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE
2026-06-01 15:20:13 +03:00
Вячеслав Штейбезандт
757d608ad4 Обновление стиля библиотеки 2026-06-01 15:19:18 +03:00
Вячеслав Штейбезандт
88af7cdfce Добавлена проверка на успешную инициализацию Register Callback для CAN и TIM. 2026-05-29 13:41:17 +03:00
Вячеслав Штейбезандт
8ffba3b9e0 Минорные изменения 2026-05-25 14:07:11 +03:00
Вячеслав Штейбезандт
7f116acf22 Add support for register callbacks 2026-03-31 11:52:59 +03:00
Вячеслав Штейбезандт
3cae8b7008 ProtoCan 2026-03-30 14:15:42 +03:00
Вячеслав Штейбезандт
c210396ee3 Блок счётчиков для ошибок CAN. 2026-03-18 15:48:34 +03:00
Вячеслав Штейбезандт
8a82aa4460 Обновление алгоритма приёма сообщений. Проверка буфера при приёме. 2026-03-18 15:47:25 +03:00
43 changed files with 6401 additions and 4636 deletions

41
Core/Inc/canerrorbox.h Normal file
View File

@@ -0,0 +1,41 @@
#ifndef _canerrorbox
#define _canerrorbox
#include "main.h"
#define CAN_ERROR_BOX_ENABLED 1
typedef struct{
struct canError{
unsigned long counter;
} EWG, EPV, BOF, STF, FOR, ACK,
BR, BD, CRC_ERROR, RXFOV0, RXFOV1,
TXALST0, TXTERR0, TXALST1, TXTERR1,
TXALST2, TXTERR2, TIMEOUT,
NOTINITIALIZED, NOTREADY,
NOTSTARTED, PARAM;
}CanErrorBox;
void CanErrorCallbackEWG();
void CanErrorCallbackEPV();
void CanErrorCallbackBOF();
void CanErrorCallbackSTF();
void CanErrorCallbackFOR();
void CanErrorCallbackACK();
void CanErrorCallbackBR();
void CanErrorCallbackBD();
void CanErrorCallbackCRC();
void CanErrorCallbackRXFOV0();
void CanErrorCallbackRXFOV1();
void CanErrorCallbackTXALST0();
void CanErrorCallbackTXTERR0();
void CanErrorCallbackTXALST1();
void CanErrorCallbackTXTERR1();
void CanErrorCallbackTXALST2();
void CanErrorCallbackTXTERR2();
void CanErrorCallbackTIMEOUT();
void CanErrorCallbackNOTINITIALIZED();
void CanErrorCallbackNOTREADY();
void CanErrorCallbackNOTSTARTED();
void CanErrorCallbackPARAM();
#endif

View File

@@ -31,7 +31,8 @@ extern "C" {
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "requester.h"
#include "protocan.h"
#include "canerrorbox.h"
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/

312
Core/Inc/protocan.h Normal file
View File

@@ -0,0 +1,312 @@
#ifndef _protocan
#define _protocan
#include "main.h"
#include "can.h"
#define _DEMO
#define ONLINE 1;
#define OFFLINE 0;
#define ID_MAIN_DEVICE 0x000
#define CURRENT_TYPE_DEVICE 0b001
#define CURRENT_ID_DEVICE 0b0010
#define PROTOCAN_RX_BUFFER_SIZE 128
#define SensorToModbusRegister(SensorType, SensorID) SensorType << 11 | SensorID
#define HighByteOfWord(WORD) (WORD>>8)&0xFF
#define LowByteOfWord(WORD) WORD&0xFF
/**
* @brief Статус инициализации протокола CAN.
*
* Это перечисление описывает возможные статусы после попытки инициализации.
*/
typedef enum
{
PROTOCAN_INIT_OK = 0x00U, /**< Инициализация прошла успешно. */
PROTOCAN_INIT_HCAN_ERROR = 0x01U, /**< Ошибка при инициализации модуля CAN. */
PROTOCAN_INIT_HRTC_ERROR = 0x02U, /**< Ошибка при инициализации модуля RTC. */
PROTOCAN_INIT_TIM_ERROR = 0x04U /**< Ошибка при инициализации таймера. */
} PROTOCAN_INIT_StatusTypeDef;
/**
* @brief Статус выполнения операции протокола CAN.
*
* Это перечисление описывает возможные результаты выполнения функций протокола.
*/
typedef enum
{
PROTOCAN_OK = 0x00U, /**< Операция прошла успешно. */
PROTOCAN_ERROR = 0x01U, /**< Обнаружена ошибка во время выполнения. */
PROTOCAN_BUSY = 0x02U, /**< Канал занят, выполнение невозможно в данный момент. */
PROTOCAN_TIMEOUT = 0x03U /**< Истек таймаут ожидания. */
} PROTOCAN_StatusTypeDef;
/**
* @brief Уровень приоритета CAN-сообщения.
*
* Это перечисление определяет важность и приоритет обработки сообщения.
*/
typedef enum {
PROTOCAN_PRIORITY_CRITICAL = 0, /**< Критический приоритет, рекомендуется обработка без задержек. */
PROTOCAN_PRIORITY_STANDARD = 1 /**< Стандартный приоритет, менее важный. */
} ProtoCanPriorityType;
/**
* @brief Маршрут CAN-сообщения.
*
* Это перечисление задает направление маршрута отправки сообщения.
*/
typedef enum {
PROTOCAN_ROUTE_FROM_PM = 0, /**< Сообщение отправляется от управляющего модуля (PM). */
PROTOCAN_ROUTE_FROM_DEVICE = 1 /**< Сообщение отправляется от устройства (Device). */
} ProtoCanRouteType;
/**
* @brief Типы сообщений CAN.
*
* Перечисление определяет различные типы сообщений, используемые в протоколе.
*/
typedef enum {
PROTOCAN_MSGTYPE_BROADCAST = 0b0000, /**< Широковещательное сообщение. */
PROTOCAN_MSGTYPE_DISCRETE = 0b0001, /**< Дискретное цифровое сообщение. */
PROTOCAN_MSGTYPE_ANALOG = 0b0010, /**< Аналоговое сообщение. */
PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE = 0b0011, /**< Сообщение общего адресного пространства. */
PROTOCAN_MSGTYPE_MODBUS_COIL = 0b0100, /**< Сообщение Modbus - Coil. */
PROTOCAN_MSGTYPE_MODBUS_DISCRETE = 0b0101, /**< Сообщение Modbus - Discrete. */
PROTOCAN_MSGTYPE_MODBUS_HOLDING = 0b0110, /**< Сообщение Modbus - Holding. */
PROTOCAN_MSGTYPE_MODBUS_INPUT = 0b0111, /**< Сообщение Modbus - Input. */
PROTOCAN_MSGTYPE_ERROR = 0b1000, /**< Сообщение об ошибке. */
PROTOCAN_MSGTYPE_PULSE = 0b1111, /**< Импульсное сообщение. */
}ProtoCanMsgType;
/**
* @brief Типы широковещательных сообщений CAN.
*
* Перечисление задает различные типы широковещательных команд, используемых в протоколе.
*/
typedef enum {
PROTOCAN_BROADCAST_STATUS = 0b000000000000, /**< Статус устройства. */
PROTOCAN_BROADCAST_ONOFF = 0b000000000001, /**< Включение/выключение устройства. */
PROTOCAN_BROADCAST_RESTARTDEVICE = 0b000000000010, /**< Перезагрузка устройства. */
PROTOCAN_BROADCAST_RTCSETUP = 0b000000000011, /**< Настройка RTC (часы реального времени). */
PROTOCAN_BROADCAST_END = 0b111111111111 /**< Конец диапазона широковещательных сообщений. */
}ProtoCanBroadcastType;
/**
* @brief Структура и представление широковещательного сообщения CAN.
*
* Объединение позволяет обращаться к данным сообщения либо как к отдельным полям, либо как к целому 16-битному значению.
*/
typedef union{
struct msgBody_Broadcast{
unsigned Body:4; /**< Поле для дополнительных данных или кода задачи (4 бита). */
ProtoCanBroadcastType Type:12; /**< Тип широковещательного сообщения (12 бит). */
} Fields; /**< Структура с разбивкой по полям. */
unsigned Body; /**< Общее 16-битное представление сообщения. */
} msgBodyBroadcastType;
/**
* @brief Типы дискретных сообщений CAN.
*
* Перечисление задает различные виды дискретных команд или событий.
*/
typedef enum {
PROTOCAN_DISCRETE_ACCIDENT = 0b0000, /**< Аварийное состояние. */
PROTOCAN_DISCRETE_WARNING = 0b0001, /**< Предупредительный сигнал. */
PROTOCAN_DISCRETE_CONTROL_SIGNALS = 0b0010, /**< Управляющие сигналы. */
PROTOCAN_DISCRETE_FLAGS = 0b0011, /**< Флаги состояния. */
PROTOCAN_DISCRETE_RESET = 0b0100, /**< Сброс устройства. */
PROTOCAN_DISCRETE_CHANGE_MODE = 0b0101, /**< Смена режима работы. */
PROTOCAN_DISCRETE_REQUEST_LIST_OF_PARAMETERS = 0b0110, /**< Запрос списка параметров. */
PROTOCAN_DISCRETE_END = 0b1111 /**< Конец диапазона дискретных сообщений. */
}ProtoCanDiscreteType;
/**
* @brief Структура и представление дискретного сообщения CAN.
*
* Объединение позволяет обращаться к данным сообщения как к отдельным полям или как к целому 16-битному значению.
*/
typedef union{
struct msgBody_Discrete{
unsigned Body:12; /**< Поле данных или кода (12 бит). */
ProtoCanDiscreteType Type:4; /**< Тип дискретного сообщения (4 бита). */
} Fields; /**< Структура с разбивкой по полям. */
unsigned Body; /**< Общее 16-битное представление сообщения. */
} msgBodyDiscreteType;
/**
* @brief Типы аналоговых сообщений CAN.
*
* Перечисление определяет различные типы аналоговых данных или команд.
*/
typedef enum {
PROTOCAN_ANALOG_UNIVERSAL = 0b0000, /**< Универсальный тип. */
PROTOCAN_ANALOG_SETTINGS = 0b0001, /**< Настройки. */
PROTOCAN_ANALOG_U = 0b0010, /**< Напряжение (U). */
PROTOCAN_ANALOG_I = 0b0011, /**< Ток (I). */
PROTOCAN_ANALOG_T = 0b0100, /**< Температура (T). */
PROTOCAN_ANALOG_END = 0b1111 /**< Конец диапазона типов. */
}ProtoCanAnalogType;
/**
* @brief Структура и представление аналогового сообщения CAN.
*
* Объединение позволяет обращаться к данным сообщения как к отдельным полям или как к целому 16-битному значению.
*/
typedef union{
struct msgBody_Analog{
unsigned SensorID:12; /**< Идентификатор датчика (12 бит). */
ProtoCanAnalogType Type:4; /**< Тип аналоговых данных (4 бита). */
} Fields; /**< Структура с разбивкой по полям. */
unsigned Body; /**< Общее 16-битное представление сообщения. */
}msgBodyAnalogType;
/**
* @brief Структура и представление сообщения Modbus CAN.
*
* Объединение позволяет обращаться к данным как к отдельным полям или как к целому 16-битному значению.
*/
typedef union{
struct msgBody_Modbus{
unsigned RegCount:4; /**< Количество регистров (4 бита). */
unsigned StrAdr:12; /**< Адрес строки или регистра (12 бит). */
} Fields; /**< Поля структуры сообщения Modbus. */
unsigned Body; /**< Общее 16-битное представление сообщения. */
} msgBodyModbusType;
/**
* @brief Структура и представление сообщения об ошибке CAN.
*
* Объединение позволяет обращаться к данным как к отдельным полям или как к целому 16-битному значению.
*/
typedef union{
struct msgBody_Error{
unsigned ErrorCode:8; /**< Код ошибки (8 бит). */
unsigned Info:8; /**< Дополнительная информация (8 бит). */
} Fields; /**< Поля ошибки. */
unsigned Body; /**< Общее 16-битное представление сообщения об ошибке. */
} msgBodyErrorType;
struct controlflags{
unsigned IsPulse:1;
unsigned IsRtrMode:1;
};
/**
* @brief Поля идентификатора протокола CAN.
*
* Объединение позволяет обращаться к различным полям идентификатора, а также как к 29-битному целому числу.
*/
typedef union{
struct protoCanIdFields{
unsigned MsgBody:16; /**< Поле сообщения (16 бит). */
ProtoCanMsgType MsgType:4; /**< Тип сообщения (4 бита). */
unsigned DeviceID:4; /**< Идентификатор устройства (4 бита). */
unsigned DeviceType:3; /**< Тип устройства (3 бита). */
ProtoCanRouteType Route:1; /**< Маршрут (1 бит). */
ProtoCanPriorityType Priority:1; /**< Приоритет (1 бит). */
} Fields; /**< Структура с разбивкой по полям. */
unsigned int BitAll:29; /**< Общее представление 29-битного идентификатора. */
} ProtoCanId_t;
/**
* @brief Структура для общего адресного пространства CAN.
*
* Используется для хранения данных о регистре и его содержимом.
*/
typedef struct{
struct ProtoCanCoreData{
uint16_t Type;
uint16_t Body;
uint8_t *Data;
unsigned DataCount;
} CoreData;
struct ProtoCanGeneralAddressSpaceData{
uint16_t RegStartAdr; /**< Начальный адрес регистров. */
uint16_t *Data; /**< Указатель на массив данных. */
unsigned RegCount; /**< Количество регистров. */
} GeneralAddressSpaceData;
struct ProtoCanModbusData{
uint16_t StrAdr;
uint16_t *Data;
unsigned RegCount:4;
} ModbusData;
struct ProtoCanErrorData{
uint16_t Info;
uint16_t Code;
} ErrorData;
} ProtoCanData_t;
/**
* @brief Структура данных устройства CAN.
*
* Включает статус, идентификатор, таймер последнего импульса и шаг последнего импульса.
*/
typedef struct{
unsigned Status:1; /**< Статус устройства (флаг). */
ProtoCanId_t Id; /**< Идентификатор CAN. */
unsigned TimeFromLastPulse; /**< Время с последнего импульса (мс). */
unsigned LastPulseStep; /**< Шаг последнего импульса. */
} ProtoCanDevice_t;
struct RXMsg{
struct INFO{
unsigned EXT:1;
unsigned RTR:1;
}info;
ProtoCanId_t eID;
uint16_t DLC;
uint8_t Data[8];
};
uint16_t AvailableCanRxMsg(void);
PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan,
RTC_HandleTypeDef *tmp_hrtc,
TIM_HandleTypeDef *tmp_tim);
void PROTOCAN_DEINIT(uint8_t stage);
void PROTOCAN_FILTERS(void);
void PROTOCAN_LOOP(void);
PROTOCAN_StatusTypeDef PROTOCAN_SEND(ProtoCanId_t id, ProtoCanData_t data);
void ProtoCanPulseCallback(TIM_HandleTypeDef *htim);
void ProtoCanRxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan);
PROTOCAN_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastOnOff(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef PROTOCAN_DiscreticProcessing(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteAccident(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteWarning(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteControlSignals(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteFlags(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteReset(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteChangeMode(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteRequestListOfParameters(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef PROTOCAN_AnalogProcessing(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUniversal(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogSettings(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUSens(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogISens(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogTSens(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToGeneralAddressSpace(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef CanRequestError(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef PROTOCAN_ModbusProcessing(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg);
PROTOCAN_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg);
void PROTOCAN_RTC_SYNC(uint8_t *data);
#endif

View File

@@ -1,343 +0,0 @@
#ifndef _requester
#define _requester
#include "main.h"
#include "can.h"
#include "rtc.h"
#include "tim.h"
#define _DEMO
#define ONLINE 1;
#define OFFLINE 0;
// TIM defines
#define TIM_REQUESTER_Prescaler 64000
//CAN Settings
#define _HCAN hcan
//CAN Speed
#define CAN_SPEED_PRSC_1000KB 2
#define CAN_SPEED_PRSC_500KB 4
#define CAN_SPEED_PRSC_250KB 8
#define CAN_SPEED_PRSC_125KB 16
#define CAN_SPEED_PRSC_50KB 40
#define CAN_CURRENT_SPEED CAN_SPEED_PRSC_250KB
//CAN Filter
#define ID_MAIN_DEVICE 0x000
#define CURRENT_TYPE_DEVICE 0b001
#define CURRENT_ID_DEVICE 0b0010
#define CAN_IDE_32 0b00000100 // Для 32-х битного масштаба
#define CAN_DATA_TYPE_FILTER 0x1F000000
#define CAN_DEVICE_ID_FILTER 0x000000FF
#define CAN_SENSOR_TYPE_FILTER 0x00F80000
#define CAN_SENSOR_ID_FILTER 0x0007FF00
typedef union{
struct bitfield{
unsigned bit0:1;
unsigned bit1:1;
unsigned bit2:1;
unsigned bit3:1;
unsigned bit4:1;
unsigned bit5:1;
unsigned bit6:1;
unsigned bit7:1;
}Bitfield;
char AllBit;
}Byte;
/**
* @brief HAL Status structures definition
*/
typedef enum
{
CRR_OK = 0x00U,
CRR_ERROR = 0x01U,
CRR_BUSY = 0x02U,
CRR_TIMEOUT = 0x03U
} CRR_Status;
_Bool IsLeapYear(uint8_t year);
#define COUNT_OF_MODBUS_SECTIONS 1
#define MODBUS_SECTION_MASK 0
#define MODBUS_SECTION_FILTER 1
#define SensorToModbusRegister(SensorType, SensorID) SensorType << 11 | SensorID
#define HighByteOfWord(WORD) (WORD>>8)&0xFF
#define LowByteOfWord(WORD) WORD&0xFF
//Priority level
#define PRIORITY_CRITICAL 0
#define PRIORITY_STANDARD 1
//Route mode
#define ROUTE_MASTER 1
#define ROUTE_SLAVE 0
//Data Types
#define DATA_TYPE_BROADCAST 0b0000
#define DATA_TYPE_DISCRETE 0b0001
#define DATA_TYPE_ANALOG 0b0010
#define DATA_TYPE_GENERAL_ADDRESS_SPACE 0b0011
#define DATA_TYPE_MODBUS_COIL 0b0100
#define DATA_TYPE_MODBUS_DISCRETE 0b0101
#define DATA_TYPE_MODBUS_HOLDING 0b0110
#define DATA_TYPE_MODBUS_INPUT 0b0111
#define DATA_TYPE_ERROR 0b1000
#define DATA_TYPE_PULSE 0b1111
//Sensor Types for DATA_TYPE_BROADCAST
#define SENSOR_TYPE_BROADCAST_STATUS 0b000000000000
#define SENSOR_TYPE_BROADCAST_ONOFF 0b000000000001
#define SENSOR_TYPE_BROADCAST_RESTARTDEVICE 0b000000000010
#define SENSOR_TYPE_BROADCAST_RTCSETUP 0b000000000011
//Sensor Types for DATA_TYPE_DISCRETE
#define SENSOR_TYPE_DISCRETE_ACCIDENT 0b0000
#define SENSOR_TYPE_DISCRETE_WARNING 0b0001
#define SENSOR_TYPE_DISCRETE_CONTROL_SIGNALS 0b0010
#define SENSOR_TYPE_DISCRETE_FLAGS 0b0011
#define SENSOR_TYPE_DISCRETE_RESET 0b0100
#define SENSOR_TYPE_DISCRETE_CHANGE_MODE 0b0101
#define SENSOR_TYPE_DISCRETE_REQUEST_LIST_OF_PARAMETERS 0b0110
//Sensor Types for DATA_TYPE_ANALOG
#define SENSOR_TYPE_ANALOG_UNIVERSAL 0b0000
#define SENSOR_TYPE_ANALOG_USTAVKI 0b0001
#define SENSOR_TYPE_ANALOG_U 0b0010
#define SENSOR_TYPE_ANALOG_I 0b0011
#define SENSOR_TYPE_ANALOG_T 0b0100
//Error Code
#define NONEXISTENT_ELEMENT 0x01
#define HighIdFilter(x) x<<24
struct controlflags{
unsigned IsPulse:1;
unsigned IsRtrMode:1;
};
//Device settings
typedef union{
struct msgBody_Broadcast{
unsigned Page:4;
unsigned BroadcastType:12;
}Fields;
unsigned Body:16;
}msgBroadcastType;
typedef union{
struct msgBody_Discrete{
unsigned Body:12;
unsigned Type:4;
}Fields;
unsigned Body:16;
}msgDiscreteType;
typedef union{
struct msgBody_Analog{
unsigned SensorID:12;
unsigned SensorType:4;
}Fields;
unsigned Body:16;
}msgAnalogType;
typedef union{
struct msgBody_Modbus{
unsigned RegCount:4;
unsigned StrAdr:12;
}Fields;
unsigned Body:16;
}msgModbusType;
typedef union{
struct msgBody_Error{
unsigned ErrorCode:8;
unsigned Info:8;
}Fields;
unsigned Body:16;
}msgErrorType;
typedef union{
struct extID_Fields{
unsigned MsgBody:16;
unsigned MsgType:4;
unsigned DeviceID:4;
unsigned DeviceType:3;
unsigned Route:1;
unsigned Priority:1;
}Fields;
unsigned int BitAll:29;
}extID;
// typedef union{
// struct extID_Fields{
// union{
// msgBodyBroadcast Broadcast;
// msgBodyDiscrete Discrete;
// msgBodyAnalog Analog;
// msgBodyModbus Modbus;
// msgBodyError Error;
// unsigned Body:16;
// }Msg;
// unsigned MsgType:4;
// unsigned DeviceID:4;
// unsigned DeviceType:3;
// unsigned Route:1;
// unsigned Priority:1;
// }Fields;
// unsigned int BitAll:29;
//}extID;
struct device{
unsigned Status:1;
extID ExtID;
unsigned TimeFromLastPulse;
unsigned LastPulseStep;
};
struct data{
struct T_sens{
char info[256];
unsigned SensID;
unsigned AvrgValue;
unsigned LastTenValues[10];
}TS;
struct U_sens{
char info[256];
unsigned SensID;
unsigned AvrgValue;
unsigned LastTenValues[10];
}Uu, Uv, Uw;
struct I_sens{
char info[256];
unsigned SensID;
unsigned AvrgValue;
unsigned LastTenValues[10];
}Iu, Iv, Iw;
};
struct received_request{
extID RequestedExtID;
unsigned RequestedDLC;
uint8_t RxData[8];
//DATA_TYPE_DISCRETIC
union discreticflags{
struct discretictype{
unsigned Request_Accident:1;
unsigned Request_Warning:1;
unsigned Request_Control_Signals:1;
unsigned Request_Flags:1;
unsigned Request_Reset:1;
unsigned Request_List_of_Parameters:1;
}DiscreticType;
unsigned AllFlags:5;
}DiscreticFlags;
//DATA_TYPE_BROADCAST
union broadcastflags{
struct broadcasttype{
unsigned Request_Status:1;
unsigned Request_OnOff:1;
unsigned Request_RTC_Setup:1;
}BroadcastType;
unsigned AllFlags:3;
}BroadcastFlags;
//DATA_TYPE_ANALOG
union analogflags{
struct analogtype{
unsigned Request_Universal_Sens:1;
unsigned Request_U_Sens:1;
unsigned Request_I_Sens:1;
unsigned Request_T_Sens:1;
}AnalogType;
unsigned AllFlags:4;
}AnalogFlags;
//DATA_TYPE_MODBUS
union modbusflags{
struct modbustype{
unsigned Coil:1;
unsigned Discrete:1;
unsigned Holding:1;
unsigned Input:1;
}ModbusType;
unsigned AllFlags:4;
}ModbusFlags;
union sensor_To_Modbus{
struct modbus{
unsigned Count:8;
unsigned StrAdr:8;
}Modbus;
unsigned Sensor:16;
}SensorToModbus;
unsigned ModbusFlag:1;
};
#define CAN_RX_BUFFER_SIZE 128
struct RXMsg{
struct INFO{
unsigned EXT:1;
unsigned RTR:1;
}info;
extID eID;
uint16_t DLC;
uint8_t Data[8];
};
uint16_t AvailableCanRxMsg(void);
void REQUESTER_Init(void);
void REQUESTER_MainWhile(void);
void Boot_SystemClock_Config(void);
CRR_Status REQUESTER_AnalogProcessing(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToAnalogUniversal(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToAnalogUSTAVKI(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToAnalogUSens(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToAnalogISens(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToAnalogTSens(struct RXMsg _rxMsg);
CRR_Status REQUESTER_BroadcastProcessing(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToBroadcastStatus(struct RXMsg _rxMsg);
void CanRequestToBroadcastOnOff(struct RXMsg _rxMsg);
void CanRequestToBroadcastRestart(struct RXMsg _rxMsg);
void CanRequestToBroadcastRtcSetup(struct RXMsg _rxMsg);
CRR_Status REQUESTER_DiscreticProcessing(struct RXMsg _rxMsg);
void CanRequestToDiscreteAccident(struct RXMsg _rxMsg);
void CanRequestToDiscreteWarning(struct RXMsg _rxMsg);
void CanRequestToDiscreteControlSignals(struct RXMsg _rxMsg);
void CanRequestToDiscreteFlags(struct RXMsg _rxMsg);
void CanRequestToDiscreteReset(struct RXMsg _rxMsg);
void CanRequestToDiscreteChangeMode(struct RXMsg _rxMsg);
void CanRequestToDiscreteRequestListOfParameters(struct RXMsg _rxMsg);
void REQUESTER_GeneralAddressSpace_Answer(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestError(struct RXMsg _rxMsg);
CRR_Status REQUESTER_ModbusProcessing(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToModbusCoil(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToModbusDiscrete(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToModbusHolding(struct RXMsg _rxMsg);
HAL_StatusTypeDef CanRequestToModbusInput(struct RXMsg _rxMsg);
void REQUESTER_RTC_SYNC(uint8_t *data);
void REQUESTER_Pulse_TIM_Handler(void);
void Boot_SystemClock_Config(void);
void REQUESTER_CAN_FILTERS(void);
#endif

View File

@@ -134,7 +134,7 @@
#define PREFETCH_ENABLE 1U
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */
#define USE_HAL_CAN_REGISTER_CALLBACKS 1U /* CAN register callback enabled */
#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */
#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */
@@ -152,7 +152,7 @@
#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
#define USE_HAL_TIM_REGISTER_CALLBACKS 1U /* TIM register callback enabled */
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */

View File

@@ -21,7 +21,13 @@
#include "can.h"
/* USER CODE BEGIN 0 */
//CAN Speed
#define CAN_SPEED_PRSC_1000KB 2
#define CAN_SPEED_PRSC_500KB 4
#define CAN_SPEED_PRSC_250KB 8
#define CAN_SPEED_PRSC_125KB 16
#define CAN_SPEED_PRSC_50KB 40
#define CAN_CURRENT_SPEED CAN_SPEED_PRSC_250KB
/* USER CODE END 0 */
CAN_HandleTypeDef hcan;

234
Core/Src/canerrorbox.c Normal file
View File

@@ -0,0 +1,234 @@
#include "canerrorbox.h"
CanErrorBox CanErrors;
__weak void CanErrorCallbackEWG()
{
CanErrors.EWG.counter++;
}
__weak void CanErrorCallbackEPV()
{
CanErrors.EPV.counter++;
}
__weak void CanErrorCallbackBOF()
{
CanErrors.BOF.counter++;
}
__weak void CanErrorCallbackSTF()
{
CanErrors.STF.counter++;
}
__weak void CanErrorCallbackFOR()
{
CanErrors.FOR.counter++;
}
__weak void CanErrorCallbackACK()
{
CanErrors.ACK.counter++;
}
__weak void CanErrorCallbackBR()
{
CanErrors.BR.counter++;
}
__weak void CanErrorCallbackBD()
{
CanErrors.BD.counter++;
}
__weak void CanErrorCallbackCRC()
{
CanErrors.CRC_ERROR.counter++;
}
__weak void CanErrorCallbackRXFOV0()
{
CanErrors.RXFOV0.counter++;
}
__weak void CanErrorCallbackRXFOV1()
{
CanErrors.RXFOV1.counter++;
}
__weak void CanErrorCallbackTXALST0()
{
CanErrors.TXALST0.counter++;
}
__weak void CanErrorCallbackTXTERR0()
{
CanErrors.TXTERR0.counter++;
}
__weak void CanErrorCallbackTXALST1()
{
CanErrors.TXALST1.counter++;
}
__weak void CanErrorCallbackTXTERR1()
{
CanErrors.TXTERR1.counter++;
}
__weak void CanErrorCallbackTXALST2()
{
CanErrors.TXALST2.counter++;
}
__weak void CanErrorCallbackTXTERR2()
{
CanErrors.TXTERR2.counter++;
}
__weak void CanErrorCallbackTIMEOUT()
{
CanErrors.TIMEOUT.counter++;
}
__weak void CanErrorCallbackNOTINITIALIZED()
{
CanErrors.NOTINITIALIZED.counter++;
}
__weak void CanErrorCallbackNOTREADY()
{
CanErrors.NOTREADY.counter++;
}
__weak void CanErrorCallbackNOTSTARTED()
{
CanErrors.NOTSTARTED.counter++;
}
__weak void CanErrorCallbackPARAM()
{
CanErrors.PARAM.counter++;
}
#ifdef CAN_ERROR_BOX_ENABLED
void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
{
if(!hcan->ErrorCode)
{
// NO ERROR
return;
}
if(hcan->ErrorCode & HAL_CAN_ERROR_EWG)
{
// Protocol Error Warning
CanErrorCallbackEWG();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_EPV)
{
// Error Passive
CanErrorCallbackEPV();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_BOF)
{
// Bus-off error
CanErrorCallbackBOF();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_STF)
{
// Stuff error
CanErrorCallbackSTF();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_FOR)
{
// Form error
CanErrorCallbackFOR();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_ACK)
{
// Acknowledgment error
CanErrorCallbackACK();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_BR)
{
// Bit recessive error
CanErrorCallbackBR();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_BD)
{
// Bit dominant error
CanErrorCallbackBD();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_CRC)
{
// CRC error
CanErrorCallbackCRC();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_RX_FOV0)
{
// Rx FIFO0 overrun error
CanErrorCallbackRXFOV0();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_RX_FOV1)
{
// Rx FIFO1 overrun error
CanErrorCallbackRXFOV1();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_TX_ALST0)
{
// TxMailbox 0 transmit failure due to arbitration lost
CanErrorCallbackTXALST0();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_TX_TERR0)
{
// TxMailbox 0 transmit failure due to transmit error
CanErrorCallbackTXTERR0();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_TX_ALST1)
{
// TxMailbox 1 transmit failure due to arbitration lost
CanErrorCallbackTXALST1();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_TX_TERR1)
{
// TxMailbox 1 transmit failure due to transmit error
CanErrorCallbackTXTERR1();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_TX_ALST2)
{
// TxMailbox 2 transmit failure due to arbitration lost
CanErrorCallbackTXALST2();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_TX_TERR2)
{
// TxMailbox 2 transmit failure due to transmit error
CanErrorCallbackTXTERR2();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_TIMEOUT)
{
// Timeout error
CanErrorCallbackTIMEOUT();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_NOT_INITIALIZED)
{
// Peripheral not initialized
CanErrorCallbackNOTINITIALIZED();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_NOT_READY)
{
// Peripheral not ready
CanErrorCallbackNOTREADY();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_NOT_STARTED)
{
// Peripheral not started
CanErrorCallbackNOTSTARTED();
}
if(hcan->ErrorCode & HAL_CAN_ERROR_PARAM)
{
// Parameter error
CanErrorCallbackPARAM();
}
}
#endif

View File

@@ -68,8 +68,6 @@ int main(void)
{
/* USER CODE BEGIN 1 */
SystemClock_Config();
REQUESTER_Init();
REQUESTER_MainWhile();
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
@@ -94,7 +92,12 @@ int main(void)
MX_RTC_Init();
MX_TIM4_Init();
/* USER CODE BEGIN 2 */
if(PROTOCAN_INIT(&hcan, &hrtc, &htim4) == PROTOCAN_OK)
{
HAL_CAN_Start(&hcan);
HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING | CAN_IT_ERROR | CAN_IT_BUSOFF | CAN_IT_LAST_ERROR_CODE);
PROTOCAN_LOOP();
}
/* USER CODE END 2 */
/* Infinite loop */

1240
Core/Src/protocan.c Normal file
View File

@@ -0,0 +1,1240 @@
#include "protocan.h"
ProtoCanDevice_t CurrentDevice;
ProtoCanDevice_t Device_on_the_Network[8][16];
struct controlflags ControlFlags;
CAN_HandleTypeDef *_HCAN = 0;
RTC_HandleTypeDef *_HRTC = 0;
TIM_HandleTypeDef *_HTIM = 0;
uint8_t CurrentStep = 1;
uint8_t LastStep = 0;
struct RXMsg rxMsg[PROTOCAN_RX_BUFFER_SIZE];
/**
* @brief Проверяет, является ли год високосным.
* В системе год хранится как смещение от 2000. Например, значение 24 соответствует 2024.
* Эта функция добавляет 2000 к значению и проверяет, високосный ли получившийся год.
* @param year Смещение от 2000, тип uint8_t (от 0 до 255).
* @return _Bool true, если год високосный; false — иначе.
*/
_Bool IsLeapYear(uint8_t year)
{
year += 2000;
return (year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0));
}
/**
* @brief Возвращает количество доступных сообщений в буфере приёма CAN.
* Используется кольцевой буфер.
* Возвращаемое значение — количество элементов между указателями LastStep и CurrentStep.
* @return uint16_t Количество доступных сообщений, ожидающих обработки, в буфере.
*/
uint16_t AvailableCanRxMsg(void)
{
return ((uint16_t)(PROTOCAN_RX_BUFFER_SIZE + (LastStep - CurrentStep + 1))) % PROTOCAN_RX_BUFFER_SIZE;
}
void PROTOCAN_DEINIT(uint8_t stage)
{
switch(stage)
{
case 3:
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
HAL_TIM_UnRegisterCallback(_HTIM, HAL_TIM_PERIOD_ELAPSED_CB_ID);
#endif
case 2:
case 1:
#if (USE_HAL_CAN_REGISTER_CALLBACKS == 1)
HAL_CAN_UnRegisterCallback(_HCAN, HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID);
#endif
}
return;
}
/**
* @brief Инициализация переферии
* @details Инициализация указателей на HCAN, HRTC, установка фильтров CAN.
* @note Фильтры CAN описаны в разделе PROTOCAN_CAN_FILTERS().
*/
PROTOCAN_INIT_StatusTypeDef PROTOCAN_INIT(CAN_HandleTypeDef *tmp_hcan, RTC_HandleTypeDef *tmp_hrtc, TIM_HandleTypeDef *tmp_tim)
{
unsigned initStage = 0;
if(tmp_hcan)
{
_HCAN = tmp_hcan;
#if (USE_HAL_CAN_REGISTER_CALLBACKS == 1)
HAL_StatusTypeDef CAN_RC_RESULT = HAL_CAN_RegisterCallback(_HCAN, HAL_CAN_RX_FIFO0_MSG_PENDING_CB_ID, ProtoCanRxFifo0MsgPendingCallback);
if(CAN_RC_RESULT != HAL_OK)
{
PROTOCAN_DEINIT(initStage);
return PROTOCAN_INIT_HRTC_ERROR;
}
#endif
} else {
PROTOCAN_DEINIT(initStage);
return PROTOCAN_INIT_HCAN_ERROR;
}
initStage++;
if(tmp_hrtc)
{
_HRTC = tmp_hrtc;
}
else
{
PROTOCAN_DEINIT(initStage);
return PROTOCAN_INIT_HRTC_ERROR;
}
initStage++;
if(tmp_tim)
{
_HTIM = tmp_tim;
#if (USE_HAL_TIM_REGISTER_CALLBACKS == 1)
HAL_StatusTypeDef TIM_RC_RESULT = HAL_TIM_RegisterCallback(_HTIM, HAL_TIM_PERIOD_ELAPSED_CB_ID, ProtoCanPulseCallback);
if(TIM_RC_RESULT != HAL_OK)
{
PROTOCAN_DEINIT(initStage);
return PROTOCAN_INIT_HRTC_ERROR;
}
#endif
}
else
{
PROTOCAN_DEINIT(initStage);
return PROTOCAN_INIT_TIM_ERROR;
}
initStage++;
PROTOCAN_FILTERS();
ControlFlags.IsPulse = 1;
return PROTOCAN_INIT_OK;
}
/**
* @brief Функция с обработкой полученных запросов
* @details В бесконечном цикле функция ожидает приёма сообщения. После этого сообщение распределяется в зависимости от DataType.
* Обработка запроса аналоговых значений - PROTOCAN_AnalogProcessing().
* Обработка широковещательных запросов - PROTOCAN_BroadcastProcessing().
* Обработка запроса дискретных значений - PROTOCAN_DiscreticProcessing().
* Обработка запроса к общему адресному пространству - PROTOCAN_GeneralAddressSpace_Answer().
* Обработка Modbus - PROTOCAN_ModbusProcessing().
*/
void PROTOCAN_LOOP(void)
{
while(1)
{
if(AvailableCanRxMsg())
{
if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_ANALOG)
{
PROTOCAN_AnalogProcessing(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_BROADCAST)
{
PROTOCAN_BroadcastProcessing(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_DISCRETE)
{
PROTOCAN_DiscreticProcessing(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE)
{
ProtoCanMsgToGeneralAddressSpace(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_MODBUS_COIL ||
rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_MODBUS_DISCRETE ||
rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_MODBUS_HOLDING ||
rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_MODBUS_INPUT)
{
PROTOCAN_ModbusProcessing(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == PROTOCAN_MSGTYPE_ERROR)
{
CanRequestError(rxMsg[CurrentStep]);
}
CurrentStep = (uint16_t)(CurrentStep + 1) % PROTOCAN_RX_BUFFER_SIZE;
}
}
}
/**
* @brief Функция обработки широковещательных запросов.
* @param struct RXMsg _rxMsg - структура для полученного сообщения.
* @details Функция, выполняющая команды, переданные в широковещательном формате с головного (master) устройства. Типы команд: Запрос статуса, запрос на включение или выключение, рестарт устройств, установка времени.
* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка).
*/
PROTOCAN_StatusTypeDef PROTOCAN_BroadcastProcessing(struct RXMsg _rxMsg)
{
msgBodyBroadcastType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
switch(msg.Fields.Type)
{
case PROTOCAN_BROADCAST_STATUS:
{
//Обработка запроса статуса устройства
return ProtoCanMsgToBroadcastStatus(_rxMsg);
}
case PROTOCAN_BROADCAST_ONOFF:
{
//Обработка запроса на вкл/выкл
ProtoCanMsgToBroadcastOnOff(_rxMsg);
break;
}
case PROTOCAN_BROADCAST_RESTARTDEVICE:
{
ProtoCanMsgToBroadcastRestart(_rxMsg);
break;
}
case PROTOCAN_BROADCAST_RTCSETUP:
{
//Обработка запроса на синхронизацию времени
//С головным устройством
ProtoCanMsgToBroadcastRtcSetup(_rxMsg);
break;;
}
default:
//RESERVE SENSOR TYPE.
return PROTOCAN_ERROR;
break;
}
return PROTOCAN_OK;
}
/**
* @brief Формирует и отправляет широковещательное CAN-сообщение для ответа на запрос статуса.
* Устанавливает идентификатор, собирает текущие параметры времени и даты, и отправляет сообщение.
* @param _rxMsg Структура полученного по CAN запроса.
* @return HAL_StatusTypeDef Статус операции HAL, например HAL_OK при успехе.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastStatus(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.DLC = 7;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
tmp_eID.Fields.DeviceType = CURRENT_TYPE_DEVICE;
tmp_eID.Fields.DeviceID = CURRENT_ID_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
RTC_TimeTypeDef sTime = {0};
HAL_RTC_GetTime(_HRTC, &sTime, RTC_FORMAT_BIN);
data[0] = sTime.Hours;
data[1] = sTime.Minutes;
data[2] = sTime.Seconds;
RTC_DateTypeDef DateToUpdate = {0};
HAL_RTC_GetDate(_HRTC, &DateToUpdate, RTC_FORMAT_BIN);
data[3] = DateToUpdate.Year;
data[4] = DateToUpdate.Month;
data[5] = DateToUpdate.Date;
data[6] = DateToUpdate.WeekDay;
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Виртуальная слабая функция для переключения режима пульсации ON/OFF.
* Меняет состояние флага IsPulse в структуре ControlFlags.
* В данном случае — просто инвертирует его логическое значение.
* @param _rxMsg Структура полученного CAN-сообщения (Пока не используется в функции).
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastOnOff(struct RXMsg _rxMsg)
{
ControlFlags.IsPulse = !ControlFlags.IsPulse;
return PROTOCAN_OK;
}
/**
* @brief __weak функция для обработки широковещательного сообщения перезапуска устройства.
* Проверяет длину сообщения, извлекает ID из данных и, если она совпадает с текущим устройством,
* вызывает системный перезапуск.
* @param _rxMsg Структура полученного CAN-сообщения с командой перезапуска.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRestart(struct RXMsg _rxMsg)
{
if(_rxMsg.DLC == 0)
{
return PROTOCAN_ERROR;
}
msgBodyBroadcastType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
if(msg.Fields.Body == (CURRENT_ID_DEVICE / (_rxMsg.DLC*8)))
{
uint64_t page = 0;
for(int i = 0; i < _rxMsg.DLC; i++)
{
page += (_rxMsg.Data[i] << (i * 8));
}
if((page >> CURRENT_ID_DEVICE) & 0b1)
{
NVIC_SystemReset();
}
}
return PROTOCAN_OK;
}
/**
* @brief __weak функция для обработки запроса на синхронизацию RTC через широковещательное сообщение.
* Проверяет длину сообщения и корректность данных (время и дата). Если все проверки пройдены,
* вызывает функцию синхронизации RTC.
* @param _rxMsg Структура полученного CAN-сообщения с данными для установки времени и даты.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToBroadcastRtcSetup(struct RXMsg _rxMsg)
{
if(_rxMsg.DLC > 7)
{
return PROTOCAN_ERROR;
}
else
{
int DaysCount_Normal[2][12] = {{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
if( _rxMsg.Data[0] > 23 ||
_rxMsg.Data[1] > 59 ||
_rxMsg.Data[2] > 59 ||
_rxMsg.Data[3] > 99 ||
_rxMsg.Data[4] > 12 ||
_rxMsg.Data[5] > DaysCount_Normal[IsLeapYear(_rxMsg.Data[3])][_rxMsg.Data[4]] ||
_rxMsg.Data[6] > 6)
{
return PROTOCAN_ERROR;
}
else
{
PROTOCAN_RTC_SYNC(_rxMsg.Data);
}
}
return PROTOCAN_OK;
}
/**
* @brief Функция обработки дискретных запросов.
* @param struct RXMsg _rxMsg - структура для полученного сообщения.
* @details Функция, формирующая и отправляющая ответ на запросы. Типы запросов: Аварии, Предупреждения, Управляющие сигналы, Флаги, Рестарт устройства, Изменение режима работы устройства, Запрос на устройство.
* @note Запрос на устройство. Головное (master) устройство запрашивает некоторое колличество параметров. В Data - 64 битовых адресса параметров, тип которых задаётся в Sensor ID. Имеется возможность запрашивать непоследовательные параметры.
* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка).
*/
PROTOCAN_StatusTypeDef PROTOCAN_DiscreticProcessing(struct RXMsg _rxMsg)
{
msgBodyDiscreteType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
switch(msg.Fields.Type)
{
case PROTOCAN_DISCRETE_ACCIDENT:
{
ProtoCanMsgToDiscreteAccident(_rxMsg);
break;
}
case PROTOCAN_DISCRETE_WARNING:
{
ProtoCanMsgToDiscreteWarning(_rxMsg);
break;
}
case PROTOCAN_DISCRETE_CONTROL_SIGNALS:
{
ProtoCanMsgToDiscreteControlSignals(_rxMsg);
break;
}
case PROTOCAN_DISCRETE_FLAGS:
{
ProtoCanMsgToDiscreteFlags(_rxMsg);
break;
}
case PROTOCAN_DISCRETE_RESET:
{
ProtoCanMsgToDiscreteReset(_rxMsg);
break;
}
case PROTOCAN_DISCRETE_CHANGE_MODE:
{
ProtoCanMsgToDiscreteChangeMode(_rxMsg);
break;
}
case PROTOCAN_DISCRETE_REQUEST_LIST_OF_PARAMETERS:
{
ProtoCanMsgToDiscreteRequestListOfParameters(_rxMsg);
break;
}
default:
//RESERVE SENSOR TYPE.
return PROTOCAN_ERROR;
break;
}
return PROTOCAN_OK;
}
/**
* @brief Обработка запроса аварийных ситуаций.
* В текущей реализации — заглушка, ничего не выполняет.
* Можно реализовать отправку или обработку аварийных данных.
* @param _rxMsg Входящее сообщение с данными запроса.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteAccident(struct RXMsg _rxMsg)
{
return PROTOCAN_OK;
}
/**
* @brief Обработка запроса предупреждений.
* В текущей реализации — заглушка.
* Можно реализовать обработку или ответ на предупреждения.
* @param _rxMsg Входящее сообщение.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteWarning(struct RXMsg _rxMsg)
{
return PROTOCAN_OK;
}
/**
* @brief Обработка запроса управляющих сигналов.
* В текущей реализации — заглушка.
* Можно реализовать управление сигналами.
* @param _rxMsg Входящее сообщение.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteControlSignals(struct RXMsg _rxMsg)
{
return PROTOCAN_OK;
}
/**
* @brief Обработка запроса флагов.
* В текущей реализации — заглушка.
* Можно реализовать работу с флагами.
* @param _rxMsg Входящее сообщение.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteFlags(struct RXMsg _rxMsg)
{
return PROTOCAN_OK;
}
/**
* @brief Обработка рестарта системы по CAN-запросу.
* Выполняет программный рестарт системы.
* @param _rxMsg Входящее сообщение.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteReset(struct RXMsg _rxMsg)
{
NVIC_SystemReset();
return PROTOCAN_ERROR;
}
/**
* @brief Обработка запроса на изменение режима.
* В текущей реализации — заглушка.
* Можно реализовать изменение режима работы.
* @param _rxMsg Входящее сообщение.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteChangeMode(struct RXMsg _rxMsg)
{
return PROTOCAN_OK;
}
/**
* @brief Обработка запроса на получение списка параметров.
* В текущей реализации — заглушка.
* Можно реализовать отправку списка параметров.
* @param _rxMsg Входящее сообщение.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToDiscreteRequestListOfParameters(struct RXMsg _rxMsg)
{
return PROTOCAN_OK;
}
/**
* @brief Функция обработки аналоговых запросов.
* @param struct RXMsg _rxMsg - структура для полученного сообщения.
* @details Функция, сортирующая запросы по типам и вызывающая соответствующие функции. Типы запросов: Универсальный, Уставки, Напряжение, Ток, Температура.
* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка).
*/
PROTOCAN_StatusTypeDef PROTOCAN_AnalogProcessing(struct RXMsg _rxMsg)
{
msgBodyAnalogType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
switch (msg.Fields.Type)
{
case PROTOCAN_ANALOG_UNIVERSAL:
{
return ProtoCanMsgToAnalogUniversal(_rxMsg);
break;
}
case PROTOCAN_ANALOG_SETTINGS:
{
return ProtoCanMsgToAnalogSettings(_rxMsg);
break;
}
case PROTOCAN_ANALOG_U:
{
return ProtoCanMsgToAnalogUSens(_rxMsg);
break;
}
case PROTOCAN_ANALOG_I:
{
return ProtoCanMsgToAnalogISens(_rxMsg);
break;
}
case PROTOCAN_ANALOG_T:
{
return ProtoCanMsgToAnalogTSens(_rxMsg);
break;
}
default:
//RESERVE SENSOR TYPE
return PROTOCAN_ERROR;
break;
}
return PROTOCAN_ERROR;
}
/**
* @brief Функция ответа на запрос данных со всех датчиков.
* Создает сообщение с определенными данными и отправляет его через CAN-шину.
* @param _rxMsg Структура входящего сообщения, используется для формирования ID.
* @return HAL_StatusTypeDef Статус выполнения операции HAL, например HAL_OK.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUniversal(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 6;
data[0] = 'U';
data[1] = 'N';
data[2] = 'I';
data[3] = 'V';
data[4] = 'E';
data[5] = 'R';
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Функция ответа на запрос уставок по CAN.
* Создает сообщение с определенными данными и отправляет его через CAN-шину.
* @param _rxMsg Структура входящего сообщения, используется только для формирования ID.
* @return HAL_StatusTypeDef Статус выполнения операции HAL, например HAL_OK.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogSettings(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 7;
data[0] = 'U';
data[1] = 'S';
data[2] = 'T';
data[3] = 'A';
data[4] = 'V';
data[5] = 'K';
data[6] = 'I';
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Функция ответа на запрос данных с датчиков напряжения.
* Создает сообщение с указанными параметрами и отправляет его через CAN-шину.
* @param _rxMsg Структура входящего сообщения, используемая для формирования идентификатора и данных.
* @return HAL_StatusTypeDef Статус выполнения операции HAL, например HAL_OK при успешной отправке.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogUSens(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 6;
msgBodyAnalogType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'U';
data[1] = 'S';
data[2] = 47 + msg.Fields.SensorID / 1000;
data[3] = 47 + msg.Fields.SensorID / 100 % 10;
data[4] = 47 + msg.Fields.SensorID / 10 % 10;
data[5] = 47 + msg.Fields.SensorID % 10;
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Функция ответа на запрос данных с датчиков тока.
* Создает сообщение с определенными параметрами и отправляет его через CAN-шину.
* @param _rxMsg Структура входящего сообщения, используется для формирования идентификатора и данных.
* @return HAL_StatusTypeDef Статус операции HAL, например HAL_OK при успешной отправке.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogISens(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 6;
msgBodyAnalogType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'I';
data[1] = 'S';
data[2] = 47 + msg.Fields.SensorID / 1000;
data[3] = 47 + msg.Fields.SensorID / 100 % 10;
data[4] = 47 + msg.Fields.SensorID / 10 % 10;
data[5] = 47 + msg.Fields.SensorID % 10;
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Функция ответа на запрос данных с датчиков температуры.
* Создает сообщение с определенным заголовком, формирует данные по ID сенсора и отправляет его через CAN.
* @param _rxMsg Структура полученного сообщения, которая используется для формирования идентификатора.
* @return HAL_StatusTypeDef Статус выполнения функции HAL, например HAL_OK при успехе.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToAnalogTSens(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 6;
msgBodyAnalogType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'T';
data[1] = 'S';
data[2] = 47 + msg.Fields.SensorID / 1000;
data[3] = 47 + msg.Fields.SensorID / 100 % 10;
data[4] = 47 + msg.Fields.SensorID / 10 % 10;
data[5] = 47 + msg.Fields.SensorID % 10;
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Обработка и ответ на запрос общего адресного пространства.
* Формирует и передает сообщение с данными о статусе "GAS-XXXX", где XXXX — значение из сообщения _rxMsg.
* @param _rxMsg Структура входящего сообщения, содержит идентификатор и тело сообщения.
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToGeneralAddressSpace(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
data[0] = 'G';
data[1] = 'A';
data[2] = 'S';
data[3] = '-';
for(int i = 0; i < 4; i++)
{
unsigned sym = (_rxMsg.eID.Fields.MsgBody >> (12 - (i * 4))) & 0xF;
if(sym >= 10)
{
data[4 + i] = sym % 10 + 'A';
}
else
{
data[4 + i] = sym + '0';
}
}
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Отправляет произвольный диапазон регистров в пакетах по, максимум, 4 регистра за раз через CAN.
*
* Функция разбивает передаваемый массив регистров на пакеты по 4 или меньше и отправляет их по отдельности.
* Для каждого пакета формируется уникальный MsgBody, равный адресу первого регистра в пакете.
*
* @param priority Приоритет сообщения CAN. ProtoCan_Priority_TypeDef
* @param regStartAdr Адрес первого регистра из всего массива.
* @param data Указатель на массив регистров для отправки.
* @param regCount Общее количество регистров для отправки.
*
* @return Возвращает статус отправки: HAL_OK при успехе, или код ошибки HAL_StatusTypeDef при сбое.
*/
PROTOCAN_StatusTypeDef PROTOCAN_SEND_GENERAL_ADDRESS_SPACE(ProtoCanId_t id, uint16_t regStartAdr, uint16_t *data, uint8_t regCount)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t canData[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = id.BitAll;
uint8_t regsRemaining = regCount;
uint8_t currentIndex = 0;
while(regsRemaining > 0)
{
uint8_t regsInPacket = (regsRemaining > 4) ? 4 : regsRemaining;
tmp_eID.Fields.MsgBody = regStartAdr + currentIndex;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = regsInPacket*2;
for(int i = 0; i < regsInPacket; i++)
{
canData[(i * 2)] = LowByteOfWord(data[currentIndex + i]);
canData[(i * 2) + 1] = HighByteOfWord(data[currentIndex + i]);
}
HAL_StatusTypeDef status = HAL_CAN_AddTxMessage(_HCAN, &TxHeader, canData, &TxMailBox);
if(status != HAL_OK)
{
return (PROTOCAN_StatusTypeDef)status;
}
regsRemaining -= regsInPacket;
currentIndex += regsInPacket;
}
return (PROTOCAN_StatusTypeDef)HAL_OK;
}
/**
* @brief Обработка запроса на основе типа Modbus.
* В зависимости от типа сообщения, вызывает соответствующую функцию
* для отправки Modbus-запроса по CAN-шине.
* @param _rxMsg Структура входящего сообщения RXMsg.
* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка).
*/
PROTOCAN_StatusTypeDef PROTOCAN_ModbusProcessing(struct RXMsg _rxMsg)
{
switch(_rxMsg.eID.Fields.MsgType)
{
case PROTOCAN_MSGTYPE_MODBUS_COIL:
{
return ProtoCanMsgToModbusCoil(_rxMsg);
break;
}
case PROTOCAN_MSGTYPE_MODBUS_DISCRETE:
{
return ProtoCanMsgToModbusDiscrete(_rxMsg);
break;
}
case PROTOCAN_MSGTYPE_MODBUS_HOLDING:
{
return ProtoCanMsgToModbusHolding(_rxMsg);
break;
}
case PROTOCAN_MSGTYPE_MODBUS_INPUT:
{
return ProtoCanMsgToModbusInput(_rxMsg);
break;
}
default:
//ERROR
return PROTOCAN_ERROR;
break;
}
return PROTOCAN_ERROR;
}
/**
* @brief __weak Функция отправки ответа на запрос Coil Modbus по CAN.
* Формирует CAN ответ на запрос Coil Modbus и отправляет его.
* @param _rxMsg Структура входящего сообщения RXMsg.
* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка).
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToModbusCoil(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
msgBodyModbusType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'M';
data[1] = 'C';
data[2] = ' ';
data[3] = 'S';
data[4] = msg.Fields.StrAdr;
data[5] = ' ';
data[6] = 'C';
data[7] = msg.Fields.RegCount;
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief __weak Функция отправки ответа на запрос Discrete Modbus по CAN.
* Формирует CAN ответ на запрос Discrete Modbus и отправляет его.
* @param _rxMsg Структура входящего сообщения RXMsg.
* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка).
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToModbusDiscrete(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
msgBodyModbusType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'M';
data[1] = 'D';
data[2] = ' ';
data[3] = 'S';
data[4] = msg.Fields.StrAdr;
data[5] = ' ';
data[6] = 'C';
data[7] = msg.Fields.RegCount;
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief __weak Функция отправки ответа на запрос Holding Modbus по CAN.
* Формирует CAN ответ на запрос Holding Modbus и отправляет его.
* @param _rxMsg Структура входящего сообщения RXMsg.
* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка).
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToModbusHolding(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
msgBodyModbusType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'M';
data[1] = 'H';
data[2] = ' ';
data[3] = 'S';
data[4] = msg.Fields.StrAdr;
data[5] = ' ';
data[6] = 'C';
data[7] = msg.Fields.RegCount;
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief __weak Функция отправки ответа на запрос Input Modbus по CAN.
* Формирует CAN ответ на запрос Input Modbus и отправляет его.
* @param _rxMsg Структура входящего сообщения RXMsg.
* @return HAL_StatusTypeDef Статус выполнения команды CAN (успех или ошибка).
*/
__weak PROTOCAN_StatusTypeDef ProtoCanMsgToModbusInput(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
msgBodyModbusType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'M';
data[1] = 'I';
data[2] = ' ';
data[3] = 'S';
data[4] = msg.Fields.StrAdr;
data[5] = ' ';
data[6] = 'C';
data[7] = msg.Fields.RegCount;
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
*/
int PROTOCAN_SEND_MODBUS(const ProtoCanId_t* id, const struct ProtoCanModbusData* modbusData)
{
if (!id || !modbusData)
{
return PROTOCAN_ERROR;
}
ProtoCanId_t localId = *id;
uint8_t msgType = localId.Fields.MsgType;
// Структура для отправки
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t canData[8];
if(msgType == PROTOCAN_MSGTYPE_MODBUS_COIL || msgType == PROTOCAN_MSGTYPE_MODBUS_DISCRETE)
{
// Формируем body
msgBodyModbusType body;
body.Fields.StrAdr = modbusData->StrAdr;
body.Fields.RegCount = modbusData->RegCount;
// Устанавливаем коллизию ExtId с body.Body
localId.Fields.MsgBody = (body.Body & 0xFFFF);
// Обновляем ExtId
TxHeader.ExtId = localId.BitAll;
// Остальные настройки
TxHeader.IDE = CAN_ID_EXT; // Предположим, что используете расширенные ID
TxHeader.RTR = CAN_RTR_DATA;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.DLC = modbusData->RegCount % 8 + 1;
// Формируем CAN данные
canData[0] = (*modbusData->Data) & 0xFF;
canData[1] = (*modbusData->Data >> 8) & 0xFF;
if (HAL_CAN_AddTxMessage(_HCAN, &TxHeader, canData, &TxMailBox) != HAL_OK)
{
return PROTOCAN_ERROR;
}
}
else if(msgType == PROTOCAN_MSGTYPE_MODBUS_HOLDING || msgType == PROTOCAN_MSGTYPE_MODBUS_INPUT)
{
uint16_t* dataPtr = modbusData->Data;
unsigned totalRegs = modbusData->RegCount;
unsigned regsProcessed = 0;
unsigned startAddress = modbusData->StrAdr;
while (regsProcessed < totalRegs)
{
uint8_t regsInPacket = (totalRegs - regsProcessed) > 4 ? 4 : (totalRegs - regsProcessed);
// Формируем body
msgBodyModbusType body;
body.Fields.StrAdr = startAddress;
body.Fields.RegCount = regsInPacket;
// Обновляем ExtId
localId.Fields.MsgBody = (body.Body & 0xFFFF);
TxHeader.ExtId = localId.BitAll;
TxHeader.IDE = CAN_ID_EXT;
TxHeader.RTR = CAN_RTR_DATA;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.DLC = regsInPacket * 2;
// Добавляем регистры
for (int i = 0; i < regsInPacket; i++)
{
canData[i * 2] = LowByteOfWord(dataPtr[regsProcessed + i]);
canData[i * 2 + 1] = HighByteOfWord(dataPtr[regsProcessed + i]);
}
// Отправляем сообщение
if(HAL_CAN_AddTxMessage(_HCAN, &TxHeader, canData, &TxMailBox) != HAL_OK)
{
return PROTOCAN_ERROR;
}
regsProcessed += regsInPacket;
startAddress += regsInPacket;
}
}
else
{
return PROTOCAN_ERROR; // Неверный тип сообщения
}
return PROTOCAN_OK;
}
/**
* @brief __weak Функция отправки сообщения об ошибке.
* Посылает CAN сообщение с кодом ошибки. Используется, когда необходимо оповестить о неуспешной операции.
* @param _rxMsg Структура входящего сообщения RXMsg, данными которого формируется ответ-ошибка.
* @return HAL_StatusTypeDef Статус выполнения команды CAN.
*/
__weak PROTOCAN_StatusTypeDef CanRequestError(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
ProtoCanId_t tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
tmp_eID.Fields.MsgType = PROTOCAN_MSGTYPE_ERROR;
msgBodyErrorType msg;
msg.Fields.ErrorCode = 0xFF;
msg.Fields.Info = 0;
tmp_eID.Fields.MsgBody = msg.Body;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 0;
return (PROTOCAN_StatusTypeDef)HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Записывает полученное сообщение CAN в буфер rxMsg.
* Копирует параметры расширенного ID, типы, длину данных и сам данные в указанный элемент буфера.
* @param tmp_eID Расширенный ID сообщения.
* @param tmp_IDE Тип идентификатора (например, CAN_ID_EXT).
* @param tmp_RTR Тип запроса (например, CAN_RTR_DATA).
* @param tmp_DLC Длина данных в сообщении.
* @param tmp_DATA Указатель на массив данных, полученных из CAN.
* @param tmp_LastStep Индекс позиции в буфере, куда записывать сообщение.
*/
void TakeRxMsgToBuffer(ProtoCanId_t tmp_eID, uint32_t tmp_IDE, uint32_t tmp_RTR, uint32_t tmp_DLC, uint8_t *tmp_DATA, uint16_t tmp_LastStep)
{
rxMsg[tmp_LastStep].eID.BitAll = tmp_eID.BitAll;
rxMsg[tmp_LastStep].info.EXT = tmp_IDE;
rxMsg[tmp_LastStep].info.RTR = tmp_RTR;
rxMsg[tmp_LastStep].DLC = tmp_DLC;
for(int i = 0; i < tmp_DLC; i++)
{
rxMsg[tmp_LastStep].Data[i] = tmp_DATA[i];
}
LastStep = tmp_LastStep;
}
/**
* @brief Обработка сообщений, ожидающих в FIFO, по прерыванию HAL_CAN_RxFifo0MsgPendingCallback.
* Читает все сообщения из FIFO, проверяет их тип, обновляет статус устройств сети или сохраняет сообщение в буфер.
* @param hcan Указатель на структуру управления CAN-Hardware.
*/
void ProtoCanRxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
{
//Обработка всех сообщений в FIFO
CAN_RxHeaderTypeDef RxHeader;
uint8_t RCAN_Data[8];
while(HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &RxHeader, RCAN_Data) == HAL_OK)
{
//Расширенный ID
if(RxHeader.IDE == CAN_ID_EXT)
{
if(!((PROTOCAN_RX_BUFFER_SIZE + LastStep - (CurrentStep - 1)) & PROTOCAN_RX_BUFFER_SIZE))
{
//Буффер переполнен
return;
}
uint16_t tmp_LastStep = (uint16_t)(LastStep + 1) % PROTOCAN_RX_BUFFER_SIZE;
ProtoCanId_t ExtID_Of_RX_MSG;
ExtID_Of_RX_MSG.BitAll = RxHeader.ExtId;
//Полученное сообщение - пульс устройств в сети
if(ExtID_Of_RX_MSG.Fields.MsgType == PROTOCAN_MSGTYPE_PULSE)
{
Device_on_the_Network[ExtID_Of_RX_MSG.Fields.DeviceType][ExtID_Of_RX_MSG.Fields.DeviceID].Status = ONLINE;
Device_on_the_Network[ExtID_Of_RX_MSG.Fields.DeviceType][ExtID_Of_RX_MSG.Fields.DeviceID].TimeFromLastPulse = 0;
return;
}
TakeRxMsgToBuffer(ExtID_Of_RX_MSG, RxHeader.IDE, RxHeader.RTR, RxHeader.DLC, RCAN_Data, tmp_LastStep);
}
}
}
/**
* @brief Функция отправки пульса устройства.
* @details Пульс устройства. Есть возможность отключить пульс по запросу.
*/
void ProtoCanPulseCallback(TIM_HandleTypeDef *htim)
{
if(ControlFlags.IsPulse)
{
static unsigned PulseStage = 0;
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
ProtoCanId_t currentID;
currentID.BitAll = 0;
currentID.Fields.Priority = PROTOCAN_PRIORITY_STANDARD;
currentID.Fields.Route = PROTOCAN_ROUTE_FROM_DEVICE;
currentID.Fields.DeviceType = CURRENT_TYPE_DEVICE;
currentID.Fields.DeviceID = CURRENT_ID_DEVICE;
currentID.Fields.MsgType = PROTOCAN_MSGTYPE_PULSE;
currentID.Fields.MsgBody = 0;
TxHeader.ExtId = currentID.BitAll;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
TxHeader.DLC = 1;
PulseStage++;
unsigned int debugID;
debugID = currentID.BitAll;
if(PulseStage > 0xFF)
{
PulseStage = 0;
}
data[0] = PulseStage;
HAL_CAN_AddTxMessage(_HCAN, &TxHeader, data, &TxMailBox);
}
}
/**
* @brief Функция установки в RTC полученной даты/время из запроса.
* @param uint8_t *data - Байтовый массив, 7 элементов. [0] - Часы. [1] - Минуты. [2] - Секунды. [3] - Год. [4] - Месяц. [5] - Дата. [6] - День недели.
*/
void PROTOCAN_RTC_SYNC(uint8_t *data)
{
__HAL_RTC_WRITEPROTECTION_DISABLE(_HRTC);
RTC_TimeTypeDef sTime = {0};
RTC_DateTypeDef DateToUpdate = {0};
sTime.Hours = data[0];
sTime.Minutes = data[1];
sTime.Seconds = data[2];
if(HAL_RTC_SetTime(_HRTC, &sTime, RTC_FORMAT_BIN) != HAL_OK)
{
Error_Handler();
}
DateToUpdate.Year = data[3];
DateToUpdate.Month = data[4];
DateToUpdate.Date = data[5];
DateToUpdate.WeekDay = data[6];
if(HAL_RTC_SetDate(_HRTC, &DateToUpdate, RTC_FORMAT_BIN) != HAL_OK)
{
Error_Handler();
}
__HAL_RTC_WRITEPROTECTION_ENABLE(_HRTC);
}
/**
* @brief Настройка CAN-Фильтра.
* На основе переданных ID и маски настраивает фильтр CAN для приема только определённых сообщений.
* @param filterBank Номер фильтра (обычно 0..27).
* @param idFilter 32-битный идентификатор, используемый для фильтрации.
* @param idMask 32-битная маска, определяющая биты, проверяемые фильтром.
*/
void PROTOCAN_CONFIG_FILTER(uint8_t filterBank, uint32_t idFilter, uint32_t idMask)
{
CAN_FilterTypeDef canFilterConfig;
canFilterConfig.FilterBank = filterBank;
canFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
canFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
canFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
canFilterConfig.FilterActivation = ENABLE;
canFilterConfig.SlaveStartFilterBank = 14;
#define CAN_IDE_32 0b00000100 // Для 32-х битного масштаба
// Разбиваем 32-битный ID и маску для фильтрации на High и Low 16 бит
canFilterConfig.FilterIdHigh = (uint16_t)(((idFilter) >> 13)); // верхние 16 бит
canFilterConfig.FilterIdLow = (uint16_t)((((idFilter) << 3)) | CAN_IDE_32); // низкие 16 бит,
canFilterConfig.FilterMaskIdHigh = (uint16_t)(((idMask) >> 13));
canFilterConfig.FilterMaskIdLow = (uint16_t)((((idMask) << 3)) | CAN_IDE_32);
if(HAL_CAN_ConfigFilter(_HCAN, &canFilterConfig) != HAL_OK)
{
Error_Handler();
}
}
/**
* @brief Конфигурирует три фильтра CAN для различных типов сообщений.
*/
void PROTOCAN_FILTERS()
{
#define BIT27 (1UL << 27)
#define BITS_20_23_MASK (0xFUL << 20) // 4 бита (20..23)
#define BITS_24_26_MASK (0x7UL << 24) // 3 бита (24..26)
uint32_t filter1_id = BIT27 | (CURRENT_TYPE_DEVICE << 24) | (CURRENT_ID_DEVICE << 20);
uint32_t filter1_mask = BIT27 | BITS_24_26_MASK | BITS_20_23_MASK; // все проверяемые биты
#define BITS_16_19_MASK (0xFUL << 16)
uint32_t filter2_id = PROTOCAN_MSGTYPE_BROADCAST << 16;
uint32_t filter2_mask = BITS_16_19_MASK;
uint32_t filter3_id = PROTOCAN_MSGTYPE_PULSE << 16;
uint32_t filter3_mask = BITS_16_19_MASK;
// Первый фильтр: проверяем 20-27 биты, где 27-й всегда 1
PROTOCAN_CONFIG_FILTER(0, filter1_id, filter1_mask);
// Второй фильтр: проверяем 16-19 биты, равны PROTOCAN_MSGTYPE_BROADCASTE
PROTOCAN_CONFIG_FILTER(1, filter2_id, filter2_mask);
// Третий фильтр: проверяем 16-19 биты, равны PROTOCAN_MSGTYPE_PULSE
PROTOCAN_CONFIG_FILTER(2, filter3_id, filter3_mask);
}
/**
* @brief Отправляет CAN-сообщение в зависимости от типа сообщения.
*
* Эта функция анализирует тип сообщения в идентификаторе и вызывает
* соответствующую функцию отправки. В текущей реализации поддерживается только
* тип PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE.
*
* @param id Идентификатор CAN-сообщения, содержащий информацию о типе.
* @param data Структура с данными, которые необходимо отправить. Зависит от типа сообщения.
*
* @return Статус выполнения операции:
* - PROTOCAN_OK при успешной отправке,
* - PROTOCAN_ERROR, если тип сообщения не поддерживается или произошла ошибка.
*/
PROTOCAN_StatusTypeDef PROTOCAN_SEND(ProtoCanId_t id, ProtoCanData_t data)
{
switch (id.Fields.MsgType)
{
case PROTOCAN_MSGTYPE_BROADCAST:
{
break;
}
case PROTOCAN_MSGTYPE_DISCRETE:
{
break;
}
case PROTOCAN_MSGTYPE_ANALOG:
{
break;
}
case PROTOCAN_MSGTYPE_GENERAL_ADDRESS_SPACE:
{
/* Если есть регистры для отправки, указатель data должен быть валиден. */
if((data.GeneralAddressSpaceData.RegCount > 0U) && data.GeneralAddressSpaceData.Data == 0)
{
return PROTOCAN_ERROR;
}
return PROTOCAN_SEND_GENERAL_ADDRESS_SPACE(id, data.GeneralAddressSpaceData.RegStartAdr,
data.GeneralAddressSpaceData.Data,
data.GeneralAddressSpaceData.RegCount);
}
case PROTOCAN_MSGTYPE_MODBUS_COIL:
case PROTOCAN_MSGTYPE_MODBUS_DISCRETE:
case PROTOCAN_MSGTYPE_MODBUS_HOLDING:
case PROTOCAN_MSGTYPE_MODBUS_INPUT:
{
break;
}
case PROTOCAN_MSGTYPE_ERROR:
{
break;
}
default:
return PROTOCAN_ERROR;
}
return PROTOCAN_ERROR;
}

View File

@@ -1,942 +0,0 @@
#include "requester.h"
struct device CurrentDevice;
struct device Device_on_the_Network[8][16];
struct controlflags ControlFlags;
uint8_t CurrentStep = 1;
uint8_t LastStep = 0;
struct RXMsg rxMsg[CAN_RX_BUFFER_SIZE];
_Bool IsLeapYear(uint8_t year)
{
year+=2000;
return (year%400==0)||((year%4==0)&&(year%100!=0));
}
uint16_t AvailableCanRxMsg(void)
{
return ((uint16_t)(CAN_RX_BUFFER_SIZE + (LastStep - CurrentStep + 1)))%CAN_RX_BUFFER_SIZE;
}
/**
* @brief Инициализация переферии
* @details Инициализация HAL, CAN, TIM7, RTC.
* @note Фильтры CAN описаны в разделе REQUESTER_CAN_FILTERS().
*/
void REQUESTER_Init(void)
{
HAL_Init();
MX_CAN_Init();
HAL_CAN_Start(&_HCAN);
REQUESTER_CAN_FILTERS();
//HAL_CAN_ActivateNotification(&_HCAN, CAN_IT_RX_FIFO0_MSG_PENDING);
HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING | CAN_IT_ERROR | CAN_IT_BUSOFF | CAN_IT_LAST_ERROR_CODE);
ControlFlags.IsPulse = 1;
MX_TIM4_Init();
MX_RTC_Init();
}
/**
* @brief Функция с обработкой полученных запросов
* @details В бесконечном цикле функция ожидает приёма сообщения. После этого сообщение распределяется в зависимости от DataType.
* Обработка запроса аналоговых значений - REQUESTER_AnalogProcessing().
* Обработка широковещательных запросов - REQUESTER_BroadcastProcessing().
* Обработка запроса дискретных значений - REQUESTER_DiscreticProcessing().
* Обработка Modbus - REQUESTER_ModbusProcessing().
*/
void REQUESTER_MainWhile(void)
{
HAL_TIM_Base_Start_IT(&htim4);
unsigned currentAttemptCount;
while(1)
{
if(AvailableCanRxMsg())
{
currentAttemptCount = 0;
if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_ANALOG)
{
REQUESTER_AnalogProcessing(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_BROADCAST)
{
REQUESTER_BroadcastProcessing(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_DISCRETE)
{
REQUESTER_DiscreticProcessing(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_GENERAL_ADDRESS_SPACE)
{
REQUESTER_GeneralAddressSpace_Answer(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_MODBUS_COIL ||
rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_MODBUS_DISCRETE ||
rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_MODBUS_HOLDING ||
rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_MODBUS_INPUT)
{
REQUESTER_ModbusProcessing(rxMsg[CurrentStep]);
}
else if(rxMsg[CurrentStep].eID.Fields.MsgType == DATA_TYPE_ERROR)
{
CanRequestError(rxMsg[CurrentStep]);
}
CurrentStep = (uint16_t)(CurrentStep + 1) % CAN_RX_BUFFER_SIZE;
}
}
}
/**
* @brief Функция обработки аналоговых запросов.
* @param struct RXMsg _rxMsg - структура для полученного сообщения.
* @details Функция, формирующая и отправляющая ответ на запросы. Типы запросов: Универсальный, Уставки, Напряжение, Ток, Температура.
*/
CRR_Status REQUESTER_AnalogProcessing(struct RXMsg _rxMsg)
{
msgAnalogType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
switch (msg.Fields.SensorType)
{
case SENSOR_TYPE_ANALOG_UNIVERSAL:
{
return (CRR_Status)CanRequestToAnalogUniversal(_rxMsg);
break;
}
case SENSOR_TYPE_ANALOG_USTAVKI:
{
return (CRR_Status)CanRequestToAnalogUSTAVKI(_rxMsg);
break;
}
case SENSOR_TYPE_ANALOG_U:
{
return (CRR_Status)CanRequestToAnalogUSens(_rxMsg);
break;
}
case SENSOR_TYPE_ANALOG_I:
{
return (CRR_Status)CanRequestToAnalogISens(_rxMsg);
break;
}
case SENSOR_TYPE_ANALOG_T:
{
return (CRR_Status)CanRequestToAnalogTSens(_rxMsg);
break;
}
default:
//RESERVE SENSOR TYPE
return CRR_ERROR;
break;
}
return CRR_ERROR;
}
__weak HAL_StatusTypeDef CanRequestToAnalogUniversal(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 6;
data[0] = 'U';
data[1] = 'N';
data[2] = 'I';
data[3] = 'V';
data[4] = 'E';
data[5] = 'R';
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
__weak HAL_StatusTypeDef CanRequestToAnalogUSTAVKI(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 7;
data[0] = 'U';
data[1] = 'S';
data[2] = 'T';
data[3] = 'A';
data[4] = 'V';
data[5] = 'K';
data[6] = 'I';
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
__weak HAL_StatusTypeDef CanRequestToAnalogUSens(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 6;
msgAnalogType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'U';
data[1] = 'S';
data[2] = 47 + msg.Fields.SensorID / 1000;
data[3] = 47 + msg.Fields.SensorID / 100 % 10;
data[4] = 47 + msg.Fields.SensorID / 10 % 10;
data[5] = 47 + msg.Fields.SensorID % 10;
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
__weak HAL_StatusTypeDef CanRequestToAnalogISens(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 6;
msgAnalogType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'I';
data[1] = 'S';
data[2] = 47 + msg.Fields.SensorID / 1000;
data[3] = 47 + msg.Fields.SensorID / 100 % 10;
data[4] = 47 + msg.Fields.SensorID / 10 % 10;
data[5] = 47 + msg.Fields.SensorID % 10;
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
__weak HAL_StatusTypeDef CanRequestToAnalogTSens(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 6;
msgAnalogType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'T';
data[1] = 'S';
data[2] = 47 + msg.Fields.SensorID / 1000;
data[3] = 47 + msg.Fields.SensorID / 100 % 10;
data[4] = 47 + msg.Fields.SensorID / 10 % 10;
data[5] = 47 + msg.Fields.SensorID % 10;
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Функция обработки широковещательных запросов.
* @param struct RXMsg _rxMsg - структура для полученного сообщения.
* @details Функция, выполняющая команды, переданные в широковещательном формате с головного (master) устройства. Типы команд: Запрос статуса, запрос на включение или выключение, рестарт устройств, установка времени.
*/
CRR_Status REQUESTER_BroadcastProcessing(struct RXMsg _rxMsg)
{
msgBroadcastType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
switch(msg.Fields.BroadcastType)
{
case SENSOR_TYPE_BROADCAST_STATUS:
{
//Обработка запроса статуса устройства
if(CanRequestToBroadcastStatus(_rxMsg)!=HAL_OK)
{
return CRR_ERROR;
}
break;
}
case SENSOR_TYPE_BROADCAST_ONOFF:
{
//Обработка запроса на вкл/выкл
CanRequestToBroadcastOnOff(_rxMsg);
break;
}
case SENSOR_TYPE_BROADCAST_RESTARTDEVICE:
{
CanRequestToBroadcastRestart(_rxMsg);
break;
}
case SENSOR_TYPE_BROADCAST_RTCSETUP:
{
//Обработка запроса на синхронизацию времени
//С головным устройством
CanRequestToBroadcastRtcSetup(_rxMsg);
break;;
}
default:
//RESERVE SENSOR TYPE.
return CRR_ERROR;
break;
}
return CRR_OK;
}
__weak HAL_StatusTypeDef CanRequestToBroadcastStatus(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.DLC = 7;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
tmp_eID.Fields.DeviceType = CURRENT_TYPE_DEVICE;
tmp_eID.Fields.DeviceID = CURRENT_ID_DEVICE;
TxHeader.ExtId = tmp_eID.BitAll;
RTC_TimeTypeDef sTime = {0};
HAL_RTC_GetTime(&hrtc, &sTime, RTC_FORMAT_BIN);
data[0] = sTime.Hours;
data[1] = sTime.Minutes;
data[2] = sTime.Seconds;
RTC_DateTypeDef DateToUpdate = {0};
HAL_RTC_GetDate(&hrtc, &DateToUpdate, RTC_FORMAT_BIN);
data[3] = DateToUpdate.Year;
data[4] = DateToUpdate.Month;
data[5] = DateToUpdate.Date;
data[6] = DateToUpdate.WeekDay;
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
__weak void CanRequestToBroadcastOnOff(struct RXMsg _rxMsg)
{
ControlFlags.IsPulse = !ControlFlags.IsPulse;
}
__weak void CanRequestToBroadcastRestart(struct RXMsg _rxMsg)
{
if(_rxMsg.DLC == 0)
{
return;
}
msgBroadcastType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
if(msg.Fields.Page == (CURRENT_ID_DEVICE / (_rxMsg.DLC*8)))
{
uint64_t page = 0;
for(int i = 0; i < _rxMsg.DLC; i++)
{
page+=(_rxMsg.Data[i]<<(i*8));
}
if((page>>CURRENT_ID_DEVICE)&0b1)
{
NVIC_SystemReset();
}
}
return;
}
__weak void CanRequestToBroadcastRtcSetup(struct RXMsg _rxMsg)
{
if(_rxMsg.DLC > 7)
{
//ERROR
}
else
{
int DaysCount_Normal[2][12] = {{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}};
if (_rxMsg.Data[0]>23 ||
_rxMsg.Data[1]>59 ||
_rxMsg.Data[2]>59 ||
_rxMsg.Data[3]>99 ||
_rxMsg.Data[4]>12 ||
_rxMsg.Data[5] > DaysCount_Normal[IsLeapYear(_rxMsg.Data[3])][_rxMsg.Data[4]] ||
_rxMsg.Data[6]>6)
{
//ERROR
}
else
{
REQUESTER_RTC_SYNC(_rxMsg.Data);
}
}
}
/**
* @brief Функция обработки дискретных запросов.
* @param struct RXMsg _rxMsg - структура для полученного сообщения.
* @details Функция, формирующая и отправляющая ответ на запросы. Типы запросов: Аварии, Предупреждения, Управляющие сигналы, Флаги, Рестарт устройства, Изменение режима работы устройства, Запрос на устройство.
* @note Запрос на устройство. Головное (master) устройство запрашивает некоторое колличество параметров. В Data - 64 битовых адресса параметров, тип которых задаётся в Sensor ID. Имеется возможность запрашивать непоследовательные параметры.
*/
CRR_Status REQUESTER_DiscreticProcessing(struct RXMsg _rxMsg)
{
msgDiscreteType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
switch(msg.Fields.Type){
case SENSOR_TYPE_DISCRETE_ACCIDENT:
{
CanRequestToDiscreteAccident(_rxMsg);
break;
}
case SENSOR_TYPE_DISCRETE_WARNING:
{
CanRequestToDiscreteWarning(_rxMsg);
break;
}
case SENSOR_TYPE_DISCRETE_CONTROL_SIGNALS:
{
CanRequestToDiscreteControlSignals(_rxMsg);
break;
}
case SENSOR_TYPE_DISCRETE_FLAGS:
{
CanRequestToDiscreteFlags(_rxMsg);
break;
}
case SENSOR_TYPE_DISCRETE_RESET:
{
CanRequestToDiscreteReset(_rxMsg);
break;
}
case SENSOR_TYPE_DISCRETE_CHANGE_MODE:
{
CanRequestToDiscreteChangeMode(_rxMsg);
break;
}
case SENSOR_TYPE_DISCRETE_REQUEST_LIST_OF_PARAMETERS:
{
CanRequestToDiscreteRequestListOfParameters(_rxMsg);
break;
}
default:
//RESERVE SENSOR TYPE.
return CRR_ERROR;
break;
}
return CRR_OK;
}
__weak void CanRequestToDiscreteAccident(struct RXMsg _rxMsg)
{
return;
}
__weak void CanRequestToDiscreteWarning(struct RXMsg _rxMsg)
{
return;
}
__weak void CanRequestToDiscreteControlSignals(struct RXMsg _rxMsg)
{
return;
}
__weak void CanRequestToDiscreteFlags(struct RXMsg _rxMsg)
{
return;
}
__weak void CanRequestToDiscreteReset(struct RXMsg _rxMsg)
{
NVIC_SystemReset();
}
__weak void CanRequestToDiscreteChangeMode(struct RXMsg _rxMsg)
{
return;
}
__weak void CanRequestToDiscreteRequestListOfParameters(struct RXMsg _rxMsg)
{
return;
}
void REQUESTER_GeneralAddressSpace_Answer(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
data[0] = 'G';
data[1] = 'A';
data[2] = 'S';
data[3] = '-';
for(int i = 0; i < 4; i++) {
unsigned sym = (_rxMsg.eID.Fields.MsgBody>>(12-(i*4)))&0xF;
if(sym >= 10)
data[4+i] = sym%10+'A';
else
data[4+i] = sym+'0';
}
HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief Функция обработки Modbus запросов.
* @param struct RXMsg _rxMsg - структура для полученного сообщения.
* @details Функция, формирующая и отправляющая ответ на запросы.
*/
CRR_Status REQUESTER_ModbusProcessing(struct RXMsg _rxMsg)
{
switch(_rxMsg.eID.Fields.MsgType)
{
case DATA_TYPE_MODBUS_COIL:
{
return (CRR_Status)CanRequestToModbusCoil(_rxMsg);
break;
}
case DATA_TYPE_MODBUS_DISCRETE:
{
return (CRR_Status)CanRequestToModbusDiscrete(_rxMsg);
break;
}
case DATA_TYPE_MODBUS_HOLDING:
{
return (CRR_Status)CanRequestToModbusHolding(_rxMsg);
break;
}
case DATA_TYPE_MODBUS_INPUT:
{
return (CRR_Status)CanRequestToModbusInput(_rxMsg);
break;
}
default:
//ERROR
return CRR_ERROR;
break;
}
return CRR_ERROR;
}
__weak HAL_StatusTypeDef CanRequestToModbusCoil(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
msgModbusType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'M';
data[1] = 'C';
data[2] = ' ';
data[3] = 'S';
data[4] = msg.Fields.StrAdr;
data[5] = ' ';
data[6] = 'C';
data[7] = msg.Fields.RegCount;
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
__weak HAL_StatusTypeDef CanRequestToModbusDiscrete(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
msgModbusType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'M';
data[1] = 'D';
data[2] = ' ';
data[3] = 'S';
data[4] = msg.Fields.StrAdr;
data[5] = ' ';
data[6] = 'C';
data[7] = msg.Fields.RegCount;
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
__weak HAL_StatusTypeDef CanRequestToModbusHolding(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
msgModbusType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'M';
data[1] = 'H';
data[2] = ' ';
data[3] = 'S';
data[4] = msg.Fields.StrAdr;
data[5] = ' ';
data[6] = 'C';
data[7] = msg.Fields.RegCount;
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
__weak HAL_StatusTypeDef CanRequestToModbusInput(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 8;
msgModbusType msg;
msg.Body = _rxMsg.eID.Fields.MsgBody;
data[0] = 'M';
data[1] = 'I';
data[2] = ' ';
data[3] = 'S';
data[4] = msg.Fields.StrAdr;
data[5] = ' ';
data[6] = 'C';
data[7] = msg.Fields.RegCount;
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
__weak HAL_StatusTypeDef CanRequestError(struct RXMsg _rxMsg)
{
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
extID tmp_eID;
tmp_eID.BitAll = _rxMsg.eID.BitAll;
tmp_eID.Fields.Route = ROUTE_SLAVE;
tmp_eID.Fields.MsgType = DATA_TYPE_ERROR;
msgErrorType msg;
msg.Fields.ErrorCode = 0xFF;
msg.Fields.Info = 0;
tmp_eID.Fields.MsgBody = msg.Body;
TxHeader.ExtId = tmp_eID.BitAll;
TxHeader.DLC = 0;
return HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
/**
* @brief
* @param extID tmp_eID
* @param uint32_t tmp_IDE
* @param uint32_t tmp_RTR
* @param uint32_t tmp_DLC
* @param uint8_t *tmp_DATA
* @param uint16_t tmp_LastStep
* @details
*/
void TakeRxMsgToBuffer(extID tmp_eID, uint32_t tmp_IDE, uint32_t tmp_RTR, uint32_t tmp_DLC, uint8_t *tmp_DATA, uint16_t tmp_LastStep)
{
rxMsg[tmp_LastStep].eID.BitAll = tmp_eID.BitAll;
rxMsg[tmp_LastStep].info.EXT = tmp_IDE;
rxMsg[tmp_LastStep].info.RTR = tmp_RTR;
rxMsg[tmp_LastStep].DLC = tmp_DLC;
for(int i = 0; i < tmp_DLC; i++)
{
rxMsg[tmp_LastStep].Data[i] = tmp_DATA[i];
}
LastStep = tmp_LastStep;
}
/**
* @brief Callback-Функция обработки приёма.
* @details Функция, сигнализирующая через флаги в бесконечный цикл REQUESTER_MainWhile о приёме запроса.
*/
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan)
{
CAN_RxHeaderTypeDef RxHeader;
uint8_t RCAN_Data[8];
HAL_CAN_GetRxMessage(hcan, CAN_RX_FIFO0, &RxHeader, RCAN_Data);
//Расширенный ID
if(RxHeader.IDE == CAN_ID_EXT)
{
uint16_t tmp_LastStep = (uint16_t)(LastStep + 1) % CAN_RX_BUFFER_SIZE;
//if(tmp_LastStep == CurrentStep)
if(!((CAN_RX_BUFFER_SIZE + LastStep - (CurrentStep-1))&CAN_RX_BUFFER_SIZE))
{
//Буффер переполнен
return;
}
extID ExtID_Of_RX_MSG;
ExtID_Of_RX_MSG.BitAll = RxHeader.ExtId;
//Полученное сообщение - широковещательное
if (ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_BROADCAST)
{
TakeRxMsgToBuffer(ExtID_Of_RX_MSG, RxHeader.IDE, RxHeader.RTR, RxHeader.DLC, RCAN_Data, tmp_LastStep);
return;
}
//Если ID запроса соответствует ID устройства
if((ExtID_Of_RX_MSG.Fields.DeviceType == CURRENT_TYPE_DEVICE) && (ExtID_Of_RX_MSG.Fields.DeviceID == CURRENT_ID_DEVICE))
{
if(ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_DISCRETE)
{
TakeRxMsgToBuffer(ExtID_Of_RX_MSG, RxHeader.IDE, RxHeader.RTR, RxHeader.DLC, RCAN_Data, tmp_LastStep);
return;
}
if(ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_ANALOG)
{
//Является ли полученное сообщение - запросом
if(RxHeader.RTR)
{
TakeRxMsgToBuffer(ExtID_Of_RX_MSG, RxHeader.IDE, RxHeader.RTR, RxHeader.DLC, RCAN_Data, tmp_LastStep);
return;
}
}
if(ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_GENERAL_ADDRESS_SPACE)
{
TakeRxMsgToBuffer(ExtID_Of_RX_MSG, RxHeader.IDE, RxHeader.RTR, RxHeader.DLC, RCAN_Data, tmp_LastStep);
return;
}
if(ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_MODBUS_COIL ||
ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_MODBUS_DISCRETE ||
ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_MODBUS_HOLDING ||
ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_MODBUS_INPUT)
{
TakeRxMsgToBuffer(ExtID_Of_RX_MSG, RxHeader.IDE, RxHeader.RTR, RxHeader.DLC, RCAN_Data, tmp_LastStep);
return;
}
}
//Полученное сообщение - пульс устройств в сети
if (ExtID_Of_RX_MSG.Fields.MsgType == DATA_TYPE_PULSE)
{
Device_on_the_Network[ExtID_Of_RX_MSG.Fields.DeviceType][ExtID_Of_RX_MSG.Fields.DeviceID].Status = ONLINE;
Device_on_the_Network[ExtID_Of_RX_MSG.Fields.DeviceType][ExtID_Of_RX_MSG.Fields.DeviceID].TimeFromLastPulse = 0;
}
}
}
/**
* @brief Функция отправки пульса устройства.
* @details Пульс устройства. Есть возможность отключить пульс по запросу.
*/
void REQUESTER_Pulse_TIM_Handler()
{
if(ControlFlags.IsPulse)
{
static unsigned PulseStage = 0;
CAN_TxHeaderTypeDef TxHeader;
uint32_t TxMailBox = 0;
extID currentID;
currentID.BitAll = 0;
currentID.Fields.MsgBody = 0;
currentID.Fields.DeviceID = CURRENT_ID_DEVICE;
currentID.Fields.DeviceType = CURRENT_TYPE_DEVICE;
currentID.Fields.MsgType = DATA_TYPE_PULSE;
currentID.Fields.Route = ROUTE_SLAVE;
currentID.Fields.Priority = PRIORITY_STANDARD;
TxHeader.ExtId = currentID.BitAll;
uint8_t data[8];
TxHeader.IDE = CAN_ID_EXT;
TxHeader.TransmitGlobalTime = DISABLE;
TxHeader.RTR = CAN_RTR_DATA;
TxHeader.DLC = 1;
PulseStage++;
unsigned int debugID;
debugID = currentID.BitAll;
if(PulseStage > 0xFF){
PulseStage = 0;
}
data[0] = PulseStage;
HAL_CAN_AddTxMessage(&_HCAN, &TxHeader, data, &TxMailBox);
}
}
/**
* @brief Функция установки в RTC полученной даты/время из запроса.
* @param uint8_t *data - Байтовый массив, 7 элементов. [0] - Часы. [1] - Минуты. [2] - Секунды. [3] - Год. [4] - Месяц. [5] - Дата. [6] - День недели.
*/
void REQUESTER_RTC_SYNC(uint8_t *data)
{
__HAL_RTC_WRITEPROTECTION_DISABLE(&hrtc);
RTC_TimeTypeDef sTime = {0};
RTC_DateTypeDef DateToUpdate = {0};
sTime.Hours = data[0];
sTime.Minutes = data[1];
sTime.Seconds = data[2];
if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN) != HAL_OK)
{
Error_Handler();
}
DateToUpdate.Year = data[3];
DateToUpdate.Month = data[4];
DateToUpdate.Date = data[5];
DateToUpdate.WeekDay = data[6];
if (HAL_RTC_SetDate(&hrtc, &DateToUpdate, RTC_FORMAT_BIN) != HAL_OK)
{
Error_Handler();
}
__HAL_RTC_WRITEPROTECTION_ENABLE(&hrtc);
}
/**
* @brief Функция настройки фильтров CAN.
* @details Настройка фильтров. Фильр для приёма сообщений с главного устройства. Фильтр для приёма на текущее устройство. Фильтр для приёма пульса других устройств в сети.
*/
void CONFIG_CAN_FILTER(uint8_t filterBank, uint32_t idFilter, uint32_t idMask)
{
CAN_FilterTypeDef canFilterConfig;
canFilterConfig.FilterBank = filterBank;
canFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
canFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
canFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
canFilterConfig.FilterActivation = ENABLE;
canFilterConfig.SlaveStartFilterBank = 14;
// Разбиваем 32-битный ID и маску для фильтрации на High и Low 16 бит
canFilterConfig.FilterIdHigh = (uint16_t)( ((idFilter) >> 13) ); // верхние 16 бит
canFilterConfig.FilterIdLow = (uint16_t)( (((idFilter) << 3) ) | CAN_IDE_32 ); // низкие 16 бит,
canFilterConfig.FilterMaskIdHigh = (uint16_t)(((idMask) >> 13) );
canFilterConfig.FilterMaskIdLow = (uint16_t)( (((idMask) << 3) ) | CAN_IDE_32 );
if(HAL_CAN_ConfigFilter(&_HCAN, &canFilterConfig) != HAL_OK)
{
Error_Handler();
}
}
#define BIT27 (1UL << 27)
#define BITS_20_23_MASK (0xFUL << 20) // 4 бита (20..23)
#define BITS_24_26_MASK (0x7UL << 24) // 3 бита (24..26)
uint32_t filter1_id = BIT27 | (CURRENT_TYPE_DEVICE << 24) | (CURRENT_ID_DEVICE << 20);
uint32_t filter1_mask = BIT27 | BITS_24_26_MASK | BITS_20_23_MASK; // все проверяемые биты
#define BITS_16_19_MASK (0xFUL << 16)
uint32_t filter2_id = DATA_TYPE_BROADCAST << 16;
uint32_t filter2_mask = BITS_16_19_MASK;
uint32_t filter3_id = DATA_TYPE_PULSE << 16;
uint32_t filter3_mask = BITS_16_19_MASK;
void REQUESTER_CAN_FILTERS()
{
// Первый фильтр: проверяем 20-27 биты, где 27-й всегда 1
CONFIG_CAN_FILTER(0, filter1_id, filter1_mask);
// Второй фильтр: проверяем 16-19 биты, равны DATA_TYPE_BROADCASTE
CONFIG_CAN_FILTER(1, filter2_id, filter2_mask);
// Третий фильтр: проверяем 16-19 биты, равны DATA_TYPE_PULSE
CONFIG_CAN_FILTER(2, filter3_id, filter3_mask);
//CONFIG_CAN_FILTER(3, 0, 0);
}
//void REQUESTER_CAN_FILTERS()
//{
// //MAIN DEVICE
// CAN_FilterTypeDef canFilterConfig;
// canFilterConfig.FilterBank = 0;
// canFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
// canFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
// /*Для ID устройства используются восемь младших битов.
// Макс значение 0 устройство - 0x000, 1 - 0x002, 2 - 0x004, 3 - 0x006*/
// canFilterConfig.FilterIdHigh = (uint16_t)(ID_MAIN_DEVICE>>13);
// canFilterConfig.FilterIdLow = (uint16_t)(ID_MAIN_DEVICE<<5) | CAN_IDE_32;
// /*Маска 1.1111.1110.<...>. Нули - любые символы. Единицы - точное соответствие фильтру выше.*/
// canFilterConfig.FilterMaskIdHigh = (uint16_t)(CAN_DEVICE_ID_FILTER>>13);
// canFilterConfig.FilterMaskIdLow = (uint16_t)(CAN_DEVICE_ID_FILTER<<3) | CAN_IDE_32;
// canFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
// canFilterConfig.FilterActivation = ENABLE;
// canFilterConfig.SlaveStartFilterBank = 14;
// if(HAL_CAN_ConfigFilter(&_HCAN, &canFilterConfig) != HAL_OK)
// {
// Error_Handler();
// }
//
// //CURRENT DEVICE
// canFilterConfig.FilterBank = 1;
// /*Для ID устройства используются восемь младших битов.
// Макс значение 0 устройство - 0x000, 1 - 0x002, 2 - 0x004, 3 - 0x006*/
// canFilterConfig.FilterIdHigh = (uint16_t)(CURRENT_ID_DEVICE>>13);
// canFilterConfig.FilterIdLow = (uint16_t)(CURRENT_ID_DEVICE<<5) | CAN_IDE_32;
// /*Маска 1.1111.1110.<...>. Нули - любые символы. Единицы - точное соответствие фильтру выше.*/
// canFilterConfig.FilterMaskIdHigh = (uint16_t)(CAN_DEVICE_ID_FILTER>>13);
// canFilterConfig.FilterMaskIdLow = (uint16_t)(CAN_DEVICE_ID_FILTER<<3) | CAN_IDE_32;
// if(HAL_CAN_ConfigFilter(&_HCAN, &canFilterConfig) != HAL_OK)
// {
// Error_Handler();
// }
//
// //MODBUS
// canFilterConfig.FilterBank = 2;
// canFilterConfig.FilterIdHigh = (uint16_t)(0x03000000>>13);
// canFilterConfig.FilterIdLow = (uint16_t)(0x03000000<<5) | CAN_IDE_32;
// canFilterConfig.FilterMaskIdHigh = (uint16_t)(CAN_DATA_TYPE_FILTER>>13); // we're checking only high 13 bits, that contained "key"
// canFilterConfig.FilterMaskIdLow = (uint16_t)(CAN_DATA_TYPE_FILTER<<3) | CAN_IDE_32; // 1<<2 - set IDE bit
// if(HAL_CAN_ConfigFilter(&_HCAN, &canFilterConfig) != HAL_OK)
// {
// Error_Handler();
// }
//
// //PULSE
// canFilterConfig.FilterBank = 3;
// canFilterConfig.FilterIdHigh = (uint16_t)(HighIdFilter(DATA_TYPE_PULSE)>>13);
// canFilterConfig.FilterIdLow = (uint16_t)(HighIdFilter(DATA_TYPE_PULSE)<<5) | CAN_IDE_32;
// canFilterConfig.FilterMaskIdHigh = (uint16_t)(CAN_DATA_TYPE_FILTER>>13); // we're checking only high 13 bits, that contained "key"
// canFilterConfig.FilterMaskIdLow = (uint16_t)(CAN_DATA_TYPE_FILTER<<3) | CAN_IDE_32; // 1<<2 - set IDE bit
// if(HAL_CAN_ConfigFilter(&_HCAN, &canFilterConfig) != HAL_OK)
// {
// Error_Handler();
// }
//
// //DEBUG FILTER "ALL IDE WELCOME"
// canFilterConfig.FilterBank = 4;
// canFilterConfig.FilterIdHigh = (uint16_t)(HighIdFilter(0)>>13);
// canFilterConfig.FilterIdLow = (uint16_t)(HighIdFilter(0)<<5) | CAN_IDE_32;
// canFilterConfig.FilterMaskIdHigh = (uint16_t)(0>>13); // we're checking only high 13 bits, that contained "key"
// canFilterConfig.FilterMaskIdLow = (uint16_t)(0<<3) | CAN_IDE_32; // 1<<2 - set IDE bit
// if(HAL_CAN_ConfigFilter(&_HCAN, &canFilterConfig) != HAL_OK)
// {
// Error_Handler();
// }
//}

View File

@@ -261,7 +261,7 @@ void CAN1_SCE_IRQHandler(void)
void TIM4_IRQHandler(void)
{
/* USER CODE BEGIN TIM4_IRQn 0 */
REQUESTER_Pulse_TIM_Handler();
/* USER CODE END TIM4_IRQn 0 */
HAL_TIM_IRQHandler(&htim4);
/* USER CODE BEGIN TIM4_IRQn 1 */

View File

@@ -21,7 +21,8 @@
#include "tim.h"
/* USER CODE BEGIN 0 */
// TIM defines
#define TIM_PROTOCAN_Prescaler 64000
/* USER CODE END 0 */
TIM_HandleTypeDef htim4;
@@ -41,7 +42,7 @@ void MX_TIM4_Init(void)
/* USER CODE END TIM4_Init 1 */
htim4.Instance = TIM4;
htim4.Init.Prescaler = TIM_REQUESTER_Prescaler-1;
htim4.Init.Prescaler = TIM_PROTOCAN_Prescaler-1;
htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
htim4.Init.Period = 1000;
htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

View File

@@ -86,7 +86,7 @@ ProjectManager.ProjectBuild=false
ProjectManager.ProjectFileName=F103C8T6.ioc
ProjectManager.ProjectName=F103C8T6
ProjectManager.ProjectStructure=
ProjectManager.RegisterCallBack=
ProjectManager.RegisterCallBack=CAN,TIM
ProjectManager.StackSize=0x400
ProjectManager.TargetToolchain=MDK-ARM V5.32
ProjectManager.ToolChainLocation=

File diff suppressed because one or more lines are too long

View File

@@ -145,16 +145,48 @@
<SetRegEntry>
<Number>0</Number>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U37FF71064E57343634C31443 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL010000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2</Name>
<Name>-U37FF71064E57343634C31443 -O2254 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL010000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2</Name>
</SetRegEntry>
</TargetDriverDllRegistry>
<Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>70</LineNumber>
<LineNumber>135</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134238860</Address>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\Core\Src\protocan.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>158</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134236802</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\Core\Src\protocan.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\F103C8T6\../Core/Src/protocan.c\158</Expression>
</Bp>
<Bp>
<Number>2</Number>
<Type>0</Type>
<LineNumber>76</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134243560</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
@@ -163,23 +195,103 @@
<BreakIfRCount>1</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\F103C8T6\../Core/Src/main.c\70</Expression>
<Expression>\\F103C8T6\../Core/Src/main.c\76</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Number>3</Number>
<Type>0</Type>
<LineNumber>691</LineNumber>
<LineNumber>66</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134224302</Address>
<Address>134235748</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\Core\Src\requester.c</Filename>
<Filename>..\Core\Src\protocan.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\F103C8T6\../Core/Src/requester.c\691</Expression>
<Expression>\\F103C8T6\../Core/Src/protocan.c\66</Expression>
</Bp>
<Bp>
<Number>4</Number>
<Type>0</Type>
<LineNumber>717</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134237434</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>..\Core\Src\protocan.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\F103C8T6\../Core/Src/protocan.c\717</Expression>
</Bp>
<Bp>
<Number>5</Number>
<Type>0</Type>
<LineNumber>159</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\Core\Src\protocan.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>6</Number>
<Type>0</Type>
<LineNumber>160</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\Core\Src\protocan.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>7</Number>
<Type>0</Type>
<LineNumber>718</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\Core\Src\protocan.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
<Bp>
<Number>8</Number>
<Type>0</Type>
<LineNumber>719</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>0</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>0</BreakIfRCount>
<Filename>..\Core\Src\protocan.c</Filename>
<ExecCommand></ExecCommand>
<Expression></Expression>
</Bp>
</Breakpoint>
<WatchWindow1>
@@ -231,37 +343,12 @@
<Ww>
<count>9</count>
<WinNumber>1</WinNumber>
<ItemText>rxMsg</ItemText>
<ItemText>CAN_RC_RESULT</ItemText>
</Ww>
<Ww>
<count>10</count>
<WinNumber>1</WinNumber>
<ItemText>RxHeader</ItemText>
</Ww>
<Ww>
<count>11</count>
<WinNumber>1</WinNumber>
<ItemText>ExtID_Of_RX_MSG</ItemText>
</Ww>
<Ww>
<count>12</count>
<WinNumber>1</WinNumber>
<ItemText>ControlFlags</ItemText>
</Ww>
<Ww>
<count>13</count>
<WinNumber>1</WinNumber>
<ItemText>CAN_RX_BUFFER_SIZE</ItemText>
</Ww>
<Ww>
<count>14</count>
<WinNumber>1</WinNumber>
<ItemText>LastStep</ItemText>
</Ww>
<Ww>
<count>15</count>
<WinNumber>1</WinNumber>
<ItemText>CurrentStep</ItemText>
<ItemText>tmp_hcan</ItemText>
</Ww>
</WatchWindow1>
<Tracepoint>
@@ -359,6 +446,54 @@
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\canerrorbox.c</PathWithFileName>
<FilenameWithoutPath>canerrorbox.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>3</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Inc\canerrorbox.h</PathWithFileName>
<FilenameWithoutPath>canerrorbox.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\protocan.c</PathWithFileName>
<FilenameWithoutPath>protocan.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Inc\protocan.h</PathWithFileName>
<FilenameWithoutPath>protocan.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
@@ -366,7 +501,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>3</FileNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -378,7 +513,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>4</FileNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -390,7 +525,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>5</FileNumber>
<FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -402,7 +537,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -414,7 +549,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber>
<FileNumber>11</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -426,7 +561,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber>
<FileNumber>12</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -436,30 +571,6 @@
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber>
<FileType>5</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Inc\requester.h</PathWithFileName>
<FilenameWithoutPath>requester.h</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\requester.c</PathWithFileName>
<FilenameWithoutPath>requester.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
</Group>
<Group>
@@ -470,7 +581,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>11</FileNumber>
<FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -482,7 +593,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>12</FileNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -494,7 +605,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>13</FileNumber>
<FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -506,7 +617,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>14</FileNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -518,7 +629,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>15</FileNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -530,7 +641,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>16</FileNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -542,7 +653,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>17</FileNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -554,7 +665,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>18</FileNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -566,7 +677,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>19</FileNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -578,7 +689,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>20</FileNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -590,7 +701,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>21</FileNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -602,7 +713,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>22</FileNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -614,7 +725,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>23</FileNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -626,7 +737,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>24</FileNumber>
<FileNumber>26</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -638,7 +749,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>25</FileNumber>
<FileNumber>27</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -650,7 +761,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>26</FileNumber>
<FileNumber>28</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -670,7 +781,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>27</FileNumber>
<FileNumber>29</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>

View File

@@ -395,6 +395,26 @@
<Group>
<GroupName>Application/User/Core</GroupName>
<Files>
<File>
<FileName>canerrorbox.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\canerrorbox.c</FilePath>
</File>
<File>
<FileName>canerrorbox.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Inc\canerrorbox.h</FilePath>
</File>
<File>
<FileName>protocan.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\protocan.c</FilePath>
</File>
<File>
<FileName>protocan.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Inc\protocan.h</FilePath>
</File>
<File>
<FileName>main.c</FileName>
<FileType>1</FileType>
@@ -634,16 +654,6 @@
<FileType>1</FileType>
<FilePath>../Core/Src/stm32f1xx_hal_msp.c</FilePath>
</File>
<File>
<FileName>requester.h</FileName>
<FileType>5</FileType>
<FilePath>..\Core\Inc\requester.h</FilePath>
</File>
<File>
<FileName>requester.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\requester.c</FilePath>
</File>
</Files>
</Group>
<Group>
@@ -914,4 +924,13 @@
<files/>
</RTE>
<LayerInfo>
<Layers>
<Layer>
<LayName>F103C8T6</LayName>
<LayPrjMark>1</LayPrjMark>
</Layer>
</Layers>
</LayerInfo>
</Project>

Binary file not shown.

View File

@@ -22,14 +22,14 @@ Dialog DLL: TCM.DLL V1.56.4.0
<h2>Project:</h2>
D:\Work\MCU\F103C8T6\MDK-ARM\F103C8T6.uvprojx
Project File Date: 03/04/2026
Project File Date: 05/29/2026
<h2>Output:</h2>
*** Using Compiler 'V6.19', folder: 'C:\Keil_v5\ARM\ARMCLANG\Bin'
Build target 'F103C8T6'
compiling requester.c...
compiling main.c...
linking...
Program Size: Code=20936 RO-data=424 RW-data=36 ZI-data=6396
Program Size: Code=25688 RO-data=424 RW-data=16 ZI-data=6656
FromELF: creating hex file...
"F103C8T6\F103C8T6.axf" - 0 Error(s), 0 Warning(s).
@@ -55,7 +55,7 @@ Package Vendor: Keil
* Component: ARM::CMSIS:CORE:5.6.0
Include file: CMSIS/Core/Include/tz_context.h
Build Time Elapsed: 00:00:00
Build Time Elapsed: 00:00:01
</pre>
</body>
</html>

View File

@@ -1,33 +1,33 @@
:020000040800F2
:100000002019002089010008713E0008213C0008E9
:100010006D3E00081503000899510008000000001B
:10002000000000000000000000000000A14D0008DA
:10003000910D000800000000E13E0008F94D0008A5
:10000000101A00208901000835420008E53F000869
:100010003142000815030008B96300080000000021
:10002000000000000000000000000000055F000864
:100030001105000800000000554D00085D5F000834
:10004000A3010008A3010008A3010008A301000800
:10005000A3010008A3010008A3010008A3010008F0
:10006000A3010008A3010008A3010008A3010008E0
:10007000A3010008A3010008A3010008A3010008D0
:10008000A3010008A3010008A3010008795100089A
:10009000895100081903000829030008A30100087A
:10008000A3010008A3010008A30100089963000868
:10009000A96300081903000829030008A301000848
:1000A000A3010008A3010008A3010008A3010008A0
:1000B000A3010008A3010008A14E0008A301000845
:1000B000A3010008A301000805600008A3010008CF
:1000C000A3010008A3010008A3010008A301000880
:1000D000A3010008A3010008A3010008A301000870
:1000E000A3010008A3010008A301000800F002F822
:1000F00000F03AF80AA090E8000C82448344AAF188
:100100000107DA4501D100F02FF8AFF2090EBAE885
:100110000F0013F0010F18BFFB1A43F0010318473B
:100120003052000050520000103A24BF78C878C105
:10012000C0640000E0640000103A24BF78C878C1C1
:10013000FAD8520724BF30C830C144BF04680C60ED
:10014000704700000023002400250026103A28BF35
:1001500078C1FBD8520728BF30C148BF0B60704739
:100160001FB51FBD10B510BD00F08AF81146FFF78E
:10017000F7FF05F087F800F0A8F803B4FFF7F2FFE7
:10017000F7FF06F0B3F900F0A8F803B4FFF7F2FFB9
:1001800003BC00F0AFF80000094880470948004769
:10019000FEE7FEE7FEE7FEE7FEE7FEE7FEE7FEE737
:1001A000FEE7FEE704480549054A064B7047000094
:1001B0009D4E0008ED0000082013002020190020AB
:1001C000201500202015002010B5203AC0F00B802B
:1001B00001600008ED00000810140020101A002053
:1001C000101600201016002010B5203AC0F00B8049
:1001D000B1E81850A0E81850B1E81850A0E818503D
:1001E000203ABFF4F5AF5FEA027C24BFB1E81850B3
:1001F000A0E8185044BF18C918C0BDE810405FEA15
@@ -45,1297 +45,1592 @@
:1002B000AC46ACE8C009ACE8C009ACE8C009ACE8A1
:1002C000C00921F007018D46704710B50446AFF311
:1002D00000802046BDE81040FFF74FBF0048704740
:1002E0002800002001491820ABBEFEE726000200CE
:1002F0007047000040F68C00C2F20000007840F227
:1002E0001000002001491820ABBEFEE726000200E6
:1002F0007047000040F6CC00C2F20000007840F2E7
:100300000001C2F200010978401A813000F07F003C
:1003100070470000FFE7FEE780B540F69800C2F2A4
:10032000000000F0E1FF80BD80B540F69800C2F209
:10033000000000F0D9FF80BD80B58EB08DF8370089
:100340000C910B929DF83700069000210791012037
:100350000890059109900E200A900C98C0F34F3038
:1003600001900C98C000043080B202900B98C0F34A
:100370004F3003900B98C000043080B2049040F6D8
:100380009800C2F2000001A900F0E2FD18B1FFE7F9
:1003900000F000FDFFE70EB080BD000080B590B01A
:1003A000DDF848C0CDF83CC00E930D920C910B9037
:1003B00000200490042107918DF8280008900C9AE1
:1003C000019962F31C0101919DF8071001F0F701FA
:1003D0008DF807109DF8061001F0F00108318DF836
:1003E0000610FF218DF800108DF80100BDF80010F7
:1003F000ADF80410019921F060410691099040F692
:100400009800C2F2000005A902AA04AB00F0F4FCB7
:1004100010B080BD80B590B0DDF848C0CDF83CC0CC
:100420000E930D920C910B900020049004210791E3
:100430008DF8280008900C99019861F31C00019038
:100440009DF8070000F0F7008DF80700019820F0F4
:100450006040069006200990BDF83000ADF800001D
:1004600049208DF8080053208DF80900BDF80000E0
:100470006FF31F3044F6D351C1F26201A0FB0101BA
:100480002F2000EB91108DF80A00BDF800006FF3EB
:100490001F3048F21F51C5F2EB11A0FB01104009BB
:1004A00046F26761C6F2666180FB012303F01C021D
:1004B00002EB9302A0EB42002F308DF80B00BDF849
:1004C00000006FF31F304CF6CD42CCF6CC42A0FBBF
:1004D0000230C00880FB011303F0FC0101EB930123
:1004E000A0EB41002F308DF80C00BDF80000014654
:1004F0006FF31F31A1FB0221C90801EB8101A0EBC1
:1005000041002F308DF80D0040F69800C2F2000037
:1005100005A902AA04AB00F06FFC10B080BD00007A
:1005200080B590B0DDF848C0CDF83CC00E930D9278
:100530000C910B9000200490042107918DF8280065
:1005400008900C99019861F31C0001909DF8070038
:1005500000F0F7008DF80700019820F06040069049
:1005600006200990BDF83000ADF8000054208DF849
:10057000080053208DF80900BDF800006FF31F300C
:1005800044F6D351C1F26201A0FB01012F2000EB20
:1005900091108DF80A00BDF800006FF31F3048F28B
:1005A0001F51C5F2EB11A0FB0110400946F2676133
:1005B000C6F2666180FB012303F01C0202EB93028A
:1005C000A0EB42002F308DF80B00BDF800006FF358
:1005D0001F304CF6CD42CCF6CC42A0FB0230C00816
:1005E00080FB011303F0FC0101EB9301A0EB410040
:1005F0002F308DF80C00BDF8000001466FF31F315D
:10060000A1FB0221C90801EB8101A0EB41002F30C1
:100610008DF80D0040F69800C2F2000005A902AA6C
:1006200004AB00F0E9FB10B080BD000080B590B0D5
:10063000DDF848C0CDF83CC00E930D920C910B90A4
:1006400000200490042107918DF8280008900C994F
:10065000019861F31C0001909DF8070000F0F7007D
:100660008DF80700019820F060400690072009905F
:1006700055208DF8080053208DF8090054208DF87E
:100680000A0041208DF80B0056208DF80C004B20FD
:100690008DF80D0049208DF80E0040F69800C2F24A
:1006A000000005A902AA04AB00F0A6FB10B080BDB3
:1006B00080B590B0DDF848C0CDF83CC00E930D92E7
:1006C0000C910B9000200490042107918DF82800D4
:1006D00008900C99019861F31C0001909DF80700A7
:1006E00000F0F7008DF80700019820F060400690B8
:1006F00006200990BDF83000ADF8000055208DF8B7
:10070000080053208DF80900BDF800006FF31F307A
:1007100044F6D351C1F26201A0FB01012F2000EB8E
:1007200091108DF80A00BDF800006FF31F3048F2F9
:100730001F51C5F2EB11A0FB0110400946F26761A1
:10074000C6F2666180FB012303F01C0202EB9302F8
:10075000A0EB42002F308DF80B00BDF800006FF3C6
:100760001F304CF6CD42CCF6CC42A0FB0230C00884
:1007700080FB011303F0FC0101EB9301A0EB4100AE
:100780002F308DF80C00BDF8000001466FF31F31CB
:10079000A1FB0221C90801EB8101A0EB41002F3030
:1007A0008DF80D0040F69800C2F2000005A902AADB
:1007B00004AB00F021FB10B080BD000080B590B00C
:1007C000DDF848C0CDF83CC00E930D920C910B9013
:1007D00000200490042107918DF8280008900C99BE
:1007E000019861F31C0001909DF8070000F0F700EC
:1007F0008DF80700019820F06040069006200990CF
:1008000055208DF808004E208DF8090049208DF8FC
:100810000A0056208DF80B0045208DF80C00522060
:100820008DF80D0040F69800C2F2000005A902AA5A
:1008300004AB00F0E1FA10B080BD000080B585B0D7
:10084000DDF81CC0CDF810C0039302920191009016
:1008500040F28801C2F2000108780122824300F0D0
:10086000FE001044087005B080BD000080B58AB05D
:10087000DDF830C0CDF824C00893079206910590AA
:10088000BDF81C0008B9FFE737E0BDF81800ADF867
:100890001000BDF8100000F00F00BDF81C10CA00D9
:1008A0000221B1FBF2F1884226D1FFE7002003903C
:1008B00002900190FFE70198BDF81C10884213DAFE
:1008C000FFE7019905A80844807AC90000FA01F2FF
:1008D00002990398891840EBE27002910390FFE7B8
:1008E000019801300190E6E702988008C00710B136
:1008F000FFE704F0B3FCFFE7FFE70AB080BD0000AC
:1009000080B59EB0DDF880C0CDF874C01C931B92FA
:100910001A911990BDF86C00082801DBFFE741E04F
:1009200045F2B421C0F6000101A86022FFF74CFC9B
:100930009DF86E0017282EDCFFE79DF86F003B281E
:1009400029DCFFE79DF870003B2824DCFFE79DF8D9
:10095000710063281FDCFFE79DF872000C281ADC89
:10096000FFE79DF871009DF87310009103F05AF9AC
:100970000146009801EB410201A901EB02119DF82B
:10098000722051F82210884205DCFFE79DF87400C0
:10099000072801DBFFE704E019A80A3003F01EFF77
:1009A000FFE7FFE71EB080BD80B594B0DDF858C00A
:1009B000CDF84CC01293119210910F900022019229
:1009C000089204200B9007200D908DF838200C928F
:1009D0001099059861F31C0005909DF8170000F030
:1009E000F7008DF817009DF8170000F0F8000130AF
:1009F0008DF817009DF81600022161F31F108DF885
:100A00001600059820F060400A908DF81220ADF88D
:100A1000102040F6C000C2F20000029004A902F0CB
:100A200075FA019A02989DF810108DF818109DF82B
:100A300011108DF819109DF812108DF81A100392EC
:100A400003A902F015FA9DF80F008DF81B009DF820
:100A50000D008DF81C009DF80E008DF81D009DF80E
:100A60000C008DF81E0040F69800C2F2000009A9A3
:100A700006AA08AB00F0C0F914B080BD80B585B0FF
:100A8000DDF81CC0CDF810C00393029201910090D4
:100A900005B080BD80B585B0DDF81CC0CDF810C0B4
:100AA000039302920191009005B080BD80B585B09E
:100AB000DDF81CC0CDF810C00393029201910090A4
:100AC00005B080BD80B585B0DDF81CC0CDF810C084
:100AD000039302920191009005B080BD80B585B06E
:100AE000DDF81CC0CDF810C0039302920191009074
:100AF00005B080BD80B586B0DDF820C0CDF814C04B
:100B0000049303920291019004F0A8FB80B585B094
:100B1000DDF81CC0CDF810C0039302920191009043
:100B200005B080BD80B590B0DDF848C0CDF83CC0C0
:100B30000E930D920C910B900020049004210791CC
:100B40008DF8280008900C99019861F31C00019021
:100B50009DF8070000F0F7008DF80700019820F0DD
:100B60006040069008200990BDF83000ADF8000004
:100B70004D208DF8080043208DF8090020218DF8C4
:100B80000A1053228DF80B20BDF8002012098DF8B1
:100B90000C208DF80D108DF80E009DF8000000F06F
:100BA0000F008DF80F0040F69800C2F2000005A972
:100BB00002AA04AB00F020F910B080BD80B590B05F
:100BC000DDF848C0CDF83CC00E930D920C910B900F
:100BD00000200490042107918DF8280008900C99BA
:100BE000019861F31C0001909DF8070000F0F700E8
:100BF0008DF80700019820F06040069008200990C9
:100C0000BDF83000ADF800004D208DF808004420FC
:100C10008DF8090020208DF80A0053218DF80B1063
:100C2000BDF8001009098DF80C108DF80D00432057
:100C30008DF80E009DF8000000F00F008DF80F00F9
:100C400040F69800C2F2000005A902AA04AB00F029
:100C5000D3F810B080BD000080B590B0DDF848C07A
:100C6000CDF83CC00E930D920C910B900020049097
:100C7000042107918DF8280008900C99019861F3E0
:100C80001C0001909DF8070000F0F7008DF80700A8
:100C9000019820F06040069008200990BDF83000CF
:100CA000ADF800004D208DF8080048208DF80900AF
:100CB00020208DF80A0053218DF80B10BDF800108C
:100CC00009098DF80C108DF80D0043208DF80E00E9
:100CD0009DF8000000F00F008DF80F0040F698001E
:100CE000C2F2000005A902AA04AB00F085F810B01A
:100CF00080BD000080B590B0DDF848C0CDF83CC0A4
:100D00000E930D920C910B900020049004210791FA
:100D10008DF8280008900C99019861F31C0001904F
:100D20009DF8070000F0F7008DF80700019820F00B
:100D30006040069008200990BDF83000ADF8000032
:100D40004D208DF8080049208DF8090020208DF8ED
:100D50000A0053218DF80B10BDF8001009098DF819
:100D60000C108DF80D0043208DF80E009DF800004A
:100D700000F00F008DF80F0040F69800C2F200005E
:100D800005A902AA04AB00F037F810B080BD00003E
:100D90007047000081B0EFF3108072B60090FFE75B
:100DA000FEE7000084B002900191029890F82000C4
:100DB0008DF803009DF80300012805D0FFE79DF89A
:100DC000030002280AD1FFE7019A029801684869E6
:100DD0001043486100208DF80F0008E00299486A2E
:100DE00040F48020486201208DF80F00FFE79DF855
:100DF0000F0004B07047000088B00690059104927F
:100E00000393069890F820008DF807000698006874
:100E1000806800900598806808B9FFE700E0FFE768
:100E20009DF80700012806D0FFE79DF8070002287B
:100E300040F08080FFE79DF80300400700280CD4B5
:100E4000FFE79DF803000007002806D4FFE79DF8A0
:100E50000300C006002864D5FFE70098C0F30160D6
:100E600002900299012088400399086005988068E3
:100E700068B9FFE705980168C06840EA41500699E3
:100E80000968029A01EB0211C1F880010EE0059990
:100E90004A688868C96840EAC20008430699096838
:100EA000029A01EB0211C1F88001FFE70598006981
:100EB00006990968029A01EB0211C1F884010598AC
:100EC000007D01280CD1FFE706980068029900EB2D
:100ED0000111D1F8840140F48070C1F88401FFE76A
:100EE0000498406806990968029A01EB0211C1F85A
:100EF0008C010498006806990968029A01EB0211B6
:100F0000C1F8880106980068029900EB0111D1F838
:100F1000800140F00100C1F8800100208DF81F0021
:100F200011E00699486A40F40010486201208DF8EB
:100F30001F0008E00699486A40F4802048620120BA
:100F40008DF81F00FFE79DF81F0008B070470000F4
:100F500086B004900391049800680190049890F87A
:100F600020008DF803009DF80300012806D0FFE75C
:100F70009DF80300022840F09B80FFE70199D1F81B
:100F8000000240F00100C1F800020398406900F03F
:100F90001F01012088400290029A0199D1F81C0299
:100FA0009043C1F81C020398C069F0B9FFE7029AA8
:100FB0000199D1F80C029043C1F80C02039A908871
:100FC000D168526940EA0140019901EBC201C1F8C0
:100FD0004002039A10889168526940EA01400199E1
:100FE00001EBC201C1F84402FFE70398C069012880
:100FF0001ED1FFE7029A0199D1F80C021043C1F803
:101000000C02039A90881168526940EA01400199E4
:1010100001EBC201C1F84002039A908991685269BC
:1010200040EA0140019901EBC201C1F84402FFE727
:101030000398806940B9FFE7029A0199D1F8040248
:101040009043C1F8040207E0029A0199D1F8040222
:101050001043C1F80402FFE70398006940B9FFE7B5
:10106000029A0199D1F814029043C1F8140207E0E2
:10107000029A0199D1F814021043C1F81402FFE753
:101080000398006A012808D1FFE7029A0199D1F874
:101090001C021043C1F81C02FFE70199D1F80002BD
:1010A00020F00100C1F8000200208DF8170008E0D0
:1010B0000499486A40F48020486201208DF81700A6
:1010C000FFE79DF8170006B07047000081B0009060
:1010D00001B0704786B00490039102920193049886
:1010E00090F820008DF803009DF80300012806D039
:1010F000FFE79DF80300022840F0E880FFE703982F
:1011000080B9FFE704980068C068800748B9FFE726
:101110000499486A40F40010486201208DF81700D5
:10112000DDE00FE0049800680069800748B9FFE738
:101130000499486A40F40010486201208DF81700B5
:10114000CDE0FFE704980068039900EB0110D0F8A8
:10115000B00100F00400029988600298806858B9D4
:10116000FFE704980068039900EB0110D0F8B00184
:10117000400D029908600AE004980068039900EBAA
:101180000110D0F8B001C00802994860FFE7049848
:101190000068039900EB0110D0F8B00100F00200E4
:1011A0000299C86004980068039900EB0110D0F818
:1011B000B40100F00F00082804D3FFE702990820CB
:1011C00008610BE004980068039900EB0110D0F867
:1011D000B40100F00F0002990861FFE7049800686D
:1011E000039900EB0110D0F8B40180B2000A029913
:1011F000886104980068039900EB0110D0F8B401ED
:10120000000C0299486104980068039900EB0110F2
:10121000D0F8B8010199087004980068039900EBB0
:101220000110D0F8B801000A0199487004980068CC
:10123000039900EB0110D0F8B801000C01998870F7
:1012400004980068039900EB0110D0F8B801000E73
:101250000199C87004980068039900EB0110D0F858
:10126000BC010199087104980068039900EB011012
:10127000D0F8BC01000A01994871049800680399EC
:1012800000EB0110D0F8BC01000C019988710498A2
:101290000068039900EB0110D0F8BC01000E019921
:1012A000C871039838B9FFE704980168C86840F02E
:1012B0002000C86006E004980168086940F020003A
:1012C0000861FFE700208DF8170008E00499486ADC
:1012D00040F48020486201208DF81700FFE79DF858
:1012E000170006B07047000080B58AB00990002052
:1012F000089009980068406907900998006840685C
:101300000690099800688068059009980068C06890
:101310000490099800680069039009980068806942
:1013200002909DF81C00C007002800F09480FFE7A1
:101330009DF81400C00758B3FFE709980168012021
:1013400088609DF814008007002804D5FFE70998FD
:1013500000F06EFC1BE09DF814004007002805D546
:10136000FFE7089840F4006008900FE09DF8140033
:101370000007002805D5FFE7089840F48050089042
:1013800003E0099800F050FCFFE7FFE7FFE7FFE705
:101390009DF81500C00760B3FFE7099801684FF496
:1013A000807088609DF815008007002804D5FFE74D
:1013B000099800F045FC1BE09DF815004007002847
:1013C00005D5FFE7089840F4005008900FE09DF81D
:1013D00015000007002805D5FFE7089840F4804075
:1013E000089003E0099800F027FCFFE7FFE7FFE71C
:1013F000FFE79DF81600C00760B3FFE70998016892
:101400004FF4803088609DF816008007002804D5CE
:10141000FFE7099800F01CFC1BE09DF81600400750
:10142000002805D5FFE7089840F4004008900FE039
:101430009DF816000007002805D5FFE7089840F43E
:101440008030089003E0099800F0FEFBFFE7FFE71B
:10145000FFE7FFE7FFE79DF81C000007002810D515
:10146000FFE79DF81000C006002809D5FFE708989F
:1014700040F400700890099801681020C860FFE7E8
:10148000FFE79DF81C00400700280FD5FFE79DF8F7
:1014900010000007002808D5FFE709980168082018
:1014A000C860099800F07CFAFFE7FFE79DF81C0090
:1014B000800700280BD5FFE709980068C0688007FF
:1014C00020B1FFE7099800F06FFAFFE7FFE79DF80A
:1014D0001C004006002810D5FFE79DF80C00C00650
:1014E000002809D5FFE7089840F480600890099823
:1014F000016810200861FFE7FFE79DF81C008006E7
:1015000000280FD5FFE79DF80C000007002808D53C
:10151000FFE70998016808200861099800F032FB8C
:10152000FFE7FFE79DF81C00C00600280BD5FFE78A
:10153000099800680069800720B1FFE7099800F06A
:1015400025FBFFE7FFE79DF81E00800700280FD569
:10155000FFE79DF81800C006002808D5FFE70998A6
:10156000016810204860099800F014FBFFE7FFE7CE
:101570009DF81E00C00778B1FFE79DF8180000072E
:10158000002808D5FFE709980168082048600998F5
:1015900000F062FBFFE7FFE79DF81D000006002852
:1015A00040F18D80FFE79DF818004007002840F1CA
:1015B0008180FFE79DF81D00C00750B1FFE79DF84F
:1015C0000800C00728B1FFE7089840F00100089024
:1015D000FFE79DF81D00800700280BD5FFE79DF869
:1015E00008008007002805D5FFE7089840F00200B2
:1015F0000890FFE79DF81D00400700280BD5FFE786
:101600009DF808004007002805D5FFE7089840F03E
:1016100004000890FFE79DF81D000007002848D54A
:10162000FFE79DF8080010F0700F42D0FFE7029826
:1016300000F0700001460191102814D0FFE70198D6
:10164000202815D0FFE70198302816D0FFE7019831
:10165000402817D0FFE70198502818D0FFE70198DD
:10166000602819D01DE0089840F00800089019E0A3
:10167000089840F01000089014E0089840F020000E
:1016800008900FE0089840F0400008900AE00898A1
:1016900040F08000089005E0089840F480700890C1
:1016A00000E0FFE709980168886920F07000886110
:1016B000FFE7FFE70998016804204860FFE7089802
:1016C00048B1FFE7089A0999486A104348620998A7
:1016D000FFF7FCFCFFE70AB080BD000080B584B0D6
:1016E0000290029820B9FFE701208DF80F00E0E09A
:1016F000029890F8200020B9FFE7029800F0DEF889
:10170000FFE702980168086840F00100086000F0F7
:1017100037FC0190FFE7029800684068C007A8B94D
:10172000FFE700F02DFC0199401A0B280DD3FFE7CD
:101730000299486A40F4003048620299052081F815
:10174000200001208DF80F00B3E0E4E70298016863
:10175000086820F00200086000F012FC0190FFE72A
:101760000298006840688007002815D5FFE700F060
:1017700007FC0199401A0B280DD3FFE70299486A2C
:1017800040F4003048620299052081F820000120D1
:101790008DF80F008DE0E3E70298007E012807D165
:1017A000FFE702980168086840F08000086006E0E2
:1017B00002980168086820F080000860FFE702983E
:1017C000407E012807D1FFE702980168086840F0D1
:1017D0004000086006E002980168086820F04000B8
:1017E0000860FFE70298807E012807D1FFE7029892
:1017F0000168086840F02000086006E0029801686F
:10180000086820F020000860FFE70298C07E0128E9
:1018100007D1FFE702980168086820F0100008600F
:1018200006E002980168086840F010000860FFE7D1
:101830000298007F012807D1FFE702980168086835
:1018400040F00800086006E002980168086820F08F
:1018500008000860FFE70298407F012807D1FFE7F2
:1018600002980168086840F00400086006E00298E9
:101870000168086820F004000860FFE7029B19680F
:101880005A689868D3F80CC040EA0C00D3F810C02E
:1018900040EA0C005B691843013A1043C8610299A1
:1018A00000204862029A012182F820108DF80F0072
:1018B000FFE79DF80F0004B080BD000080B58EB03A
:1018C0000D9000200C900B900A9009900D980068E4
:1018D00046F20041C4F2000188425ED1FFE7FFE713
:1018E00041F21C00C4F20200016841F00071016085
:1018F000006800F0007008900898FFE7FFE741F2E9
:101900001800C4F20200016841F00401016000689F
:1019100000F0040007900798FFE74FF4006009907B
:10192000002005900A900B9040F60000C4F20100E0
:10193000009009A9019100F093F9009801994FF4E2
:101940008052099202220A9203220C9200F088F936
:10195000059A13200290114600F09EFB029800F0B9
:1019600091FB059A14200390114600F095FB039813
:1019700000F088FB059A15200490114600F08CFBBE
:10198000049800F07FFB059A16200690114600F09F
:1019900083FB069800F076FBFFE70EB080BD0000E9
:1019A00081B0009001B0704780B58EB00D900D9859
:1019B000002106AA04ABFFF78DFB0898042840F02D
:1019C000DE80FFE740F68C00C2F2000001780131B2
:1019D00001F07F01ADF80E10007840F20001C2F274
:1019E00000010978401A81300006002801D4FFE781
:1019F000C5E00799029861F31C0002909DF80A0067
:101A0000000780B9FFE70899099A0A9BBDF80EC044
:101A10000298EE46CEF804C00DF1100CCEF800C0CE
:101A200003F042FBABE09DF80B0000F0070001283B
:101A30007DD1FFE79DF80A100220B0EB111F76D18F
:101A4000FFE79DF80A0000F00F00012810D1FFE722
:101A50000899099A0A9BBDF80EC00298EE46CEF886
:101A600004C00DF1100CCEF800C003F01DFB86E0A1
:101A70009DF80A0000F00F00022814D1FFE7099832
:101A800080B1FFE70899099A0A9BBDF80EC0029839
:101A9000EE46CEF804C00DF1100CCEF800C003F0F5
:101AA00003FB6CE0FFE79DF80A0000F00F0003283D
:101AB00010D1FFE70899099A0A9BBDF80EC0029859
:101AC000EE46CEF804C00DF1100CCEF800C003F0C5
:101AD000EBFA54E09DF80A0000F00F00042815D03E
:101AE000FFE79DF80A0000F00F0005280ED0FFE781
:101AF0009DF80A0000F00F00062807D0FFE79DF8C8
:101B00000A0000F00F00072810D1FFE70899099A92
:101B10000A9BBDF80EC00298EE46CEF804C00DF147
:101B2000100CCEF800C003F0BFFA28E0FFE79DF8E4
:101B30000A0000F00F000F2820D1FFE79DF80A10DF
:101B40009DF80B0000F0070240F28C00C2F200008A
:101B500000EB022201F0F003D15C41F00101D1540D
:101B60009DF80A109DF80B2002F0070200EB0220FE
:101B700001F0F001014400208860FFE7FFE70EB0AC
:101B800080BD000081B0009001B0704781B000902E
:101B900001B0704781B0009001B0704780B584B04B
:101BA0000290029890F8200001282FD1FFE70299B7
:101BB000022081F8200002980168086820F00100E6
:101BC000086000F0DDF90190FFE7029800684068C6
:101BD000C007A8B1FFE700F0D3F90199401A0B281C
:101BE0000DD3FFE70299486A40F400304862029939
:101BF000052081F8200001208DF80F000FE0E4E7B8
:101C00000299002048628DF80F0008E00299486AA6
:101C100040F40020486201208DF80F00FFE79DF896
:101C20000F0004B080BD000081B0009001B070478B
:101C300081B0009001B0704781B0009001B0704752
:101C400081B0009001B0704781B0009001B0704742
:101C500081B0009001B0704781B0009001B0704732
:101C600090B00F900E9100200D900990FFE70E9814
:101C700000680D99C840002800F07F81FFE70D99AA
:101C8000012088400C900E9800680C9908400B9039
:101C90000B980C99884240F06C81FFE70E984068E1
:101CA0000590002851D0FFE7059801283AD0FFE7BA
:101CB000059802283FD0FFE7059803285FD0FFE78B
:101CC0000598112832D0FFE70598122838D0FFE791
:101CD00005980021C1F21101884236D0FFE705982E
:101CE0000021C1F2120188422FD0FFE705980021A0
:101CF000C1F22101884228D0FFE705980021C1F2F6
:101D00002201884221D0FFE705980021C1F231016C
:101D100088421AD0FFE705980021C1F232018842BB
:101D200013D02FE00E98C06809902CE00E98C06880
:101D30000430099027E00E98C0680830099022E02E
:101D40000E98C0680C3009901DE00E98806818B994
:101D5000FFE70420099011E00E988068012806D161
:101D6000FFE7082009900C980F99086105E008200A
:101D700009900C980F994861FFE7FFE703E0002006
:101D8000099000E0FFE70B98FF2803D8FFE70F98C2
:101D9000049003E00F9804300490FFE70498089043
:101DA0000B98FF2804D8FFE70D988000039006E009
:101DB0000D996FF01F0000EB81000390FFE703987F
:101DC000079008980068079A0F2191408843099965
:101DD00091400843089908600E98C079C006002811
:101DE00040F1C680FFE7FFE741F21800C4F20200AD
:101DF000016841F001010160006800F001000690F7
:101E00000698FFE70D9820F003000821C4F20101B5
:101E100040580A900D9800F0030081000F2000FA4E
:101E200001F10A9888430A900F9840F60001C4F225
:101E30000101884203D1FFE70020029026E00F98BD
:101E400040F60041C4F20101884203D1FFE70120BE
:101E5000019018E00F9841F20001C4F2010188429C
:101E600003D1FFE7022000900AE00F9941F20042FF
:101E7000C4F201020420914208BF03200090FFE752
:101E800000980190FFE701980290FFE702980D99F2
:101E900001F00301890000FA01F10A9808430A9051
:101EA0000A980D9921F003010822C4F2010288501A
:101EB0000E988079C006002809D5FFE70B9A40F2FA
:101EC0000841C4F2010108681043086008E00B9A59
:101ED00040F20841C4F20101086890430860FFE73E
:101EE0000E9880798006002809D5FFE70B9A40F20A
:101EF0000C41C4F2010108681043086008E00B9A25
:101F000040F20C41C4F20101086890430860FFE709
:101F10000E9880798007002809D5FFE70B9A40F2D8
:101F20000441C4F2010108681043086008E00B9AFC
:101F300040F20441C4F20101086890430860FFE7E1
:101F40000E988079C00748B1FFE70B9A40F2004134
:101F5000C4F2010108681043086008E00B9A40F2DF
:101F60000041C4F20101086890430860FFE7FFE701
:101F7000FFE70D9801300D9079E610B07047000032
:101F800041F21C30C2F200000068704740F21C00B1
:101F9000C2F20000027841F21C31C2F2000108686E
:101FA000104408607047000080B542F20001C4F29E
:101FB0000201086840F010000860032000F086F875
:101FC0000F2000F005F800F03BF8002080BD000075
:101FD00080B582B0009040F20400C2F200000068B8
:101FE00040F21C01C2F200010A784FF47A71B1FB91
:101FF000F2F1B0FBF1F001F0B3FA20B1FFE70120FC
:102000008DF8070018E000980F280DD8FFE7009919
:102010004FF0FF30002200F03FF8009840F220011E
:10202000C2F20001086003E001208DF8070003E020
:1020300000208DF80700FFE79DF8070002B080BD83
:1020400082B0FFE741F21800C4F20200016841F0DB
:1020500001010160006800F0010001900198FFE7B4
:10206000FFE741F21C00C4F20200016841F0805118
:102070000160006800F0805000900098FFE702B017
:102080007047000080B582B08DF807009DF9070009
:1020900003F084F802B080BD80B586B08DF81700DB
:1020A000049103920020029003F090F802909DF9B1
:1020B0001700019002980499039A01F0DBFE014693
:1020C000019803F08BF806B080BD000080B582B0A7
:1020D0000190019803F0A4F802B080BD2021C4F261
:1020E0000E2101200860704780B588B0079000205D
:1020F00006900590049003900290079801900128A3
:1021000066D0FFE70198022800F0A580FFE701985C
:10211000102840F0B080FFE741F20400C4F2020052
:102120000068039041F20000C4F202000068C001A0
:1021300000284CD5FFE70398C0F3834145F22C30CB
:10214000C0F60000405C04909DF80E00C007F0B19E
:10215000FFE741F20400C4F202000068C0F340410E
:1021600045F23C30C0F60000405C06909DF80E0041
:10217000C00758B1FFE7069941F20020C0F27A008B
:10218000B0FBF1F0049948430590FFE707E004989D
:1021900040F60011C0F23D0148430590FFE741F2CF
:1021A0000400C4F2020000684002002803D5FFE7E3
:1021B000059802900AE0059840004AF6AB21CAF65D
:1021C000AA21A0FB011040080290FFE7FFE753E0BF
:1021D00041F22000C4F2020000680390039800F46A
:1021E0004070B0F5807F0AD1FFE79DF80C008007B2
:1021F000002804D5FFE74FF4004002902AE003983E
:1022000000F44070B0F5007F0DD1FFE741F22400EB
:10221000C4F2020000688007002804D5FFE749F6F1
:102220004040029015E0039800F44070B0F5407F04
:102230000DD1FFE741F20000C4F202000068800304
:10224000002804D5FFE74FF22440029000E0FFE7AA
:10225000FFE7FFE710E000F029FA41F20401C4F2C1
:102260000201096801F44042022101EB5231B0FB46
:10227000F1F0029000E0FFE7029808B080BD000096
:1022800080B586B0049000200390029004980078F6
:10229000C007002800F0AC80FFE700208DF80700A1
:1022A00041F21C00C4F202000068C000002813D4F0
:1022B000FFE7FFE741F21C00C4F20200016841F0B1
:1022C00080510160006800F0805000900098FFE7A6
:1022D00001208DF80700FFE747F20000C4F200007C
:1022E0000068C005002822D4FFE747F20001C4F2CD
:1022F0000001086840F480700860FFF741FE039019
:10230000FFE747F20000C4F200000068C0050028A3
:102310000CD4FFE7FFF734FE0399401A652804D375
:10232000FFE703208DF817008AE0EAE7FFE741F2B4
:102330002000C4F20200006800F44070029002988D
:10234000E0B3FFE702980499496801F440718842BC
:1023500034D0FFE741F22001C4F20201086820F402
:102360004070029040F24042C4F2422201201060CC
:1023700000201060029808609DF80800C007E0B1D6
:10238000FFE7FFF7FDFD0390FFE741F22000C4F2F5
:1023900002000068800700280ED4FFE7FFF7F0FD79
:1023A0000399401A41F28931884204D3FFE70320A0
:1023B0008DF8170044E0E8E7FFE7FFE741F220016E
:1023C000C4F20201086820F44070049A5268104375
:1023D00008609DF80700012809D1FFE741F21C01C0
:1023E000C4F20201086820F080500860FFE7FFE7B0
:1023F00004980078800700280CD5FFE741F204011B
:10240000C4F20201086820F44040049A9268104324
:102410000860FFE704980078C00600280CD5FFE7A5
:1024200041F20401C4F20201086820F48000049A19
:10243000D26810430860FFE700208DF81700FFE71F
:102440009DF8170006B080BD80B584B00290019160
:10245000029820B9FFE701208DF80F001BE10198D9
:1024600042F20001C4F20201096801F0070188424A
:1024700016D9FFE742F20000C4F20200016821F021
:102480000701019A11430160006800F007000199FB
:10249000884204D0FFE701208DF80F00FBE0FFE742
:1024A00002980078800700282AD5FFE70298007874
:1024B0004007002809D5FFE741F20401C4F20201F8
:1024C000086840F4E0600860FFE7029800780007C1
:1024D000002809D5FFE741F20401C4F202010868AF
:1024E00040F460500860FFE741F20401C4F20201C9
:1024F000086820F0F000029A926810430860FFE735
:1025000002980078C007002860D0FFE70298406872
:1025100001280ED1FFE741F20000C4F2020000687A
:102520008003002804D4FFE701208DF80F00B2E0FB
:1025300021E00298406802280ED1FFE741F2000036
:10254000C4F2020000688001002804D4FFE70120E3
:102550008DF80F009FE00DE041F20000C4F2020090
:1025600000688007002804D4FFE701208DF80F00E1
:1025700091E0FFE7FFE741F20401C4F202010868BD
:1025800020F00300029A526810430860FFF7F8FC3D
:102590000090FFE741F20400C4F20200006800F07E
:1025A0000C0002994968B0EB810F0ED0FFE7FFF7EE
:1025B000E7FC0099401A41F28931884204D3FFE7D1
:1025C00003208DF80F0066E0E4E7FFE7019842F290
:1025D0000001C4F20201096801F00701884216D225
:1025E000FFE742F20000C4F20200016821F0070197
:1025F000019A11430160006800F0070001998842C8
:1026000004D0FFE701208DF80F0044E0FFE70298B7
:102610000078400700280CD5FFE741F20401C4F21E
:102620000201086820F4E060029AD2681043086052
:10263000FFE702980078000700280DD5FFE741F278
:102640000401C4F20201086820F46050029A126981
:1026500040EAC2000860FFE700F03AF841F20401E6
:10266000C4F202010968C9B20A0945F21431C0F680
:102670000001895CC84040F20401C2F20001086018
:1026800040F22000C2F200000068FFF7A1FC002029
:102690008DF80F00FFE79DF80F0004B080BD00002B
:1026A00040F20400C2F200000068704780B5FFF7F6
:1026B000F7FF41F20401C4F202010968C1F3C2222A
:1026C00045F22431C0F60001895CC84080BD00009D
:1026D00086B000200590049003900290019041F292
:1026E0000400C4F2020000680590059800F00C0098
:1026F0000146009100283FD0FFE70098042804D04D
:10270000FFE70098082806D037E041F20020C0F229
:102710007A00019037E00598C0F3834145F23E30DE
:10272000C0F60000405C02909DF81600C007C0B1E2
:10273000FFE741F20400C4F202000068C0F3404128
:1027400045F24E30C0F60000405C0490029841F221
:102750000021C0F27A0148430499B0FBF1F00390E4
:1027600007E0029840F60011C0F23D014843039093
:10277000FFE70398019006E0FFE741F20020C0F276
:102780007A000190FFE7019806B0704780B588B0E5
:10279000079006910592002004900390029001900A
:1027A000022102910321049103904FF48070019063
:1027B000FFE741F21800C4F20200016841F0040191
:1027C0000160006800F0040000900098FFE740F608
:1027D0000000C4F2010001A9FFF742FA41F204012E
:1027E000C4F20201086820F0E060069A1043086015
:1027F00008B080BD80B586B00490049820B9FFE78A
:1028000001208DF817002EE304980078C0070028F7
:1028100000F0AE80FFE741F20400C4F2020000685D
:1028200000F00C00042813D0FFE741F20400C4F2CA
:102830000200006800F00C0008281BD1FFE741F2FD
:102840000400C4F202000068C003002812D5FFE7AC
:1028500041F20000C4F2020000688003002808D59D
:10286000FFE70498406820B9FFE701208DF81700C2
:10287000F9E27CE0FFE704984068B0F5803F09D1B9
:10288000FFE741F20001C4F20201086840F4803021
:10289000086032E00498406868B9FFE741F200013F
:1028A000C4F20201086820F480300860086820F44F
:1028B0008020086020E004984068B0F5A02F0DD17A
:1028C000FFE741F20001C4F20201086840F48020F1
:1028D0000860086840F4803008600CE041F20001B4
:1028E000C4F20201086820F480300860086820F40F
:1028F00080200860FFE7FFE7FFE7FFE704984068F4
:10290000D0B1FFE7FFF73CFB0390FFE741F2000087
:10291000C4F202000068800300280CD4FFE7FFF730
:102920002FFB0399401A652804D3FFE703208DF895
:10293000170098E2EAE719E0FFF722FB0390FFE7B0
:1029400041F20000C4F202000068800300280CD5A8
:10295000FFE7FFF715FB0399401A652804D3FFE74B
:1029600003208DF817007EE2EAE7FFE7FFE7FFE7C5
:10297000049800788007002840F18D80FFE741F23D
:102980000400C4F20200006810F00C0F13D0FFE73F
:1029900041F20400C4F20200006800F00C000828B4
:1029A00029D1FFE741F20400C4F202000068C0032D
:1029B000002820D4FFE741F20000C4F202000068C2
:1029C0008007002809D5FFE704980069012804D092
:1029D000FFE701208DF8170045E241F20001C4F243
:1029E0000201086820F0F800049A526940EAC20027
:1029F0000860FFE74EE00498006958B3FFE7002144
:102A0000C4F2422101200860FFF7BAFA0390FFE701
:102A100041F20000C4F202000068800700280CD4D4
:102A2000FFE7FFF7ADFA0399401A032804D3FFE745
:102A300003208DF8170016E2EAE741F20001C4F224
:102A40000201086820F0F800049A526940EAC200C6
:102A500008601EE00021C4F2422100200860FFF758
:102A60008FFA0390FFE741F20000C4F20200006811
:102A7000800700280CD5FFE7FFF782FA0399401A78
:102A8000032804D3FFE703208DF81700EBE1EAE702
:102A9000FFE7FFE7FFE7049800780007002848D524
:102AA000FFE70498806918B3FFE740F28041C4F261
:102AB000422101200860FFF763FA0390FFE741F22B
:102AC0002400C4F202000068800700280CD4FFE74D
:102AD000FFF756FA0399401A032804D3FFE70320AF
:102AE0008DF81700BFE1EAE7012001F0FBF91FE0D4
:102AF00040F28041C4F2422100200860FFF740FA12
:102B00000390FFE741F22400C4F20200006880074E
:102B100000280CD5FFE7FFF733FA0399401A032882
:102B200004D3FFE703208DF817009CE1EAE7FFE7F5
:102B3000FFE7049800784007002840F1D880FFE7BD
:102B400000208DF8070041F21C00C4F2020000686A
:102B5000C000002813D4FFE7FFE741F21C00C4F2D5
:102B60000200016841F080510160006800F080506F
:102B700000900098FFE701208DF80700FFE747F27B
:102B80000000C4F200000068C005002822D4FFE75E
:102B900047F20001C4F20001086840F48070086048
:102BA000FFF7EEF90390FFE747F20000C4F20000E0
:102BB0000068C00500280CD4FFE7FFF7E1F903998E
:102BC000401A652804D3FFE703208DF817004AE177
:102BD000EAE7FFE7FFE70498C068012809D1FFE7AB
:102BE00041F22001C4F20201086840F001000860CF
:102BF00031E00498C06868B9FFE741F22001C4F2EF
:102C00000201086820F001000860086820F0040054
:102C100008601FE00498C06805280DD1FFE741F265
:102C20002001C4F20201086840F00400086008684E
:102C300040F0010008600CE041F22001C4F2020102
:102C4000086820F001000860086820F004000860AF
:102C5000FFE7FFE7FFE7FFE70498C068E0B1FFE7A1
:102C6000FFF78EF90390FFE741F22000C4F2020063
:102C70000068800700280ED4FFE7FFF781F9039969
:102C8000401A41F28931884204D3FFE703208DF8CE
:102C90001700E8E0E8E71BE0FFF772F90390FFE7B1
:102CA00041F22000C4F202000068800700280ED51F
:102CB000FFE7FFF765F90399401A41F2893188422D
:102CC00004D3FFE703208DF81700CCE0E8E7FFE727
:102CD0009DF80700012809D1FFE741F21C01C4F269
:102CE0000201086820F080500860FFE7FFE70498C1
:102CF000C069002800F0B380FFE741F20400C4F28D
:102D00000200006800F00C00082800F08280FFE755
:102D10000498C06902285CD1FFE76021C4F2422117
:102D200000200860FFF72CF90390FFE741F2000054
:102D3000C4F202000068800100280CD5FFE7FFF70D
:102D40001FF90399401A032804D3FFE703208DF8E5
:102D5000170088E0EAE70498006AB0F5803F0CD1DC
:102D6000FFE741F20401C4F20201086820F40030D8
:102D7000049A926810430860FFE741F20401C4F22C
:102D80000201086820F47410049B1A6A5B6A1A43F3
:102D9000104308606021C4F2422101200860FFF75F
:102DA000EFF80390FFE741F20000C4F20200006870
:102DB000800100280CD4FFE7FFF7E2F80399401ADE
:102DC000032804D3FFE703208DF817004BE0EAE760
:102DD0001EE06021C4F2422100200860FFF7D0F815
:102DE0000390FFE741F20000C4F202000068800196
:102DF00000280CD5FFE7FFF7C3F80399401A032812
:102E000004D3FFE703208DF817002CE0EAE7FFE783
:102E100024E00498C069012804D1FFE701208DF85F
:102E2000170020E041F20400C4F2020000680290A2
:102E3000029800F480300499096A884208D1FFE7BB
:102E4000029800F470100499496A884204D0FFE7A0
:102E500001208DF8170006E0FFE7FFE7FFE70020FD
:102E60008DF81700FFE79DF8170006B080BD000041
:102E700080B586B004900391029200208DF8060080
:102E8000ADF80400049818B1FFE7039820B9FFE7F4
:102E900001208DF8170034E0049801A9002200F009
:102EA00035F820B1FFE701208DF8170029E00498DC
:102EB000007B039908700498C07B0399C87004983C
:102EC000407B039948700498807B0399887002982E
:102ED00098B1FFE70398C07801F0E4FC0399C8704B
:102EE0000398407801F0DEFC0399487003988078DD
:102EF00001F0D8FC03998870FFE700208DF81700D7
:102F0000FFE79DF8170006B080BD000080B588B0CF
:102F10000690059104920020039002900190009089
:102F2000069818B1FFE7059820B9FFE701208DF852
:102F30001F00C0E00698006840684007002803D5DD
:102F4000FFE7012018B906E0012020B9FFE70120C2
:102F50008DF81F00AFE0069801F02AFE0390039958
:102F60004BF2C530C9F2A210A1FB0021C90A0091A1
:102F7000039BA3FB0021C90A4FF4616201FB1233DA
:102F800048F68901C8F68801A3FB01C35B09DDF897
:102F900014C08CF80130039BA3FB00C0C00A00FBE7
:102FA0001230A0FB011251090901A1EB5211A0EB53
:102FB000810005998870009818285ED3FFE7009873
:102FC0004AF6AB21CAF6AA21A0FB01200009019014
:102FD0000098A0FB0121090901EB4101A0EBC10010
:102FE00005990870069801F0C9FD02900298013019
:102FF00050B1FFE702980399884205D9FFE703998A
:103000000298401A029003E04FF0FF300290FFE771
:10301000019840F2A32141430398A0EBC110039013
:103020000698039901F094FE20B1FFE701208DF886
:103030001F0040E00298013078B1FFE70399029841
:10304000084402900698029901F05AFE20B1FFE769
:1030500001208DF81F002EE00AE00698029901F089
:103060004FFE20B1FFE701208DF81F0023E0FFE7AE
:103070000698019901F034FC03E000980599087066
:10308000FFE7049898B1FFE70598007801F00AFC83
:10309000059908700598407801F004FC059948707E
:1030A0000598807801F0FEFB05998870FFE7002005
:1030B0008DF81F00FFE79DF81F0008B080BD0000DD
:1030C00080B584B0029000200190029820B9FFE7FB
:1030D00001208DF80F0084E00298407C38B9FFE7AA
:1030E000029900200874029800F080F8FFE7029926
:1030F00002204874029800F001FA38B1FFE7029903
:103100000420487401208DF80F006AE0029801F055
:10311000A1FC38B1FFE702990420487401208DF822
:103120000F005EE002980168486820F007004860E0
:103130000298806848B1FFE746F63041C4F20001CA
:10314000086820F001000860FFE746F62C41C4F251
:103150000001086820F46070029A926810430860C9
:1031600002984068013020B1FFE702984068019062
:1031700012E00120FEF7B8FF0190019838B9FFE78F
:1031800002990420487401208DF80F0029E001986D
:1031900001380190FFE7FFE7BDF8060000F00F00DF
:1031A000029909688860BDF8040002990968C8603E
:1031B000029801F07BFC38B1FFE7029904204874C3
:1031C00001208DF80F000CE002990020C873029ACC
:1031D00001215173029A9173029A51748DF80F0074
:1031E000FFE79DF80F0004B080BD000080B582B0FD
:1031F00001900198006842F60001C4F20001884283
:1032000018D1FFE7FEF76AFFFFE741F21C00C4F2A6
:103210000200016841F000610160006800F0006098
:1032200000900098FFE740F23C41C4F242210120A7
:103230000860FFE702B080BD80B588B006900591B8
:1032400004920020039002900190069818B1FFE7C5
:10325000059820B9FFE701208DF81F00A7E0FFE7E0
:103260000698007C012804D1FFE702208DF81F009A
:103270009DE0069901200874FFE7FFE70699022008
:103280004874049868B9FFE70598C0780699C87330
:103290000598407806994873059880780699887350
:1032A00012E00598C07801F0E7FA0699C87305980E
:1032B000407801F0E1FA069948730598807801F0AA
:1032C000DBFA06998873FFE70698417B827BC07B17
:1032D00001F0A4FC069908730698007B0599087014
:1032E000069801F065FC039003984BF2C531C9F2D2
:1032F000A211A0FB0110C00A0190019819284AD31D
:10330000FFE701984AF6AB21CAF6AA21A0FB0110FB
:10331000000940F2A32141430398A0EBC1100390A0
:103320000698039901F014FD60B1FFE706990420A7
:103330004874FFE7069900200874FFE701208DF824
:103340001F0034E0069801F019FC02900298013049
:1033500000B3FFE70298039988421AD2FFE7029868
:1033600045F28011C0F201010844029006980299CA
:1033700001F0C6FC60B1FFE7069904204874FFE73E
:10338000069900200874FFE701208DF81F000EE069
:10339000FFE7FFE7FFE7069901204874FFE706997A
:1033A00000200874FFE700208DF81F00FFE79DF85C
:1033B0001F0008B080BD000080B588B00690059160
:1033C0000492002003900290069818B1FFE7059838
:1033D00020B9FFE701208DF81F008AE0FFE706987B
:1033E000007C012804D1FFE702208DF81F0080E057
:1033F000069901200874FFE7FFE706990220487448
:10340000049870B9FFE7059908784A7889784FF4ED
:1034100061635843C2EB021200EB82000844039040
:103420001BE00598007801F027FA4FF461614843EA
:1034300000900598407801F01FFA01460098C1EB12
:10344000011100EB810001900598807801F014FAD9
:103450000146019808440390FFE70698039901F09C
:1034600077FC60B1FFE7069904204874FFE70699EE
:1034700000200874FFE701208DF81F0039E006984E
:103480000168486820F005004860069801F076FB66
:1034900002900298013000B3FFE702980399884236
:1034A0001AD2FFE7029845F28011C0F201010844E8
:1034B00002900698029901F023FC60B1FFE706999B
:1034C00004204874FFE7069900200874FFE70120F4
:1034D0008DF81F000DE0FFE7FFE706990120487413
:1034E000FFE7069900200874FFE700208DF81F0011
:1034F000FFE79DF81F0008B080BD000080B584B0D4
:10350000029000200190029820B9FFE701208DF879
:103510000F0021E002980168486820F00800486028
:10352000FEF72EFD0190FFE7029800684068000753
:1035300000280DD4FFE7FEF723FD0199401AB0F5EE
:103540007A7F04D9FFE703208DF80F0004E0EBE752
:1035500000208DF80F00FFE79DF80F0004B080BD3C
:1035600080B582B00190019801F01CFC02B080BDD2
:1035700081B0009001B0704781B0009001B07047F9
:1035800085B003900291FFE7039890F83C00012872
:1035900004D1FFE702208DF813005BE003990120BE
:1035A00081F83C00FFE7FFE70399022081F83D0026
:1035B0000398006840680190039800688068009054
:1035C000019820F07000019002980168019808436A
:1035D000019001980399096848600398006842F6D1
:1035E0000041C4F20101884218D0FFE70398006847
:1035F000B0F1804F12D0FFE70398006840F200411D
:10360000C4F20001884209D0FFE70398006840F641
:103610000001C4F2000188420ED1FFE7009820F0BB
:10362000800000900298416800980843009000983C
:10363000039909688860FFE70399012081F83D003C
:10364000FFE70399002081F83C00FFE700208DF898
:103650001300FFE79DF8130005B0704780B582B0F6
:103660000090009820B9FFE701208DF807003FE0A7
:10367000009890F83D0040B9FFE70099002081F8DC
:103680003C00009800F038F8FFE70099022081F82C
:103690003D00009951F8040B01F00CFC0099012049
:1036A00081F84600FFE70099012081F83E0000996B
:1036B00081F83F00009981F84000009981F84100AD
:1036C000FFE7FFE70099012081F84200009981F8A7
:1036D0004300009981F84400009981F84500FFE714
:1036E0000099012081F83D0000208DF80700FFE7D8
:1036F0009DF8070002B080BD80B584B003900398A8
:10370000006840F60001C4F20001884219D1FFE7C9
:10371000FFE741F21C00C4F20200016841F004011D
:103720000160006800F0040002900298FFE71E208C
:10373000019000221146FEF7AFFC0198FEF7A2FCB3
:10374000FFE704B080BD000083B00190019890F8BD
:103750003D00012804D0FFE701208DF80B0047E071
:103760000199022081F83D0001980168C86840F085
:103770000100C8600198006842F60041C4F20101EE
:10378000884218D0FFE701980068B0F1804F12D04E
:10379000FFE70198006840F20041C4F2000188424E
:1037A00009D0FFE70198006840F60001C4F200016B
:1037B000884212D1FFE701980068806800F0070096
:1037C00000900098062807D0FFE701980168086874
:1037D00040F001000860FFE706E001980168086812
:1037E00040F001000860FFE700208DF80B00FFE7C4
:1037F0009DF80B0003B0704780B586B0049003912C
:1038000000208DF80B00FFE7049890F83C00012899
:1038100004D1FFE702208DF81700ABE004990120E6
:1038200081F83C00FFE7FFE70499022081F83D00A2
:103830000498006880680190019820F0770001905A
:10384000019820F47F4001900198049909688860EC
:10385000039800680090002872D0FFE700981028B5
:103860006ED0FFE7009820286AD0FFE70098302844
:1038700066D0FFE70098402855D0FFE70098502811
:1038800037D0FFE70098602840D0FFE70098702805
:103890000BD0FFE70098B0F5805F05D0FFE70098F8
:1038A000B0F5005F16D052E055E004980068039B25
:1038B0005A689968DB6801F075FB049800688068B5
:1038C0000190019840F077000190019804990968EF
:1038D000886040E004980068039B5A689968DB6838
:1038E00001F060FB04980168886840F480408860BB
:1038F00031E004980068039A5168D26801F082FBB5
:1039000004980068502101F067FB24E004980068E7
:10391000039A5168D26801F09DFB04980068602109
:1039200001F05AFB17E004980068039A5168D268C6
:1039300001F068FB04980068402101F04DFB0AE0AB
:10394000049800680399096801F046FB03E0012030
:103950008DF80B00FFE70499012081F83D00FFE797
:103960000499002081F83C00FFE79DF80B008DF8DA
:103970001700FFE79DF8170006B080BD81B00090EA
:1039800001B0704780B582B001900198006800696D
:1039900000F002010020B0EB510F28D0FFE70198A2
:1039A0000068C06800F002010020B0EB510F1DD08C
:1039B000FFE7019801686FF002000861019901209A
:1039C0000877019800688069800720B1FFE70198B7
:1039D000FFF7D4FF06E0019800F012F9019800F01B
:1039E00013F9FFE7019900200877FFE7FFE7019847
:1039F0000068006900F004010020B0EB910F29D0AD
:103A0000FFE701980068C06800F004010020B0EBF7
:103A1000910F1ED0FFE7019801686FF00400086164
:103A200001990220087701980068806910F4407FAE
:103A300004D0FFE70198FFF7A1FF06E0019800F02E
:103A4000DFF8019800F0E0F8FFE70199002008771F
:103A5000FFE7FFE701980068006900F00801002017
:103A6000B0EBD10F28D0FFE701980068C06800F0E4
:103A700008010020B0EBD10F1DD0FFE701980168CD
:103A80006FF0080008610199042008770198006828
:103A9000C069800720B1FFE70198FFF76FFF06E0DC
:103AA000019800F0ADF8019800F0AEF8FFE7019939
:103AB00000200877FFE7FFE701980068006900F041
:103AC00010010020B0EB111F29D0FFE7019800681A
:103AD000C06800F010010020B0EB111F1ED0FFE7FE
:103AE000019801686FF010000861019908200877BB
:103AF00001980068C06910F4407F04D0FFE7019886
:103B0000FFF73CFF06E0019800F07AF8019800F01A
:103B10007BF8FFE7019900200877FFE7FFE70198AE
:103B200000680069C00780B1FFE701980068C068BD
:103B3000C00748B1FFE7019801686FF00100086114
:103B4000019800F065F8FFE7FFE701980068006959
:103B5000C1B20020B0EBD11F13D0FFE7019800687D
:103B6000C068C1B20020B0EBD11F09D0FFE70198B7
:103B700001686FF0800008610198FFF7F9FCFFE72A
:103B8000FFE701980068006900F040010020B0EBF9
:103B9000911F14D0FFE701980068C06800F0400151
:103BA0000020B0EB911F09D0FFE7019801686FF08A
:103BB00040000861019800F02FF8FFE7FFE7019847
:103BC0000068006900F020010020B0EB511F14D004
:103BD000FFE701980068C06800F020010020B0EB0A
:103BE000511F09D0FFE7019801686FF020000861BC
:103BF0000198FFF7C1FCFFE7FFE702B080BD0000BE
:103C000081B0009001B0704781B0009001B0704762
:103C100081B0009001B0704781B0009001B0704752
:103C2000FFE7FEE783B08DF80B009DF80B0000F571
:103C3000FA608DF80B009DF80B1001204BF6500335
:103C4000C0F21E5345F62942CCF28F2201FB02310D
:103C50004FEA31114DF20B72C0F2A3029142019072
:103C600022D3FFE79DF80B10002089070090C1B90F
:103C7000FFE79DF80B004BF65002C0F21E5245F6CE
:103C80002941CCF28F2100FB01204FEAB00145F61B
:103C90002842C0F28F220020914288BF012000906C
:103CA000FFE700980190FFE7019800F0010003B0E2
:103CB0007047000080B582B040F69800C2F2000064
:103CC000019046F20041C4F2000101600821416008
:103CD00000228260C2604FF4402101614FF48011E4
:103CE00041610276012141768276C2760277417780
:103CF000FDF7F4FC18B1FFE7FDF74CF8FFE702B061
:103D000080BD000080B586B000200590049003902F
:103D10000290FFE741F21800C4F20200016841F08E
:103D200004010160006800F0040001900198FFE7C1
:103D30004FF48070029002200390059040F600003E
:103D4000C4F2010002A9FDF78BFF06B080BD0000A0
:103D500080B582B000208DF80600ADF80400009018
:103D600040F6C000C2F2000042F60001C4F20001B9
:103D700001604FF0FF3141604FF480718160FFF7C7
:103D80009FF918B1FFE7FDF705F8FFE700208DF870
:103D900004008DF805008DF8060040F6C000C2F260
:103DA000000001A90122FFF707FB18B1FFE7FCF7AC
:103DB000F1FFFFE701228DF800208DF801208DF83A
:103DC000022000208DF8030040F6C000C2F200007F
:103DD0006946FFF731FA18B1FFE7FCF7DBFFFFE7B1
:103DE00002B080BD80B588B0002101910791069195
:103DF000059104910391029140F6D400C2F20000B3
:103E000040F60002C4F2000202604FF6FF12426068
:103E100081604FF47A72C26001618161FFF71EFC1C
:103E200018B1FFE7FCF7B6FFFFE74FF480500490AE
:103E300040F6D400C2F2000004A9FFF7DDFC18B17F
:103E4000FFE7FCF7A7FFFFE700200290039040F692
:103E5000D400C2F2000002A9FFF792FB18B1FFE7FD
:103E6000FCF798FFFFE708B080BD0000FFE7FEE722
:103E7000FFE7FEE788B0079006910592079800F0EB
:103E8000070004900498C0F10700052803D3FFE75A
:103E90000420019004E00498C0F107000190FFE7BE
:103EA0000198039004980430062803D8FFE7002007
:103EB000009003E0049803380090FFE70098029018
:103EC00006980399012202FA01F101390840029B88
:103ED000984005999A40013A1140084308B070474C
:103EE0007047000082B00190019840F20401C2F2D4
:103EF00000010968C90844F6D352C1F26202A1FB6D
:103F00000221890948430090FFE700BFFFE70098BE
:103F1000411E00910028F8D1FFE702B07047000071
:103F200080B58AB0DDF830C0CDF820C00793069286
:103F300005910490BDF81400ADF80C00BDF80C001C
:103F4000000B01460291042856D802990FF208008E
:103F500000EB8100874600BF00F008B800F014B8FD
:103F600000F020B800F02CB800F038B8049805999B
:103F7000069A079BDDF820C0EE46CEF800C0FCF79D
:103F80001DFC8DF827003BE004980599069A079BD5
:103F9000DDF820C0EE46CEF800C0FCF747FB8DF8F8
:103FA00027002DE004980599069A079BDDF820C0AC
:103FB000EE46CEF800C0FCF77BFB8DF827001FE033
:103FC00004980599069A079BDDF820C0EE46CEF8C6
:103FD00000C0FCF71FFA8DF8270011E0049805993E
:103FE000069A079BDDF820C0EE46CEF800C0FCF72D
:103FF00097FA8DF8270003E001208DF82700FFE7EE
:104000009DF827000AB080BD80B58AB0DDF830C0C9
:10401000CDF820C00793069205910490BDF81400D6
:10402000ADF80C00BDF80C00000901460291032810
:1040300044D802990FF2080000EB8100874600BFC8
:1040400000F006B800F016B800F020B800F02AB86A
:1040500004980599069A079BDDF820C0EE46CEF835
:1040600000C0FCF7A1FC20B1FFE701208DF827007C
:104070002CE027E004980599069A079BDDF820C0FC
:10408000EE46CEF800C0FCF7D9FB1BE0049805997A
:10409000069A079BDDF820C0EE46CEF800C0FCF77C
:1040A000E5FB0FE004980599069A079BDDF820C010
:1040B000EE46CEF800C0FCF723FC03E001208DF8AB
:1040C000270003E000208DF82700FFE79DF8270078
:1040D0000AB080BD80B540F20800C2F2000001685D
:1040E00040F20C00C2F2000002680020FCF724F944
:1040F00040F69400C2F20000016840F21000C2F2E3
:10410000000002680120FCF717F940F21400C2F227
:104110000000016840F21800C2F2000002680220AC
:10412000FCF70AF980BD000080B58AB0DDF830C028
:10413000CDF820C00793069205910490BDF81400B5
:10414000ADF80C00BDF80C00000B014602910628EA
:1041500068D802990FF2080000EB8100874600BF83
:1041600000F00CB800F016B800F020B800F02AB843
:1041700000F034B800F03EB800F048B80498059953
:10418000069A079BDDF820C0EE46CEF800C0FCF78B
:1041900075FC4BE004980599069A079BDDF820C052
:1041A000EE46CEF800C0FCF7B1FC3FE0049805995C
:1041B000069A079BDDF820C0EE46CEF800C0FCF75B
:1041C00075FC33E004980599069A079BDDF820C03A
:1041D000EE46CEF800C0FCF775FC27E00498059980
:1041E000069A079BDDF820C0EE46CEF800C0FCF72B
:1041F00081FC1BE004980599069A079BDDF820C016
:10420000EE46CEF800C0FCF745FC0FE00498059997
:10421000069A079BDDF820C0EE46CEF800C0FCF7FA
:104220005DFC03E001208DF8270003E000208DF8FD
:104230002700FFE79DF827000AB080BD80B592B047
:10424000DDF850C0CDF844C010930F920E910D9040
:1042500000200690042109918DF830000A900E9AF2
:10426000039962F31C0103919DF80F1001F0F7010F
:104270008DF80F10039921F06041089108210B91EE
:1042800047218DF8101041218DF8111053218DF820
:1042900012102D218DF813100290FFE702980328C9
:1042A0002CDCFFE7BDF83800029A0C21A1EB82015B
:1042B000C84000F00F00019001980A2812D3FFE7D0
:1042C00001984CF6CD41CCF6CC41A0FB0121C908A8
:1042D00001EB8101A0EB41004130029904AA114495
:1042E000087106E001983030029904AA114408715F
:1042F000FFE7FFE7029801300290CFE740F6980011
:10430000C2F2000007A904AA06ABFCF775FD12B0C3
:1043100080BD000080B582B0FDF746FEFFF7CAFC05
:1043200040F69800C2F200000190FDF737FCFFF75D
:10433000D1FE019848F60241FCF734FD40F28801B5
:10434000C2F20001087840F001000870FFF74AFD52
:10435000FFF7FEFC02B080BD80B582B040F6D4000D
:10436000C2F20000FFF7F0F9FFE7FBF7C3FF0028F8
:1043700000F06981FFE70020019040F20000C2F2E6
:104380000000007800EB800140F61C10C2F2000033
:1043900000EB8100807900F00F0002281DD1FFE7BB
:1043A00040F20000C2F20000007800EB800140F60D
:1043B0001C10C2F2000000EB810C50F82100DCF868
:1043C0000410DCF80820DCF80C30DCF810C0EE46F5
:1043D000CEF800C0FFF7A4FD2BE140F20000C2F2CE
:1043E0000000007800EB800140F61C10C2F20000D3
:1043F00000EB810080790007E8B9FFE740F2000098
:10440000C2F20000007800EB800140F61C10C2F2FE
:10441000000000EB810C50F82100DCF80410DCF8FF
:104420000820DCF80C30DCF810C0EE46CEF800C0F6
:10443000FFF7EAFDFCE040F20000C2F20000007865
:1044400000EB800140F61C10C2F2000000EB81007E
:10445000807900F00F0001281DD1FFE740F2000035
:10446000C2F20000007800EB800140F61C10C2F29E
:10447000000000EB810C50F82100DCF80410DCF89F
:104480000820DCF80C30DCF810C0EE46CEF800C096
:10449000FFF74AFECBE040F20000C2F200000078D5
:1044A00000EB800140F61C10C2F2000000EB81001E
:1044B000807900F00F0003281DD1FFE740F20000D3
:1044C000C2F20000007800EB800140F61C10C2F23E
:1044D000000000EB810C50F82100DCF80410DCF83F
:1044E0000820DCF80C30DCF810C0EE46CEF800C036
:1044F000FFF7A4FE9AE040F20000C2F2000000784C
:1045000000EB800140F61C10C2F2000000EB8100BD
:10451000807900F00F00042839D0FFE740F2000056
:10452000C2F20000007800EB800140F61C10C2F2DD
:10453000000000EB8100807900F00F00052826D0F4
:10454000FFE740F20000C2F20000007800EB8001BB
:1045500040F61C10C2F2000000EB8100807900F0F0
:104560000F00062813D0FFE740F20000C2F200005F
:10457000007800EB800140F61C10C2F2000000EB56
:104580008100807900F00F0007281DD1FFE740F27D
:104590000000C2F20000007800EB800140F61C1021
:1045A000C2F2000000EB810C50F82100DCF804108E
:1045B000DCF80820DCF80C30DCF810C0EE46CEF851
:1045C00000C000F041F830E040F20000C2F200000C
:1045D000007800EB800140F61C10C2F2000000EBF6
:1045E0008100807900F00F0008281DD1FFE740F21C
:1045F0000000C2F20000007800EB800140F61C10C1
:10460000C2F2000000EB810C50F82100DCF804102D
:10461000DCF80820DCF80C30DCF810C0EE46CEF8F0
:1046200000C0FBF7BBFEFFE7FFE7FFE7FFE7FFE7A1
:10463000FFE740F20001C2F200010878013000F00B
:104640007F000870FFE790E680B588B0DDF828C0ED
:10465000CDF818C005930492039102909DF80E00C6
:1046600000F00F00043801460191032846D8019953
:104670000FF2080000EB8100874600BF00F006B88B
:1046800000F012B800F01EB800F02AB802980399A2
:10469000049A059BDDF818C0EE46CEF800C0FCF782
:1046A00041FA8DF81F002DE002980399049A059BAA
:1046B000DDF818C0EE46CEF800C0FCF77FFA8DF8A2
:1046C0001F001FE002980399049A059BDDF818C0AB
:1046D000EE46CEF800C0FCF7BFFA8DF81F0011E0DF
:1046E00002980399049A059BDDF818C0EE46CEF8AF
:1046F00000C0FCF7FFFA8DF81F0003E001208DF8E1
:104700001F00FFE79DF81F0008B080BD80B58CB08A
:1047100040F28800C2F200000078C00700285BD099
:10472000FFE700200590049901F060410491ADF885
:1047300010009DF81210022262F31F118DF8121062
:104740009DF8131001F0F80101318DF813109DF858
:10475000121041F00F018DF812109DF8131001F0A6
:10476000F7018DF813109DF8131041F010018DF82A
:104770001310049921F060410791042108918DF8EC
:104780002C00099001200A9040F69000C2F200002F
:10479000016801310160049921F0604101910068D4
:1047A000B0F5807F07D3FFE740F69001C2F2000129
:1047B00000200860FFE740F69000C2F200000068A9
:1047C0008DF8080040F69800C2F2000006A902AA7F
:1047D00005ABFCF711FBFFE70CB080BD80B584B0E2
:1047E000039040F6C000C2F200000268516841F038
:1047F0001001516000228DF80A20ADF808200192C6
:10480000039909788DF80810039949788DF80910F3
:10481000039989788DF80A1002A9FEF7CDFD18B129
:10482000FFE7FCF7B7FAFFE70398C0788DF80700B9
:10483000039800798DF80500039840798DF80600FB
:10484000039880798DF8040040F6C000C2F20000A1
:1048500001A90022FEF7F0FC18B1FFE7FCF79AFA75
:10486000FFE740F6C000C2F200000168486820F08F
:104870001000486004B080BD82B08DF807000020B1
:1048800000909DF80700000900EB800040000090B8
:1048900000989DF8071001F00F010844C0B202B063
:1048A0007047000082B08DF8070000200090FFE7FD
:1048B0009DF807000A2809D3FFE70098013000900F
:1048C0009DF807000A388DF80700F1E7009800F01E
:1048D0000F019DF8070040EA011002B07047000088
:1048E00080B586B00590049100200390029001905D
:1048F00000900599C97B03910599497B029105991F
:10490000897B01910090FFE700980499884280F02C
:104910008C80FFE70298012818D0FFE7029803284F
:1049200014D0FFE70298052810D0FFE70298072867
:104930000CD0FFE70298082808D0FFE702980A2861
:1049400004D0FFE702980C281BD1FFE701981E282E
:1049500004D8FFE701980130019011E002980C287B
:1049600006D0FFE70298013002900120019006E096
:10497000012002900190039801300390FFE7FFE7C8
:104980004EE0029804280CD0FFE70298062808D0D1
:10499000FFE70298092804D0FFE702980B280FD1FF
:1049A000FFE701981D2804D8FFE701980130019026
:1049B00005E002980130029001200190FFE72EE00F
:1049C000029802282AD1FFE701981B2804D8FFE7A4
:1049D00001980130019020E001981C2811D1FFE7D7
:1049E000BDF80C0000F08EF820B1FFE7019801300F
:1049F000019005E002980130029001200190FFE74C
:104A00000AE001981D2806D1FFE7029801300290C4
:104A100001200190FFE7FFE7FFE7FFE7FFE7FFE780
:104A2000FFE70098013000906EE703980599C8737E
:104A300002980599487301980599887303989DF821
:104A400008109DF8042000F0E9F80599087306B0F5
:104A500080BD000080B584B0029000200190FDF779
:104A60008FFA0190FFE702980068406880060028EE
:104A70000DD4FFE7FDF784FA0199401AB0F57A7F6B
:104A800004D9FFE703208DF80F000AE0EBE7029856
:104A90000168486840F01000486000208DF80F0061
:104AA000FFE79DF80F0004B080BD000080B584B022
:104AB00002900020019002980168486820F01000E0
:104AC0004860FDF75DFA0190FFE7029800684068D2
:104AD000800600280DD4FFE7FDF752FA0199401A2D
:104AE000B0F57A7F04D9FFE703208DF80F0004E0CA
:104AF000EBE700208DF80F00FFE79DF80F0004B0F2
:104B000080BD000081B0ADF80000BDF80000800756
:104B100020B1FFE700208DF803002BE0BDF8000076
:104B200045F62941CCF28F2148434FEAB00045F6C3
:104B30002941C0F28F21884204D3FFE701208DF87C
:104B4000030017E0BDF8000045F62941CCF28F21A3
:104B500048434FEA30104DF20A71C0F2A301884277
:104B600004D8FFE701208DF8030003E000208DF852
:104B70000300FFE79DF8030001B0704782B0019089
:104B80000020ADF80200ADF8000001980068006A4E
:104B9000ADF8020001980068406AADF80000BDF869
:104BA0000210BDF8000040EA014002B0704700006A
:104BB00084B003900020ADF80A00ADF80800ADF80D
:104BC00006000090039800688069ADF80A00039819
:104BD0000068C069ADF80600039800688069ADF808
:104BE0000800BDF80A00BDF8081088420AD0FFE7A7
:104BF000BDF8081003980068C06980B240EA01401F
:104C0000009007E0BDF80A10BDF8060040EA014038
:104C10000090FFE7009804B07047000084B0039054
:104C20008DF80B108DF80A20002001900090039859
:104C300000F5FA6001909DF80B0002282ED8FFE7DE
:104C40009DF80B001721484348F63961C3F6E3018C
:104C5000A0FB01019DF80A0000EB510001990844F6
:104C6000013900EB910048F21F52C5F2EB12A1FB93
:104C70000221A0EB511000EBD110043044F62511B5
:104C8000C2F29241A0FB0121421A01EB52029108AB
:104C9000C900A1EB9201401A00902CE09DF80B0096
:104CA0001721484348F63961C3F6E301A0FB01012F
:104CB0009DF80A0000EB51000199084400EB9100B7
:104CC00048F21F52C5F2EB12A1FB0221A0EB5110DA
:104CD00000EBD110023044F62511C2F29241A0FB44
:104CE0000121421A01EB52029108C900A1EB920185
:104CF000401A0090FFE79DF8000004B070470000E4
:104D000080B584B00390029100208DF807000398CD
:104D1000FFF7A0FE20B1FFE701208DF8070013E0A8
:104D2000BDF80A00039909680862BDF808000399F4
:104D3000096848620398FFF7B9FE20B1FFE7012038
:104D40008DF80700FFE7FFE79DF8070004B080BD7E
:104D500080B584B00390029100208DF8070003987D
:104D6000FFF778FE20B1FFE701208DF8070013E080
:104D7000BDF80A00039909688861BDF80800039925
:104D80000968C8610398FFF791FE20B1FFE7012091
:104D90008DF80700FFE7FFE79DF8070004B080BD2E
:104DA0007047000080B582B0009000980138B0F1E3
:104DB000807F03D3FFE70120019019E000980138BC
:104DC0004EF21401CEF2000108604FF0FF300F21C7
:104DD00000F004FA4EF21801CEF200010020086043
:104DE0004EF21002CEF20002072111600190FFE79F
:104DF000019802B080BD000080B5FDF7C7F880BD06
:104E000080B596B00CA801902821FBF70FFA019805
:104E1000002102910B910A91099108910791069145
:104E20000591049103910A220C9201221092102301
:104E3000119312920222139214914FF46011159162
:104E4000FDF7D8FC18B1FFE7FBF7A4FFFFE70F2041
:104E5000079002210891002009904FF480620A9285
:104E60000B9007A8FDF7F0FA18B1FFE7FBF792FFE8
:104E7000FFE7012003904FF40070049003A8FDF7B2
:104E8000FFF918B1FFE7FBF785FFFFE74FF0E0619F
:104E900000221046FDF77AFC16B080BD7047000076
:104EA00080B5FFF733FC40F6D400C2F20000FEF7F5
:104EB00069FD80BD83B00290019102980068009066
:104EC000029842F60041C4F20101884215D0FFE782
:104ED0000298B0F1804F10D0FFE7029840F20041F5
:104EE000C4F20001884208D0FFE7029840F60001B2
:104EF000C4F2000188420AD1FFE7009820F0700058
:104F0000009001984168009808430090FFE70298DC
:104F100042F60041C4F20101884215D0FFE7029831
:104F2000B0F1804F10D0FFE7029840F20041C4F288
:104F30000001884208D0FFE7029840F60001C4F261
:104F4000000188420AD1FFE7009820F440700090E9
:104F50000198C168009808430090FFE7009820F08E
:104F600080000199496908430090009802990860FF
:104F7000019880680299C862019800680299886265
:104F8000029842F60041C4F20101884205D1FFE7D0
:104F90000198006902990863FFE7029901204861BE
:104FA00003B0704785B00490039102920193049876
:104FB00080680090009820F47F4000900398029948
:104FC000019A41EA022101430098084300900098A9
:104FD0000499886005B0704783B0029001910298EF
:104FE00080680090009820F070000090019800996F
:104FF000084340F00700009000980299886003B0D1
:105000007047000085B00490039102920498006AF2
:1050100000900499086A20F00100086204988069F1
:105020000190019820F0F00001900299019840EA67
:1050300001100190009820F00A0000900399009858
:1050400008430090019804998861009804990862C7
:1050500005B0704785B00490039102920498006AED
:1050600000900499086A20F0100008620498806992
:105070000190019820F4704001900299019840EA53
:1050800001300190009820F0A00000900399009852
:1050900040EA0110009001980499886100980499F1
:1050A000086205B07047000080B586B08446099854
:1050B000DDF820E0CDF814C0049103920293ADF81E
:1050C0000600059BBDF8060000EB800040F61C11B1
:1050D000C2F2000101EB8002506863F31C005060D3
:1050E0009DF81030BDF8060000EB800211F8220098
:1050F00003F0010300F0FE00184401F822009DF8BF
:105100000C30BDF8060000EB800211F8220003F01D
:10511000010300F0FD0040EA430001F8220002987C
:10512000BDF8062002EB820201EB8201088100201B
:105130000090FFE700980299884214D2FFE7089890
:10514000009A805CBDF8061001EB810340F61C114B
:10515000C2F2000101EB830111448872FFE700985D
:1051600001300090E6E79DF8060040F68C01C2F29F
:105170000001087006B080BD80B540F69800C2F20C
:105180000000FCF7B1F880BD80B540F69800C2F28F
:105190000000FCF7A9F880BDFFE7FEE781B08DF8BD
:1051A00003009DF9030000280ED4FFE79DF90310CA
:1051B00001F01F02012090404A094EF20011CEF288
:1051C000000141F82200FFE701B070474EF60C5095
:1051D000CEF200000068C0F30220704782B08DF864
:1051E000070000919DF9070000280AD4FFE7009806
:1051F00000019DF907104EF20042CEF200028854E1
:105200000BE0009800019DF8071001F00F014EF629
:105210001452CEF200028854FFE702B0704700003B
:1052200083B00290029800F0070000904EF60C51F7
:10523000CEF200010868019001984FF6FF0210407D
:1052400001900198009A40EA02200022C0F2FA522E
:10525000104301900198086003B07047BFF34F8F6F
:105260004EF60C51CEF20001086800F4E060042212
:10527000C0F2FA5210430860BFF34F8FFFE700BF40
:10528000FDE7000080B582B000200190FFF7B8FD77
:10529000FFF740F8FFF760F8FCF786FEFFF7B0FD78
:1052A000FEF730FDFEF706FDFEF752FDFEF79AFD14
:1052B000FFE7FEE71F0000001C0000001F000000C9
:1052C0001E0000001F0000001E0000001F00000064
:1052D0001F0000001E0000001F0000001E00000054
:1052E0001F0000001F0000001D0000001F00000044
:1052F0001E0000001F0000001E0000001F00000034
:105300001F0000001E0000001F0000001E00000023
:105310001F00000000000000000000000102030464
:105320000607080900000000010203040203040547
:10533000060708090A0B0C0D0E0F101001020203DC
:105340000405060708090A0B0C0D0E0F10100102C8
:105350007053000800000020280000002801000809
:105360009853000828000020F818000044010008A5
:10537000010000000024F400000020090000F00FEC
:1053800000000F0000000F0000000F0001000000EF
:08539000100000000000000005
:1003100070470000FFE7FEE780B540F6E000C2F25C
:10032000000000F06DFC80BD80B540F6E000C2F238
:10033000000000F065FC80BD40F27001C2F20001D7
:10034000486901304861704740F27001C2F2000113
:10035000C8690130C861704740F27001C2F2000103
:10036000886801308860704740F27001C2F2000175
:10037000886901308861704740F27001C2F2000163
:10038000086A01300862704740F27001C2F2000151
:10039000486801304860704740F27001C2F20001C5
:1003A000086801300860704740F27001C2F2000135
:1003B000086901300861704740F27001C2F2000123
:1003C000886C01308864704740F27001C2F200010D
:1003D000C86C0130C864704740F27001C2F200017D
:1003E000086D01300865704740F27001C2F20001EB
:1003F000486D01304865704740F27001C2F200015B
:10040000486A01304862704740F27001C2F2000150
:10041000886A01308862704740F27001C2F20001C0
:10042000C8680130C860704740F27001C2F2000134
:10043000486C01304864704740F27001C2F200011C
:10044000C86A0130C862704740F27001C2F2000110
:10045000486B01304863704740F27001C2F20001FE
:10046000C86B0130C863704740F27001C2F20001EE
:10047000086B01300863704740F27001C2F200015E
:10048000886B01308863704740F27001C2F200014E
:10049000086C01300864704780B590B0DDF848C042
:1004A000CDF83CC00E930D920C910B90002004905F
:1004B000042107918DF8280008900C9A019962F3A5
:1004C0001C0101919DF8071041F008018DF80710FB
:1004D0009DF8061001F0F00108318DF80610FF219B
:1004E0008DF800108DF801000099ADF80410019905
:1004F00021F060410691099040F6D400C2F200005C
:10050000006805A902AA04AB00F036F810B080BD5F
:100510007047000081B0EFF3108072B60090FFE7E3
:10052000FEE7000084B002900191029890F820004C
:100530008DF803009DF80300012805D0FFE79DF822
:10054000030002280AD1FFE7019A0298016848696E
:100550001043486100208DF80F0008E00299486AB6
:1005600040F48020486201208DF80F00FFE79DF8DD
:100570000F0004B07047000088B006900591049207
:100580000393069890F820008DF8070006980068FD
:10059000806800900598806808B9FFE700E0FFE7F1
:1005A0009DF80700012806D0FFE79DF80700022804
:1005B00040F08080FFE79DF80300400700280CD43E
:1005C000FFE79DF803000007002806D4FFE79DF829
:1005D0000300C006002864D5FFE70098C0F301605F
:1005E000029002990120884003990860059880686C
:1005F00068B9FFE705980168C06840EA415006996C
:100600000968029A01EB0211C1F880010EE0059918
:100610004A688868C96840EAC200084306990968C0
:10062000029A01EB0211C1F88001FFE70598006909
:1006300006990968029A01EB0211C1F88401059834
:10064000007D01280CD1FFE706980068029900EBB5
:100650000111D1F8840140F48070C1F88401FFE7F2
:100660000498406806990968029A01EB0211C1F8E2
:100670008C010498006806990968029A01EB02113E
:10068000C1F8880106980068029900EB0111D1F8C1
:10069000800140F00100C1F8800100208DF81F00AA
:1006A00011E00699486A40F40010486201208DF874
:1006B0001F0008E00699486A40F480204862012043
:1006C0008DF81F00FFE79DF81F0008B0704700007D
:1006D00086B004900391049800680190049890F803
:1006E00020008DF803009DF80300012806D0FFE7E5
:1006F0009DF80300022840F09B80FFE70199D1F8A4
:10070000000240F00100C1F800020398406900F0C7
:100710001F01012088400290029A0199D1F81C0221
:100720009043C1F81C020398C069F0B9FFE7029A30
:100730000199D1F80C029043C1F80C02039A9088F9
:10074000D168526940EA0140019901EBC201C1F848
:100750004002039A10889168526940EA0140019969
:1007600001EBC201C1F84402FFE70398C069012808
:100770001ED1FFE7029A0199D1F80C021043C1F88B
:100780000C02039A90881168526940EA014001996D
:1007900001EBC201C1F84002039A90899168526945
:1007A00040EA0140019901EBC201C1F84402FFE7B0
:1007B0000398806940B9FFE7029A0199D1F80402D1
:1007C0009043C1F8040207E0029A0199D1F80402AB
:1007D0001043C1F80402FFE70398006940B9FFE73E
:1007E000029A0199D1F814029043C1F8140207E06B
:1007F000029A0199D1F814021043C1F81402FFE7DC
:100800000398006A012808D1FFE7029A0199D1F8FC
:100810001C021043C1F81C02FFE70199D1F8000245
:1008200020F00100C1F8000200208DF8170008E058
:100830000499486A40F48020486201208DF817002E
:10084000FFE79DF8170006B07047000080B582B042
:1008500001900198406A08B9FFE7C4E00198406A36
:10086000C00718B1FFE7FFF797FDFFE70198406A5F
:100870008007002803D5FFE7FFF786FDFFE7019813
:10088000406A4007002803D5FFE7FFF765FDFFE753
:100890000198406A0007002803D5FFE7FFF7BCFD79
:1008A000FFE70198406AC006002803D5FFE7FFF77D
:1008B0007BFDFFE70198406A8006002803D5FFE72B
:1008C000FFF73AFDFFE70198406A4006002803D58C
:1008D000FFE7FFF749FDFFE70198406A000600289F
:1008E00003D5FFE7FFF730FDFFE70198406AC00539
:1008F000002803D5FFE7FFF73FFDFFE70198406AB7
:100900008005002803D5FFE7FFF776FDFFE7019894
:10091000406A4005002803D5FFE7FFF775FDFFE7B4
:100920000198406A0005002803D5FFE7FFF784FD22
:10093000FFE70198406AC004002803D5FFE7FFF7EE
:1009400093FDFFE70198406A8004002803D5FFE784
:10095000FFF77AFDFFE70198406A4004002803D5BD
:10096000FFE7FFF789FDFFE70198406A00040028D0
:1009700003D5FFE7FFF770FDFFE70198406AC0036A
:10098000002803D5FFE7FFF77FFDFFE70198406AE6
:100990008003002803D5FFE7FFF746FDFFE7019836
:1009A000406A4003002803D5FFE7FFF705FDFFE796
:1009B0000198406A0003002803D5FFE7FFF704FD14
:1009C000FFE70198406AC002002803D5FFE7FFF760
:1009D00003FDFFE70198406A8002002803D5FFE786
:1009E000FFF702FDFFE702B080BD000086B0049073
:1009F000039102920193049890F820008DF803006F
:100A00009DF80300012806D0FFE79DF803000228A7
:100A100040F0E880FFE7039880B9FFE7049800689A
:100A2000C068800748B9FFE70499486A40F400109D
:100A3000486201208DF81700DDE00FE0049800689F
:100A40000069800748B9FFE70499486A40F400103C
:100A5000486201208DF81700CDE0FFE70498006898
:100A6000039900EB0110D0F8B00100F004000299E6
:100A700088600298806858B9FFE704980068039975
:100A800000EB0110D0F8B001400D029908600AE0B7
:100A900004980068039900EB0110D0F8B001C00879
:100AA00002994860FFE704980068039900EB011081
:100AB000D0F8B00100F002000299C8600498006804
:100AC000039900EB0110D0F8B40100F00F000828E2
:100AD00004D3FFE70299082008610BE0049800683E
:100AE000039900EB0110D0F8B40100F00F00029957
:100AF0000861FFE704980068039900EB0110D0F843
:100B0000B40180B2000A02998861049800680399D0
:100B100000EB0110D0F8B401000C02994861049870
:100B20000068039900EB0110D0F8B8010199087032
:100B300004980068039900EB0110D0F8B801000A8E
:100B40000199487004980068039900EB0110D0F8EF
:100B5000B801000C0199887004980068039900EBB3
:100B60000110D0F8B801000E0199C870049800680F
:100B7000039900EB0110D0F8BC01019908710498A9
:100B80000068039900EB0110D0F8BC01000A01993C
:100B9000487104980068039900EB0110D0F8BC017B
:100BA000000C0199887104980068039900EB01100A
:100BB000D0F8BC01000E0199C871039838B9FFE75D
:100BC00004980168C86840F02000C86006E00498F6
:100BD0000168086940F020000861FFE700208DF8F7
:100BE000170008E00499486A40F480204862012018
:100BF0008DF81700FFE79DF8170006B0704700005A
:100C000080B58AB009900020089009980068406972
:100C10000790099800684068069009980068806805
:100C2000059009980068C0680490099800680069F8
:100C3000039009980068806902909DF81C00C00725
:100C4000002800F09480FFE79DF81400C00758B317
:100C5000FFE709980168012088609DF8140080076B
:100C6000002804D5FFE70998816A88471BE09DF8B2
:100C700014004007002805D5FFE7089840F40060FD
:100C800008900FE09DF814000007002805D5FFE745
:100C9000089840F48050089003E00998416B884719
:100CA000FFE7FFE7FFE7FFE79DF81500C00760B328
:100CB000FFE7099801684FF4807088609DF815007F
:100CC0008007002804D5FFE70998C16A88471BE020
:100CD0009DF815004007002805D5FFE7089840F467
:100CE000005008900FE09DF815000007002805D57A
:100CF000FFE7089840F48040089003E00998816B72
:100D00008847FFE7FFE7FFE7FFE79DF81600C0070A
:100D100060B3FFE7099801684FF4803088609DF860
:100D200016008007002804D5FFE70998016B884763
:100D30001BE09DF816004007002805D5FFE708983E
:100D400040F4004008900FE09DF8160000070028CE
:100D500005D5FFE7089840F48030089003E0099833
:100D6000C16B8847FFE7FFE7FFE7FFE7FFE79DF875
:100D70001C000007002810D5FFE79DF81000C006F2
:100D8000002809D5FFE7089840F4007008900998FA
:100D900001681020C860FFE7FFE79DF81C004007CE
:100DA00000280FD5FFE79DF810000007002808D5A0
:100DB000FFE7099801680820C8600998416C8847D6
:100DC000FFE7FFE79DF81C00800700280BD5FFE731
:100DD00009980068C068800720B1FFE70998016C96
:100DE0008847FFE7FFE79DF81C004006002810D564
:100DF000FFE79DF80C00C006002809D5FFE708981A
:100E000040F4806008900998016810200861FFE7AD
:100E1000FFE79DF81C00800600280FD5FFE79DF82E
:100E20000C000007002808D5FFE709980168082092
:100E300008610998C16C8847FFE7FFE79DF81C002F
:100E4000C00600280BD5FFE70998006800698007F5
:100E500020B1FFE70998816C8847FFE7FFE79DF81D
:100E60001E00800700280FD5FFE79DF81800C00678
:100E7000002808D5FFE70998016810204860099804
:100E8000016D8847FFE7FFE79DF81E00C00778B1B6
:100E9000FFE79DF818000007002808D5FFE709982C
:100EA0000168082048600998416D8847FFE7FFE71F
:100EB0009DF81D000006002840F18D80FFE79DF899
:100EC00018004007002840F18180FFE79DF81D00D1
:100ED000C00750B1FFE79DF80800C00728B1FFE741
:100EE000089840F001000890FFE79DF81D0080077A
:100EF00000280BD5FFE79DF808008007002805D5DE
:100F0000FFE7089840F002000890FFE79DF81D00F9
:100F1000400700280BD5FFE79DF808004007002890
:100F200005D5FFE7089840F004000890FFE79DF81A
:100F30001D000007002848D5FFE79DF8080010F0C5
:100F4000700F42D0FFE7029800F070000146019157
:100F5000102814D0FFE70198202815D0FFE701984A
:100F6000302816D0FFE70198402817D0FFE70198F6
:100F7000502818D0FFE70198602819D01DE0089884
:100F800040F00800089019E0089840F01000089020
:100F900014E0089840F0200008900FE0089840F016
:100FA000400008900AE0089840F08000089005E0B2
:100FB000089840F48070089000E0FFE70998016805
:100FC000886920F070008861FFE7FFE709980168F1
:100FD00004204860FFE7089848B1FFE7089A09999C
:100FE000486A104348620998816D8847FFE70AB054
:100FF00080BD000080B584B00290029820B9FFE760
:1010000001208DF80F003AE1029890F820000028A6
:101010005DD1FFE7029941F24D50C0F6000008642F
:10102000029941F24550C0F600004864029941F22D
:101030005D50C0F600008864029941F25550C0F638
:101040000000C864029941F20160C0F600008862A5
:10105000029941F21160C0F60000C862029941F2A3
:101060002160C0F600000863029941F2F950C0F611
:1010700000004863029941F20960C0F600008863ED
:10108000029941F21960C0F60000C863029941F26A
:101090006550C0F600000865029941F2F170C0F693
:1010A00000004865029940F64D00C0F600008865D2
:1010B0000298C06D38B9FFE7029941F2E120C0F60D
:1010C0000000C865FFE70298C16D8847FFE70298F6
:1010D0000168086840F00100086000F0EDFD019033
:1010E000FFE7029800684068C007A8B9FFE700F072
:1010F000E3FD0199401A0B280DD3FFE70299486AD6
:1011000040F4003048620299052081F82000012057
:101110008DF80F00B3E0E4E702980168086820F05A
:101120000200086000F0C8FD0190FFE70298006827
:1011300040688007002815D5FFE700F0BDFD019944
:10114000401A0B280DD3FFE70299486A40F400309B
:1011500048620299052081F8200001208DF80F00D7
:101160008DE0E3E70298007E012807D1FFE70298AF
:101170000168086840F08000086006E00298016895
:10118000086820F080000860FFE70298407E012890
:1011900007D1FFE702980168086840F04000086046
:1011A00006E002980168086820F040000860FFE748
:1011B0000298807E012807D1FFE70298016808683D
:1011C00040F02000086006E002980168086820F0FE
:1011D00020000860FFE70298C07E012807D1FFE7E2
:1011E00002980168086820F01000086006E0029884
:1011F0000168086840F010000860FFE70298007F6F
:10120000012807D1FFE702980168086840F008004C
:10121000086006E002980168086820F0080008608D
:10122000FFE70298407F012807D1FFE70298016895
:10123000086840F00400086006E002980168086849
:1012400020F004000860FFE7029B19685A6898685C
:10125000D3F80CC040EA0C00D3F810C040EA0C00F0
:101260005B691843013A1043C86102990020486243
:10127000029A012182F820108DF80F00FFE79DF8F7
:101280000F0004B080BD000080B582B001900198CD
:10129000006846F20041C4F2000188421DD1FFE718
:1012A00041F21C01C4F20201086820F000700860DD
:1012B00040F60000C4F201004FF4C05100F09CFA67
:1012C000132000F07BFD142000F078FD152000F0C5
:1012D00075FD162000F072FDFFE702B080BD000032
:1012E00080B58EB00D9000200C900B900A90099064
:1012F0000D98006846F20041C4F2000188425ED1B8
:10130000FFE7FFE741F21C00C4F20200016841F070
:1013100000710160006800F0007008900898FFE715
:10132000FFE741F21800C4F20200016841F0040135
:101330000160006800F0040007900798FFE74FF491
:1013400000600990002005900A900B9040F6000084
:10135000C4F20100009009A9019100F01DFB009862
:1013600001994FF48052099202220A9203220C92B0
:1013700000F012FB059A13200290114600F032FD96
:10138000029800F025FD059A14200390114600F004
:1013900029FD039800F01CFD059A152004901146C4
:1013A00000F020FD049800F013FD059A1620069029
:1013B000114600F017FD069800F00AFDFFE70EB099
:1013C00080BD000087B005908DF8131003920020B7
:1013D0008DF80B00039848B9FFE70599486A40F477
:1013E0008000486201208DF81B00A6E0059890F867
:1013F0002000012870D1FFE79DF8130001460191FC
:101400000E285FD801990FF2080000EB8100874693
:1014100000F01CB800F01EB800F020B800F022B8B0
:1014200000F024B800F026B800F028B800F02AB880
:1014300000F02CB800F02EB800F030B800F032B850
:1014400000F034B800F036B800F038B803980599C9
:10145000886240E003980599C8623CE003980599CA
:10146000086338E003980599486334E003980599C8
:10147000886330E003980599C8632CE003980599C8
:10148000086428E003980599486424E003980599C6
:10149000886420E003980599C8641CE003980599C6
:1014A000086518E003980599486514E003980599C4
:1014B000886510E003980599C8650CE003980599C4
:1014C000086608E00599486A40F4800048620120F7
:1014D0008DF80B00FFE72BE0059890F82000E8B9A5
:1014E000FFE79DF81300014600910D2804D0FFE7A7
:1014F00000980E2804D007E003980599C8650CE011
:1015000003980599086608E00599486A40F4800048
:10151000486201208DF80B00FFE708E00599486A52
:1015200040F48000486201208DF80B00FFE7FFE7E0
:101530009DF80B008DF81B00FFE79DF81B0007B01E
:101540007047000081B0009001B0704781B00090FA
:1015500001B0704781B0009001B0704781B0009039
:1015600001B0704781B0009001B0704780B584B081
:101570000290029890F8200001282FD1FFE70299ED
:10158000022081F8200002980168086820F001001C
:10159000086000F091FB0190FFE702980068406846
:1015A000C007A8B1FFE700F087FB0199401A0B289C
:1015B0000DD3FFE70299486A40F40030486202996F
:1015C000052081F8200001208DF80F000FE0E4E7EE
:1015D0000299002048628DF80F0008E00299486ADD
:1015E00040F40020486201208DF80F00FFE79DF8CD
:1015F0000F0004B080BD000081B0009001B07047C2
:1016000081B0009001B0704781B0009001B0704788
:1016100081B0009001B0704781B0009001B0704778
:1016200081B0009001B0704784B003908DF80B102A
:1016300000208DF80A00039890F82000012840F05F
:10164000A080FFE79DF80B00014601910E2800F2F3
:101650008E8001990FF2080000EB8100874600BFE1
:1016600000F01CB800F021B800F026B800F02BB84C
:1016700000F030B800F035B800F03AB800F03FB8EC
:1016800000F044B800F049B800F04EB800F053B88C
:1016900000F058B800F05DB800F062B8039941F26C
:1016A0000160C0F6000088626AE0039941F21160AF
:1016B000C0F60000C86263E0039941F22160C0F601
:1016C000000008635CE0039941F2F950C0F60000A5
:1016D000486355E0039941F20960C0F60000886351
:1016E0004EE0039941F21960C0F60000C86347E07C
:1016F000039941F24D50C0F60000086440E00399A0
:1017000041F24550C0F60000486439E0039941F2C7
:101710005D50C0F60000886432E0039941F25550F4
:10172000C0F60000C8642BE0039941F26550C0F692
:101730000000086524E0039941F2F170C0F6000052
:1017400048651DE0039940F64D00C0F6000088652D
:1017500016E0039941F2E120C0F60000C8650FE0F1
:10176000039941F28920C0F60000086608E0039959
:10177000486A40F48000486201208DF80A00FFE7C3
:1017800031E0039890F8200018BBFFE79DF80B00AC
:10179000014600910D2804D0FFE700980E2807D0DD
:1017A0000DE0039941F2E120C0F60000C8650FE0AA
:1017B000039941F28920C0F60000086608E0039909
:1017C000486A40F48000486201208DF80A00FFE773
:1017D00008E00399486A40F48000486201208DF8CF
:1017E0000A00FFE7FFE79DF80A0004B07047000019
:1017F00081B0009001B070478DB00C900B9100202B
:101800000A90FFE70B980A99C840002800F0C180B1
:10181000FFE70B980A9A0121914008400990099826
:10182000002800F0B280FFE70A9820F003000821AA
:10183000C4F20101405808900A9800F003008100AA
:101840000F2000FA01F108980840089008980590C8
:101850000C9840F60001C4F20101884203D1FFE771
:101860000020049026E00C9840F60041C4F20101EB
:10187000884203D1FFE70120039018E00C9841F261
:101880000001C4F20101884203D1FFE70220029067
:101890000AE00C9941F20042C4F201020420914294
:1018A00008BF03200290FFE702980390FFE7039828
:1018B0000490FFE7059804990A9A02F00302920047
:1018C0009140884232D1FFE7099A40F20041C4F2C8
:1018D0000101086890430860099A40F20441C4F28B
:1018E0000101086890430860099A40F20C41C4F273
:1018F0000101086890430860099A40F20841C4F267
:1019000001010868904308600A9800F00300810014
:101910000F2088400890089B0A9820F003010822B5
:10192000C4F20102885898438850FFE70998FF28BD
:1019300003D8FFE70C98019003E00C980430019065
:10194000FFE7019807900998FF2804D8FFE70A9855
:101950008000009006E00A996FF01F0000EB810004
:101960000090FFE70098069007980068069A0F21FC
:101970009140884304219140084307990860099ADF
:101980000C99C8689043C860FFE70A9801300A9034
:1019900038E70DB07047000090B00F900E91002016
:1019A0000D900990FFE70E9800680D99C840002837
:1019B00000F07F81FFE70D99012088400C900E9880
:1019C00000680C9908400B900B980C99884240F0E5
:1019D0006C81FFE70E9840680590002851D0FFE722
:1019E000059801283AD0FFE7059802283FD0FFE785
:1019F000059803285FD0FFE70598112832D0FFE74C
:101A00000598122838D0FFE705980021C1F211018E
:101A1000884236D0FFE705980021C1F212018842C2
:101A20002FD0FFE705980021C1F22101884228D07C
:101A3000FFE705980021C1F22201884221D0FFE78B
:101A400005980021C1F2310188421AD0FFE70598BC
:101A50000021C1F23201884213D02FE00E98C068F5
:101A600009902CE00E98C0680430099027E00E9889
:101A7000C0680830099022E00E98C0680C300990C8
:101A80001DE00E98806818B9FFE70420099011E066
:101A90000E988068012806D1FFE7082009900C986D
:101AA0000F99086105E0082009900C980F9948618A
:101AB000FFE7FFE703E00020099000E0FFE70B9855
:101AC000FF2803D8FFE70F98049003E00F98043035
:101AD0000490FFE7049808900B98FF2804D8FFE7CC
:101AE0000D988000039006E00D996FF01F0000EB49
:101AF00081000390FFE70398079008980068079A11
:101B00000F21914088430999914008430899086042
:101B10000E98C079C006002840F1C680FFE7FFE7B5
:101B200041F21800C4F20200016841F001010160B5
:101B3000006800F0010006900698FFE70D9820F07D
:101B400003000821C4F2010140580A900D9800F0EA
:101B5000030081000F2000FA01F10A9888430A90DF
:101B60000F9840F60001C4F20101884203D1FFE75B
:101B70000020029026E00F9840F60041C4F20101D7
:101B8000884203D1FFE70120019018E00F9841F24D
:101B90000001C4F20101884203D1FFE70220009056
:101BA0000AE00F9941F20042C4F20102042091427E
:101BB00008BF03200090FFE700980190FFE701981D
:101BC0000290FFE702980D9901F00301890000FAE5
:101BD00001F10A9808430A900A980D9921F003012F
:101BE0000822C4F2010288500E988079C0060028AD
:101BF00009D5FFE70B9A40F20841C4F201010868D9
:101C00001043086008E00B9A40F20841C4F2010159
:101C1000086890430860FFE70E98807980060028E6
:101C200009D5FFE70B9A40F20C41C4F201010868A4
:101C30001043086008E00B9A40F20C41C4F2010125
:101C4000086890430860FFE70E98807980070028B5
:101C500009D5FFE70B9A40F20441C4F2010108687C
:101C60001043086008E00B9A40F20441C4F20101FD
:101C7000086890430860FFE70E988079C00748B174
:101C8000FFE70B9A40F20041C4F2010108681043DB
:101C9000086008E00B9A40F20041C4F201010868B4
:101CA00090430860FFE7FFE7FFE70D9801300D90D4
:101CB00079E610B07047000041F20C40C2F200001B
:101CC0000068704740F20800C2F20000027841F25A
:101CD0000C41C2F20001086810440860704700001F
:101CE00080B542F20001C4F20201086840F0100021
:101CF0000860032000F090F80F2000F005F800F0D5
:101D00003BF8002080BD000080B582B0009040F21A
:101D10000400C2F20000006840F20801C2F20001B3
:101D20000A784FF47A71B1FBF2F1B0FBF1F001F0F7
:101D3000BDFA20B1FFE701208DF8070018E00098F8
:101D40000F280DD8FFE700994FF0FF30002200F078
:101D500049F8009840F20C01C2F20001086003E06B
:101D600001208DF8070003E000208DF80700FFE751
:101D70009DF8070002B080BD82B0FFE741F2180075
:101D8000C4F20200016841F001010160006800F046
:101D9000010001900198FFE7FFE741F21C00C4F247
:101DA0000200016841F080510160006800F080503D
:101DB00000900098FFE702B07047000080B582B045
:101DC0008DF807009DF9070004F0F8FA02B080BD15
:101DD00080B582B08DF807009DF9070004F00AFB7A
:101DE00002B080BD80B586B08DF8170004910392D3
:101DF0000020029004F016FB02909DF9170001905C
:101E000002980499039A02F017FA0146019804F027
:101E100011FB06B080BD000080B582B00190019832
:101E200004F02AFB02B080BD2021C4F20E21012063
:101E30000860704780B588B0079000200690059034
:101E400004900390029007980190012866D0FFE764
:101E50000198022800F0A580FFE70198102840F0C3
:101E6000B080FFE741F20400C4F202000068039072
:101E700041F20000C4F202000068C00100284CD505
:101E8000FFE70398C0F3834146F2BC50C0F6000060
:101E9000405C04909DF80E00C007F0B1FFE741F2EE
:101EA0000400C4F202000068C0F3404146F2CC5086
:101EB000C0F60000405C06909DF80E00C00758B1C7
:101EC000FFE7069941F20020C0F27A00B0FBF1F082
:101ED000049948430590FFE707E0049840F6001195
:101EE000C0F23D0148430590FFE741F20400C4F20F
:101EF000020000684002002803D5FFE70598029021
:101F00000AE0059840004AF6AB21CAF6AA21A0FBD8
:101F1000011040080290FFE7FFE753E041F2200084
:101F2000C4F2020000680390039800F44070B0F51A
:101F3000807F0AD1FFE79DF80C008007002804D5B8
:101F4000FFE74FF4004002902AE0039800F440704D
:101F5000B0F5007F0DD1FFE741F22400C4F202008A
:101F600000688007002804D5FFE749F6404002904A
:101F700015E0039800F44070B0F5407F0DD1FFE705
:101F800041F20000C4F2020000688003002804D57A
:101F9000FFE74FF22440029000E0FFE7FFE7FFE792
:101FA00010E000F029FA41F20401C4F202010968CC
:101FB00001F44042022101EB5231B0FBF1F00290FA
:101FC00000E0FFE7029808B080BD000080B586B051
:101FD000049000200390029004980078C007002825
:101FE00000F0AC80FFE700208DF8070041F21C00F4
:101FF000C4F202000068C000002813D4FFE7FFE726
:1020000041F21C00C4F20200016841F080510160FD
:10201000006800F0805000900098FFE701208DF8E4
:102020000700FFE747F20000C4F200000068C005A7
:10203000002822D4FFE747F20001C4F2000108683B
:1020400040F480700860FFF737FE0390FFE747F227
:102050000000C4F200000068C00500280CD4FFE7AF
:10206000FFF72AFE0399401A652804D3FFE70320EF
:102070008DF817008AE0EAE7FFE741F22000C4F29A
:102080000200006800F4407002900298E0B3FFE79D
:1020900002980499496801F44071884234D0FFE7FE
:1020A00041F22001C4F20201086820F4407002905D
:1020B00040F24042C4F24222012010600020106031
:1020C000029808609DF80800C007E0B1FFE7FFF73D
:1020D000F3FD0390FFE741F22000C4F20200006824
:1020E000800700280ED4FFE7FFF7E6FD0399401AAA
:1020F00041F28931884204D3FFE703208DF81700AD
:1021000044E0E8E7FFE7FFE741F22001C4F2020103
:10211000086820F44070049A5268104308609DF8E3
:102120000700012809D1FFE741F21C01C4F20201B6
:10213000086820F080500860FFE7FFE70498007807
:10214000800700280CD5FFE741F20401C4F2020128
:10215000086820F44040049A926810430860FFE742
:1021600004980078C00600280CD5FFE741F204016E
:10217000C4F20201086820F48000049AD268104377
:102180000860FFE700208DF81700FFE79DF81700B3
:1021900006B080BD80B584B002900191029820B94C
:1021A000FFE701208DF80F001BE1019842F20001CA
:1021B000C4F20201096801F00701884216D9FFE75D
:1021C00042F20000C4F20200016821F00701019A06
:1021D00011430160006800F007000199884204D0B3
:1021E000FFE701208DF80F00FBE0FFE70298007881
:1021F000800700282AD5FFE70298007840070028CA
:1022000009D5FFE741F20401C4F20201086840F475
:10221000E0600860FFE7029800780007002809D511
:10222000FFE741F20401C4F20201086840F4605083
:102230000860FFE741F20401C4F20201086820F0DF
:10224000F000029A926810430860FFE70298007855
:10225000C007002860D0FFE70298406801280ED12F
:10226000FFE741F20000C4F202000068800300288A
:1022700004D4FFE701208DF80F00B2E021E00298BE
:10228000406802280ED1FFE741F20000C4F20200CC
:1022900000688001002804D4FFE701208DF80F00BA
:1022A0009FE00DE041F20000C4F2020000688007E8
:1022B000002804D4FFE701208DF80F0091E0FFE72C
:1022C000FFE741F20401C4F20201086820F00300B4
:1022D000029A526810430860FFF7EEFC0090FFE797
:1022E00041F20400C4F20200006800F00C00029900
:1022F0004968B0EB810F0ED0FFE7FFF7DDFC0099D6
:10230000401A41F28931884204D3FFE703208DF857
:102310000F0066E0E4E7FFE7019842F20001C4F233
:102320000201096801F00701884216D2FFE742F274
:102330000000C4F20200016821F00701019A114374
:102340000160006800F007000199884204D0FFE7AF
:1023500001208DF80F0044E0FFE702980078400765
:1023600000280CD5FFE741F20401C4F2020108681D
:1023700020F4E060029AD26810430860FFE70298F8
:102380000078000700280DD5FFE741F20401C4F2F0
:102390000201086820F46050029A126940EAC20003
:1023A0000860FFE700F03AF841F20401C4F20201CC
:1023B0000968C9B20A0946F2A451C0F60001895C55
:1023C000C84040F20401C2F20001086040F20C0073
:1023D000C2F200000068FFF797FC00208DF80F00A4
:1023E000FFE79DF80F0004B080BD000040F204003C
:1023F000C2F200000068704780B5FFF7F7FF41F2B6
:102400000401C4F202010968C1F3C22246F2B451C8
:10241000C0F60001895CC84080BD000086B0002085
:102420000590049003900290019041F20400C4F2E0
:10243000020000680590059800F00C00014600912C
:1024400000283FD0FFE70098042804D0FFE7009859
:10245000082806D037E041F20020C0F27A0001904F
:1024600037E00598C0F3834146F2CE50C0F6000035
:10247000405C02909DF81600C007C0B1FFE741F232
:102480000400C4F202000068C0F3404146F2DE508E
:10249000C0F60000405C0490029841F20021C0F2B6
:1024A0007A0148430499B0FBF1F0039007E00298E9
:1024B00040F60011C0F23D0148430390FFE7039846
:1024C000019006E0FFE741F20020C0F27A0001909F
:1024D000FFE7019806B0704780B588B00790069175
:1024E0000592002004900390029001900221029135
:1024F0000321049103904FF480700190FFE741F2B3
:102500001800C4F20200016841F004010160006893
:1025100000F0040000900098FFE740F60000C4F2CD
:10252000010001A9FFF738FA41F20401C4F20201E7
:10253000086820F0E060069A1043086008B080BD8B
:1025400080B586B00490049820B9FFE701208DF88B
:1025500017002EE304980078C007002800F0AE8032
:10256000FFE741F20400C4F20200006800F00C0032
:10257000042813D0FFE741F20400C4F2020000680F
:1025800000F00C0008281BD1FFE741F20400C4F260
:1025900002000068C003002812D5FFE741F20000E6
:1025A000C4F2020000688003002808D5FFE7049801
:1025B000406820B9FFE701208DF81700F9E27CE0C0
:1025C000FFE704984068B0F5803F09D1FFE741F28A
:1025D0000001C4F20201086840F48030086032E073
:1025E0000498406868B9FFE741F20001C4F20201B3
:1025F000086820F480300860086820F480200860B3
:1026000020E004984068B0F5A02F0DD1FFE741F21B
:102610000001C4F20201086840F4802008600868E4
:1026200040F4803008600CE041F20001C4F2020185
:10263000086820F480300860086820F48020086072
:10264000FFE7FFE7FFE7FFE704984068D0B1FFE747
:10265000FFF732FB0390FFE741F20000C4F20200F3
:102660000068800300280CD4FFE7FFF725FB0399DF
:10267000401A652804D3FFE703208DF8170098E27D
:10268000EAE719E0FFF718FB0390FFE741F20000CB
:10269000C4F202000068800300280CD5FFE7FFF7B2
:1026A0000BFB0399401A652804D3FFE703208DF83C
:1026B00017007EE2EAE7FFE7FFE7FFE7049800780C
:1026C0008007002840F18D80FFE741F20400C4F24A
:1026D0000200006810F00C0F13D0FFE741F2040075
:1026E000C4F20200006800F00C00082829D1FFE7BE
:1026F00041F20400C4F202000068C003002820D4A4
:10270000FFE741F20000C4F20200006880070028E1
:1027100009D5FFE704980069012804D0FFE70120EC
:102720008DF8170045E241F20001C4F20201086889
:1027300020F0F800049A526940EAC2000860FFE7FE
:102740004EE00498006958B3FFE70021C4F242212B
:1027500001200860FFF7B0FA0390FFE741F20000A4
:10276000C4F202000068800700280CD4FFE7FFF7DE
:10277000A3FA0399401A032804D3FFE703208DF836
:10278000170016E2EAE741F20001C4F2020108680C
:1027900020F0F800049A526940EAC20008601EE086
:1027A0000021C4F2422100200860FFF785FA03905F
:1027B000FFE741F20000C4F2020000688007002831
:1027C0000CD5FFE7FFF778FA0399401A032804D3E2
:1027D000FFE703208DF81700EBE1EAE7FFE7FFE7EB
:1027E000FFE7049800780007002848D5FFE7049821
:1027F000806918B3FFE740F28041C4F24221012012
:102800000860FFF759FA0390FFE741F22400C4F291
:1028100002000068800700280CD4FFE7FFF74CFA9D
:102820000399401A032804D3FFE703208DF817000B
:10283000BFE1EAE7012003F0B3F81FE040F2804176
:10284000C4F2422100200860FFF736FA0390FFE748
:1028500041F22400C4F202000068800700280CD571
:10286000FFE7FFF729FA0399401A032804D3FFE78B
:1028700003208DF817009CE1EAE7FFE7FFE70498E3
:1028800000784007002840F1D880FFE700208DF84D
:10289000070041F21C00C4F202000068C0000028DA
:1028A00013D4FFE7FFE741F21C00C4F20200016805
:1028B00041F080510160006800F080500090009865
:1028C000FFE701208DF80700FFE747F20000C4F2A0
:1028D00000000068C005002822D4FFE747F200018D
:1028E000C4F20001086840F480700860FFF7E4F962
:1028F0000390FFE747F20000C4F200000068C00543
:1029000000280CD4FFE7FFF7D7F90399401A652890
:1029100004D3FFE703208DF817004AE1EAE7FFE759
:10292000FFE70498C068012809D1FFE741F22001C0
:10293000C4F20201086840F00100086031E0049828
:10294000C06868B9FFE741F22001C4F202010868DB
:1029500020F001000860086820F0040008601FE013
:102960000498C06805280DD1FFE741F22001C4F2A8
:102970000201086840F004000860086840F00100A7
:1029800008600CE041F22001C4F20201086820F066
:1029900001000860086820F004000860FFE7FFE716
:1029A000FFE7FFE70498C068E0B1FFE7FFF784F9AD
:1029B0000390FFE741F22000C4F2020000688007A4
:1029C00000280ED4FFE7FFF777F90399401A41F288
:1029D0008931884204D3FFE703208DF81700E8E02F
:1029E000E8E71BE0FFF768F90390FFE741F22000FA
:1029F000C4F202000068800700280ED5FFE7FFF749
:102A00005BF90399401A41F28931884204D3FFE708
:102A100003208DF81700CCE0E8E7FFE79DF80700FA
:102A2000012809D1FFE741F21C01C4F20201086844
:102A300020F080500860FFE7FFE70498C069002895
:102A400000F0B380FFE741F20400C4F20200006826
:102A500000F00C00082800F08280FFE70498C069AD
:102A600002285CD1FFE76021C4F242210020086007
:102A7000FFF722F90390FFE741F20000C4F20200E1
:102A80000068800100280CD5FFE7FFF715F90399CE
:102A9000401A032804D3FFE703208DF8170088E0CD
:102AA000EAE70498006AB0F5803F0CD1FFE741F2F5
:102AB0000401C4F20201086820F40030049A92680C
:102AC00010430860FFE741F20401C4F20201086804
:102AD00020F47410049B1A6A5B6A1A43104308605E
:102AE0006021C4F2422101200860FFF7E5F803905D
:102AF000FFE741F20000C4F20200006880010028F4
:102B00000CD4FFE7FFF7D8F80399401A032804D341
:102B1000FFE703208DF817004BE0EAE71EE0602195
:102B2000C4F2422100200860FFF7C6F80390FFE7D7
:102B300041F20000C4F202000068800100280CD5B8
:102B4000FFE7FFF7B9F80399401A032804D3FFE71A
:102B500003208DF817002CE0EAE7FFE724E0049853
:102B6000C069012804D1FFE701208DF8170020E09B
:102B700041F20400C4F2020000680290029800F4DE
:102B800080300499096A884208D1FFE7029800F46E
:102B900070100499496A884204D0FFE701208DF83B
:102BA000170006E0FFE7FFE7FFE700208DF81700BA
:102BB000FFE79DF8170006B080BD000080B586B025
:102BC00004900391029200208DF80600ADF80400F5
:102BD000049818B1FFE7039820B9FFE701208DF8AA
:102BE000170034E0049801A9002200F035F820B164
:102BF000FFE701208DF8170029E00498007B039976
:102C000008700498C07B0399C8700498407B0399AE
:102C100048700498807B03998870029898B1FFE708
:102C20000398C07802F0F0FE0399C87003984078CA
:102C300002F0EAFE039948700398807802F0E4FEFF
:102C400003998870FFE700208DF81700FFE79DF8D3
:102C5000170006B080BD000080B588B006900591D1
:102C6000049200200390029001900090069818B101
:102C7000FFE7059820B9FFE701208DF81F00C0E0AD
:102C80000698006840684007002803D5FFE7012048
:102C900018B906E0012020B9FFE701208DF81F00D8
:102CA000AFE0069803F036F8039003994BF2C53075
:102CB000C9F2A210A1FB0021C90A0091039BA3FB4A
:102CC0000021C90A4FF4616201FB123348F6890101
:102CD000C8F68801A3FB01C35B09DDF814C08CF8BA
:102CE0000130039BA3FB00C0C00A00FB1230A0FB15
:102CF000011251090901A1EB5211A0EB81000599C4
:102D00008870009818285ED3FFE700984AF6AB2138
:102D1000CAF6AA21A0FB0120000901900098A0FB9F
:102D20000121090901EB4101A0EBC10005990870DF
:102D3000069802F0D5FF02900298013050B1FFE7EB
:102D400002980399884205D9FFE703990298401A2F
:102D5000029003E04FF0FF300290FFE7019840F24D
:102D6000A32141430398A0EBC11003900698039957
:102D700003F0A0F820B1FFE701208DF81F0040E02C
:102D80000298013078B1FFE7039902980844029055
:102D90000698029903F066F820B1FFE701208DF84C
:102DA0001F002EE00AE00698029903F05BF820B1BC
:102DB000FFE701208DF81F0023E0FFE70698019947
:102DC00002F040FE03E0009805990870FFE70498C0
:102DD00098B1FFE70598007802F016FE0599087093
:102DE0000598407802F010FE0599487005988078A3
:102DF00002F00AFE05998870FFE700208DF81F0099
:102E0000FFE79DF81F0008B080BD000080B584B0CA
:102E1000029000200190029820B9FFE701208DF870
:102E20000F0084E00298407C38B9FFE70299002047
:102E30000874029800F080F8FFE7029902204874B5
:102E4000029800F001FA38B1FFE7029904204874B3
:102E500001208DF80F006AE0029802F0ADFE38B153
:102E6000FFE702990420487401208DF80F005EE00E
:102E700002980168486820F007004860029880685E
:102E800048B1FFE746F63041C4F20001086820F07F
:102E900001000860FFE746F62C41C4F20001086813
:102EA00020F46070029A92681043086002984068AB
:102EB000013020B1FFE702984068019012E0012044
:102EC000FEF7B8FF0190019838B9FFE70299042096
:102ED000487401208DF80F0029E001980138019015
:102EE000FFE7FFE7BDF8060000F00F000299096850
:102EF0008860BDF8040002990968C860029802F071
:102F000087FE38B1FFE702990420487401208DF84C
:102F10000F000CE002990020C873029A012151733E
:102F2000029A9173029A51748DF80F00FFE79DF891
:102F30000F0004B080BD000080B582B00190019800
:102F4000006842F60001C4F20001884218D1FFE790
:102F5000FEF76AFFFFE741F21C00C4F202000168BD
:102F600041F000610160006800F00060009000988E
:102F7000FFE740F23C41C4F2422101200860FFE734
:102F800002B080BD80B588B0069005910492002003
:102F9000039002900190069818B1FFE7059820B9B8
:102FA000FFE701208DF81F00A7E0FFE70698007CEF
:102FB000012804D1FFE702208DF81F009DE006994B
:102FC00001200874FFE7FFE706990220487404987F
:102FD00068B9FFE70598C0780699C87305984078E6
:102FE00006994873059880780699887312E00598C9
:102FF000C07802F0F3FC0699C8730598407802F097
:10300000EDFC069948730598807802F0E7FC069974
:103010008873FFE70698417B827BC07B02F0B0FE9D
:10302000069908730698007B05990870069802F0C7
:1030300071FE039003984BF2C531C9F2A211A0FBB7
:103040000110C00A0190019819284AD3FFE701989E
:103050004AF6AB21CAF6AA21A0FB0110000940F2F2
:10306000A32141430398A0EBC11003900698039954
:1030700002F020FF60B1FFE7069904204874FFE7E3
:10308000069900200874FFE701208DF81F0034E046
:10309000069802F025FE02900298013000B3FFE787
:1030A0000298039988421AD2FFE7029845F28011EC
:1030B000C0F20101084402900698029902F0D2FE83
:1030C00060B1FFE7069904204874FFE706990020E5
:1030D0000874FFE701208DF81F000EE0FFE7FFE70F
:1030E000FFE7069901204874FFE70699002008745D
:1030F000FFE700208DF81F00FFE79DF81F0008B0D4
:1031000080BD000080B588B0069005910492002033
:1031100003900290069818B1FFE7059820B9FFE7E1
:1031200001208DF81F008AE0FFE70698007C012847
:1031300004D1FFE702208DF81F0080E006990120EE
:103140000874FFE7FFE7069902204874049870B9F5
:10315000FFE7059908784A7889784FF46163584306
:10316000C2EB021200EB8200084403901BE00598BA
:10317000007802F033FC4FF46161484300900598F9
:10318000407802F02BFC01460098C1EB011100EBE6
:10319000810001900598807802F020FC014601989A
:1031A00008440390FFE70698039902F083FE60B19C
:1031B000FFE7069904204874FFE706990020087489
:1031C000FFE701208DF81F0039E006980168486884
:1031D00020F005004860069802F082FD02900298F7
:1031E000013000B3FFE70298039988421AD2FFE743
:1031F000029845F28011C0F201010844029006983D
:10320000029902F02FFE60B1FFE70699042048748E
:10321000FFE7069900200874FFE701208DF81F00E2
:103220000DE0FFE7FFE7069901204874FFE70699E4
:1032300000200874FFE700208DF81F00FFE79DF8CD
:103240001F0008B080BD000080B584B0029000204F
:103250000190029820B9FFE701208DF80F0021E0CE
:1032600002980168486820F008004860FEF724FDD5
:103270000190FFE7029800684068000700280DD41D
:10328000FFE7FEF719FD0199401AB0F57A7F04D9DE
:10329000FFE703208DF80F0004E0EBE700208DF836
:1032A0000F00FFE79DF80F0004B080BD80B582B02D
:1032B0000190019802F028FE02B080BD81B000901C
:1032C00001B0704781B0009001B0704781B00090AC
:1032D00001B0704781B0009001B0704781B000909C
:1032E00001B0704785B003900291FFE7039890F812
:1032F0003C00012804D1FFE702208DF813005BE0B9
:103300000399012081F83C00FFE7FFE703990220C1
:1033100081F83D00039800684068019003980068B8
:1033200080680090019820F0700001900298016878
:10333000019808430190019803990968486003982F
:10334000006842F60041C4F20101884218D0FFE74C
:1033500003980068B0F1804F12D0FFE7039800682F
:1033600040F20041C4F20001884209D0FFE703980F
:10337000006840F60001C4F2000188420ED1FFE768
:10338000009820F08000009002984168009808435F
:1033900000900098039909688860FFE7039901206D
:1033A00081F83D00FFE70399002081F83C00FFE72A
:1033B00000208DF81300FFE79DF8130005B070475B
:1033C00080B582B00090009820B9FFE701208DF809
:1033D00007004DE0009890F83D00B0B9FFE7009974
:1033E000002081F83C00009802F0BCFE0098806C40
:1033F00038B9FFE7009943F2AD40C0F60000886499
:10340000FFE70098816C8847FFE70099022081F868
:103410003D00009951F8040B02F0FCFD00990120D9
:1034200081F84600FFE70099012081F83E000099ED
:1034300081F83F00009981F84000009981F841002F
:10344000FFE7FFE70099012081F84200009981F829
:103450004300009981F84400009981F84500FFE796
:103460000099012081F83D0000208DF80700FFE75A
:103470009DF8070002B080BD80B582B00190019830
:10348000006840F60001C4F2000188420CD1FFE759
:1034900041F21C01C4F20201086820F00400086037
:1034A0001E20FEF78BFCFFE702B080BD80B584B024
:1034B00003900398006840F60001C4F200018842BE
:1034C00019D1FFE7FFE741F21C00C4F202000168D6
:1034D00041F004010160006800F0040002900298CD
:1034E000FFE71E20019000221146FEF77BFC0198A9
:1034F000FEF76EFCFFE704B080BD000080B586B02B
:103500000490039100208DF80B00FFE7049890F8D9
:103510003C00012804D1FFE702208DF81700ABE042
:103520000499012081F83C00FFE7FFE7049902209D
:1035300081F83D000498006880680190019820F0AF
:1035400077000190019820F47F4001900198049940
:1035500009688860039800680090002872D0FFE72F
:10356000009810286ED0FFE7009820286AD0FFE767
:103570000098302866D0FFE70098402855D0FFE734
:103580000098502837D0FFE70098602840D0FFE728
:10359000009870280BD0FFE70098B0F5805F05D049
:1035A000FFE70098B0F5005F16D052E055E00498B0
:1035B0000068039B5A689968DB6802F0A3FD0498D1
:1035C000006880680190019840F0770001900198B0
:1035D00004990968886040E004980068039B5A6871
:1035E0009968DB6802F08EFD04980168886840F4F1
:1035F0008040886031E004980068039A5168D2687E
:1036000002F010FE04980068502102F095FD24E0BD
:1036100004980068039A5168D26802F02BFE04985F
:103620000068602102F088FD17E004980068039AA2
:103630005168D26802F0F6FD04980068402102F05B
:103640007BFD0AE0049800680399096802F074FDA4
:1036500003E001208DF80B00FFE70499012081F8B9
:103660003D00FFE70499002081F83C00FFE79DF84A
:103670000B008DF81700FFE79DF8170006B080BD1E
:1036800081B0009001B0704781B0009001B07047E8
:1036900081B0009001B0704781B0009001B07047D8
:1036A00081B0009001B0704781B0009001B07047C8
:1036B00081B0009001B0704780B582B00190019850
:1036C0000068006900F002010020B0EB510F2BD020
:1036D000FFE701980068C06800F002010020B0EB2D
:1036E000510F20D0FFE7019801686FF002000861D8
:1036F000019901200877019800688069800728B146
:10370000FFE70198D0F89010884708E00198D0F8BA
:10371000981088470198D0F89C108847FFE70199D6
:1037200000200877FFE7FFE701980068006900F0D4
:1037300004010020B0EB910F2CD0FFE70198006846
:10374000C06800F004010020B0EB910F21D0FFE72A
:10375000019801686FF00400086101990220087760
:1037600001980068806910F4407F05D0FFE7019858
:10377000D0F89010884708E00198D0F89810884752
:103780000198D0F89C108847FFE70199002008773E
:10379000FFE7FFE701980068006900F008010020DA
:1037A000B0EBD10F2BD0FFE701980068C06800F0A4
:1037B00008010020B0EBD10F20D0FFE7019801688D
:1037C0006FF00800086101990420087701980068EB
:1037D000C069800728B1FFE70198D0F890108847AA
:1037E00008E00198D0F8981088470198D0F89C100C
:1037F0008847FFE7019900200877FFE7FFE7019876
:103800000068006900F010010020B0EB111F2CD0FF
:10381000FFE701980068C06800F010010020B0EBDD
:10382000111F21D0FFE7019801686FF010000861B7
:1038300001990820087701980068C06910F4407F5A
:1038400005D0FFE70198D0F89010884708E001986C
:10385000D0F8981088470198D0F89C108847FFE767
:10386000019900200877FFE7FFE7019800680069E9
:10387000C00788B1FFE701980068C068C00750B171
:10388000FFE7019801686FF0010008610198D0F826
:1038900080108847FFE7FFE7019800680069C1B220
:1038A0000020B0EBD11F14D0FFE701980068C0687A
:1038B000C1B20020B0EBD11F0AD0FFE70198016828
:1038C0006FF0800008610198D0F8B0108847FFE7DA
:1038D000FFE701980068006900F040010020B0EBAC
:1038E000911F15D0FFE701980068C06800F0400103
:1038F0000020B0EB911F0AD0FFE7019801686FF03C
:10390000400008610198D0F888108847FFE7FFE77A
:1039100001980068006900F020010020B0EB511F01
:1039200015D0FFE701980068C06800F02001002072
:10393000B0EB511F0AD0FFE7019801686FF020003B
:1039400008610198D0F8A8108847FFE7FFE702B0A8
:1039500080BD000081B0009001B0704781B0009040
:1039600001B0704781B0009001B0704781B0009005
:1039700001B0704781B0009001B0704781B00090F5
:1039800001B0704781B0009001B0704781B00090E5
:1039900001B0704781B0009001B0704781B00090D5
:1039A00001B0704781B0009001B0704787B00590BA
:1039B0008DF81310039200208DF80B00039820B9A6
:1039C000FFE701208DF81B003DE1059890F83D00D0
:1039D000012840F0C380FFE79DF8130001460191E4
:1039E0001A2800F2B68001990FF2080000EB81005E
:1039F000874600BF00F034B800F036B800F038B8A1
:103A000000F03AB800F03CB800F03EB800F040B822
:103A100000F042B800F044B800F046B800F048B8F2
:103A200000F04AB800F04CB800F04EB800F050B8C2
:103A300000F053B800F056B800F059B800F05CB888
:103A400000F05FB800F062B800F065B800F068B848
:103A500000F06BB800F06EB800F071B800F074B808
:103A600003980599886478E003980599C86474E020
:103A700003980599086570E00398059948656CE01E
:103A800003980599886568E003980599C86564E01E
:103A900003980599086660E00398059948665CE01C
:103AA00003980599886658E003980599C86654E01C
:103AB00003980599086750E00398059948674CE01A
:103AC00003980599886748E003980599C86744E01A
:103AD00003980599C1F880003FE003980599C1F863
:103AE00084003AE003980599C1F8880035E003980E
:103AF0000599C1F88C0030E003980599C1F8900051
:103B00002BE003980599C1F8940026E003980599E5
:103B1000C1F8980021E003980599C1F89C001CE0C9
:103B200003980599C1F8A00017E003980599C1F81A
:103B3000A40012E003980599C1F8A8000DE00398CD
:103B40000599C1F8AC0008E003980599C1F8B000E8
:103B500003E001208DF80B00FFE76FE0059890F877
:103B60003D00002865D1FFE79DF813000146009154
:103B70000D2859D800990FF2080000EB8100874604
:103B800000F01AB800F01CB800F01EB800F020B821
:103B900000F022B800F024B800F026B800F028B8F1
:103BA00000F02AB800F02CB800F02EB800F030B8C1
:103BB00000F032B800F034B803980599886437E013
:103BC00003980599C86433E00398059908652FE0C8
:103BD0000398059948652BE003980599886527E0C7
:103BE00003980599C86523E00398059908661FE0C6
:103BF0000398059948661BE003980599886617E0C5
:103C000003980599C86613E00398059908670FE0C3
:103C10000398059948670BE003980599886707E0C2
:103C200003980599C86703E001208DF80B00FFE7B2
:103C300003E001208DF80B00FFE7FFE79DF80B0084
:103C40008DF81B00FFE79DF81B0007B070470000D0
:103C500081B0009001B0704781B0009001B0704712
:103C600084B003908DF80B1000208DF80A000398A3
:103C700090F83D00012840F01481FFE79DF80B000B
:103C8000014601911A2800F2078101990FF20800FC
:103C900000EB8100874600BF00F034B800F039B86F
:103CA00000F03EB800F043B800F048B800F04DB85E
:103CB00000F052B800F057B800F05CB800F061B8FE
:103CC00000F066B800F06BB800F070B800F075B89E
:103CD00000F07AB800F080B800F086B800F08CB838
:103CE00000F092B800F098B800F09EB800F0A4B8C8
:103CF00000F0AAB800F0B0B800F0B6B800F0BCB858
:103D000000F0C2B8039943F2AD40C0F600008864E9
:103D1000C6E0039943F27940C0F60000C864BFE0F2
:103D2000039943F2B160C0F600000865B8E003995A
:103D300043F2A960C0F600004865B1E0039943F67C
:103D40006510C0F600008865AAE0039943F65D108F
:103D5000C0F60000C865A3E0039943F68510C0F6DD
:103D6000000008669CE0039943F67D10C0F6000051
:103D7000486695E0039943F67510C0F60000886622
:103D80008EE0039943F66D10C0F60000C86687E028
:103D9000039943F28960C0F60000086780E0039948
:103DA00043F28160C0F60000486779E0039943F26E
:103DB000DD20C0F60000886772E0039943F2D52049
:103DC000C0F60000C8676BE0039943F69D10C0F68B
:103DD0000000C1F8800063E0039943F6A510C0F627
:103DE0000000C1F884005BE0039943F65140C0F63F
:103DF0000000C1F8880053E0039943F65940C0F62B
:103E00000000C1F88C004BE0039943F29960C0F6C2
:103E10000000C1F8900043E0039943F2A160C0F6AE
:103E20000000C1F894003BE0039943F65510C0F63A
:103E30000000C1F8980033E0039943F68D10C0F6F6
:103E40000000C1F89C002BE0039943F69510C0F6E2
:103E50000000C1F8A00023E0039943F29160C0F68E
:103E60000000C1F8A4001BE0039943F2C520C0F68E
:103E70000000C1F8A80013E0039943F2CD20C0F67A
:103E80000000C1F8AC000BE0039943F2BD20C0F67E
:103E90000000C1F8B00003E001208DF80A00FFE740
:103EA0009CE0039890F83D00002840F09280FFE7E6
:103EB0009DF80B00014600910D2800F285800099C5
:103EC0000FF2080000EB8100874600BF00F01AB82F
:103ED00000F01FB800F024B800F029B800F02EB8A8
:103EE00000F033B800F038B800F03DB800F042B848
:103EF00000F047B800F04CB800F051B800F056B8E8
:103F000000F05BB8039943F2AD40C0F6000088644E
:103F10005EE0039943F27940C0F60000C86457E0C0
:103F2000039943F2B160C0F60000086550E00399C0
:103F300043F2A960C0F60000486549E0039943F6E2
:103F40006510C0F60000886542E0039943F65D10F5
:103F5000C0F60000C8653BE0039943F68510C0F643
:103F60000000086634E0039943F67D10C0F60000B7
:103F700048662DE0039943F67510C0F60000886688
:103F800026E0039943F66D10C0F60000C8661FE0F6
:103F9000039943F28960C0F60000086718E00399AE
:103FA00043F28160C0F60000486711E0039943F2D4
:103FB000DD20C0F6000088670AE0039943F2D520AF
:103FC000C0F60000C86703E001208DF80A00FFE793
:103FD00003E001208DF80A00FFE7FFE79DF80A00E3
:103FE00004B07047FFE7FEE783B08DF80B009DF843
:103FF0000B0000F5FA608DF80B009DF80B10012006
:104000004BF65003C0F21E5345F62942CCF28F22E4
:1040100001FB02314FEA31114DF20B72C0F2A302E3
:104020009142019022D3FFE79DF80B1000208907F1
:104030000090C1B9FFE79DF80B004BF65002C0F2AB
:104040001E5245F62941CCF28F2100FB01204FEA98
:10405000B00145F62842C0F28F220020914288BF6D
:1040600001200090FFE700980190FFE7019800F021
:10407000010003B07047000080B582B040F6E00058
:10408000C2F20000019046F20041C4F2000101605A
:104090000821416000228260C2604FF4402101612A
:1040A0004FF4801141610276012141768276C27619
:1040B00002774177FCF79EFF18B1FFE7FCF72AFA79
:1040C000FFE702B080BD000080B586B000200590FB
:1040D000049003900290FFE741F21800C4F202003E
:1040E000016841F004010160006800F004000190E3
:1040F0000198FFE74FF48070029002200390059032
:1041000040F60000C4F2010002A9FDF745FC06B02C
:1041100080BD000080B582B000208DF80600ADF8AB
:104120000400009040F64410C2F2000042F6000184
:10413000C4F2000101604FF0FF3141604FF4807123
:104140008160FEF763FE18B1FFE7FCF7E3F9FFE7D4
:1041500000208DF804008DF805008DF8060040F66B
:104160004410C2F2000001A90122FEF7CBFF18B1F2
:10417000FFE7FCF7CFF9FFE701228DF800208DF86B
:1041800001208DF8022000208DF8030040F6441035
:10419000C2F200006946FEF7F5FE18B1FFE7FCF732
:1041A000B9F9FFE702B080BD80B588B00021019168
:1041B00007910691059104910391029140F65810E0
:1041C000C2F2000040F60002C4F2000202604FF6A4
:1041D000FF12426081604FF47A72C26001618161B6
:1041E000FFF7EEF818B1FFE7FCF794F9FFE74FF49B
:1041F0008050049040F65810C2F2000004A9FFF766
:104200007DF918B1FFE7FCF785F9FFE70020029080
:10421000039040F65810C2F2000002A9FFF762F8BE
:1042200018B1FFE7FCF776F9FFE708B080BD0000A2
:10423000FFE7FEE7FFE7FEE788B0079006910592EB
:10424000079800F0070004900498C0F107000528C3
:1042500003D3FFE70420019004E00498C0F10700B5
:104260000190FFE70198039004980430062803D8D2
:10427000FFE70020009003E0049803380090FFE778
:104280000098029006980399012202FA01F101397F
:104290000840029B984005999A40013A1140084312
:1042A00008B0704780B58AB0DDF830C0CDF820C0C6
:1042B0000793069205910490BDF814000390BDF891
:1042C0000C00000B01460291042855D802990FF208
:1042D000080000EB8100874600F008B800F014B831
:1042E00000F020B800F02CB800F038B80498059918
:1042F000069A079BDDF820C0EE46CEF800C000F01D
:1043000001FF8DF827003BE004980599069A079B6A
:10431000DDF820C0EE46CEF800C000F0A3FD8DF819
:1043200027002DE004980599069A079BDDF820C028
:10433000EE46CEF800C000F05FFE8DF827001FE0CB
:1043400004980599069A079BDDF820C0EE46CEF842
:1043500000C000F001FD8DF8270011E004980599D8
:10436000069A079BDDF820C0EE46CEF800C000F0AC
:10437000BDFD8DF8270003E001208DF82700FFE741
:104380009DF827000AB080BD80B58AB0DDF830C046
:10439000CDF820C00793069205910490BDF8140053
:1043A0000390BDF80C0000090146029103283FD894
:1043B00002990FF2080000EB8100874600F006B872
:1043C00000F012B800F01CB800F026B80498059967
:1043D000069A079BDDF820C0EE46CEF800C000F03C
:1043E00099FF8DF827002BE004980599069A079B02
:1043F000DDF820C0EE46CEF800C000F0C3FE1BE0A2
:1044000004980599069A079BDDF820C0EE46CEF881
:1044100000C000F0CFFE0FE004980599069A079BB4
:10442000DDF820C0EE46CEF800C000F013FF03E038
:1044300001208DF8270003E000208DF82700FFE71A
:104440009DF827000AB080BD80B58EB08DF837008A
:104450000C910B929DF837000690002107910120E6
:104460000890059109900E200A900C98C0F34F30E7
:1044700001900C98C000043080B202900B98C0F3F9
:104480004F3003900B98C000043080B2049040F687
:10449000D400C2F20000006801A9FCF719F918B1B4
:1044A000FFE7FCF737F8FFE70EB080BD80B582B0BC
:1044B0008DF807009DF80710481E009102280DD3C3
:1044C000FFE70098032812D1FFE740F6DC00C2F2B4
:1044D000000000680E21FFF7C3FBFFE740F6D400A1
:1044E000C2F2000000680621FDF79EF8FFE702B067
:1044F00080BD000080B58AB0DDF830C0CDF820C0A6
:104500000793069205910490BDF814000390BDF83E
:104510000C00000B01460291062867D802990FF2A1
:10452000080000EB8100874600F00CB800F016B8D8
:1045300000F020B800F02AB800F034B800F03EB81F
:1045400000F048B804980599069A079BDDF820C04A
:10455000EE46CEF800C000F04BFF4BE00498059902
:10456000069A079BDDF820C0EE46CEF800C000F0AA
:1045700091FF3FE004980599069A079BDDF820C05B
:10458000EE46CEF800C000F04FFF33E004980599E6
:10459000069A079BDDF820C0EE46CEF800C000F07A
:1045A00051FF27E004980599069A079BDDF820C083
:1045B000EE46CEF800C000F061FF1BE004980599BC
:1045C000069A079BDDF820C0EE46CEF800C000F04A
:1045D0001DFF0FE004980599069A079BDDF820C09F
:1045E000EE46CEF800C000F03BFF03E001208DF85E
:1045F000270003E000208DF82700FFE79DF8270043
:104600000AB080BD80B586B04FF0126005904FF0C3
:104610007F600490002003904FF47021029101917B
:1046200000910599049AFFF70FFF0399029A012060
:10463000FFF70AFF0199009A0220FFF705FF06B075
:1046400080BD000080B586B00490039102920020E6
:1046500001900498E8B1FFE7049940F6D400C2F253
:1046600000000160006845F6C902C0F6000206219C
:10467000FCF7A8FE8DF803009DF8030040B1FFE7AA
:104680009DF80400FFF712FF02208DF8170059E093
:1046900007E09DF80400FFF709FF01208DF81700DF
:1046A00050E0019801300190039838B1FFE703987A
:1046B00040F6D801C2F20001086007E09DF804004E
:1046C000FFF7F4FE02208DF817003BE0019801305F
:1046D00001900298E8B1FFE7029940F6DC00C2F2CF
:1046E00000000160006845F2F572C0F600020E217C
:1046F000FFF75CF98DF802009DF8020040B1FFE77A
:104700009DF80400FFF7D2FE02208DF8170019E093
:1047100007E09DF80400FFF7C9FE04208DF817009C
:1047200010E0019801300190FFF76CFF40F2C801E2
:10473000C2F20001087840F00100087000208DF8F6
:104740001700FFE79DF8170006B080BD80B588B060
:10475000079800F0604007909DF81F0040F010009F
:104760008DF81F009DF81F0040F008008DF81F0015
:104770009DF81E0000F0F00003308DF81E0049F691
:10478000F120ADF80C004AF6BF70C5F278600290D7
:104790004AF6CD30C1F23420019001A805900520E1
:1047A0000690FA20ADF81000FFE7FBF7A3FD002804
:1047B00000F06781FFE740F20000C2F200000078DD
:1047C00000EB800140F60C20C2F2000000EB8100FB
:1047D000807900F00F0002281DD1FFE740F20000B1
:1047E000C2F20000007800EB800140F60C20C2F21B
:1047F000000000EB810C50F82100DCF80410DCF81C
:104800000820DCF80C30DCF810C0EE46CEF800C012
:10481000FFF748FD2BE140F20000C2F200000078F3
:1048200000EB800140F60C20C2F2000000EB81009A
:1048300080790007E8B9FFE740F20000C2F200000B
:10484000007800EB800140F60C20C2F2000000EB83
:10485000810C50F82100DCF80410DCF80820DCF8AA
:104860000C30DCF810C0EE46CEF800C0FFF78CFD2F
:10487000FCE040F20000C2F20000007800EB800192
:1048800040F60C20C2F2000000EB8100807900F0BD
:104890000F0001281DD1FFE740F20000C2F2000026
:1048A000007800EB800140F60C20C2F2000000EB23
:1048B000810C50F82100DCF80410DCF80820DCF84A
:1048C0000C30DCF810C0EE46CEF800C0FFF712FE48
:1048D000CBE040F20000C2F20000007800EB800163
:1048E00040F60C20C2F2000000EB8100807900F05D
:1048F0000F0003281DD1FFE740F20000C2F20000C4
:10490000007800EB800140F60C20C2F2000000EBC2
:10491000810C50F82100DCF80410DCF80820DCF8E9
:104920000C30DCF810C0EE46CEF800C000F0C0FD40
:104930009AE040F20000C2F20000007800EB800133
:1049400040F60C20C2F2000000EB8100807900F0FC
:104950000F00042839D0FFE740F20000C2F2000047
:10496000007800EB800140F60C20C2F2000000EB62
:104970008100807900F00F00052826D0FFE740F283
:104980000000C2F20000007800EB800140F60C202D
:10499000C2F2000000EB8100807900F00F000628D1
:1049A00013D0FFE740F20000C2F20000007800EBF5
:1049B000800140F60C20C2F2000000EB81008079FB
:1049C00000F00F0007281DD1FFE740F20000C2F2FF
:1049D0000000007800EB800140F60C20C2F20000DD
:1049E00000EB810C50F82100DCF80410DCF8082002
:1049F000DCF80C30DCF810C0EE46CEF800C000F059
:104A000047F830E040F20000C2F20000007800EB0E
:104A1000800140F60C20C2F2000000EB810080799A
:104A200000F00F0008281DD1FFE740F20000C2F29D
:104A30000000007800EB800140F60C20C2F200007C
:104A400000EB810C50F82100DCF80410DCF80820A1
:104A5000DCF80C30DCF810C0EE46CEF800C0FBF7F6
:104A60001BFDFFE7FFE7FFE7FFE7FFE7FFE740F298
:104A70000001C2F200010878013000F07F000870E8
:104A8000FFE707980499059A069B00F0B5F88CE6B5
:104A900080B588B0DDF828C0CDF818C00593049221
:104AA000039102909DF80E0000F00F0004380146BB
:104AB0000191032846D801990FF2080000EB81000C
:104AC000874600BF00F006B800F012B800F01EB82C
:104AD00000F02AB802980399049A059BDDF818C0E3
:104AE000EE46CEF800C000F04FFD8DF81F002DE01F
:104AF00002980399049A059BDDF818C0EE46CEF89B
:104B000000C000F08DFD8DF81F001FE00298039992
:104B1000049A059BDDF818C0EE46CEF800C000F000
:104B2000CDFD8DF81F0011E002980399049A059BB2
:104B3000DDF818C0EE46CEF800C000F00DFE8DF88E
:104B40001F0003E001208DF81F00FFE79DF81F0004
:104B500008B080BD80B584B0039040F6D800C2F2A2
:104B6000000001680A68516841F01001516000229C
:104B70008DF80A20ADF808200192039909788DF884
:104B80000810039949788DF80910039989788DF8F0
:104B90000A10006802A9FEF7B5FA18B1FFE7FBF7A3
:104BA000B9FCFFE70398C0788DF8070003980079F7
:104BB0008DF80500039840798DF8060003988079F8
:104BC0008DF8040040F6D800C2F20000006801A988
:104BD0000022FEF7D7F918B1FFE7FBF79BFCFFE7D0
:104BE00040F6D800C2F2000000680168486820F072
:104BF0001000486004B080BD80B586B00490039377
:104C0000029201919DF8120000F00F0003280BD1D1
:104C1000FFE7BDF80410029A9DF80C30049800F0EC
:104C20000BF88DF8170003E001208DF81700FFE75F
:104C30009DF8170006B080BD80B594B01290ADF815
:104C4000461010928DF83F300020089004210B91FF
:104C50008DF838000C90129A059962F31C010591A9
:104C60009DF83F108DF813108DF81200FFE79DF8A6
:104C70001300012865DBFFE79DF81300052803DB1F
:104C8000FFE70420019003E09DF813000190FFE787
:104C900001988DF81100BDF846009DF812100844E7
:104CA000ADF81400059820F060400A909DF81100BE
:104CB00040000D9000200390FFE703989DF811102D
:104CC00088421ADAFFE710989DF81210039A1144EF
:104CD00030F8110006A901EB4202507010989DF8BF
:104CE0001230039A134400EB4300407801F812009D
:104CF000FFE7039801300390DFE740F6D400C2F2EB
:104D00000000006809A906AA08ABFBF735FC8DF87E
:104D10000B009DF80B0028B1FFE79DF80B008DF804
:104D20004F0012E09DF811109DF81300401A8DF805
:104D300013009DF811109DF8120008448DF8120020
:104D400095E700208DF84F00FFE79DF84F0014B065
:104D500080BD00007047000080B590B0DDF848C00D
:104D6000CDF83CC00E930D920C910B900020049056
:104D7000042107918DF8280008900C99019861F39F
:104D80001C0001909DF8070040F008008DF8070016
:104D9000019820F06040069006200990BDF8300090
:104DA000009049208DF8080053208DF80900BDF8C7
:104DB00000006FF31F3044F6D351C1F26201A0FB33
:104DC00001012F2000EB91108DF80A00BDF80000C2
:104DD0006FF31F3048F21F51C5F2EB11A0FB011019
:104DE000400946F26761C6F2666180FB012303F069
:104DF0001C0202EB9302A0EB42002F308DF80B0057
:104E0000BDF800006FF31F304CF6CD42CCF6CC421B
:104E1000A0FB0230C00880FB011303F0FC0101EB92
:104E20009301A0EB41002F308DF80C00BDF800007D
:104E300001466FF31F31A1FB0221C90801EB81017B
:104E4000A0EB41002F308DF80D0040F6D400C2F2E7
:104E50000000006805A902AA04ABFBF78DFB10B0A7
:104E600080BD000080B590B0DDF848C0CDF83CC0F2
:104E70000E930D920C910B90002004900421079149
:104E80008DF8280008900C99019861F31C0001909E
:104E90009DF8070040F008008DF80700019820F009
:104EA000604006900720099055208DF80800532097
:104EB0008DF8090054208DF80A0041208DF80B0070
:104EC00056208DF80C004B208DF80D0049208DF8F0
:104ED0000E0040F6D400C2F20000006805A902AA44
:104EE00004ABFBF749FB10B080BD000080B590B06B
:104EF000DDF848C0CDF83CC00E930D920C910B909C
:104F000000200490042107918DF8280008900C9946
:104F1000019861F31C0001909DF8070040F0080023
:104F20008DF80700019820F0604006900620099057
:104F3000BDF83000009054208DF8080053208DF803
:104F40000900BDF800006FF31F3044F6D351C1F2E1
:104F50006201A0FB01012F2000EB91108DF80A00E7
:104F6000BDF800006FF31F3048F21F51C5F2EB117E
:104F7000A0FB0110400946F26761C6F2666180FB42
:104F8000012303F01C0202EB9302A0EB42002F303E
:104F90008DF80B00BDF800006FF31F304CF6CD42CA
:104FA000CCF6CC42A0FB0230C00880FB011303F01A
:104FB000FC0101EB9301A0EB41002F308DF80C00B8
:104FC000BDF8000001466FF31F31A1FB0221C908A3
:104FD00001EB8101A0EB41002F308DF80D0040F670
:104FE000D400C2F20000006805A902AA04ABFBF7D6
:104FF000C3FA10B080BD000080B590B0DDF848C0A5
:10500000CDF83CC00E930D920C910B9000200490B3
:10501000042107918DF8280008900C99019861F3FC
:105020001C0001909DF8070040F008008DF8070073
:10503000019820F06040069006200990BDF83000ED
:10504000009055208DF8080053208DF80900BDF818
:1050500000006FF31F3044F6D351C1F26201A0FB90
:1050600001012F2000EB91108DF80A00BDF800001F
:105070006FF31F3048F21F51C5F2EB11A0FB011076
:10508000400946F26761C6F2666180FB012303F0C6
:105090001C0202EB9302A0EB42002F308DF80B00B4
:1050A000BDF800006FF31F304CF6CD42CCF6CC4279
:1050B000A0FB0230C00880FB011303F0FC0101EBF0
:1050C0009301A0EB41002F308DF80C00BDF80000DB
:1050D00001466FF31F31A1FB0221C90801EB8101D9
:1050E000A0EB41002F308DF80D0040F6D400C2F245
:1050F0000000006805A902AA04ABFBF73DFA10B056
:1051000080BD000080B590B0DDF848C0CDF83CC04F
:105110000E930D920C910B900020049004210791A6
:105120008DF8280008900C99019861F31C000190FB
:105130009DF8070040F008008DF80700019820F066
:10514000604006900620099055208DF808004E20FA
:105150008DF8090049208DF80A0056208DF80B00C3
:1051600045208DF80C0052208DF80D0040F6D4003B
:10517000C2F20000006805A902AA04ABFBF7FCF923
:1051800010B080BD80B585B0DDF81CC0CDF810C072
:10519000039302920191009040F2C801C2F2000113
:1051A00008780122824300F0FE00104408700020BD
:1051B00005B080BD80B58CB0DDF838C0CDF828C012
:1051C0000993089207910690BDF8200020B9FFE7E7
:1051D00001208DF82F0039E0BDF81C000590BDF8C6
:1051E000140000F00F00BDF82010CA000221B1FB2E
:1051F000F2F1884226D1FFE700200390029001904F
:10520000FFE70198BDF82010884213DAFFE7019903
:1052100006A80844807AC90000FA01F202990398AE
:10522000891840EBE27002910390FFE7019801308A
:105230000190E6E702988008C00710B1FFE701F08F
:1052400039F9FFE700208DF82F00FFE79DF82F00C8
:105250000CB080BD80B5A0B0DDF888C0CDF878C0B6
:105260001D931C921B911A90BDF87000082804DB56
:10527000FFE701208DF87F0048E046F24451C0F678
:10528000000102A86022FAF79FFF9DF8720017281C
:105290002EDCFFE79DF873003B2829DCFFE79DF833
:1052A00074003B2824DCFFE79DF8750063281FDCB1
:1052B000FFE79DF876000C281ADCFFE79DF87500E3
:1052C0009DF877100191FEF78FFE0146019801EBE2
:1052D000410202A901EB02119DF8762051F822103B
:1052E000884205DCFFE79DF87800072804DBFFE72C
:1052F00001208DF87F0009E01AA80A30FFF72AFC88
:10530000FFE7FFE700208DF87F00FFE79DF87F00B3
:1053100020B080BD80B594B0DDF858C0CDF84CC049
:105320001293119210910F90002201920892042082
:105330000B9007200D908DF838200C92109905984D
:1053400061F31C0005909DF8170040F008008DF8EF
:1053500017009DF8170000F0F80001308DF81700D5
:105360009DF81600022161F31F108DF816000598B4
:1053700020F060400A908DF81220ADF8102040F621
:10538000D800C2F200000290006804A9FDF764FC96
:10539000019A02989DF810108DF818109DF81110C0
:1053A0008DF819109DF812108DF81A1003920068EC
:1053B00003A9FDF703FC9DF80F008DF81B009DF875
:1053C0000D008DF81C009DF80E008DF81D009DF855
:1053D0000C008DF81E0040F6D400C2F200000068F8
:1053E00009A906AA08ABFBF7C7F814B080BD0000F6
:1053F00080B585B0DDF81CC0CDF810C003930292D3
:1054000001910090002005B080BD000080B585B0FE
:10541000DDF81CC0CDF810C00393029201910090FA
:10542000002005B080BD000080B585B0DDF81CC04F
:10543000CDF810C00393029201910090002005B0B6
:1054400080BD000080B585B0DDF81CC0CDF810C06F
:105450000393029201910090002005B080BD0000EE
:1054600080B585B0DDF81CC0CDF810C00393029262
:1054700001910090002005B080BD000080B586B08D
:10548000DDF820C0CDF814C004930392029101907E
:1054900001F010F880B585B0DDF81CC0CDF810C063
:1054A0000393029201910090002005B080BD00009E
:1054B00080B592B0DDF850C0CDF844C010930F9283
:1054C0000E910D9000200690042109918DF8300076
:1054D0000A900E9A039962F31C0103919DF80F1034
:1054E00041F008018DF80F10039921F060410891F7
:1054F00008210B9147218DF8101041218DF81110D2
:1055000053218DF812102D218DF813100290FFE712
:10551000029803282CDCFFE7BDF83800029A0C2122
:10552000A1EB8201C84000F00F00019001980A2809
:1055300012D3FFE701984CF6CD41CCF6CC41A0FB4D
:105540000121C90801EB8101A0EB41004130029922
:1055500004AA1144087106E001983030029904AAA7
:1055600011440871FFE7FFE7029801300290CFE78E
:1055700040F6D400C2F20000006807A904AA06ABF6
:10558000FAF7FAFF12B080BD80B590B0DDF848C0E0
:10559000CDF83CC00E930D920C910B90002004901E
:1055A000042107918DF8280008900C99019861F367
:1055B0001C0001909DF8070040F008008DF80700DE
:1055C000019820F06040069008200990BDF8300056
:1055D00000904D208DF8080043208DF8090020210F
:1055E0008DF80A1053228DF80B20BDF80020120907
:1055F0008DF80C208DF80D108DF80E009DF8000030
:1056000000F00F008DF80F0040F6D400C2F2000049
:10561000006805A902AA04ABFAF7AEFF10B080BD7E
:1056200080B590B0DDF848C0CDF83CC00E930D9227
:105630000C910B9000200490042107918DF8280014
:1056400008900C99019861F31C0001909DF80700E7
:1056500040F008008DF80700019820F060400690A7
:1056600008200990BDF8300000904D208DF808000A
:1056700044208DF8090020208DF80A0053218DF870
:105680000B10BDF8001009098DF80C108DF80D00F5
:1056900043208DF80E009DF8000000F00F008DF8FB
:1056A0000F0040F6D400C2F20000006805A902AA6B
:1056B00004ABFAF761FF10B080BD000080B590B078
:1056C000DDF848C0CDF83CC00E930D920C910B90C4
:1056D00000200490042107918DF8280008900C996F
:1056E000019861F31C0001909DF8070040F008004C
:1056F0008DF80700019820F060400690082009907E
:10570000BDF8300000904D208DF8080048208DF83D
:10571000090020208DF80A0053218DF80B10BDF8E8
:10572000001009098DF80C108DF80D0043208DF83C
:105730000E009DF8000000F00F008DF80F0040F6FD
:10574000D400C2F20000006805A902AA04ABFAF76F
:1057500013FF10B080BD000080B590B0DDF848C0E8
:10576000CDF83CC00E930D920C910B90002004904C
:10577000042107918DF8280008900C99019861F395
:105780001C0001909DF8070040F008008DF807000C
:10579000019820F06040069008200990BDF8300084
:1057A00000904D208DF8080049208DF80900202038
:1057B0008DF80A0053218DF80B10BDF8001009096F
:1057C0008DF80C108DF80D0043208DF80E009DF81B
:1057D000000000F00F008DF80F0040F6D400C2F278
:1057E0000000006805A902AA04ABFAF7C5FE10B0D4
:1057F00080BD000080B58CB00B9040F2C800C2F2B2
:1058000000000078C00700285CD0FFE7002004906B
:10581000039901F0604103919DF80F1041F01001D0
:105820008DF80F109DF80F1041F008018DF80F1042
:105830009DF80F1001F0F80101318DF80F109DF85F
:105840000E10022262F31F118DF80E109DF80E103B
:1058500041F00F018DF80E10ADF80C00039921F006
:1058600060410691042107918DF8280008900120DD
:10587000099040F6D000C2F20000016801310160D9
:10588000039921F0604100910068B0F5807F07D353
:10589000FFE740F6D001C2F2000100200860FFE7F8
:1058A00040F6D000C2F2000000688DF8040040F617
:1058B000D400C2F20000006805A901AA04ABFAF7FF
:1058C0005BFEFFE70CB080BD80B58EB00D90FFE7AA
:1058D0000D98002106AA04ABFBF788F800285CD1DC
:1058E000FFE70898042857D1FFE740F6CC00C2F242
:1058F0000000007840F20001C2F200010978401A6D
:1059000081300006002801D4FFE746E040F6CC00D5
:10591000C2F200000078013000F07F00ADF80E0008
:105920000799029861F31C0002909DF80A0000F0AC
:105930000F000F2820D1FFE79DF80A109DF80B00FB
:1059400000F0070240F2CC00C2F2000000EB02229D
:1059500001F0F003D15C41F00101D1549DF80A102F
:105960009DF80B2002F0070200EB022001F0F0018D
:1059700001440020886010E00899099A0A9BBDF84C
:105980000EC00298EE46CEF804C00DF1100CCEF811
:1059900000C000F099FCFFE79AE70EB080BD000060
:1059A00082B00190019840F20401C2F2000109683E
:1059B000C90844F6D352C1F26202A1FB022189094F
:1059C00048430090FFE700BFFFE70098411E0091A9
:1059D0000028F8D1FFE702B07047000082B08DF8D0
:1059E0000700002000909DF80700000900EB8000F0
:1059F0004000009000989DF8071001F00F01084446
:105A0000C0B202B07047000082B08DF807000020DD
:105A10000090FFE79DF807000A2809D3FFE70098E8
:105A2000013000909DF807000A388DF80700F1E773
:105A3000009800F00F019DF8070040EA011002B045
:105A40007047000080B586B0059004910020039057
:105A50000290019000900599C97B03910599497BBB
:105A600002910599897B01910090FFE700980499C4
:105A7000884280F08C80FFE70298012818D0FFE769
:105A80000298032814D0FFE70298052810D0FFE7FA
:105A9000029807280CD0FFE70298082808D0FFE7F3
:105AA00002980A2804D0FFE702980C281BD1FFE7D0
:105AB00001981E2804D8FFE701980130019011E0F9
:105AC00002980C2806D0FFE70298013002900120CE
:105AD000019006E0012002900190039801300390AC
:105AE000FFE7FFE74EE0029804280CD0FFE702989A
:105AF000062808D0FFE70298092804D0FFE702989B
:105B00000B280FD1FFE701981D2804D8FFE7019863
:105B10000130019005E002980130029001200190CF
:105B2000FFE72EE0029802282AD1FFE701981B2800
:105B300004D8FFE701980130019020E001981C286B
:105B400011D1FFE7BDF80C0000F08EF820B1FFE79F
:105B500001980130019005E0029801300290012087
:105B60000190FFE70AE001981D2806D1FFE702989F
:105B70000130029001200190FFE7FFE7FFE7FFE718
:105B8000FFE7FFE7FFE70098013000906EE703981A
:105B90000599C87302980599487301980599887307
:105BA00003989DF808109DF8042000F0E9F8059985
:105BB000087306B080BD000080B584B0029000205C
:105BC0000190FCF779F80190FFE7029800684068BF
:105BD000800600280DD4FFE7FCF76EF80199401A03
:105BE000B0F57A7F04D9FFE703208DF80F000AE0B3
:105BF000EBE702980168486840F010004860002018
:105C00008DF80F00FFE79DF80F0004B080BD000085
:105C100080B584B002900020019002980168486825
:105C200020F010004860FCF747F80190FFE7029869
:105C300000684068800600280DD4FFE7FCF73CF8B8
:105C40000199401AB0F57A7F04D9FFE703208DF857
:105C50000F0004E0EBE700208DF80F00FFE79DF850
:105C60000F0004B080BD000081B0ADF80000BDF8A9
:105C70000000800720B1FFE700208DF803002BE033
:105C8000BDF8000045F62941CCF28F2148434FEA88
:105C9000B00045F62941C0F28F21884204D3FFE7C6
:105CA00001208DF8030017E0BDF8000045F62941FA
:105CB000CCF28F2148434FEA30104DF20A71C0F206
:105CC000A301884204D8FFE701208DF8030003E018
:105CD00000208DF80300FFE79DF8030001B0704736
:105CE00082B001900020ADF80200ADF800000198EC
:105CF0000068006AADF8020001980068406AADF8DB
:105D00000000BDF80210BDF8000040EA014002B0FA
:105D10007047000084B003900020ADF80A00ADF891
:105D20000800ADF806000090039800688069ADF89F
:105D30000A0003980068C069ADF80600039800687F
:105D40008069ADF80800BDF80A00BDF80810884267
:105D50000AD0FFE7BDF8081003980068C06980B258
:105D600040EA0140009007E0BDF80A10BDF80600C7
:105D700040EA01400090FFE7009804B0704700003F
:105D800084B003908DF80B108DF80A20002001904C
:105D90000090039800F5FA6001909DF80B0002282E
:105DA0002ED8FFE79DF80B001721484348F63961CC
:105DB000C3F6E301A0FB01019DF80A0000EB5100CE
:105DC00001990844013900EB910048F21F52C5F2D5
:105DD000EB12A1FB0221A0EB511000EBD11004301B
:105DE00044F62511C2F29241A0FB0121421A01EBB7
:105DF00052029108C900A1EB9201401A00902CE0D8
:105E00009DF80B001721484348F63961C3F6E301BA
:105E1000A0FB01019DF80A0000EB51000199084424
:105E200000EB910048F21F52C5F2EB12A1FB0221D8
:105E3000A0EB511000EBD110023044F62511C2F254
:105E40009241A0FB0121421A01EB52029108C900C4
:105E5000A1EB9201401A0090FFE79DF8000004B00A
:105E60007047000080B584B00390029100208DF847
:105E700007000398FFF7A0FE20B1FFE701208DF88F
:105E8000070013E0BDF80A00039909680862BDF82D
:105E900008000399096848620398FFF7B9FE20B12A
:105EA000FFE701208DF80700FFE7FFE79DF80700F7
:105EB00004B080BD80B584B00390029100208DF8BD
:105EC00007000398FFF778FE20B1FFE701208DF867
:105ED000070013E0BDF80A00039909688861BDF85E
:105EE000080003990968C8610398FFF791FE20B183
:105EF000FFE701208DF80700FFE7FFE79DF80700A7
:105F000004B080BD7047000080B582B0009000985A
:105F10000138B0F1807F03D3FFE70120019019E041
:105F2000009801384EF21401CEF2000108604FF0E3
:105F3000FF300F2100F07EFA4EF21801CEF2000180
:105F4000002008604EF21002CEF20002072111601C
:105F50000190FFE7019802B080BD000080B5FBF71B
:105F6000B1FE80BD80B596B00CA801902821FAF74B
:105F70005DF90198002102910B910A910991089114
:105F8000079106910591049103910A220C92012236
:105F900010921023119312920222139214914FF433
:105FA00060111591FCF7CCFA18B1FFE7FAF7B2FAD5
:105FB000FFE70F20079002210891002009904FF47D
:105FC00080620A920B9007A8FCF7E4F818B1FFE78B
:105FD000FAF7A0FAFFE7012003904FF40070049055
:105FE00003A8FBF7F3FF18B1FFE7FAF793FAFFE70F
:105FF0004FF0E06100221046FCF76EFA16B080BD4B
:106000007047000080B540F65810C2F20000FDF75E
:1060100053FB80BD83B0029001910298006800900C
:10602000029842F60041C4F20101884215D0FFE710
:106030000298B0F1804F10D0FFE7029840F2004183
:10604000C4F20001884208D0FFE7029840F6000140
:10605000C4F2000188420AD1FFE7009820F07000E6
:10606000009001984168009808430090FFE702986B
:1060700042F60041C4F20101884215D0FFE70298C0
:10608000B0F1804F10D0FFE7029840F20041C4F217
:106090000001884208D0FFE7029840F60001C4F2F0
:1060A000000188420AD1FFE7009820F44070009078
:1060B0000198C168009808430090FFE7009820F01D
:1060C000800001994969084300900098029908608E
:1060D000019880680299C8620198006802998862F4
:1060E000029842F60041C4F20101884205D1FFE75F
:1060F0000198006902990863FFE70299012048614D
:1061000003B0704785B00490039102920193049804
:1061100080680090009820F47F40009003980299D6
:10612000019A41EA02210143009808430090009837
:106130000499886005B0704783B00290019102987D
:1061400080680090009820F07000009001980099FD
:10615000084340F00700009000980299886003B05F
:106160007047000081B00090009943F69D10C0F682
:106170000000C1F88000009943F6A510C0F60000A9
:10618000C1F88400009943F65140C0F60000C1F800
:106190008800009943F65940C0F60000C1F88C0011
:1061A000009943F29960C0F60000C1F89000009990
:1061B00043F2A160C0F60000C1F89400009943F6D4
:1061C0005510C0F60000C1F89800009943F68D10F4
:1061D000C0F60000C1F89C00009943F69510C0F687
:1061E0000000C1F8A000009943F29160C0F60000E1
:1061F000C1F8A400009943F2C520C0F60000C1F820
:10620000A800009943F2CD20C0F60000C1F8AC0010
:10621000009943F2BD20C0F60000C1F8B00001B003
:106220007047000085B00490039102920498006AC0
:1062300000900499086A20F00100086204988069BF
:106240000190019820F0F00001900299019840EA35
:1062500001100190009820F00A0000900399009826
:106260000843009001980499886100980499086295
:1062700005B0704785B00490039102920498006ABB
:1062800000900499086A20F0100008620498806960
:106290000190019820F4704001900299019840EA21
:1062A00001300190009820F0A00000900399009820
:1062B00040EA0110009001980499886100980499BF
:1062C000086205B07047000080B586B08446099822
:1062D000DDF820E0CDF814C0049103920293ADF8EC
:1062E0000600059BBDF8060000EB800040F60C217F
:1062F000C2F2000101EB8002506863F31C005060A1
:106300009DF81030BDF8060000EB800211F8220065
:1063100003F0010300F0FE00184401F822009DF88C
:106320000C30BDF8060000EB800211F8220003F0EB
:10633000010300F0FD0040EA430001F8220002984A
:10634000BDF8062002EB820201EB820108810020E9
:106350000090FFE700980299884214D2FFE708985E
:10636000009A805CBDF8061001EB810340F60C2119
:10637000C2F2000101EB830111448872FFE700982B
:1063800001300090E6E79DF8060040F6CC01C2F22D
:106390000001087006B080BD80B540F6E000C2F292
:1063A0000000FAF72DFC80BD80B540F6E000C2F297
:1063B0000000FAF725FC80BDFFE7FEE781B08DF80D
:1063C00003009DF90300002812D4FFE79DF9031094
:1063D00001F01F02012090404A094EF28011CEF2D6
:1063E000000141F82200BFF34F8FBFF36F8FFFE72B
:1063F00001B0704781B08DF803009DF903000028BB
:106400000ED4FFE79DF9031001F01F020120904018
:106410004A094EF20011CEF2000141F82200FFE7D6
:1064200001B070474EF60C50CEF200000068C0F389
:106430000220704782B08DF8070000919DF9070097
:1064400000280AD4FFE7009800019DF907104EF2DA
:106450000042CEF2000288540BE0009800019DF843
:10646000071001F00F014EF61452CEF200028854CC
:10647000FFE702B07047000083B00290029800F07E
:10648000070000904EF60C51CEF200010868019012
:1064900001984FF6FF02104001900198009A40EADF
:1064A00002200022C0F2FA521043019001980860C5
:1064B00003B07047BFF34F8F4EF60C51CEF2000180
:1064C000086800F4E0600422C0F2FA521043086049
:1064D000BFF34F8FFFE700BFFDE7000080B582B03C
:1064E00000200190FFF73EFDFBF7FAFBFFF73AFDB6
:1064F000FDF7EAFDFDF7C0FDFDF70CFEFDF754FECC
:1065000040F6E000C2F2000040F64411C2F2000181
:1065100040F65812C2F20002FEF794F878B9FFE78D
:1065200040F6E000C2F200000090FBF71FF8009870
:1065300048F60241F9F7F6FFFEF708F9FFE7FFE733
:10654000FEE700001F0000001C0000001F0000000C
:106550001E0000001F0000001E0000001F000000C1
:106560001F0000001E0000001F0000001E000000B1
:106570001F0000001F0000001D0000001F000000A1
:106580001E0000001F0000001E0000001F00000091
:106590001F0000001E0000001F0000001E00000081
:1065A0001F000000000000000000000001020304C2
:1065B00006070809000000000102030402030405A5
:1065C000060708090A0B0C0D0E0F1010010202033A
:1065D0000405060708090A0B0C0D0E0F1010010226
:1065E00000660008000000201000000028010008DC
:1065F0001066000810000020001A00004401000886
:10660000010000000024F400010000001000000060
:04000005080000ED02
:00000001FF

View File

@@ -3,16 +3,16 @@
<title>Static Call Graph - [F103C8T6\F103C8T6.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image F103C8T6\F103C8T6.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Wed Mar 4 17:06:42 2026
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 6190004: Last Updated: Mon Jun 1 14:47:33 2026
<BR><P>
<H3>Maximum Stack Usage = 320 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
<H3>Maximum Stack Usage = 352 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
__rt_entry_main &rArr; main &rArr; REQUESTER_MainWhile &rArr; REQUESTER_BroadcastProcessing &rArr; CanRequestToBroadcastRtcSetup &rArr; REQUESTER_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
__rt_entry_main &rArr; main &rArr; PROTOCAN_LOOP &rArr; PROTOCAN_BroadcastProcessing &rArr; ProtoCanMsgToBroadcastRtcSetup &rArr; PROTOCAN_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
<P>
<H3>
Functions with no stack information
</H3><UL>
<LI><a href="#[47]">__user_initial_stackheap</a>
<LI><a href="#[73]">__user_initial_stackheap</a>
</UL>
</UL>
<P>
@@ -44,6 +44,76 @@ Function Pointers
<LI><a href="#[14]">EXTI4_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[21]">EXTI9_5_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[e]">FLASH_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[43]">HAL_CAN_ErrorCallback</a> from canerrorbox.o(.text.HAL_CAN_ErrorCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[43]">HAL_CAN_ErrorCallback</a> from canerrorbox.o(.text.HAL_CAN_ErrorCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[45]">HAL_CAN_MspDeInit</a> from can.o(.text.HAL_CAN_MspDeInit) referenced 4 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[44]">HAL_CAN_MspInit</a> from can.o(.text.HAL_CAN_MspInit) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[44]">HAL_CAN_MspInit</a> from can.o(.text.HAL_CAN_MspInit) referenced 4 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[38]">HAL_CAN_RxFifo0FullCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[38]">HAL_CAN_RxFifo0FullCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[37]">HAL_CAN_RxFifo0MsgPendingCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[37]">HAL_CAN_RxFifo0MsgPendingCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[3a]">HAL_CAN_RxFifo1FullCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[3a]">HAL_CAN_RxFifo1FullCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[39]">HAL_CAN_RxFifo1MsgPendingCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[39]">HAL_CAN_RxFifo1MsgPendingCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[41]">HAL_CAN_SleepCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[41]">HAL_CAN_SleepCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[3e]">HAL_CAN_TxMailbox0AbortCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[3e]">HAL_CAN_TxMailbox0AbortCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[3b]">HAL_CAN_TxMailbox0CompleteCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[3b]">HAL_CAN_TxMailbox0CompleteCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[3f]">HAL_CAN_TxMailbox1AbortCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[3f]">HAL_CAN_TxMailbox1AbortCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[3c]">HAL_CAN_TxMailbox1CompleteCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[3c]">HAL_CAN_TxMailbox1CompleteCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[40]">HAL_CAN_TxMailbox2AbortCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[40]">HAL_CAN_TxMailbox2AbortCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[3d]">HAL_CAN_TxMailbox2CompleteCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[3d]">HAL_CAN_TxMailbox2CompleteCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[42]">HAL_CAN_WakeUpFromRxMsgCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI><a href="#[42]">HAL_CAN_WakeUpFromRxMsgCallback</a> from stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) referenced 2 times from stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
<LI><a href="#[60]">HAL_TIMEx_BreakCallback</a> from stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[60]">HAL_TIMEx_BreakCallback</a> from stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[5e]">HAL_TIMEx_CommutCallback</a> from stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[5e]">HAL_TIMEx_CommutCallback</a> from stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[5f]">HAL_TIMEx_CommutHalfCpltCallback</a> from stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[5f]">HAL_TIMEx_CommutHalfCpltCallback</a> from stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[53]">HAL_TIMEx_HallSensor_MspDeInit</a> from stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[52]">HAL_TIMEx_HallSensor_MspInit</a> from stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[47]">HAL_TIM_Base_MspDeInit</a> from tim.o(.text.HAL_TIM_Base_MspDeInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[46]">HAL_TIM_Base_MspInit</a> from tim.o(.text.HAL_TIM_Base_MspInit) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init)
<LI><a href="#[46]">HAL_TIM_Base_MspInit</a> from tim.o(.text.HAL_TIM_Base_MspInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[51]">HAL_TIM_Encoder_MspDeInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[50]">HAL_TIM_Encoder_MspInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[5d]">HAL_TIM_ErrorCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[5d]">HAL_TIM_ErrorCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[58]">HAL_TIM_IC_CaptureCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[58]">HAL_TIM_IC_CaptureCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[59]">HAL_TIM_IC_CaptureHalfCpltCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[59]">HAL_TIM_IC_CaptureHalfCpltCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[49]">HAL_TIM_IC_MspDeInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[48]">HAL_TIM_IC_MspInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[5a]">HAL_TIM_OC_DelayElapsedCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[5a]">HAL_TIM_OC_DelayElapsedCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[4b]">HAL_TIM_OC_MspDeInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[4a]">HAL_TIM_OC_MspInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[4f]">HAL_TIM_OnePulse_MspDeInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[4e]">HAL_TIM_OnePulse_MspInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[4d]">HAL_TIM_PWM_MspDeInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[4c]">HAL_TIM_PWM_MspInit</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) referenced 4 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[5b]">HAL_TIM_PWM_PulseFinishedCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[5b]">HAL_TIM_PWM_PulseFinishedCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[5c]">HAL_TIM_PWM_PulseFinishedHalfCpltCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[5c]">HAL_TIM_PWM_PulseFinishedHalfCpltCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[54]">HAL_TIM_PeriodElapsedCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[54]">HAL_TIM_PeriodElapsedCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[55]">HAL_TIM_PeriodElapsedHalfCpltCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[55]">HAL_TIM_PeriodElapsedHalfCpltCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[56]">HAL_TIM_TriggerCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[56]">HAL_TIM_TriggerCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[57]">HAL_TIM_TriggerHalfCpltCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
<LI><a href="#[57]">HAL_TIM_TriggerHalfCpltCallback</a> from stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) referenced 2 times from stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI><a href="#[2]">HardFault_Handler</a> from stm32f1xx_it.o(.text.HardFault_Handler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[2a]">I2C1_ER_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[29]">I2C1_EV_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
@@ -53,6 +123,8 @@ Function Pointers
<LI><a href="#[1]">NMI_Handler</a> from stm32f1xx_it.o(.text.NMI_Handler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[b]">PVD_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[8]">PendSV_Handler</a> from stm32f1xx_it.o(.text.PendSV_Handler) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[62]">ProtoCanPulseCallback</a> from protocan.o(.text.ProtoCanPulseCallback) referenced 2 times from protocan.o(.text.PROTOCAN_INIT)
<LI><a href="#[61]">ProtoCanRxFifo0MsgPendingCallback</a> from protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) referenced 2 times from protocan.o(.text.PROTOCAN_INIT)
<LI><a href="#[f]">RCC_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[33]">RTC_Alarm_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
<LI><a href="#[d]">RTC_IRQHandler</a> from startup_stm32f103xb.o(.text) referenced from startup_stm32f103xb.o(RESET)
@@ -85,139 +157,139 @@ Function Pointers
Global Symbols
</H3>
<P><STRONG><a name="[36]"></a>__main</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, __main.o(!!!main))
<BR><BR>[Calls]<UL><LI><a href="#[37]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<BR><BR>[Calls]<UL><LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text)
</UL>
<P><STRONG><a name="[37]"></a>__scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<P><STRONG><a name="[63]"></a>__scatterload</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter))
<BR><BR>[Called By]<UL><LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
</UL>
<P><STRONG><a name="[39]"></a>__scatterload_rt2</STRONG> (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[38]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
<P><STRONG><a name="[65]"></a>__scatterload_rt2</STRONG> (Thumb, 44 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry
</UL>
<P><STRONG><a name="[c8]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[fd]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[c9]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[fe]"></a>__scatterload_null</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
<P><STRONG><a name="[3a]"></a>__scatterload_copy</STRONG> (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
<P><STRONG><a name="[66]"></a>__scatterload_copy</STRONG> (Thumb, 26 bytes, Stack size unknown bytes, __scatter_copy.o(!!handler_copy), UNUSED)
<BR><BR>[Calls]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<BR>[Called By]<UL><LI><a href="#[3a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
<BR>[Called By]<UL><LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_copy
</UL>
<P><STRONG><a name="[ca]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[ff]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
<P><STRONG><a name="[3e]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[3d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_li
<P><STRONG><a name="[6a]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_li
</UL>
<P><STRONG><a name="[cb]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
<P><STRONG><a name="[100]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
<P><STRONG><a name="[cc]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
<P><STRONG><a name="[101]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
<P><STRONG><a name="[cd]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
<P><STRONG><a name="[102]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
<P><STRONG><a name="[ce]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
<P><STRONG><a name="[103]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
<P><STRONG><a name="[cf]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034))
<P><STRONG><a name="[104]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034))
<P><STRONG><a name="[d0]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
<P><STRONG><a name="[105]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
<P><STRONG><a name="[d1]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
<P><STRONG><a name="[106]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
<P><STRONG><a name="[d2]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
<P><STRONG><a name="[107]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
<P><STRONG><a name="[d3]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
<P><STRONG><a name="[108]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
<P><STRONG><a name="[d4]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
<P><STRONG><a name="[109]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
<P><STRONG><a name="[d5]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
<P><STRONG><a name="[10a]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
<P><STRONG><a name="[d6]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
<P><STRONG><a name="[10b]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
<P><STRONG><a name="[d7]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
<P><STRONG><a name="[10c]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
<P><STRONG><a name="[d8]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
<P><STRONG><a name="[10d]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
<P><STRONG><a name="[d9]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
<P><STRONG><a name="[10e]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
<P><STRONG><a name="[da]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))
<P><STRONG><a name="[10f]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))
<P><STRONG><a name="[db]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
<P><STRONG><a name="[110]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
<P><STRONG><a name="[dc]"></a>__rt_lib_init_relocate_pie_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
<P><STRONG><a name="[111]"></a>__rt_lib_init_relocate_pie_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
<P><STRONG><a name="[dd]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035))
<P><STRONG><a name="[112]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035))
<P><STRONG><a name="[de]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
<P><STRONG><a name="[113]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
<P><STRONG><a name="[df]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027))
<P><STRONG><a name="[114]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027))
<P><STRONG><a name="[e0]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
<P><STRONG><a name="[115]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
<P><STRONG><a name="[43]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[42]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_ls
<P><STRONG><a name="[6f]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_ls
</UL>
<P><STRONG><a name="[e1]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
<P><STRONG><a name="[116]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
<P><STRONG><a name="[e2]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))
<P><STRONG><a name="[117]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))
<P><STRONG><a name="[e3]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
<P><STRONG><a name="[118]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
<P><STRONG><a name="[e4]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))
<P><STRONG><a name="[119]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))
<P><STRONG><a name="[e5]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))
<P><STRONG><a name="[11a]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))
<P><STRONG><a name="[e6]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
<P><STRONG><a name="[11b]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
<P><STRONG><a name="[e7]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
<P><STRONG><a name="[11c]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
<P><STRONG><a name="[38]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[39]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
<P><STRONG><a name="[64]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__scatterload_rt2
<LI><a href="#[36]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__main
</UL>
<P><STRONG><a name="[e8]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
<P><STRONG><a name="[11d]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
<P><STRONG><a name="[3b]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
<P><STRONG><a name="[67]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __rt_entry_sh &rArr; __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
<BR>[Calls]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<P><STRONG><a name="[3d]"></a>__rt_entry_li</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
<BR><BR>[Calls]<UL><LI><a href="#[3e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init
<P><STRONG><a name="[69]"></a>__rt_entry_li</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000A))
<BR><BR>[Calls]<UL><LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_init
</UL>
<P><STRONG><a name="[e9]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[11e]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
<P><STRONG><a name="[3f]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 320 + Unknown Stack Size
<LI>Call Chain = __rt_entry_main &rArr; main &rArr; REQUESTER_MainWhile &rArr; REQUESTER_BroadcastProcessing &rArr; CanRequestToBroadcastRtcSetup &rArr; REQUESTER_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
<P><STRONG><a name="[6b]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
<BR><BR>[Stack]<UL><LI>Max Depth = 352 + Unknown Stack Size
<LI>Call Chain = __rt_entry_main &rArr; main &rArr; PROTOCAN_LOOP &rArr; PROTOCAN_BroadcastProcessing &rArr; ProtoCanMsgToBroadcastRtcSetup &rArr; PROTOCAN_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
<BR>[Calls]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
</UL>
<P><STRONG><a name="[ea]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
<P><STRONG><a name="[11f]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
<P><STRONG><a name="[48]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[41]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
<P><STRONG><a name="[74]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
<BR><BR>[Called By]<UL><LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;exit
</UL>
<P><STRONG><a name="[42]"></a>__rt_exit_ls</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
<BR><BR>[Calls]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown
<P><STRONG><a name="[6e]"></a>__rt_exit_ls</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000003))
<BR><BR>[Calls]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_lib_shutdown
</UL>
<P><STRONG><a name="[eb]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
<P><STRONG><a name="[120]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
<P><STRONG><a name="[44]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
<P><STRONG><a name="[70]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
<BR><BR>[Calls]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;_sys_exit
</UL>
<P><STRONG><a name="[0]"></a>Reset_Handler</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
@@ -341,335 +413,274 @@ Global Symbols
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[47]"></a>__user_initial_stackheap</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
<P><STRONG><a name="[73]"></a>__user_initial_stackheap</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f103xb.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<P><STRONG><a name="[57]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text))
<P><STRONG><a name="[f3]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastRtcSetup
<BR>[Called By]<UL><LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastRtcSetup
</UL>
<P><STRONG><a name="[ec]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[121]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[ed]"></a>__rt_memcpy_w</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[122]"></a>__rt_memcpy_w</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[ee]"></a>_memcpy_lastbytes_aligned</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[123]"></a>_memcpy_lastbytes_aligned</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)
<P><STRONG><a name="[c7]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<P><STRONG><a name="[fa]"></a>__aeabi_memclr4</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[ef]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[124]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[f0]"></a>__rt_memclr_w</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[125]"></a>__rt_memclr_w</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[f1]"></a>_memset_w</STRONG> (Thumb, 74 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[126]"></a>_memset_w</STRONG> (Thumb, 74 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
<P><STRONG><a name="[f2]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[127]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[f3]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[128]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[f4]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[129]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
<P><STRONG><a name="[3c]"></a>__user_setup_stackheap</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<P><STRONG><a name="[68]"></a>__user_setup_stackheap</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = __user_setup_stackheap
</UL>
<BR>[Calls]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_initial_stackheap
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_perproc_libspace
<BR>[Calls]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_initial_stackheap
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_perproc_libspace
</UL>
<BR>[Called By]<UL><LI><a href="#[3b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_sh
<BR>[Called By]<UL><LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_sh
</UL>
<P><STRONG><a name="[41]"></a>exit</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, exit.o(.text))
<P><STRONG><a name="[6d]"></a>exit</STRONG> (Thumb, 18 bytes, Stack size 8 bytes, exit.o(.text))
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
<LI>Call Chain = exit
</UL>
<BR>[Calls]<UL><LI><a href="#[48]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit
<BR>[Calls]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit
</UL>
<BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
<BR>[Called By]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>
<P><STRONG><a name="[f5]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[12a]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[46]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[3c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
<P><STRONG><a name="[72]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__user_setup_stackheap
</UL>
<P><STRONG><a name="[f6]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[12b]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
<P><STRONG><a name="[45]"></a>_sys_exit</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_exit
<P><STRONG><a name="[71]"></a>_sys_exit</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_exit
</UL>
<P><STRONG><a name="[f7]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[12c]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[f8]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[12d]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
<P><STRONG><a name="[f9]"></a>__semihosting_library_function</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)
<P><STRONG><a name="[12e]"></a>__semihosting_library_function</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)
<P><STRONG><a name="[c1]"></a>AvailableCanRxMsg</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, requester.o(.text.AvailableCanRxMsg))
<BR><BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_MainWhile
<P><STRONG><a name="[e8]"></a>AvailableCanRxMsg</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, protocan.o(.text.AvailableCanRxMsg))
<BR><BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_LOOP
</UL>
<P><STRONG><a name="[4]"></a>BusFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.BusFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[1f]"></a>CAN1_RX1_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_it.o(.text.CAN1_RX1_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = CAN1_RX1_IRQHandler &rArr; HAL_CAN_IRQHandler &rArr; HAL_CAN_RxFifo0MsgPendingCallback &rArr; TakeRxMsgToBuffer
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = CAN1_RX1_IRQHandler &rArr; HAL_CAN_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[20]"></a>CAN1_SCE_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_it.o(.text.CAN1_SCE_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = CAN1_SCE_IRQHandler &rArr; HAL_CAN_IRQHandler &rArr; HAL_CAN_RxFifo0MsgPendingCallback &rArr; TakeRxMsgToBuffer
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = CAN1_SCE_IRQHandler &rArr; HAL_CAN_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[4a]"></a>CONFIG_CAN_FILTER</STRONG> (Thumb, 98 bytes, Stack size 64 bytes, requester.o(.text.CONFIG_CAN_FILTER))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = CONFIG_CAN_FILTER &rArr; HAL_CAN_ConfigFilter
</UL>
<BR>[Calls]<UL><LI><a href="#[4b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ConfigFilter
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_CAN_FILTERS
<P><STRONG><a name="[7d]"></a>CanErrorCallbackACK</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackACK))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[4d]"></a>CanRequestError</STRONG> (Thumb, 120 bytes, Stack size 72 bytes, requester.o(.text.CanRequestError))
<P><STRONG><a name="[7f]"></a>CanErrorCallbackBD</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackBD))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[7a]"></a>CanErrorCallbackBOF</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackBOF))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[7e]"></a>CanErrorCallbackBR</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackBR))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[80]"></a>CanErrorCallbackCRC</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackCRC))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[79]"></a>CanErrorCallbackEPV</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackEPV))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[78]"></a>CanErrorCallbackEWG</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackEWG))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[7c]"></a>CanErrorCallbackFOR</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackFOR))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[8a]"></a>CanErrorCallbackNOTINITIALIZED</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackNOTINITIALIZED))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[8b]"></a>CanErrorCallbackNOTREADY</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackNOTREADY))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[8c]"></a>CanErrorCallbackNOTSTARTED</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackNOTSTARTED))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[8d]"></a>CanErrorCallbackPARAM</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackPARAM))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[81]"></a>CanErrorCallbackRXFOV0</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackRXFOV0))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[82]"></a>CanErrorCallbackRXFOV1</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackRXFOV1))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[7b]"></a>CanErrorCallbackSTF</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackSTF))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[89]"></a>CanErrorCallbackTIMEOUT</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackTIMEOUT))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[83]"></a>CanErrorCallbackTXALST0</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackTXALST0))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[85]"></a>CanErrorCallbackTXALST1</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackTXALST1))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[87]"></a>CanErrorCallbackTXALST2</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackTXALST2))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[84]"></a>CanErrorCallbackTXTERR0</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackTXTERR0))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[86]"></a>CanErrorCallbackTXTERR1</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackTXTERR1))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[88]"></a>CanErrorCallbackTXTERR2</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, canerrorbox.o(.text.CanErrorCallbackTXTERR2))
<BR><BR>[Called By]<UL><LI><a href="#[43]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
</UL>
<P><STRONG><a name="[76]"></a>CanRequestError</STRONG> (Thumb, 120 bytes, Stack size 72 bytes, protocan.o(.text.CanRequestError))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestError &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_MainWhile
</UL>
<P><STRONG><a name="[4f]"></a>CanRequestToAnalogISens</STRONG> (Thumb, 266 bytes, Stack size 72 bytes, requester.o(.text.CanRequestToAnalogISens))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestToAnalogISens &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_AnalogProcessing
</UL>
<P><STRONG><a name="[50]"></a>CanRequestToAnalogTSens</STRONG> (Thumb, 266 bytes, Stack size 72 bytes, requester.o(.text.CanRequestToAnalogTSens))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestToAnalogTSens &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_AnalogProcessing
</UL>
<P><STRONG><a name="[51]"></a>CanRequestToAnalogUSTAVKI</STRONG> (Thumb, 132 bytes, Stack size 72 bytes, requester.o(.text.CanRequestToAnalogUSTAVKI))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestToAnalogUSTAVKI &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_AnalogProcessing
</UL>
<P><STRONG><a name="[52]"></a>CanRequestToAnalogUSens</STRONG> (Thumb, 266 bytes, Stack size 72 bytes, requester.o(.text.CanRequestToAnalogUSens))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestToAnalogUSens &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_AnalogProcessing
</UL>
<P><STRONG><a name="[53]"></a>CanRequestToAnalogUniversal</STRONG> (Thumb, 126 bytes, Stack size 72 bytes, requester.o(.text.CanRequestToAnalogUniversal))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestToAnalogUniversal &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_AnalogProcessing
</UL>
<P><STRONG><a name="[b3]"></a>CanRequestToBroadcastOnOff</STRONG> (Thumb, 46 bytes, Stack size 28 bytes, requester.o(.text.CanRequestToBroadcastOnOff))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = CanRequestToBroadcastOnOff
</UL>
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_BroadcastProcessing
</UL>
<P><STRONG><a name="[54]"></a>CanRequestToBroadcastRestart</STRONG> (Thumb, 146 bytes, Stack size 48 bytes, requester.o(.text.CanRequestToBroadcastRestart))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = CanRequestToBroadcastRestart
</UL>
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SystemReset
</UL>
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_BroadcastProcessing
</UL>
<P><STRONG><a name="[56]"></a>CanRequestToBroadcastRtcSetup</STRONG> (Thumb, 168 bytes, Stack size 128 bytes, requester.o(.text.CanRequestToBroadcastRtcSetup))
<BR><BR>[Stack]<UL><LI>Max Depth = 240<LI>Call Chain = CanRequestToBroadcastRtcSetup &rArr; REQUESTER_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_RTC_SYNC
<LI><a href="#[58]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IsLeapYear
<LI><a href="#[57]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_BroadcastProcessing
</UL>
<P><STRONG><a name="[5a]"></a>CanRequestToBroadcastStatus</STRONG> (Thumb, 212 bytes, Stack size 88 bytes, requester.o(.text.CanRequestToBroadcastStatus))
<BR><BR>[Stack]<UL><LI>Max Depth = 208<LI>Call Chain = CanRequestToBroadcastStatus &rArr; HAL_RTC_GetDate &rArr; HAL_RTC_GetTime &rArr; RTC_DateUpdate &rArr; RTC_WeekDayNum
</UL>
<BR>[Calls]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetDate
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
<LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_BroadcastProcessing
</UL>
<P><STRONG><a name="[b6]"></a>CanRequestToDiscreteAccident</STRONG> (Thumb, 24 bytes, Stack size 28 bytes, requester.o(.text.CanRequestToDiscreteAccident))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = CanRequestToDiscreteAccident
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_DiscreticProcessing
</UL>
<P><STRONG><a name="[ba]"></a>CanRequestToDiscreteChangeMode</STRONG> (Thumb, 24 bytes, Stack size 28 bytes, requester.o(.text.CanRequestToDiscreteChangeMode))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = CanRequestToDiscreteChangeMode
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_DiscreticProcessing
</UL>
<P><STRONG><a name="[b8]"></a>CanRequestToDiscreteControlSignals</STRONG> (Thumb, 24 bytes, Stack size 28 bytes, requester.o(.text.CanRequestToDiscreteControlSignals))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = CanRequestToDiscreteControlSignals
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_DiscreticProcessing
</UL>
<P><STRONG><a name="[b9]"></a>CanRequestToDiscreteFlags</STRONG> (Thumb, 24 bytes, Stack size 28 bytes, requester.o(.text.CanRequestToDiscreteFlags))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = CanRequestToDiscreteFlags
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_DiscreticProcessing
</UL>
<P><STRONG><a name="[bb]"></a>CanRequestToDiscreteRequestListOfParameters</STRONG> (Thumb, 24 bytes, Stack size 28 bytes, requester.o(.text.CanRequestToDiscreteRequestListOfParameters))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = CanRequestToDiscreteRequestListOfParameters
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_DiscreticProcessing
</UL>
<P><STRONG><a name="[5d]"></a>CanRequestToDiscreteReset</STRONG> (Thumb, 24 bytes, Stack size 32 bytes, requester.o(.text.CanRequestToDiscreteReset))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = CanRequestToDiscreteReset
</UL>
<BR>[Calls]<UL><LI><a href="#[55]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SystemReset
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_DiscreticProcessing
</UL>
<P><STRONG><a name="[b7]"></a>CanRequestToDiscreteWarning</STRONG> (Thumb, 24 bytes, Stack size 28 bytes, requester.o(.text.CanRequestToDiscreteWarning))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = CanRequestToDiscreteWarning
</UL>
<BR>[Called By]<UL><LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_DiscreticProcessing
</UL>
<P><STRONG><a name="[5e]"></a>CanRequestToModbusCoil</STRONG> (Thumb, 152 bytes, Stack size 72 bytes, requester.o(.text.CanRequestToModbusCoil))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestToModbusCoil &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_ModbusProcessing
</UL>
<P><STRONG><a name="[5f]"></a>CanRequestToModbusDiscrete</STRONG> (Thumb, 154 bytes, Stack size 72 bytes, requester.o(.text.CanRequestToModbusDiscrete))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestToModbusDiscrete &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_ModbusProcessing
</UL>
<P><STRONG><a name="[60]"></a>CanRequestToModbusHolding</STRONG> (Thumb, 154 bytes, Stack size 72 bytes, requester.o(.text.CanRequestToModbusHolding))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestToModbusHolding &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_ModbusProcessing
</UL>
<P><STRONG><a name="[61]"></a>CanRequestToModbusInput</STRONG> (Thumb, 154 bytes, Stack size 72 bytes, requester.o(.text.CanRequestToModbusInput))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = CanRequestToModbusInput &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_ModbusProcessing
<BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_LOOP
</UL>
<P><STRONG><a name="[7]"></a>DebugMon_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.DebugMon_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[4c]"></a>Error_Handler</STRONG> (Thumb, 14 bytes, Stack size 4 bytes, main.o(.text.Error_Handler))
<P><STRONG><a name="[c6]"></a>Error_Handler</STRONG> (Thumb, 14 bytes, Stack size 4 bytes, main.o(.text.Error_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = Error_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_RTC_SYNC
<LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CONFIG_CAN_FILTER
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_CAN_Init
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_CAN_Init
<LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_RTC_SYNC
<LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_CONFIG_FILTER
</UL>
<P><STRONG><a name="[be]"></a>HAL_CAN_ActivateNotification</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification))
<P><STRONG><a name="[fc]"></a>HAL_CAN_ActivateNotification</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_CAN_ActivateNotification
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Init
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[4e]"></a>HAL_CAN_AddTxMessage</STRONG> (Thumb, 342 bytes, Stack size 32 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage))
<P><STRONG><a name="[77]"></a>HAL_CAN_AddTxMessage</STRONG> (Thumb, 342 bytes, Stack size 32 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToModbusInput
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToModbusHolding
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToModbusDiscrete
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToModbusCoil
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastStatus
<LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogTSens
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogISens
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogUSens
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogUSTAVKI
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogUniversal
<LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestError
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_GeneralAddressSpace_Answer
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Pulse_TIM_Handler
<BR>[Called By]<UL><LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_SEND_GENERAL_ADDRESS_SPACE
<LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToModbusInput
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToModbusHolding
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToModbusDiscrete
<LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToModbusCoil
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastStatus
<LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogTSens
<LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogISens
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogUSens
<LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogSettings
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogUniversal
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestError
<LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToGeneralAddressSpace
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanPulseCallback
</UL>
<P><STRONG><a name="[4b]"></a>HAL_CAN_ConfigFilter</STRONG> (Thumb, 378 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter))
<P><STRONG><a name="[d7]"></a>HAL_CAN_ConfigFilter</STRONG> (Thumb, 378 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HAL_CAN_ConfigFilter
</UL>
<BR>[Called By]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CONFIG_CAN_FILTER
<BR>[Called By]<UL><LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_CONFIG_FILTER
</UL>
<P><STRONG><a name="[6e]"></a>HAL_CAN_ErrorCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_ErrorCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_ErrorCallback
<P><STRONG><a name="[43]"></a>HAL_CAN_ErrorCallback</STRONG> (Thumb, 414 bytes, Stack size 16 bytes, canerrorbox.o(.text.HAL_CAN_ErrorCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_CAN_ErrorCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Calls]<UL><LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackPARAM
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackNOTSTARTED
<LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackNOTREADY
<LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackNOTINITIALIZED
<LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackTIMEOUT
<LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackTXTERR2
<LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackTXALST2
<LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackTXTERR1
<LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackTXALST1
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackTXTERR0
<LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackTXALST0
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackRXFOV1
<LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackRXFOV0
<LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackCRC
<LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackBD
<LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackBR
<LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackACK
<LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackFOR
<LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackSTF
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackBOF
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackEPV
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanErrorCallbackEWG
</UL>
<P><STRONG><a name="[75]"></a>HAL_CAN_GetRxMessage</STRONG> (Thumb, 530 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage))
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[f5]"></a>HAL_CAN_GetRxMessage</STRONG> (Thumb, 530 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HAL_CAN_GetRxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_RxFifo0MsgPendingCallback
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanRxFifo0MsgPendingCallback
</UL>
<P><STRONG><a name="[49]"></a>HAL_CAN_IRQHandler</STRONG> (Thumb, 1010 bytes, Stack size 48 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = HAL_CAN_IRQHandler &rArr; HAL_CAN_RxFifo0MsgPendingCallback &rArr; TakeRxMsgToBuffer
</UL>
<BR>[Calls]<UL><LI><a href="#[6e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ErrorCallback
<LI><a href="#[6d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_WakeUpFromRxMsgCallback
<LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_SleepCallback
<LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_RxFifo1MsgPendingCallback
<LI><a href="#[6a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_RxFifo1FullCallback
<LI><a href="#[68]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_RxFifo0FullCallback
<LI><a href="#[67]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_TxMailbox2AbortCallback
<LI><a href="#[66]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_TxMailbox2CompleteCallback
<LI><a href="#[65]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_TxMailbox1AbortCallback
<LI><a href="#[64]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_TxMailbox1CompleteCallback
<LI><a href="#[63]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_TxMailbox0AbortCallback
<LI><a href="#[62]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_TxMailbox0CompleteCallback
<LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_RxFifo0MsgPendingCallback
<P><STRONG><a name="[75]"></a>HAL_CAN_IRQHandler</STRONG> (Thumb, 1010 bytes, Stack size 48 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = HAL_CAN_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[20]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN1_SCE_IRQHandler
<LI><a href="#[1f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CAN1_RX1_IRQHandler
@@ -677,483 +688,611 @@ Global Symbols
<LI><a href="#[1d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;USB_HP_CAN1_TX_IRQHandler
</UL>
<P><STRONG><a name="[6f]"></a>HAL_CAN_Init</STRONG> (Thumb, 478 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = HAL_CAN_Init &rArr; HAL_CAN_MspInit &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
<P><STRONG><a name="[8e]"></a>HAL_CAN_Init</STRONG> (Thumb, 658 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HAL_CAN_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_MspInit
<BR>[Calls]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_CAN_Init
<BR>[Called By]<UL><LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_CAN_Init
</UL>
<P><STRONG><a name="[70]"></a>HAL_CAN_MspInit</STRONG> (Thumb, 226 bytes, Stack size 64 bytes, can.o(.text.HAL_CAN_MspInit))
<P><STRONG><a name="[45]"></a>HAL_CAN_MspDeInit</STRONG> (Thumb, 86 bytes, Stack size 16 bytes, can.o(.text.HAL_CAN_MspDeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 68<LI>Call Chain = HAL_CAN_MspDeInit &rArr; HAL_GPIO_DeInit
</UL>
<BR>[Calls]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_DisableIRQ
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_DeInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[44]"></a>HAL_CAN_MspInit</STRONG> (Thumb, 226 bytes, Stack size 64 bytes, can.o(.text.HAL_CAN_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 128<LI>Call Chain = HAL_CAN_MspInit &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
</UL>
<BR>[Calls]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<BR>[Calls]<UL><LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_Init
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[e5]"></a>HAL_CAN_RegisterCallback</STRONG> (Thumb, 382 bytes, Stack size 28 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = HAL_CAN_RegisterCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_INIT
</UL>
<P><STRONG><a name="[68]"></a>HAL_CAN_RxFifo0FullCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback))
<P><STRONG><a name="[38]"></a>HAL_CAN_RxFifo0FullCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_RxFifo0FullCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[69]"></a>HAL_CAN_RxFifo0MsgPendingCallback</STRONG> (Thumb, 474 bytes, Stack size 64 bytes, requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = HAL_CAN_RxFifo0MsgPendingCallback &rArr; TakeRxMsgToBuffer
<P><STRONG><a name="[37]"></a>HAL_CAN_RxFifo0MsgPendingCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_RxFifo0MsgPendingCallback
</UL>
<BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_GetRxMessage
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TakeRxMsgToBuffer
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
</UL>
<P><STRONG><a name="[6a]"></a>HAL_CAN_RxFifo1FullCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback))
<P><STRONG><a name="[3a]"></a>HAL_CAN_RxFifo1FullCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_RxFifo1FullCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[6b]"></a>HAL_CAN_RxFifo1MsgPendingCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback))
<P><STRONG><a name="[39]"></a>HAL_CAN_RxFifo1MsgPendingCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_RxFifo1MsgPendingCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[6c]"></a>HAL_CAN_SleepCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback))
<P><STRONG><a name="[41]"></a>HAL_CAN_SleepCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_SleepCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[77]"></a>HAL_CAN_Start</STRONG> (Thumb, 138 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_Start))
<P><STRONG><a name="[95]"></a>HAL_CAN_Start</STRONG> (Thumb, 138 bytes, Stack size 24 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_Start))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HAL_CAN_Start
</UL>
<BR>[Calls]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Init
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[63]"></a>HAL_CAN_TxMailbox0AbortCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback))
<P><STRONG><a name="[3e]"></a>HAL_CAN_TxMailbox0AbortCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_TxMailbox0AbortCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[62]"></a>HAL_CAN_TxMailbox0CompleteCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback))
<P><STRONG><a name="[3b]"></a>HAL_CAN_TxMailbox0CompleteCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_TxMailbox0CompleteCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[65]"></a>HAL_CAN_TxMailbox1AbortCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback))
<P><STRONG><a name="[3f]"></a>HAL_CAN_TxMailbox1AbortCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_TxMailbox1AbortCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[64]"></a>HAL_CAN_TxMailbox1CompleteCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback))
<P><STRONG><a name="[3c]"></a>HAL_CAN_TxMailbox1CompleteCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_TxMailbox1CompleteCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[67]"></a>HAL_CAN_TxMailbox2AbortCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback))
<P><STRONG><a name="[40]"></a>HAL_CAN_TxMailbox2AbortCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_TxMailbox2AbortCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[66]"></a>HAL_CAN_TxMailbox2CompleteCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback))
<P><STRONG><a name="[3d]"></a>HAL_CAN_TxMailbox2CompleteCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_TxMailbox2CompleteCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[da]"></a>HAL_CAN_UnRegisterCallback</STRONG> (Thumb, 454 bytes, Stack size 16 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_CAN_UnRegisterCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DEINIT
</UL>
<P><STRONG><a name="[6d]"></a>HAL_CAN_WakeUpFromRxMsgCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback))
<P><STRONG><a name="[42]"></a>HAL_CAN_WakeUpFromRxMsgCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_CAN_WakeUpFromRxMsgCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
<LI> stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
</UL>
<P><STRONG><a name="[90]"></a>HAL_GPIO_DeInit</STRONG> (Thumb, 414 bytes, Stack size 52 bytes, stm32f1xx_hal_gpio.o(.text.HAL_GPIO_DeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = HAL_GPIO_DeInit
</UL>
<BR>[Called By]<UL><LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_MspDeInit
</UL>
<P><STRONG><a name="[72]"></a>HAL_GPIO_Init</STRONG> (Thumb, 798 bytes, Stack size 64 bytes, stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init))
<P><STRONG><a name="[92]"></a>HAL_GPIO_Init</STRONG> (Thumb, 798 bytes, Stack size 64 bytes, stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = HAL_GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_MspInit
<LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_MCOConfig
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<BR>[Called By]<UL><LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_MspInit
<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_MCOConfig
<LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
</UL>
<P><STRONG><a name="[71]"></a>HAL_GetTick</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text.HAL_GetTick))
<BR><BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_WaitForSynchro
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitInitMode
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterInitMode
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_Start
<LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_Init
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCCEx_PeriphCLKConfig
<LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<P><STRONG><a name="[8f]"></a>HAL_GetTick</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text.HAL_GetTick))
<BR><BR>[Called By]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_WaitForSynchro
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitInitMode
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterInitMode
<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_Init
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCCEx_PeriphCLKConfig
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_Start
</UL>
<P><STRONG><a name="[c5]"></a>HAL_IncTick</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text.HAL_IncTick))
<P><STRONG><a name="[f8]"></a>HAL_IncTick</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal.o(.text.HAL_IncTick))
<BR><BR>[Called By]<UL><LI><a href="#[9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Handler
</UL>
<P><STRONG><a name="[78]"></a>HAL_Init</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, stm32f1xx_hal.o(.text.HAL_Init))
<P><STRONG><a name="[96]"></a>HAL_Init</STRONG> (Thumb, 38 bytes, Stack size 8 bytes, stm32f1xx_hal.o(.text.HAL_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = HAL_Init &rArr; HAL_InitTick &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
</UL>
<BR>[Calls]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriorityGrouping
<LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_MspInit
<BR>[Calls]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriorityGrouping
<LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_MspInit
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Init
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[7a]"></a>HAL_InitTick</STRONG> (Thumb, 112 bytes, Stack size 16 bytes, stm32f1xx_hal.o(.text.HAL_InitTick))
<P><STRONG><a name="[98]"></a>HAL_InitTick</STRONG> (Thumb, 112 bytes, Stack size 16 bytes, stm32f1xx_hal.o(.text.HAL_InitTick))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = HAL_InitTick &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
</UL>
<BR>[Calls]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Config
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<BR>[Calls]<UL><LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Config
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
</UL>
<P><STRONG><a name="[7b]"></a>HAL_MspInit</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(.text.HAL_MspInit))
<P><STRONG><a name="[99]"></a>HAL_MspInit</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(.text.HAL_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HAL_MspInit
</UL>
<BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
</UL>
<P><STRONG><a name="[74]"></a>HAL_NVIC_EnableIRQ</STRONG> (Thumb, 20 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ))
<P><STRONG><a name="[91]"></a>HAL_NVIC_DisableIRQ</STRONG> (Thumb, 20 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = HAL_NVIC_DisableIRQ &rArr; __NVIC_DisableIRQ
</UL>
<BR>[Calls]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_DisableIRQ
</UL>
<BR>[Called By]<UL><LI><a href="#[47]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspDeInit
<LI><a href="#[45]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_MspDeInit
</UL>
<P><STRONG><a name="[94]"></a>HAL_NVIC_EnableIRQ</STRONG> (Thumb, 20 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = HAL_NVIC_EnableIRQ &rArr; __NVIC_EnableIRQ
</UL>
<BR>[Calls]<UL><LI><a href="#[7d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_EnableIRQ
<BR>[Calls]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_EnableIRQ
</UL>
<BR>[Called By]<UL><LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_MspInit
<BR>[Called By]<UL><LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_MspInit
</UL>
<P><STRONG><a name="[73]"></a>HAL_NVIC_SetPriority</STRONG> (Thumb, 50 bytes, Stack size 32 bytes, stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority))
<P><STRONG><a name="[93]"></a>HAL_NVIC_SetPriority</STRONG> (Thumb, 50 bytes, Stack size 32 bytes, stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority))
<BR><BR>[Stack]<UL><LI>Max Depth = 64<LI>Call Chain = HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
</UL>
<BR>[Calls]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority
<LI><a href="#[7f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_EncodePriority
<LI><a href="#[7e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_GetPriorityGrouping
<BR>[Calls]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority
<LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;NVIC_EncodePriority
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_GetPriorityGrouping
</UL>
<BR>[Called By]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<LI><a href="#[70]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_MspInit
<BR>[Called By]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[46]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<LI><a href="#[44]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_MspInit
</UL>
<P><STRONG><a name="[79]"></a>HAL_NVIC_SetPriorityGrouping</STRONG> (Thumb, 16 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping))
<P><STRONG><a name="[97]"></a>HAL_NVIC_SetPriorityGrouping</STRONG> (Thumb, 16 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = HAL_NVIC_SetPriorityGrouping &rArr; __NVIC_SetPriorityGrouping
</UL>
<BR>[Calls]<UL><LI><a href="#[81]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriorityGrouping
<BR>[Calls]<UL><LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriorityGrouping
</UL>
<BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<BR>[Called By]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
</UL>
<P><STRONG><a name="[96]"></a>HAL_PWR_EnableBkUpAccess</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess))
<BR><BR>[Called By]<UL><LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_MspInit
<P><STRONG><a name="[b7]"></a>HAL_PWR_EnableBkUpAccess</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess))
<BR><BR>[Called By]<UL><LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_MspInit
</UL>
<P><STRONG><a name="[82]"></a>HAL_RCCEx_GetPeriphCLKFreq</STRONG> (Thumb, 406 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq))
<P><STRONG><a name="[a1]"></a>HAL_RCCEx_GetPeriphCLKFreq</STRONG> (Thumb, 406 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = HAL_RCCEx_GetPeriphCLKFreq &rArr; HAL_RCC_GetPCLK2Freq
</UL>
<BR>[Calls]<UL><LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetPCLK2Freq
<BR>[Calls]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetPCLK2Freq
</UL>
<BR>[Called By]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
</UL>
<P><STRONG><a name="[84]"></a>HAL_RCCEx_PeriphCLKConfig</STRONG> (Thumb, 456 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig))
<P><STRONG><a name="[a3]"></a>HAL_RCCEx_PeriphCLKConfig</STRONG> (Thumb, 456 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = HAL_RCCEx_PeriphCLKConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Called By]<UL><LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[85]"></a>HAL_RCC_ClockConfig</STRONG> (Thumb, 598 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig))
<P><STRONG><a name="[a4]"></a>HAL_RCC_ClockConfig</STRONG> (Thumb, 598 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = HAL_RCC_ClockConfig &rArr; HAL_InitTick &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
</UL>
<BR>[Calls]<UL><LI><a href="#[86]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetSysClockFreq
<LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetSysClockFreq
<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Called By]<UL><LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[87]"></a>HAL_RCC_GetHCLKFreq</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq))
<BR><BR>[Called By]<UL><LI><a href="#[83]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetPCLK2Freq
<P><STRONG><a name="[a6]"></a>HAL_RCC_GetHCLKFreq</STRONG> (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq))
<BR><BR>[Called By]<UL><LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetPCLK2Freq
</UL>
<P><STRONG><a name="[83]"></a>HAL_RCC_GetPCLK2Freq</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq))
<P><STRONG><a name="[a2]"></a>HAL_RCC_GetPCLK2Freq</STRONG> (Thumb, 34 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = HAL_RCC_GetPCLK2Freq
</UL>
<BR>[Calls]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetHCLKFreq
<BR>[Calls]<UL><LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_GetHCLKFreq
</UL>
<BR>[Called By]<UL><LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCCEx_GetPeriphCLKFreq
<BR>[Called By]<UL><LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCCEx_GetPeriphCLKFreq
</UL>
<P><STRONG><a name="[86]"></a>HAL_RCC_GetSysClockFreq</STRONG> (Thumb, 188 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq))
<P><STRONG><a name="[a5]"></a>HAL_RCC_GetSysClockFreq</STRONG> (Thumb, 188 bytes, Stack size 24 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HAL_RCC_GetSysClockFreq
</UL>
<BR>[Called By]<UL><LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
</UL>
<P><STRONG><a name="[88]"></a>HAL_RCC_MCOConfig</STRONG> (Thumb, 104 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig))
<P><STRONG><a name="[a7]"></a>HAL_RCC_MCOConfig</STRONG> (Thumb, 104 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = HAL_RCC_MCOConfig &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<BR>[Calls]<UL><LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Called By]<UL><LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[89]"></a>HAL_RCC_OscConfig</STRONG> (Thumb, 1658 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig))
<P><STRONG><a name="[a8]"></a>HAL_RCC_OscConfig</STRONG> (Thumb, 1658 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = HAL_RCC_OscConfig &rArr; RCC_Delay
</UL>
<BR>[Calls]<UL><LI><a href="#[8a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_Delay
<LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RCC_Delay
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Called By]<UL><LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
</UL>
<P><STRONG><a name="[5c]"></a>HAL_RTC_GetDate</STRONG> (Thumb, 154 bytes, Stack size 32 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate))
<P><STRONG><a name="[aa]"></a>HAL_RTC_GetDate</STRONG> (Thumb, 154 bytes, Stack size 32 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = HAL_RTC_GetDate &rArr; HAL_RTC_GetTime &rArr; RTC_DateUpdate &rArr; RTC_WeekDayNum
</UL>
<BR>[Calls]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ByteToBcd2
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
<BR>[Calls]<UL><LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ByteToBcd2
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
</UL>
<BR>[Called By]<UL><LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastStatus
<BR>[Called By]<UL><LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastStatus
</UL>
<P><STRONG><a name="[5b]"></a>HAL_RTC_GetTime</STRONG> (Thumb, 434 bytes, Stack size 40 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime))
<P><STRONG><a name="[ab]"></a>HAL_RTC_GetTime</STRONG> (Thumb, 434 bytes, Stack size 40 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = HAL_RTC_GetTime &rArr; RTC_DateUpdate &rArr; RTC_WeekDayNum
</UL>
<BR>[Calls]<UL><LI><a href="#[8b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ByteToBcd2
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_DateUpdate
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadTimeCounter
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadAlarmCounter
<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
<BR>[Calls]<UL><LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ByteToBcd2
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_DateUpdate
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadTimeCounter
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadAlarmCounter
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
</UL>
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetDate
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastStatus
<BR>[Called By]<UL><LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetDate
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastStatus
</UL>
<P><STRONG><a name="[91]"></a>HAL_RTC_Init</STRONG> (Thumb, 298 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init))
<P><STRONG><a name="[b2]"></a>HAL_RTC_Init</STRONG> (Thumb, 298 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = HAL_RTC_Init &rArr; HAL_RCCEx_GetPeriphCLKFreq &rArr; HAL_RCC_GetPCLK2Freq
</UL>
<BR>[Calls]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_WaitForSynchro
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitInitMode
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterInitMode
<LI><a href="#[82]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCCEx_GetPeriphCLKFreq
<LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_MspInit
<BR>[Calls]<UL><LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_WaitForSynchro
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitInitMode
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterInitMode
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCCEx_GetPeriphCLKFreq
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_MspInit
</UL>
<BR>[Called By]<UL><LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<BR>[Called By]<UL><LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
</UL>
<P><STRONG><a name="[92]"></a>HAL_RTC_MspInit</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, rtc.o(.text.HAL_RTC_MspInit))
<P><STRONG><a name="[b3]"></a>HAL_RTC_MspInit</STRONG> (Thumb, 76 bytes, Stack size 16 bytes, rtc.o(.text.HAL_RTC_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_RTC_MspInit
</UL>
<BR>[Calls]<UL><LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_PWR_EnableBkUpAccess
<BR>[Calls]<UL><LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_PWR_EnableBkUpAccess
</UL>
<BR>[Called By]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
</UL>
<P><STRONG><a name="[97]"></a>HAL_RTC_SetDate</STRONG> (Thumb, 382 bytes, Stack size 40 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate))
<P><STRONG><a name="[b8]"></a>HAL_RTC_SetDate</STRONG> (Thumb, 382 bytes, Stack size 40 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WeekDayNum
<LI><a href="#[8c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadTimeCounter
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadAlarmCounter
<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_Bcd2ToByte
<BR>[Calls]<UL><LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WeekDayNum
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadTimeCounter
<LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadAlarmCounter
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
<LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_Bcd2ToByte
</UL>
<BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_RTC_SYNC
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<BR>[Called By]<UL><LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_RTC_SYNC
</UL>
<P><STRONG><a name="[9a]"></a>HAL_RTC_SetTime</STRONG> (Thumb, 322 bytes, Stack size 40 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime))
<P><STRONG><a name="[bb]"></a>HAL_RTC_SetTime</STRONG> (Thumb, 322 bytes, Stack size 40 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = HAL_RTC_SetTime &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[8d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadAlarmCounter
<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
<LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_Bcd2ToByte
<BR>[Calls]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ReadAlarmCounter
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
<LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_Bcd2ToByte
</UL>
<BR>[Called By]<UL><LI><a href="#[59]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_RTC_SYNC
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<BR>[Called By]<UL><LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_RTC_SYNC
</UL>
<P><STRONG><a name="[93]"></a>HAL_RTC_WaitForSynchro</STRONG> (Thumb, 100 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro))
<P><STRONG><a name="[b4]"></a>HAL_RTC_WaitForSynchro</STRONG> (Thumb, 100 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = HAL_RTC_WaitForSynchro
</UL>
<BR>[Calls]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
<BR>[Called By]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
</UL>
<P><STRONG><a name="[7c]"></a>HAL_SYSTICK_Config</STRONG> (Thumb, 16 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config))
<P><STRONG><a name="[9a]"></a>HAL_SYSTICK_Config</STRONG> (Thumb, 16 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = HAL_SYSTICK_Config &rArr; SysTick_Config &rArr; __NVIC_SetPriority
</UL>
<BR>[Calls]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Config
<BR>[Calls]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Config
</UL>
<BR>[Called By]<UL><LI><a href="#[7a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
<BR>[Called By]<UL><LI><a href="#[98]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_InitTick
</UL>
<P><STRONG><a name="[a9]"></a>HAL_TIMEx_BreakCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback))
<P><STRONG><a name="[60]"></a>HAL_TIMEx_BreakCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIMEx_BreakCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[ab]"></a>HAL_TIMEx_CommutCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback))
<P><STRONG><a name="[5e]"></a>HAL_TIMEx_CommutCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIMEx_CommutCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[b0]"></a>HAL_TIMEx_MasterConfigSynchronization</STRONG> (Thumb, 220 bytes, Stack size 20 bytes, stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization))
<P><STRONG><a name="[5f]"></a>HAL_TIMEx_CommutHalfCpltCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIMEx_CommutHalfCpltCallback
</UL>
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[53]"></a>HAL_TIMEx_HallSensor_MspDeInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIMEx_HallSensor_MspDeInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[52]"></a>HAL_TIMEx_HallSensor_MspInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIMEx_HallSensor_MspInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[ca]"></a>HAL_TIMEx_MasterConfigSynchronization</STRONG> (Thumb, 220 bytes, Stack size 20 bytes, stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = HAL_TIMEx_MasterConfigSynchronization
</UL>
<BR>[Called By]<UL><LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
<BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
</UL>
<P><STRONG><a name="[9c]"></a>HAL_TIM_Base_Init</STRONG> (Thumb, 156 bytes, Stack size 16 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = HAL_TIM_Base_Init &rArr; HAL_TIM_Base_MspInit &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
<P><STRONG><a name="[bd]"></a>HAL_TIM_Base_Init</STRONG> (Thumb, 184 bytes, Stack size 16 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = HAL_TIM_Base_Init &rArr; TIM_Base_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[9e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Base_SetConfig
<LI><a href="#[9d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_MspInit
<BR>[Calls]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_Base_SetConfig
<LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ResetCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
<BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
</UL>
<P><STRONG><a name="[9d]"></a>HAL_TIM_Base_MspInit</STRONG> (Thumb, 78 bytes, Stack size 24 bytes, tim.o(.text.HAL_TIM_Base_MspInit))
<P><STRONG><a name="[47]"></a>HAL_TIM_Base_MspDeInit</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, tim.o(.text.HAL_TIM_Base_MspDeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 36<LI>Call Chain = HAL_TIM_Base_MspDeInit &rArr; HAL_NVIC_DisableIRQ &rArr; __NVIC_DisableIRQ
</UL>
<BR>[Calls]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_DisableIRQ
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[46]"></a>HAL_TIM_Base_MspInit</STRONG> (Thumb, 78 bytes, Stack size 24 bytes, tim.o(.text.HAL_TIM_Base_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = HAL_TIM_Base_MspInit &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
</UL>
<BR>[Calls]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<BR>[Calls]<UL><LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[c0]"></a>HAL_TIM_ConfigClockSource</STRONG> (Thumb, 388 bytes, Stack size 32 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = HAL_TIM_ConfigClockSource &rArr; TIM_ETR_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ETR_SetConfig
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TI2_ConfigInputStage
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ITRx_SetConfig
<LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TI1_ConfigInputStage
</UL>
<BR>[Called By]<UL><LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
</UL>
<P><STRONG><a name="[c0]"></a>HAL_TIM_Base_Start_IT</STRONG> (Thumb, 176 bytes, Stack size 12 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Start_IT))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = HAL_TIM_Base_Start_IT
<P><STRONG><a name="[51]"></a>HAL_TIM_Encoder_MspDeInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_Encoder_MspDeInit
</UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_MainWhile
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[9f]"></a>HAL_TIM_ConfigClockSource</STRONG> (Thumb, 388 bytes, Stack size 32 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource))
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = HAL_TIM_ConfigClockSource &rArr; TIM_TI2_ConfigInputStage
<P><STRONG><a name="[50]"></a>HAL_TIM_Encoder_MspInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_Encoder_MspInit
</UL>
<BR>[Calls]<UL><LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TI2_ConfigInputStage
<LI><a href="#[a2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ITRx_SetConfig
<LI><a href="#[a1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_TI1_ConfigInputStage
<LI><a href="#[a0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM_ETR_SetConfig
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<BR>[Called By]<UL><LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
<P><STRONG><a name="[5d]"></a>HAL_TIM_ErrorCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_ErrorCallback
</UL>
<P><STRONG><a name="[a5]"></a>HAL_TIM_IC_CaptureCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback))
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[58]"></a>HAL_TIM_IC_CaptureCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_IC_CaptureCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[a4]"></a>HAL_TIM_IRQHandler</STRONG> (Thumb, 634 bytes, Stack size 16 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = HAL_TIM_IRQHandler &rArr; HAL_TIM_PeriodElapsedCallback
<P><STRONG><a name="[59]"></a>HAL_TIM_IC_CaptureHalfCpltCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_IC_CaptureHalfCpltCallback
</UL>
<BR>[Calls]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_PeriodElapsedCallback
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIMEx_CommutCallback
<LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_TriggerCallback
<LI><a href="#[a9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIMEx_BreakCallback
<LI><a href="#[a6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_OC_DelayElapsedCallback
<LI><a href="#[a5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IC_CaptureCallback
<LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_PWM_PulseFinishedCallback
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[49]"></a>HAL_TIM_IC_MspDeInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_IC_MspDeInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[48]"></a>HAL_TIM_IC_MspInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_IC_MspInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[fb]"></a>HAL_TIM_IRQHandler</STRONG> (Thumb, 666 bytes, Stack size 16 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_TIM_IRQHandler
</UL>
<BR>[Called By]<UL><LI><a href="#[28]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM4_IRQHandler
</UL>
<P><STRONG><a name="[a6]"></a>HAL_TIM_OC_DelayElapsedCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback))
<P><STRONG><a name="[5a]"></a>HAL_TIM_OC_DelayElapsedCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_OC_DelayElapsedCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[a7]"></a>HAL_TIM_PWM_PulseFinishedCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback))
<P><STRONG><a name="[4b]"></a>HAL_TIM_OC_MspDeInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_OC_MspDeInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[4a]"></a>HAL_TIM_OC_MspInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_OC_MspInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[4f]"></a>HAL_TIM_OnePulse_MspDeInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_OnePulse_MspDeInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[4e]"></a>HAL_TIM_OnePulse_MspInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_OnePulse_MspInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[4d]"></a>HAL_TIM_PWM_MspDeInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_PWM_MspDeInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[4c]"></a>HAL_TIM_PWM_MspInit</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_PWM_MspInit
</UL>
<BR>[Address Reference Count : 1]<UL><LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[5b]"></a>HAL_TIM_PWM_PulseFinishedCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_PWM_PulseFinishedCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[a8]"></a>HAL_TIM_PeriodElapsedCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback))
<P><STRONG><a name="[5c]"></a>HAL_TIM_PWM_PulseFinishedHalfCpltCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_PWM_PulseFinishedHalfCpltCallback
</UL>
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[54]"></a>HAL_TIM_PeriodElapsedCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_PeriodElapsedCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[55]"></a>HAL_TIM_PeriodElapsedHalfCpltCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_PeriodElapsedHalfCpltCallback
</UL>
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[e6]"></a>HAL_TIM_RegisterCallback</STRONG> (Thumb, 674 bytes, Stack size 28 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = HAL_TIM_RegisterCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_INIT
</UL>
<P><STRONG><a name="[aa]"></a>HAL_TIM_TriggerCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback))
<P><STRONG><a name="[56]"></a>HAL_TIM_TriggerCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_TriggerCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IRQHandler
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[57]"></a>HAL_TIM_TriggerHalfCpltCallback</STRONG> (Thumb, 8 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = HAL_TIM_TriggerHalfCpltCallback
</UL>
<BR>[Address Reference Count : 2]<UL><LI> stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
<LI> stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
</UL>
<P><STRONG><a name="[d9]"></a>HAL_TIM_UnRegisterCallback</STRONG> (Thumb, 900 bytes, Stack size 16 bytes, stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = HAL_TIM_UnRegisterCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DEINIT
</UL>
<P><STRONG><a name="[2]"></a>HardFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.HardFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[58]"></a>IsLeapYear</STRONG> (Thumb, 142 bytes, Stack size 12 bytes, requester.o(.text.IsLeapYear))
<P><STRONG><a name="[f4]"></a>IsLeapYear</STRONG> (Thumb, 142 bytes, Stack size 12 bytes, protocan.o(.text.IsLeapYear))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = IsLeapYear
</UL>
<BR>[Called By]<UL><LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastRtcSetup
<BR>[Called By]<UL><LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastRtcSetup
</UL>
<P><STRONG><a name="[ac]"></a>MX_CAN_Init</STRONG> (Thumb, 78 bytes, Stack size 16 bytes, can.o(.text.MX_CAN_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 168<LI>Call Chain = MX_CAN_Init &rArr; HAL_CAN_Init &rArr; HAL_CAN_MspInit &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
<P><STRONG><a name="[c5]"></a>MX_CAN_Init</STRONG> (Thumb, 78 bytes, Stack size 16 bytes, can.o(.text.MX_CAN_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = MX_CAN_Init &rArr; HAL_CAN_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[6f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_Init
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
<BR>[Calls]<UL><LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_Init
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Init
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[ad]"></a>MX_GPIO_Init</STRONG> (Thumb, 74 bytes, Stack size 32 bytes, gpio.o(.text.MX_GPIO_Init))
<P><STRONG><a name="[c7]"></a>MX_GPIO_Init</STRONG> (Thumb, 74 bytes, Stack size 32 bytes, gpio.o(.text.MX_GPIO_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = MX_GPIO_Init &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[72]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
<BR>[Calls]<UL><LI><a href="#[92]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[ae]"></a>MX_RTC_Init</STRONG> (Thumb, 148 bytes, Stack size 16 bytes, rtc.o(.text.MX_RTC_Init))
<P><STRONG><a name="[c8]"></a>MX_RTC_Init</STRONG> (Thumb, 148 bytes, Stack size 16 bytes, rtc.o(.text.MX_RTC_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = MX_RTC_Init &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
<BR>[Calls]<UL><LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Init
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[af]"></a>MX_TIM4_Init</STRONG> (Thumb, 134 bytes, Stack size 40 bytes, tim.o(.text.MX_TIM4_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = MX_TIM4_Init &rArr; HAL_TIM_Base_Init &rArr; HAL_TIM_Base_MspInit &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
<P><STRONG><a name="[c9]"></a>MX_TIM4_Init</STRONG> (Thumb, 134 bytes, Stack size 40 bytes, tim.o(.text.MX_TIM4_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 92<LI>Call Chain = MX_TIM4_Init &rArr; HAL_TIM_ConfigClockSource &rArr; TIM_ETR_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIMEx_MasterConfigSynchronization
<LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
<BR>[Calls]<UL><LI><a href="#[ca]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIMEx_MasterConfigSynchronization
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Init
<LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[3]"></a>MemManage_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.MemManage_Handler))
@@ -1162,366 +1301,567 @@ Global Symbols
<P><STRONG><a name="[1]"></a>NMI_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.NMI_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[cb]"></a>PROTOCAN_AnalogProcessing</STRONG> (Thumb, 228 bytes, Stack size 48 bytes, protocan.o(.text.PROTOCAN_AnalogProcessing))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = PROTOCAN_AnalogProcessing &rArr; ProtoCanMsgToAnalogTSens &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[d0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogTSens
<LI><a href="#[cf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogISens
<LI><a href="#[ce]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogUSens
<LI><a href="#[cd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogSettings
<LI><a href="#[cc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToAnalogUniversal
</UL>
<BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_LOOP
</UL>
<P><STRONG><a name="[d1]"></a>PROTOCAN_BroadcastProcessing</STRONG> (Thumb, 192 bytes, Stack size 48 bytes, protocan.o(.text.PROTOCAN_BroadcastProcessing))
<BR><BR>[Stack]<UL><LI>Max Depth = 296<LI>Call Chain = PROTOCAN_BroadcastProcessing &rArr; ProtoCanMsgToBroadcastRtcSetup &rArr; PROTOCAN_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastRtcSetup
<LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastRestart
<LI><a href="#[d3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastOnOff
<LI><a href="#[d2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastStatus
</UL>
<BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_LOOP
</UL>
<P><STRONG><a name="[d6]"></a>PROTOCAN_CONFIG_FILTER</STRONG> (Thumb, 100 bytes, Stack size 64 bytes, protocan.o(.text.PROTOCAN_CONFIG_FILTER))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = PROTOCAN_CONFIG_FILTER &rArr; HAL_CAN_ConfigFilter
</UL>
<BR>[Calls]<UL><LI><a href="#[d7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ConfigFilter
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_FILTERS
</UL>
<P><STRONG><a name="[d8]"></a>PROTOCAN_DEINIT</STRONG> (Thumb, 70 bytes, Stack size 16 bytes, protocan.o(.text.PROTOCAN_DEINIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = PROTOCAN_DEINIT &rArr; HAL_CAN_UnRegisterCallback
</UL>
<BR>[Calls]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_UnRegisterCallback
<LI><a href="#[d9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_UnRegisterCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_INIT
</UL>
<P><STRONG><a name="[db]"></a>PROTOCAN_DiscreticProcessing</STRONG> (Thumb, 272 bytes, Stack size 48 bytes, protocan.o(.text.PROTOCAN_DiscreticProcessing))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = PROTOCAN_DiscreticProcessing &rArr; ProtoCanMsgToDiscreteReset
</UL>
<BR>[Calls]<UL><LI><a href="#[e2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToDiscreteRequestListOfParameters
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToDiscreteChangeMode
<LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToDiscreteReset
<LI><a href="#[df]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToDiscreteFlags
<LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToDiscreteControlSignals
<LI><a href="#[dd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToDiscreteWarning
<LI><a href="#[dc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToDiscreteAccident
</UL>
<BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_LOOP
</UL>
<P><STRONG><a name="[e3]"></a>PROTOCAN_FILTERS</STRONG> (Thumb, 62 bytes, Stack size 32 bytes, protocan.o(.text.PROTOCAN_FILTERS))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = PROTOCAN_FILTERS &rArr; PROTOCAN_CONFIG_FILTER &rArr; HAL_CAN_ConfigFilter
</UL>
<BR>[Calls]<UL><LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_CONFIG_FILTER
</UL>
<BR>[Called By]<UL><LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_INIT
</UL>
<P><STRONG><a name="[e4]"></a>PROTOCAN_INIT</STRONG> (Thumb, 264 bytes, Stack size 32 bytes, protocan.o(.text.PROTOCAN_INIT))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = PROTOCAN_INIT &rArr; PROTOCAN_FILTERS &rArr; PROTOCAN_CONFIG_FILTER &rArr; HAL_CAN_ConfigFilter
</UL>
<BR>[Calls]<UL><LI><a href="#[e3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_FILTERS
<LI><a href="#[e6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_RegisterCallback
<LI><a href="#[e5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_RegisterCallback
<LI><a href="#[d8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DEINIT
</UL>
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[e7]"></a>PROTOCAN_LOOP</STRONG> (Thumb, 836 bytes, Stack size 40 bytes, protocan.o(.text.PROTOCAN_LOOP))
<BR><BR>[Stack]<UL><LI>Max Depth = 336<LI>Call Chain = PROTOCAN_LOOP &rArr; PROTOCAN_BroadcastProcessing &rArr; ProtoCanMsgToBroadcastRtcSetup &rArr; PROTOCAN_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_SEND
<LI><a href="#[76]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestError
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_ModbusProcessing
<LI><a href="#[e9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToGeneralAddressSpace
<LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DiscreticProcessing
<LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_BroadcastProcessing
<LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_AnalogProcessing
<LI><a href="#[e8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AvailableCanRxMsg
</UL>
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[ea]"></a>PROTOCAN_ModbusProcessing</STRONG> (Thumb, 196 bytes, Stack size 40 bytes, protocan.o(.text.PROTOCAN_ModbusProcessing))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = PROTOCAN_ModbusProcessing &rArr; ProtoCanMsgToModbusInput &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[ef]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToModbusInput
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToModbusHolding
<LI><a href="#[ed]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToModbusDiscrete
<LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToModbusCoil
</UL>
<BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_LOOP
</UL>
<P><STRONG><a name="[f0]"></a>PROTOCAN_RTC_SYNC</STRONG> (Thumb, 164 bytes, Stack size 24 bytes, protocan.o(.text.PROTOCAN_RTC_SYNC))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = PROTOCAN_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
</UL>
<BR>[Called By]<UL><LI><a href="#[d5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastRtcSetup
</UL>
<P><STRONG><a name="[eb]"></a>PROTOCAN_SEND</STRONG> (Thumb, 64 bytes, Stack size 32 bytes, protocan.o(.text.PROTOCAN_SEND))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = PROTOCAN_SEND &rArr; PROTOCAN_SEND_GENERAL_ADDRESS_SPACE &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[f1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_SEND_GENERAL_ADDRESS_SPACE
</UL>
<BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_LOOP
</UL>
<P><STRONG><a name="[f1]"></a>PROTOCAN_SEND_GENERAL_ADDRESS_SPACE</STRONG> (Thumb, 282 bytes, Stack size 88 bytes, protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE))
<BR><BR>[Stack]<UL><LI>Max Depth = 120<LI>Call Chain = PROTOCAN_SEND_GENERAL_ADDRESS_SPACE &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[eb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_SEND
</UL>
<P><STRONG><a name="[8]"></a>PendSV_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.PendSV_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[b1]"></a>REQUESTER_AnalogProcessing</STRONG> (Thumb, 232 bytes, Stack size 48 bytes, requester.o(.text.REQUESTER_AnalogProcessing))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = REQUESTER_AnalogProcessing &rArr; CanRequestToAnalogTSens &rArr; HAL_CAN_AddTxMessage
<P><STRONG><a name="[cf]"></a>ProtoCanMsgToAnalogISens</STRONG> (Thumb, 266 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogISens))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ProtoCanMsgToAnalogISens &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[50]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogTSens
<LI><a href="#[4f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogISens
<LI><a href="#[52]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogUSens
<LI><a href="#[51]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogUSTAVKI
<LI><a href="#[53]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToAnalogUniversal
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_MainWhile
<BR>[Called By]<UL><LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_AnalogProcessing
</UL>
<P><STRONG><a name="[b2]"></a>REQUESTER_BroadcastProcessing</STRONG> (Thumb, 204 bytes, Stack size 48 bytes, requester.o(.text.REQUESTER_BroadcastProcessing))
<BR><BR>[Stack]<UL><LI>Max Depth = 288<LI>Call Chain = REQUESTER_BroadcastProcessing &rArr; CanRequestToBroadcastRtcSetup &rArr; REQUESTER_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
<P><STRONG><a name="[cd]"></a>ProtoCanMsgToAnalogSettings</STRONG> (Thumb, 134 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogSettings))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ProtoCanMsgToAnalogSettings &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastRtcSetup
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastRestart
<LI><a href="#[b3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastOnOff
<LI><a href="#[5a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastStatus
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_MainWhile
<BR>[Called By]<UL><LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_AnalogProcessing
</UL>
<P><STRONG><a name="[b4]"></a>REQUESTER_CAN_FILTERS</STRONG> (Thumb, 82 bytes, Stack size 8 bytes, requester.o(.text.REQUESTER_CAN_FILTERS))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = REQUESTER_CAN_FILTERS &rArr; CONFIG_CAN_FILTER &rArr; HAL_CAN_ConfigFilter
<P><STRONG><a name="[d0]"></a>ProtoCanMsgToAnalogTSens</STRONG> (Thumb, 266 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogTSens))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ProtoCanMsgToAnalogTSens &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CONFIG_CAN_FILTER
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Init
<BR>[Called By]<UL><LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_AnalogProcessing
</UL>
<P><STRONG><a name="[b5]"></a>REQUESTER_DiscreticProcessing</STRONG> (Thumb, 276 bytes, Stack size 48 bytes, requester.o(.text.REQUESTER_DiscreticProcessing))
<BR><BR>[Stack]<UL><LI>Max Depth = 80<LI>Call Chain = REQUESTER_DiscreticProcessing &rArr; CanRequestToDiscreteReset
<P><STRONG><a name="[ce]"></a>ProtoCanMsgToAnalogUSens</STRONG> (Thumb, 266 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogUSens))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ProtoCanMsgToAnalogUSens &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToDiscreteRequestListOfParameters
<LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToDiscreteChangeMode
<LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToDiscreteReset
<LI><a href="#[b9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToDiscreteFlags
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToDiscreteControlSignals
<LI><a href="#[b7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToDiscreteWarning
<LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToDiscreteAccident
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_MainWhile
<BR>[Called By]<UL><LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_AnalogProcessing
</UL>
<P><STRONG><a name="[bc]"></a>REQUESTER_GeneralAddressSpace_Answer</STRONG> (Thumb, 214 bytes, Stack size 80 bytes, requester.o(.text.REQUESTER_GeneralAddressSpace_Answer))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = REQUESTER_GeneralAddressSpace_Answer &rArr; HAL_CAN_AddTxMessage
<P><STRONG><a name="[cc]"></a>ProtoCanMsgToAnalogUniversal</STRONG> (Thumb, 128 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToAnalogUniversal))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ProtoCanMsgToAnalogUniversal &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_MainWhile
<BR>[Called By]<UL><LI><a href="#[cb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_AnalogProcessing
</UL>
<P><STRONG><a name="[bd]"></a>REQUESTER_Init</STRONG> (Thumb, 68 bytes, Stack size 16 bytes, requester.o(.text.REQUESTER_Init))
<BR><BR>[Stack]<UL><LI>Max Depth = 184<LI>Call Chain = REQUESTER_Init &rArr; MX_CAN_Init &rArr; HAL_CAN_Init &rArr; HAL_CAN_MspInit &rArr; HAL_NVIC_SetPriority &rArr; NVIC_EncodePriority
<P><STRONG><a name="[d3]"></a>ProtoCanMsgToBroadcastOnOff</STRONG> (Thumb, 48 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToBroadcastOnOff))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = ProtoCanMsgToBroadcastOnOff
</UL>
<BR>[Calls]<UL><LI><a href="#[be]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ActivateNotification
<LI><a href="#[b4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_CAN_FILTERS
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_Start
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_CAN_Init
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
</UL>
<BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_BroadcastProcessing
</UL>
<P><STRONG><a name="[bf]"></a>REQUESTER_MainWhile</STRONG> (Thumb, 752 bytes, Stack size 16 bytes, requester.o(.text.REQUESTER_MainWhile))
<BR><BR>[Stack]<UL><LI>Max Depth = 304<LI>Call Chain = REQUESTER_MainWhile &rArr; REQUESTER_BroadcastProcessing &rArr; CanRequestToBroadcastRtcSetup &rArr; REQUESTER_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
<P><STRONG><a name="[d4]"></a>ProtoCanMsgToBroadcastRestart</STRONG> (Thumb, 160 bytes, Stack size 56 bytes, protocan.o(.text.ProtoCanMsgToBroadcastRestart))
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = ProtoCanMsgToBroadcastRestart
</UL>
<BR>[Calls]<UL><LI><a href="#[4d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestError
<LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_ModbusProcessing
<LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_GeneralAddressSpace_Answer
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_DiscreticProcessing
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_BroadcastProcessing
<LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_AnalogProcessing
<LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Start_IT
<LI><a href="#[c1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;AvailableCanRxMsg
<BR>[Calls]<UL><LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SystemReset
</UL>
<BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_BroadcastProcessing
</UL>
<P><STRONG><a name="[c2]"></a>REQUESTER_ModbusProcessing</STRONG> (Thumb, 196 bytes, Stack size 40 bytes, requester.o(.text.REQUESTER_ModbusProcessing))
<BR><BR>[Stack]<UL><LI>Max Depth = 144<LI>Call Chain = REQUESTER_ModbusProcessing &rArr; CanRequestToModbusInput &rArr; HAL_CAN_AddTxMessage
<P><STRONG><a name="[d5]"></a>ProtoCanMsgToBroadcastRtcSetup</STRONG> (Thumb, 192 bytes, Stack size 136 bytes, protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup))
<BR><BR>[Stack]<UL><LI>Max Depth = 248<LI>Call Chain = ProtoCanMsgToBroadcastRtcSetup &rArr; PROTOCAN_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToModbusInput
<LI><a href="#[60]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToModbusHolding
<LI><a href="#[5f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToModbusDiscrete
<LI><a href="#[5e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToModbusCoil
<BR>[Calls]<UL><LI><a href="#[f0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_RTC_SYNC
<LI><a href="#[f4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;IsLeapYear
<LI><a href="#[f3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy4
</UL>
<BR>[Called By]<UL><LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_MainWhile
<BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_BroadcastProcessing
</UL>
<P><STRONG><a name="[c3]"></a>REQUESTER_Pulse_TIM_Handler</STRONG> (Thumb, 208 bytes, Stack size 56 bytes, requester.o(.text.REQUESTER_Pulse_TIM_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = REQUESTER_Pulse_TIM_Handler &rArr; HAL_CAN_AddTxMessage
<P><STRONG><a name="[d2]"></a>ProtoCanMsgToBroadcastStatus</STRONG> (Thumb, 218 bytes, Stack size 88 bytes, protocan.o(.text.ProtoCanMsgToBroadcastStatus))
<BR><BR>[Stack]<UL><LI>Max Depth = 208<LI>Call Chain = ProtoCanMsgToBroadcastStatus &rArr; HAL_RTC_GetDate &rArr; HAL_RTC_GetTime &rArr; RTC_DateUpdate &rArr; RTC_WeekDayNum
</UL>
<BR>[Calls]<UL><LI><a href="#[4e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
<BR>[Calls]<UL><LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetDate
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
<LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[28]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TIM4_IRQHandler
<BR>[Called By]<UL><LI><a href="#[d1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_BroadcastProcessing
</UL>
<P><STRONG><a name="[59]"></a>REQUESTER_RTC_SYNC</STRONG> (Thumb, 156 bytes, Stack size 24 bytes, requester.o(.text.REQUESTER_RTC_SYNC))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = REQUESTER_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
<P><STRONG><a name="[dc]"></a>ProtoCanMsgToDiscreteAccident</STRONG> (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteAccident))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = ProtoCanMsgToDiscreteAccident
</UL>
<BR>[Calls]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
</UL>
<BR>[Called By]<UL><LI><a href="#[56]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastRtcSetup
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DiscreticProcessing
</UL>
<P><STRONG><a name="[e1]"></a>ProtoCanMsgToDiscreteChangeMode</STRONG> (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteChangeMode))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = ProtoCanMsgToDiscreteChangeMode
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DiscreticProcessing
</UL>
<P><STRONG><a name="[de]"></a>ProtoCanMsgToDiscreteControlSignals</STRONG> (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteControlSignals))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = ProtoCanMsgToDiscreteControlSignals
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DiscreticProcessing
</UL>
<P><STRONG><a name="[df]"></a>ProtoCanMsgToDiscreteFlags</STRONG> (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteFlags))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = ProtoCanMsgToDiscreteFlags
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DiscreticProcessing
</UL>
<P><STRONG><a name="[e2]"></a>ProtoCanMsgToDiscreteRequestListOfParameters</STRONG> (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = ProtoCanMsgToDiscreteRequestListOfParameters
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DiscreticProcessing
</UL>
<P><STRONG><a name="[e0]"></a>ProtoCanMsgToDiscreteReset</STRONG> (Thumb, 24 bytes, Stack size 32 bytes, protocan.o(.text.ProtoCanMsgToDiscreteReset))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = ProtoCanMsgToDiscreteReset
</UL>
<BR>[Calls]<UL><LI><a href="#[f2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SystemReset
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DiscreticProcessing
</UL>
<P><STRONG><a name="[dd]"></a>ProtoCanMsgToDiscreteWarning</STRONG> (Thumb, 26 bytes, Stack size 28 bytes, protocan.o(.text.ProtoCanMsgToDiscreteWarning))
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = ProtoCanMsgToDiscreteWarning
</UL>
<BR>[Called By]<UL><LI><a href="#[db]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_DiscreticProcessing
</UL>
<P><STRONG><a name="[e9]"></a>ProtoCanMsgToGeneralAddressSpace</STRONG> (Thumb, 216 bytes, Stack size 80 bytes, protocan.o(.text.ProtoCanMsgToGeneralAddressSpace))
<BR><BR>[Stack]<UL><LI>Max Depth = 112<LI>Call Chain = ProtoCanMsgToGeneralAddressSpace &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_LOOP
</UL>
<P><STRONG><a name="[ec]"></a>ProtoCanMsgToModbusCoil</STRONG> (Thumb, 152 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusCoil))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ProtoCanMsgToModbusCoil &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_ModbusProcessing
</UL>
<P><STRONG><a name="[ed]"></a>ProtoCanMsgToModbusDiscrete</STRONG> (Thumb, 154 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusDiscrete))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ProtoCanMsgToModbusDiscrete &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_ModbusProcessing
</UL>
<P><STRONG><a name="[ee]"></a>ProtoCanMsgToModbusHolding</STRONG> (Thumb, 154 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusHolding))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ProtoCanMsgToModbusHolding &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_ModbusProcessing
</UL>
<P><STRONG><a name="[ef]"></a>ProtoCanMsgToModbusInput</STRONG> (Thumb, 154 bytes, Stack size 72 bytes, protocan.o(.text.ProtoCanMsgToModbusInput))
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = ProtoCanMsgToModbusInput &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Called By]<UL><LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_ModbusProcessing
</UL>
<P><STRONG><a name="[62]"></a>ProtoCanPulseCallback</STRONG> (Thumb, 212 bytes, Stack size 56 bytes, protocan.o(.text.ProtoCanPulseCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 88<LI>Call Chain = ProtoCanPulseCallback &rArr; HAL_CAN_AddTxMessage
</UL>
<BR>[Calls]<UL><LI><a href="#[77]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_AddTxMessage
</UL>
<BR>[Address Reference Count : 1]<UL><LI> protocan.o(.text.PROTOCAN_INIT)
</UL>
<P><STRONG><a name="[61]"></a>ProtoCanRxFifo0MsgPendingCallback</STRONG> (Thumb, 214 bytes, Stack size 64 bytes, protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = ProtoCanRxFifo0MsgPendingCallback &rArr; TakeRxMsgToBuffer
</UL>
<BR>[Calls]<UL><LI><a href="#[f6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;TakeRxMsgToBuffer
<LI><a href="#[f5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_GetRxMessage
</UL>
<BR>[Address Reference Count : 1]<UL><LI> protocan.o(.text.PROTOCAN_INIT)
</UL>
<P><STRONG><a name="[6]"></a>SVC_Handler</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.SVC_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[9]"></a>SysTick_Handler</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, stm32f1xx_it.o(.text.SysTick_Handler))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = SysTick_Handler
</UL>
<BR>[Calls]<UL><LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_IncTick
<BR>[Calls]<UL><LI><a href="#[f8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_IncTick
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[c6]"></a>SystemClock_Config</STRONG> (Thumb, 156 bytes, Stack size 96 bytes, main.o(.text.SystemClock_Config))
<P><STRONG><a name="[f9]"></a>SystemClock_Config</STRONG> (Thumb, 156 bytes, Stack size 96 bytes, main.o(.text.SystemClock_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 200 + Unknown Stack Size
<LI>Call Chain = SystemClock_Config &rArr; HAL_RCC_MCOConfig &rArr; HAL_GPIO_Init
</UL>
<BR>[Calls]<UL><LI><a href="#[88]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_MCOConfig
<LI><a href="#[84]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCCEx_PeriphCLKConfig
<LI><a href="#[85]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[4c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
<LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<BR>[Calls]<UL><LI><a href="#[a7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_MCOConfig
<LI><a href="#[a3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCCEx_PeriphCLKConfig
<LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_ClockConfig
<LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;Error_Handler
<LI><a href="#[fa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
</UL>
<BR>[Called By]<UL><LI><a href="#[40]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<BR>[Called By]<UL><LI><a href="#[6c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[35]"></a>SystemInit</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, system_stm32f1xx.o(.text.SystemInit))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(.text)
</UL>
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f1xx_it.o(.text.TIM4_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = TIM4_IRQHandler &rArr; REQUESTER_Pulse_TIM_Handler &rArr; HAL_CAN_AddTxMessage
<P><STRONG><a name="[28]"></a>TIM4_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_it.o(.text.TIM4_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = TIM4_IRQHandler &rArr; HAL_TIM_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[a4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IRQHandler
<LI><a href="#[c3]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Pulse_TIM_Handler
<BR>[Calls]<UL><LI><a href="#[fb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[9e]"></a>TIM_Base_SetConfig</STRONG> (Thumb, 240 bytes, Stack size 12 bytes, stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig))
<P><STRONG><a name="[bf]"></a>TIM_Base_SetConfig</STRONG> (Thumb, 240 bytes, Stack size 12 bytes, stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = TIM_Base_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[9c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
</UL>
<P><STRONG><a name="[a0]"></a>TIM_ETR_SetConfig</STRONG> (Thumb, 52 bytes, Stack size 20 bytes, stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig))
<P><STRONG><a name="[c1]"></a>TIM_ETR_SetConfig</STRONG> (Thumb, 52 bytes, Stack size 20 bytes, stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = TIM_ETR_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
</UL>
<P><STRONG><a name="[76]"></a>TakeRxMsgToBuffer</STRONG> (Thumb, 208 bytes, Stack size 32 bytes, requester.o(.text.TakeRxMsgToBuffer))
<P><STRONG><a name="[be]"></a>TIM_ResetCallback</STRONG> (Thumb, 190 bytes, Stack size 4 bytes, stm32f1xx_hal_tim.o(.text.TIM_ResetCallback))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = TIM_ResetCallback
</UL>
<BR>[Called By]<UL><LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_Base_Init
</UL>
<P><STRONG><a name="[f6]"></a>TakeRxMsgToBuffer</STRONG> (Thumb, 208 bytes, Stack size 32 bytes, protocan.o(.text.TakeRxMsgToBuffer))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = TakeRxMsgToBuffer
</UL>
<BR>[Called By]<UL><LI><a href="#[69]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_RxFifo0MsgPendingCallback
<BR>[Called By]<UL><LI><a href="#[61]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanRxFifo0MsgPendingCallback
</UL>
<P><STRONG><a name="[1d]"></a>USB_HP_CAN1_TX_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_it.o(.text.USB_HP_CAN1_TX_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = USB_HP_CAN1_TX_IRQHandler &rArr; HAL_CAN_IRQHandler &rArr; HAL_CAN_RxFifo0MsgPendingCallback &rArr; TakeRxMsgToBuffer
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = USB_HP_CAN1_TX_IRQHandler &rArr; HAL_CAN_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[1e]"></a>USB_LP_CAN1_RX0_IRQHandler</STRONG> (Thumb, 16 bytes, Stack size 8 bytes, stm32f1xx_it.o(.text.USB_LP_CAN1_RX0_IRQHandler))
<BR><BR>[Stack]<UL><LI>Max Depth = 152<LI>Call Chain = USB_LP_CAN1_RX0_IRQHandler &rArr; HAL_CAN_IRQHandler &rArr; HAL_CAN_RxFifo0MsgPendingCallback &rArr; TakeRxMsgToBuffer
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = USB_LP_CAN1_RX0_IRQHandler &rArr; HAL_CAN_IRQHandler
</UL>
<BR>[Calls]<UL><LI><a href="#[49]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
<BR>[Calls]<UL><LI><a href="#[75]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_IRQHandler
</UL>
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[5]"></a>UsageFault_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f1xx_it.o(.text.UsageFault_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f103xb.o(RESET)
</UL>
<P><STRONG><a name="[40]"></a>main</STRONG> (Thumb, 48 bytes, Stack size 16 bytes, main.o(.text.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 320 + Unknown Stack Size
<LI>Call Chain = main &rArr; REQUESTER_MainWhile &rArr; REQUESTER_BroadcastProcessing &rArr; CanRequestToBroadcastRtcSetup &rArr; REQUESTER_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
<P><STRONG><a name="[6c]"></a>main</STRONG> (Thumb, 102 bytes, Stack size 16 bytes, main.o(.text.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 352 + Unknown Stack Size
<LI>Call Chain = main &rArr; PROTOCAN_LOOP &rArr; PROTOCAN_BroadcastProcessing &rArr; ProtoCanMsgToBroadcastRtcSetup &rArr; PROTOCAN_RTC_SYNC &rArr; HAL_RTC_SetDate &rArr; RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
<LI><a href="#[ae]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<LI><a href="#[ac]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_CAN_Init
<LI><a href="#[ad]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<LI><a href="#[bf]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_MainWhile
<LI><a href="#[bd]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;REQUESTER_Init
<LI><a href="#[c6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<BR>[Calls]<UL><LI><a href="#[fc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_ActivateNotification
<LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_CAN_Start
<LI><a href="#[c9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM4_Init
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_RTC_Init
<LI><a href="#[c5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_CAN_Init
<LI><a href="#[c7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_Init
<LI><a href="#[f9]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[e7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_LOOP
<LI><a href="#[e4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;PROTOCAN_INIT
</UL>
<BR>[Called By]<UL><LI><a href="#[3f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
<BR>[Called By]<UL><LI><a href="#[6b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_entry_main
</UL>
<P>
<H3>
Local Symbols
</H3>
<P><STRONG><a name="[55]"></a>__NVIC_SystemReset</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, requester.o(.text.__NVIC_SystemReset))
<BR><BR>[Called By]<UL><LI><a href="#[5d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToDiscreteReset
<LI><a href="#[54]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;CanRequestToBroadcastRestart
<P><STRONG><a name="[f2]"></a>__NVIC_SystemReset</STRONG> (Thumb, 38 bytes, Stack size 0 bytes, protocan.o(.text.__NVIC_SystemReset))
<BR><BR>[Called By]<UL><LI><a href="#[e0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToDiscreteReset
<LI><a href="#[d4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ProtoCanMsgToBroadcastRestart
</UL>
<P><STRONG><a name="[8a]"></a>RCC_Delay</STRONG> (Thumb, 58 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(.text.RCC_Delay))
<P><STRONG><a name="[a9]"></a>RCC_Delay</STRONG> (Thumb, 58 bytes, Stack size 8 bytes, stm32f1xx_hal_rcc.o(.text.RCC_Delay))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = RCC_Delay
</UL>
<BR>[Called By]<UL><LI><a href="#[89]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
<BR>[Called By]<UL><LI><a href="#[a8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RCC_OscConfig
</UL>
<P><STRONG><a name="[81]"></a>__NVIC_SetPriorityGrouping</STRONG> (Thumb, 60 bytes, Stack size 12 bytes, stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping))
<P><STRONG><a name="[a0]"></a>__NVIC_SetPriorityGrouping</STRONG> (Thumb, 60 bytes, Stack size 12 bytes, stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = __NVIC_SetPriorityGrouping
</UL>
<BR>[Called By]<UL><LI><a href="#[79]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriorityGrouping
<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriorityGrouping
</UL>
<P><STRONG><a name="[7e]"></a>__NVIC_GetPriorityGrouping</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping))
<BR><BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<P><STRONG><a name="[9d]"></a>__NVIC_GetPriorityGrouping</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping))
<BR><BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
</UL>
<P><STRONG><a name="[7f]"></a>NVIC_EncodePriority</STRONG> (Thumb, 108 bytes, Stack size 32 bytes, stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority))
<P><STRONG><a name="[9e]"></a>NVIC_EncodePriority</STRONG> (Thumb, 108 bytes, Stack size 32 bytes, stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = NVIC_EncodePriority
</UL>
<BR>[Called By]<UL><LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<BR>[Called By]<UL><LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
</UL>
<P><STRONG><a name="[80]"></a>__NVIC_SetPriority</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority))
<P><STRONG><a name="[9f]"></a>__NVIC_SetPriority</STRONG> (Thumb, 66 bytes, Stack size 8 bytes, stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = __NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Config
<LI><a href="#[73]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
<BR>[Called By]<UL><LI><a href="#[bc]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SysTick_Config
<LI><a href="#[93]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_SetPriority
</UL>
<P><STRONG><a name="[7d]"></a>__NVIC_EnableIRQ</STRONG> (Thumb, 48 bytes, Stack size 4 bytes, stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ))
<P><STRONG><a name="[9c]"></a>__NVIC_EnableIRQ</STRONG> (Thumb, 48 bytes, Stack size 4 bytes, stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = __NVIC_EnableIRQ
</UL>
<BR>[Called By]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
<BR>[Called By]<UL><LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_EnableIRQ
</UL>
<P><STRONG><a name="[9b]"></a>SysTick_Config</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text.SysTick_Config))
<P><STRONG><a name="[9b]"></a>__NVIC_DisableIRQ</STRONG> (Thumb, 56 bytes, Stack size 4 bytes, stm32f1xx_hal_cortex.o(.text.__NVIC_DisableIRQ))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = __NVIC_DisableIRQ
</UL>
<BR>[Called By]<UL><LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_NVIC_DisableIRQ
</UL>
<P><STRONG><a name="[bc]"></a>SysTick_Config</STRONG> (Thumb, 82 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(.text.SysTick_Config))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SysTick_Config &rArr; __NVIC_SetPriority
</UL>
<BR>[Calls]<UL><LI><a href="#[80]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority
<BR>[Calls]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__NVIC_SetPriority
</UL>
<BR>[Called By]<UL><LI><a href="#[7c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Config
<BR>[Called By]<UL><LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_SYSTICK_Config
</UL>
<P><STRONG><a name="[94]"></a>RTC_EnterInitMode</STRONG> (Thumb, 86 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode))
<P><STRONG><a name="[b5]"></a>RTC_EnterInitMode</STRONG> (Thumb, 86 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = RTC_EnterInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
<BR>[Called By]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
</UL>
<P><STRONG><a name="[95]"></a>RTC_ExitInitMode</STRONG> (Thumb, 86 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode))
<P><STRONG><a name="[b6]"></a>RTC_ExitInitMode</STRONG> (Thumb, 86 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode))
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[71]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
<BR>[Calls]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GetTick
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[8e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
<BR>[Called By]<UL><LI><a href="#[b0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteAlarmCounter
<LI><a href="#[af]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WriteTimeCounter
<LI><a href="#[b2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_Init
</UL>
<P><STRONG><a name="[98]"></a>RTC_Bcd2ToByte</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte))
<P><STRONG><a name="[b9]"></a>RTC_Bcd2ToByte</STRONG> (Thumb, 42 bytes, Stack size 8 bytes, stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = RTC_Bcd2ToByte
</UL>
<BR>[Called By]<UL><LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
<BR>[Called By]<UL><LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
</UL>
<P><STRONG><a name="[8e]"></a>RTC_WriteTimeCounter</STRONG> (Thumb, 80 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter))
<P><STRONG><a name="[af]"></a>RTC_WriteTimeCounter</STRONG> (Thumb, 80 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = RTC_WriteTimeCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitInitMode
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterInitMode
<BR>[Calls]<UL><LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitInitMode
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterInitMode
</UL>
<BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
<BR>[Called By]<UL><LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
</UL>
<P><STRONG><a name="[8d]"></a>RTC_ReadAlarmCounter</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter))
<P><STRONG><a name="[ae]"></a>RTC_ReadAlarmCounter</STRONG> (Thumb, 50 bytes, Stack size 8 bytes, stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = RTC_ReadAlarmCounter
</UL>
<BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
<BR>[Called By]<UL><LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
</UL>
<P><STRONG><a name="[8f]"></a>RTC_WriteAlarmCounter</STRONG> (Thumb, 80 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter))
<P><STRONG><a name="[b0]"></a>RTC_WriteAlarmCounter</STRONG> (Thumb, 80 bytes, Stack size 24 bytes, stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = RTC_WriteAlarmCounter &rArr; RTC_ExitInitMode
</UL>
<BR>[Calls]<UL><LI><a href="#[95]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitInitMode
<LI><a href="#[94]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterInitMode
<BR>[Calls]<UL><LI><a href="#[b6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_ExitInitMode
<LI><a href="#[b5]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_EnterInitMode
</UL>
<BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[9a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
<BR>[Called By]<UL><LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[bb]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetTime
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
</UL>
<P><STRONG><a name="[8c]"></a>RTC_ReadTimeCounter</STRONG> (Thumb, 106 bytes, Stack size 16 bytes, stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter))
<P><STRONG><a name="[ad]"></a>RTC_ReadTimeCounter</STRONG> (Thumb, 106 bytes, Stack size 16 bytes, stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = RTC_ReadTimeCounter
</UL>
<BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<BR>[Called By]<UL><LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
</UL>
<P><STRONG><a name="[90]"></a>RTC_DateUpdate</STRONG> (Thumb, 370 bytes, Stack size 32 bytes, stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate))
<P><STRONG><a name="[b1]"></a>RTC_DateUpdate</STRONG> (Thumb, 370 bytes, Stack size 32 bytes, stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = RTC_DateUpdate &rArr; RTC_WeekDayNum
</UL>
<BR>[Calls]<UL><LI><a href="#[99]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WeekDayNum
<LI><a href="#[c4]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_IsLeapYear
<BR>[Calls]<UL><LI><a href="#[ba]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_WeekDayNum
<LI><a href="#[f7]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_IsLeapYear
</UL>
<BR>[Called By]<UL><LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
<BR>[Called By]<UL><LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
</UL>
<P><STRONG><a name="[8b]"></a>RTC_ByteToBcd2</STRONG> (Thumb, 58 bytes, Stack size 8 bytes, stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2))
<P><STRONG><a name="[ac]"></a>RTC_ByteToBcd2</STRONG> (Thumb, 58 bytes, Stack size 8 bytes, stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = RTC_ByteToBcd2
</UL>
<BR>[Called By]<UL><LI><a href="#[5c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetDate
<LI><a href="#[5b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
<BR>[Called By]<UL><LI><a href="#[aa]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetDate
<LI><a href="#[ab]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_GetTime
</UL>
<P><STRONG><a name="[c4]"></a>RTC_IsLeapYear</STRONG> (Thumb, 120 bytes, Stack size 4 bytes, stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear))
<P><STRONG><a name="[f7]"></a>RTC_IsLeapYear</STRONG> (Thumb, 120 bytes, Stack size 4 bytes, stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear))
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = RTC_IsLeapYear
</UL>
<BR>[Called By]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_DateUpdate
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_DateUpdate
</UL>
<P><STRONG><a name="[99]"></a>RTC_WeekDayNum</STRONG> (Thumb, 226 bytes, Stack size 16 bytes, stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum))
<P><STRONG><a name="[ba]"></a>RTC_WeekDayNum</STRONG> (Thumb, 226 bytes, Stack size 16 bytes, stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = RTC_WeekDayNum
</UL>
<BR>[Called By]<UL><LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_DateUpdate
<LI><a href="#[97]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
<BR>[Called By]<UL><LI><a href="#[b1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;RTC_DateUpdate
<LI><a href="#[b8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_RTC_SetDate
</UL>
<P><STRONG><a name="[a1]"></a>TIM_TI1_ConfigInputStage</STRONG> (Thumb, 80 bytes, Stack size 20 bytes, stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage))
<P><STRONG><a name="[c2]"></a>TIM_TI1_ConfigInputStage</STRONG> (Thumb, 80 bytes, Stack size 20 bytes, stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = TIM_TI1_ConfigInputStage
</UL>
<BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
</UL>
<P><STRONG><a name="[a2]"></a>TIM_ITRx_SetConfig</STRONG> (Thumb, 42 bytes, Stack size 12 bytes, stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig))
<P><STRONG><a name="[c3]"></a>TIM_ITRx_SetConfig</STRONG> (Thumb, 42 bytes, Stack size 12 bytes, stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = TIM_ITRx_SetConfig
</UL>
<BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
</UL>
<P><STRONG><a name="[a3]"></a>TIM_TI2_ConfigInputStage</STRONG> (Thumb, 82 bytes, Stack size 20 bytes, stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage))
<P><STRONG><a name="[c4]"></a>TIM_TI2_ConfigInputStage</STRONG> (Thumb, 82 bytes, Stack size 20 bytes, stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage))
<BR><BR>[Stack]<UL><LI>Max Depth = 20<LI>Call Chain = TIM_TI2_ConfigInputStage
</UL>
<BR>[Called By]<UL><LI><a href="#[9f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
<BR>[Called By]<UL><LI><a href="#[c0]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_ConfigClockSource
</UL>
<P>
<H3>

View File

@@ -1,5 +1,7 @@
--cpu Cortex-M3
"f103c8t6\startup_stm32f103xb.o"
"f103c8t6\canerrorbox.o"
"f103c8t6\protocan.o"
"f103c8t6\main.o"
"f103c8t6\gpio.o"
"f103c8t6\can.o"
@@ -7,7 +9,6 @@
"f103c8t6\tim.o"
"f103c8t6\stm32f1xx_it.o"
"f103c8t6\stm32f1xx_hal_msp.o"
"f103c8t6\requester.o"
"f103c8t6\stm32f1xx_hal_gpio_ex.o"
"f103c8t6\stm32f1xx_hal_can.o"
"f103c8t6\stm32f1xx_hal.o"

View File

@@ -28,14 +28,228 @@ Section Cross References
startup_stm32f103xb.o(.text) refers to __main.o(!!!main) for __main
startup_stm32f103xb.o(.text) refers to startup_stm32f103xb.o(HEAP) for Heap_Mem
startup_stm32f103xb.o(.text) refers to startup_stm32f103xb.o(STACK) for Stack_Mem
canerrorbox.o(.text.CanErrorCallbackEWG) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackEWG) refers to canerrorbox.o(.text.CanErrorCallbackEWG) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackEPV) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackEPV) refers to canerrorbox.o(.text.CanErrorCallbackEPV) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackBOF) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackBOF) refers to canerrorbox.o(.text.CanErrorCallbackBOF) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackSTF) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackSTF) refers to canerrorbox.o(.text.CanErrorCallbackSTF) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackFOR) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackFOR) refers to canerrorbox.o(.text.CanErrorCallbackFOR) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackACK) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackACK) refers to canerrorbox.o(.text.CanErrorCallbackACK) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackBR) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackBR) refers to canerrorbox.o(.text.CanErrorCallbackBR) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackBD) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackBD) refers to canerrorbox.o(.text.CanErrorCallbackBD) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackCRC) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackCRC) refers to canerrorbox.o(.text.CanErrorCallbackCRC) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackRXFOV0) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackRXFOV0) refers to canerrorbox.o(.text.CanErrorCallbackRXFOV0) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackRXFOV1) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackRXFOV1) refers to canerrorbox.o(.text.CanErrorCallbackRXFOV1) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackTXALST0) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXALST0) refers to canerrorbox.o(.text.CanErrorCallbackTXALST0) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackTXTERR0) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXTERR0) refers to canerrorbox.o(.text.CanErrorCallbackTXTERR0) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackTXALST1) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXALST1) refers to canerrorbox.o(.text.CanErrorCallbackTXALST1) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackTXTERR1) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXTERR1) refers to canerrorbox.o(.text.CanErrorCallbackTXTERR1) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackTXALST2) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXALST2) refers to canerrorbox.o(.text.CanErrorCallbackTXALST2) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackTXTERR2) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXTERR2) refers to canerrorbox.o(.text.CanErrorCallbackTXTERR2) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackTIMEOUT) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTIMEOUT) refers to canerrorbox.o(.text.CanErrorCallbackTIMEOUT) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackNOTINITIALIZED) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackNOTINITIALIZED) refers to canerrorbox.o(.text.CanErrorCallbackNOTINITIALIZED) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackNOTREADY) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackNOTREADY) refers to canerrorbox.o(.text.CanErrorCallbackNOTREADY) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackNOTSTARTED) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackNOTSTARTED) refers to canerrorbox.o(.text.CanErrorCallbackNOTSTARTED) for [Anonymous Symbol]
canerrorbox.o(.text.CanErrorCallbackPARAM) refers to canerrorbox.o(.bss.CanErrors) for CanErrors
canerrorbox.o(.ARM.exidx.text.CanErrorCallbackPARAM) refers to canerrorbox.o(.text.CanErrorCallbackPARAM) for [Anonymous Symbol]
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackEWG) for CanErrorCallbackEWG
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackEPV) for CanErrorCallbackEPV
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackBOF) for CanErrorCallbackBOF
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackSTF) for CanErrorCallbackSTF
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackFOR) for CanErrorCallbackFOR
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackACK) for CanErrorCallbackACK
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackBR) for CanErrorCallbackBR
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackBD) for CanErrorCallbackBD
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackCRC) for CanErrorCallbackCRC
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackRXFOV0) for CanErrorCallbackRXFOV0
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackRXFOV1) for CanErrorCallbackRXFOV1
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackTXALST0) for CanErrorCallbackTXALST0
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackTXTERR0) for CanErrorCallbackTXTERR0
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackTXALST1) for CanErrorCallbackTXALST1
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackTXTERR1) for CanErrorCallbackTXTERR1
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackTXALST2) for CanErrorCallbackTXALST2
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackTXTERR2) for CanErrorCallbackTXTERR2
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackTIMEOUT) for CanErrorCallbackTIMEOUT
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackNOTINITIALIZED) for CanErrorCallbackNOTINITIALIZED
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackNOTREADY) for CanErrorCallbackNOTREADY
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackNOTSTARTED) for CanErrorCallbackNOTSTARTED
canerrorbox.o(.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.CanErrorCallbackPARAM) for CanErrorCallbackPARAM
canerrorbox.o(.ARM.exidx.text.HAL_CAN_ErrorCallback) refers to canerrorbox.o(.text.HAL_CAN_ErrorCallback) for [Anonymous Symbol]
protocan.o(.ARM.exidx.text.IsLeapYear) refers to protocan.o(.text.IsLeapYear) for [Anonymous Symbol]
protocan.o(.text.AvailableCanRxMsg) refers to protocan.o(.bss.LastStep) for LastStep
protocan.o(.text.AvailableCanRxMsg) refers to protocan.o(.data.CurrentStep) for CurrentStep
protocan.o(.ARM.exidx.text.AvailableCanRxMsg) refers to protocan.o(.text.AvailableCanRxMsg) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_DEINIT) refers to protocan.o(.bss._HTIM) for _HTIM
protocan.o(.text.PROTOCAN_DEINIT) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) for HAL_TIM_UnRegisterCallback
protocan.o(.text.PROTOCAN_DEINIT) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.PROTOCAN_DEINIT) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) for HAL_CAN_UnRegisterCallback
protocan.o(.ARM.exidx.text.PROTOCAN_DEINIT) refers to protocan.o(.text.PROTOCAN_DEINIT) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_INIT) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.PROTOCAN_INIT) refers to protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) for ProtoCanRxFifo0MsgPendingCallback
protocan.o(.text.PROTOCAN_INIT) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback) for HAL_CAN_RegisterCallback
protocan.o(.text.PROTOCAN_INIT) refers to protocan.o(.text.PROTOCAN_DEINIT) for PROTOCAN_DEINIT
protocan.o(.text.PROTOCAN_INIT) refers to protocan.o(.bss._HRTC) for _HRTC
protocan.o(.text.PROTOCAN_INIT) refers to protocan.o(.bss._HTIM) for _HTIM
protocan.o(.text.PROTOCAN_INIT) refers to protocan.o(.text.ProtoCanPulseCallback) for ProtoCanPulseCallback
protocan.o(.text.PROTOCAN_INIT) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback) for HAL_TIM_RegisterCallback
protocan.o(.text.PROTOCAN_INIT) refers to protocan.o(.text.PROTOCAN_FILTERS) for PROTOCAN_FILTERS
protocan.o(.text.PROTOCAN_INIT) refers to protocan.o(.bss.ControlFlags) for ControlFlags
protocan.o(.ARM.exidx.text.PROTOCAN_INIT) refers to protocan.o(.text.PROTOCAN_INIT) for [Anonymous Symbol]
protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage) for HAL_CAN_GetRxMessage
protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) refers to protocan.o(.bss.LastStep) for LastStep
protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) refers to protocan.o(.data.CurrentStep) for CurrentStep
protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) refers to protocan.o(.bss.Device_on_the_Network) for Device_on_the_Network
protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) refers to protocan.o(.text.TakeRxMsgToBuffer) for TakeRxMsgToBuffer
protocan.o(.ARM.exidx.text.ProtoCanRxFifo0MsgPendingCallback) refers to protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback) for [Anonymous Symbol]
protocan.o(.text.ProtoCanPulseCallback) refers to protocan.o(.bss.ControlFlags) for ControlFlags
protocan.o(.text.ProtoCanPulseCallback) refers to protocan.o(.bss.ProtoCanPulseCallback.PulseStage) for ProtoCanPulseCallback.PulseStage
protocan.o(.text.ProtoCanPulseCallback) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanPulseCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanPulseCallback) refers to protocan.o(.text.ProtoCanPulseCallback) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_FILTERS) refers to protocan.o(.text.PROTOCAN_CONFIG_FILTER) for PROTOCAN_CONFIG_FILTER
protocan.o(.ARM.exidx.text.PROTOCAN_FILTERS) refers to protocan.o(.text.PROTOCAN_FILTERS) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.AvailableCanRxMsg) for AvailableCanRxMsg
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.data.CurrentStep) for CurrentStep
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.bss.rxMsg) for rxMsg
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_AnalogProcessing) for PROTOCAN_AnalogProcessing
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_BroadcastProcessing) for PROTOCAN_BroadcastProcessing
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_DiscreticProcessing) for PROTOCAN_DiscreticProcessing
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) for ProtoCanMsgToGeneralAddressSpace
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_ModbusProcessing) for PROTOCAN_ModbusProcessing
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.CanRequestError) for CanRequestError
protocan.o(.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_SEND) for PROTOCAN_SEND
protocan.o(.ARM.exidx.text.PROTOCAN_LOOP) refers to protocan.o(.text.PROTOCAN_LOOP) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogUniversal) for ProtoCanMsgToAnalogUniversal
protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogSettings) for ProtoCanMsgToAnalogSettings
protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogUSens) for ProtoCanMsgToAnalogUSens
protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogISens) for ProtoCanMsgToAnalogISens
protocan.o(.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.ProtoCanMsgToAnalogTSens) for ProtoCanMsgToAnalogTSens
protocan.o(.ARM.exidx.text.PROTOCAN_AnalogProcessing) refers to protocan.o(.text.PROTOCAN_AnalogProcessing) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_BroadcastProcessing) refers to protocan.o(.text.ProtoCanMsgToBroadcastStatus) for ProtoCanMsgToBroadcastStatus
protocan.o(.text.PROTOCAN_BroadcastProcessing) refers to protocan.o(.text.ProtoCanMsgToBroadcastOnOff) for ProtoCanMsgToBroadcastOnOff
protocan.o(.text.PROTOCAN_BroadcastProcessing) refers to protocan.o(.text.ProtoCanMsgToBroadcastRestart) for ProtoCanMsgToBroadcastRestart
protocan.o(.text.PROTOCAN_BroadcastProcessing) refers to protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) for ProtoCanMsgToBroadcastRtcSetup
protocan.o(.ARM.exidx.text.PROTOCAN_BroadcastProcessing) refers to protocan.o(.text.PROTOCAN_BroadcastProcessing) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.ProtoCanMsgToDiscreteAccident) for ProtoCanMsgToDiscreteAccident
protocan.o(.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.ProtoCanMsgToDiscreteWarning) for ProtoCanMsgToDiscreteWarning
protocan.o(.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.ProtoCanMsgToDiscreteControlSignals) for ProtoCanMsgToDiscreteControlSignals
protocan.o(.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.ProtoCanMsgToDiscreteFlags) for ProtoCanMsgToDiscreteFlags
protocan.o(.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.ProtoCanMsgToDiscreteReset) for ProtoCanMsgToDiscreteReset
protocan.o(.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.ProtoCanMsgToDiscreteChangeMode) for ProtoCanMsgToDiscreteChangeMode
protocan.o(.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters) for ProtoCanMsgToDiscreteRequestListOfParameters
protocan.o(.ARM.exidx.text.PROTOCAN_DiscreticProcessing) refers to protocan.o(.text.PROTOCAN_DiscreticProcessing) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToGeneralAddressSpace) refers to protocan.o(.text.ProtoCanMsgToGeneralAddressSpace) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_ModbusProcessing) refers to protocan.o(.text.ProtoCanMsgToModbusCoil) for ProtoCanMsgToModbusCoil
protocan.o(.text.PROTOCAN_ModbusProcessing) refers to protocan.o(.text.ProtoCanMsgToModbusDiscrete) for ProtoCanMsgToModbusDiscrete
protocan.o(.text.PROTOCAN_ModbusProcessing) refers to protocan.o(.text.ProtoCanMsgToModbusHolding) for ProtoCanMsgToModbusHolding
protocan.o(.text.PROTOCAN_ModbusProcessing) refers to protocan.o(.text.ProtoCanMsgToModbusInput) for ProtoCanMsgToModbusInput
protocan.o(.ARM.exidx.text.PROTOCAN_ModbusProcessing) refers to protocan.o(.text.PROTOCAN_ModbusProcessing) for [Anonymous Symbol]
protocan.o(.text.CanRequestError) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.CanRequestError) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.CanRequestError) refers to protocan.o(.text.CanRequestError) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_SEND) refers to protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) for PROTOCAN_SEND_GENERAL_ADDRESS_SPACE
protocan.o(.ARM.exidx.text.PROTOCAN_SEND) refers to protocan.o(.text.PROTOCAN_SEND) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToBroadcastStatus) refers to protocan.o(.bss._HRTC) for _HRTC
protocan.o(.text.ProtoCanMsgToBroadcastStatus) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime) for HAL_RTC_GetTime
protocan.o(.text.ProtoCanMsgToBroadcastStatus) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate) for HAL_RTC_GetDate
protocan.o(.text.ProtoCanMsgToBroadcastStatus) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToBroadcastStatus) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastStatus) refers to protocan.o(.text.ProtoCanMsgToBroadcastStatus) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToBroadcastOnOff) refers to protocan.o(.bss.ControlFlags) for ControlFlags
protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastOnOff) refers to protocan.o(.text.ProtoCanMsgToBroadcastOnOff) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToBroadcastRestart) refers to protocan.o(.text.__NVIC_SystemReset) for __NVIC_SystemReset
protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastRestart) refers to protocan.o(.text.ProtoCanMsgToBroadcastRestart) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) refers to protocan.o(.rodata..L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal) for .L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal
protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4
protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) refers to protocan.o(.text.IsLeapYear) for IsLeapYear
protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) refers to protocan.o(.text.PROTOCAN_RTC_SYNC) for PROTOCAN_RTC_SYNC
protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastRtcSetup) refers to protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup) for [Anonymous Symbol]
protocan.o(.ARM.exidx.text.__NVIC_SystemReset) refers to protocan.o(.text.__NVIC_SystemReset) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_RTC_SYNC) refers to protocan.o(.bss._HRTC) for _HRTC
protocan.o(.text.PROTOCAN_RTC_SYNC) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime) for HAL_RTC_SetTime
protocan.o(.text.PROTOCAN_RTC_SYNC) refers to main.o(.text.Error_Handler) for Error_Handler
protocan.o(.text.PROTOCAN_RTC_SYNC) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate) for HAL_RTC_SetDate
protocan.o(.ARM.exidx.text.PROTOCAN_RTC_SYNC) refers to protocan.o(.text.PROTOCAN_RTC_SYNC) for [Anonymous Symbol]
protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteAccident) refers to protocan.o(.text.ProtoCanMsgToDiscreteAccident) for [Anonymous Symbol]
protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteWarning) refers to protocan.o(.text.ProtoCanMsgToDiscreteWarning) for [Anonymous Symbol]
protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteControlSignals) refers to protocan.o(.text.ProtoCanMsgToDiscreteControlSignals) for [Anonymous Symbol]
protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteFlags) refers to protocan.o(.text.ProtoCanMsgToDiscreteFlags) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToDiscreteReset) refers to protocan.o(.text.__NVIC_SystemReset) for __NVIC_SystemReset
protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteReset) refers to protocan.o(.text.ProtoCanMsgToDiscreteReset) for [Anonymous Symbol]
protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteChangeMode) refers to protocan.o(.text.ProtoCanMsgToDiscreteChangeMode) for [Anonymous Symbol]
protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteRequestListOfParameters) refers to protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToAnalogUniversal) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToAnalogUniversal) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUniversal) refers to protocan.o(.text.ProtoCanMsgToAnalogUniversal) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToAnalogSettings) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToAnalogSettings) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogSettings) refers to protocan.o(.text.ProtoCanMsgToAnalogSettings) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToAnalogUSens) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToAnalogUSens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUSens) refers to protocan.o(.text.ProtoCanMsgToAnalogUSens) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToAnalogISens) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToAnalogISens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogISens) refers to protocan.o(.text.ProtoCanMsgToAnalogISens) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToAnalogTSens) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToAnalogTSens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogTSens) refers to protocan.o(.text.ProtoCanMsgToAnalogTSens) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) refers to protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToModbusCoil) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToModbusCoil) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusCoil) refers to protocan.o(.text.ProtoCanMsgToModbusCoil) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToModbusDiscrete) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToModbusDiscrete) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusDiscrete) refers to protocan.o(.text.ProtoCanMsgToModbusDiscrete) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToModbusHolding) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToModbusHolding) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusHolding) refers to protocan.o(.text.ProtoCanMsgToModbusHolding) for [Anonymous Symbol]
protocan.o(.text.ProtoCanMsgToModbusInput) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.ProtoCanMsgToModbusInput) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusInput) refers to protocan.o(.text.ProtoCanMsgToModbusInput) for [Anonymous Symbol]
protocan.o(.text.TakeRxMsgToBuffer) refers to protocan.o(.bss.rxMsg) for rxMsg
protocan.o(.text.TakeRxMsgToBuffer) refers to protocan.o(.bss.LastStep) for LastStep
protocan.o(.ARM.exidx.text.TakeRxMsgToBuffer) refers to protocan.o(.text.TakeRxMsgToBuffer) for [Anonymous Symbol]
protocan.o(.text.PROTOCAN_CONFIG_FILTER) refers to protocan.o(.bss._HCAN) for _HCAN
protocan.o(.text.PROTOCAN_CONFIG_FILTER) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter) for HAL_CAN_ConfigFilter
protocan.o(.text.PROTOCAN_CONFIG_FILTER) refers to main.o(.text.Error_Handler) for Error_Handler
protocan.o(.ARM.exidx.text.PROTOCAN_CONFIG_FILTER) refers to protocan.o(.text.PROTOCAN_CONFIG_FILTER) for [Anonymous Symbol]
main.o(.text.main) refers to main.o(.text.SystemClock_Config) for SystemClock_Config
main.o(.text.main) refers to requester.o(.text.REQUESTER_Init) for REQUESTER_Init
main.o(.text.main) refers to requester.o(.text.REQUESTER_MainWhile) for REQUESTER_MainWhile
main.o(.text.main) refers to stm32f1xx_hal.o(.text.HAL_Init) for HAL_Init
main.o(.text.main) refers to gpio.o(.text.MX_GPIO_Init) for MX_GPIO_Init
main.o(.text.main) refers to can.o(.text.MX_CAN_Init) for MX_CAN_Init
main.o(.text.main) refers to rtc.o(.text.MX_RTC_Init) for MX_RTC_Init
main.o(.text.main) refers to tim.o(.text.MX_TIM4_Init) for MX_TIM4_Init
main.o(.text.main) refers to can.o(.bss.hcan) for hcan
main.o(.text.main) refers to rtc.o(.bss.hrtc) for hrtc
main.o(.text.main) refers to tim.o(.bss.htim4) for htim4
main.o(.text.main) refers to protocan.o(.text.PROTOCAN_INIT) for PROTOCAN_INIT
main.o(.text.main) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_Start) for HAL_CAN_Start
main.o(.text.main) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification) for HAL_CAN_ActivateNotification
main.o(.text.main) refers to protocan.o(.text.PROTOCAN_LOOP) for PROTOCAN_LOOP
main.o(.ARM.exidx.text.main) refers to main.o(.text.main) for [Anonymous Symbol]
main.o(.text.SystemClock_Config) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
main.o(.text.SystemClock_Config) refers to stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig) for HAL_RCC_OscConfig
@@ -100,155 +314,42 @@ Section Cross References
stm32f1xx_it.o(.text.CAN1_SCE_IRQHandler) refers to can.o(.bss.hcan) for hcan
stm32f1xx_it.o(.text.CAN1_SCE_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) for HAL_CAN_IRQHandler
stm32f1xx_it.o(.ARM.exidx.text.CAN1_SCE_IRQHandler) refers to stm32f1xx_it.o(.text.CAN1_SCE_IRQHandler) for [Anonymous Symbol]
stm32f1xx_it.o(.text.TIM4_IRQHandler) refers to requester.o(.text.REQUESTER_Pulse_TIM_Handler) for REQUESTER_Pulse_TIM_Handler
stm32f1xx_it.o(.text.TIM4_IRQHandler) refers to tim.o(.bss.htim4) for htim4
stm32f1xx_it.o(.text.TIM4_IRQHandler) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) for HAL_TIM_IRQHandler
stm32f1xx_it.o(.ARM.exidx.text.TIM4_IRQHandler) refers to stm32f1xx_it.o(.text.TIM4_IRQHandler) for [Anonymous Symbol]
stm32f1xx_hal_msp.o(.ARM.exidx.text.HAL_MspInit) refers to stm32f1xx_hal_msp.o(.text.HAL_MspInit) for [Anonymous Symbol]
requester.o(.ARM.exidx.text.IsLeapYear) refers to requester.o(.text.IsLeapYear) for [Anonymous Symbol]
requester.o(.text.AvailableCanRxMsg) refers to requester.o(.bss.LastStep) for LastStep
requester.o(.text.AvailableCanRxMsg) refers to requester.o(.data.CurrentStep) for CurrentStep
requester.o(.ARM.exidx.text.AvailableCanRxMsg) refers to requester.o(.text.AvailableCanRxMsg) for [Anonymous Symbol]
requester.o(.text.REQUESTER_Init) refers to stm32f1xx_hal.o(.text.HAL_Init) for HAL_Init
requester.o(.text.REQUESTER_Init) refers to can.o(.text.MX_CAN_Init) for MX_CAN_Init
requester.o(.text.REQUESTER_Init) refers to can.o(.bss.hcan) for hcan
requester.o(.text.REQUESTER_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_Start) for HAL_CAN_Start
requester.o(.text.REQUESTER_Init) refers to requester.o(.text.REQUESTER_CAN_FILTERS) for REQUESTER_CAN_FILTERS
requester.o(.text.REQUESTER_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification) for HAL_CAN_ActivateNotification
requester.o(.text.REQUESTER_Init) refers to requester.o(.bss.ControlFlags) for ControlFlags
requester.o(.text.REQUESTER_Init) refers to tim.o(.text.MX_TIM4_Init) for MX_TIM4_Init
requester.o(.text.REQUESTER_Init) refers to rtc.o(.text.MX_RTC_Init) for MX_RTC_Init
requester.o(.ARM.exidx.text.REQUESTER_Init) refers to requester.o(.text.REQUESTER_Init) for [Anonymous Symbol]
requester.o(.text.REQUESTER_CAN_FILTERS) refers to requester.o(.data.filter1_id) for filter1_id
requester.o(.text.REQUESTER_CAN_FILTERS) refers to requester.o(.data.filter1_mask) for filter1_mask
requester.o(.text.REQUESTER_CAN_FILTERS) refers to requester.o(.text.CONFIG_CAN_FILTER) for CONFIG_CAN_FILTER
requester.o(.text.REQUESTER_CAN_FILTERS) refers to requester.o(.bss.filter2_id) for filter2_id
requester.o(.text.REQUESTER_CAN_FILTERS) refers to requester.o(.data.filter2_mask) for filter2_mask
requester.o(.text.REQUESTER_CAN_FILTERS) refers to requester.o(.data.filter3_id) for filter3_id
requester.o(.text.REQUESTER_CAN_FILTERS) refers to requester.o(.data.filter3_mask) for filter3_mask
requester.o(.ARM.exidx.text.REQUESTER_CAN_FILTERS) refers to requester.o(.text.REQUESTER_CAN_FILTERS) for [Anonymous Symbol]
requester.o(.text.REQUESTER_MainWhile) refers to tim.o(.bss.htim4) for htim4
requester.o(.text.REQUESTER_MainWhile) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Start_IT) for HAL_TIM_Base_Start_IT
requester.o(.text.REQUESTER_MainWhile) refers to requester.o(.text.AvailableCanRxMsg) for AvailableCanRxMsg
requester.o(.text.REQUESTER_MainWhile) refers to requester.o(.data.CurrentStep) for CurrentStep
requester.o(.text.REQUESTER_MainWhile) refers to requester.o(.bss.rxMsg) for rxMsg
requester.o(.text.REQUESTER_MainWhile) refers to requester.o(.text.REQUESTER_AnalogProcessing) for REQUESTER_AnalogProcessing
requester.o(.text.REQUESTER_MainWhile) refers to requester.o(.text.REQUESTER_BroadcastProcessing) for REQUESTER_BroadcastProcessing
requester.o(.text.REQUESTER_MainWhile) refers to requester.o(.text.REQUESTER_DiscreticProcessing) for REQUESTER_DiscreticProcessing
requester.o(.text.REQUESTER_MainWhile) refers to requester.o(.text.REQUESTER_GeneralAddressSpace_Answer) for REQUESTER_GeneralAddressSpace_Answer
requester.o(.text.REQUESTER_MainWhile) refers to requester.o(.text.REQUESTER_ModbusProcessing) for REQUESTER_ModbusProcessing
requester.o(.text.REQUESTER_MainWhile) refers to requester.o(.text.CanRequestError) for CanRequestError
requester.o(.ARM.exidx.text.REQUESTER_MainWhile) refers to requester.o(.text.REQUESTER_MainWhile) for [Anonymous Symbol]
requester.o(.text.REQUESTER_AnalogProcessing) refers to requester.o(.text.CanRequestToAnalogUniversal) for CanRequestToAnalogUniversal
requester.o(.text.REQUESTER_AnalogProcessing) refers to requester.o(.text.CanRequestToAnalogUSTAVKI) for CanRequestToAnalogUSTAVKI
requester.o(.text.REQUESTER_AnalogProcessing) refers to requester.o(.text.CanRequestToAnalogUSens) for CanRequestToAnalogUSens
requester.o(.text.REQUESTER_AnalogProcessing) refers to requester.o(.text.CanRequestToAnalogISens) for CanRequestToAnalogISens
requester.o(.text.REQUESTER_AnalogProcessing) refers to requester.o(.text.CanRequestToAnalogTSens) for CanRequestToAnalogTSens
requester.o(.ARM.exidx.text.REQUESTER_AnalogProcessing) refers to requester.o(.text.REQUESTER_AnalogProcessing) for [Anonymous Symbol]
requester.o(.text.REQUESTER_BroadcastProcessing) refers to requester.o(.text.CanRequestToBroadcastStatus) for CanRequestToBroadcastStatus
requester.o(.text.REQUESTER_BroadcastProcessing) refers to requester.o(.text.CanRequestToBroadcastOnOff) for CanRequestToBroadcastOnOff
requester.o(.text.REQUESTER_BroadcastProcessing) refers to requester.o(.text.CanRequestToBroadcastRestart) for CanRequestToBroadcastRestart
requester.o(.text.REQUESTER_BroadcastProcessing) refers to requester.o(.text.CanRequestToBroadcastRtcSetup) for CanRequestToBroadcastRtcSetup
requester.o(.ARM.exidx.text.REQUESTER_BroadcastProcessing) refers to requester.o(.text.REQUESTER_BroadcastProcessing) for [Anonymous Symbol]
requester.o(.text.REQUESTER_DiscreticProcessing) refers to requester.o(.text.CanRequestToDiscreteAccident) for CanRequestToDiscreteAccident
requester.o(.text.REQUESTER_DiscreticProcessing) refers to requester.o(.text.CanRequestToDiscreteWarning) for CanRequestToDiscreteWarning
requester.o(.text.REQUESTER_DiscreticProcessing) refers to requester.o(.text.CanRequestToDiscreteControlSignals) for CanRequestToDiscreteControlSignals
requester.o(.text.REQUESTER_DiscreticProcessing) refers to requester.o(.text.CanRequestToDiscreteFlags) for CanRequestToDiscreteFlags
requester.o(.text.REQUESTER_DiscreticProcessing) refers to requester.o(.text.CanRequestToDiscreteReset) for CanRequestToDiscreteReset
requester.o(.text.REQUESTER_DiscreticProcessing) refers to requester.o(.text.CanRequestToDiscreteChangeMode) for CanRequestToDiscreteChangeMode
requester.o(.text.REQUESTER_DiscreticProcessing) refers to requester.o(.text.CanRequestToDiscreteRequestListOfParameters) for CanRequestToDiscreteRequestListOfParameters
requester.o(.ARM.exidx.text.REQUESTER_DiscreticProcessing) refers to requester.o(.text.REQUESTER_DiscreticProcessing) for [Anonymous Symbol]
requester.o(.text.REQUESTER_GeneralAddressSpace_Answer) refers to can.o(.bss.hcan) for hcan
requester.o(.text.REQUESTER_GeneralAddressSpace_Answer) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.REQUESTER_GeneralAddressSpace_Answer) refers to requester.o(.text.REQUESTER_GeneralAddressSpace_Answer) for [Anonymous Symbol]
requester.o(.text.REQUESTER_ModbusProcessing) refers to requester.o(.text.CanRequestToModbusCoil) for CanRequestToModbusCoil
requester.o(.text.REQUESTER_ModbusProcessing) refers to requester.o(.text.CanRequestToModbusDiscrete) for CanRequestToModbusDiscrete
requester.o(.text.REQUESTER_ModbusProcessing) refers to requester.o(.text.CanRequestToModbusHolding) for CanRequestToModbusHolding
requester.o(.text.REQUESTER_ModbusProcessing) refers to requester.o(.text.CanRequestToModbusInput) for CanRequestToModbusInput
requester.o(.ARM.exidx.text.REQUESTER_ModbusProcessing) refers to requester.o(.text.REQUESTER_ModbusProcessing) for [Anonymous Symbol]
requester.o(.text.CanRequestError) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestError) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestError) refers to requester.o(.text.CanRequestError) for [Anonymous Symbol]
requester.o(.text.CanRequestToAnalogUniversal) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToAnalogUniversal) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToAnalogUniversal) refers to requester.o(.text.CanRequestToAnalogUniversal) for [Anonymous Symbol]
requester.o(.text.CanRequestToAnalogUSTAVKI) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToAnalogUSTAVKI) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToAnalogUSTAVKI) refers to requester.o(.text.CanRequestToAnalogUSTAVKI) for [Anonymous Symbol]
requester.o(.text.CanRequestToAnalogUSens) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToAnalogUSens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToAnalogUSens) refers to requester.o(.text.CanRequestToAnalogUSens) for [Anonymous Symbol]
requester.o(.text.CanRequestToAnalogISens) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToAnalogISens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToAnalogISens) refers to requester.o(.text.CanRequestToAnalogISens) for [Anonymous Symbol]
requester.o(.text.CanRequestToAnalogTSens) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToAnalogTSens) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToAnalogTSens) refers to requester.o(.text.CanRequestToAnalogTSens) for [Anonymous Symbol]
requester.o(.text.CanRequestToBroadcastStatus) refers to rtc.o(.bss.hrtc) for hrtc
requester.o(.text.CanRequestToBroadcastStatus) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime) for HAL_RTC_GetTime
requester.o(.text.CanRequestToBroadcastStatus) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate) for HAL_RTC_GetDate
requester.o(.text.CanRequestToBroadcastStatus) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToBroadcastStatus) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToBroadcastStatus) refers to requester.o(.text.CanRequestToBroadcastStatus) for [Anonymous Symbol]
requester.o(.text.CanRequestToBroadcastOnOff) refers to requester.o(.bss.ControlFlags) for ControlFlags
requester.o(.ARM.exidx.text.CanRequestToBroadcastOnOff) refers to requester.o(.text.CanRequestToBroadcastOnOff) for [Anonymous Symbol]
requester.o(.text.CanRequestToBroadcastRestart) refers to requester.o(.text.__NVIC_SystemReset) for __NVIC_SystemReset
requester.o(.ARM.exidx.text.CanRequestToBroadcastRestart) refers to requester.o(.text.CanRequestToBroadcastRestart) for [Anonymous Symbol]
requester.o(.text.CanRequestToBroadcastRtcSetup) refers to requester.o(.rodata..L__const.CanRequestToBroadcastRtcSetup.DaysCount_Normal) for .L__const.CanRequestToBroadcastRtcSetup.DaysCount_Normal
requester.o(.text.CanRequestToBroadcastRtcSetup) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4
requester.o(.text.CanRequestToBroadcastRtcSetup) refers to requester.o(.text.IsLeapYear) for IsLeapYear
requester.o(.text.CanRequestToBroadcastRtcSetup) refers to requester.o(.text.REQUESTER_RTC_SYNC) for REQUESTER_RTC_SYNC
requester.o(.ARM.exidx.text.CanRequestToBroadcastRtcSetup) refers to requester.o(.text.CanRequestToBroadcastRtcSetup) for [Anonymous Symbol]
requester.o(.ARM.exidx.text.__NVIC_SystemReset) refers to requester.o(.text.__NVIC_SystemReset) for [Anonymous Symbol]
requester.o(.text.REQUESTER_RTC_SYNC) refers to rtc.o(.bss.hrtc) for hrtc
requester.o(.text.REQUESTER_RTC_SYNC) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime) for HAL_RTC_SetTime
requester.o(.text.REQUESTER_RTC_SYNC) refers to main.o(.text.Error_Handler) for Error_Handler
requester.o(.text.REQUESTER_RTC_SYNC) refers to stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate) for HAL_RTC_SetDate
requester.o(.ARM.exidx.text.REQUESTER_RTC_SYNC) refers to requester.o(.text.REQUESTER_RTC_SYNC) for [Anonymous Symbol]
requester.o(.ARM.exidx.text.CanRequestToDiscreteAccident) refers to requester.o(.text.CanRequestToDiscreteAccident) for [Anonymous Symbol]
requester.o(.ARM.exidx.text.CanRequestToDiscreteWarning) refers to requester.o(.text.CanRequestToDiscreteWarning) for [Anonymous Symbol]
requester.o(.ARM.exidx.text.CanRequestToDiscreteControlSignals) refers to requester.o(.text.CanRequestToDiscreteControlSignals) for [Anonymous Symbol]
requester.o(.ARM.exidx.text.CanRequestToDiscreteFlags) refers to requester.o(.text.CanRequestToDiscreteFlags) for [Anonymous Symbol]
requester.o(.text.CanRequestToDiscreteReset) refers to requester.o(.text.__NVIC_SystemReset) for __NVIC_SystemReset
requester.o(.ARM.exidx.text.CanRequestToDiscreteReset) refers to requester.o(.text.CanRequestToDiscreteReset) for [Anonymous Symbol]
requester.o(.ARM.exidx.text.CanRequestToDiscreteChangeMode) refers to requester.o(.text.CanRequestToDiscreteChangeMode) for [Anonymous Symbol]
requester.o(.ARM.exidx.text.CanRequestToDiscreteRequestListOfParameters) refers to requester.o(.text.CanRequestToDiscreteRequestListOfParameters) for [Anonymous Symbol]
requester.o(.text.CanRequestToModbusCoil) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToModbusCoil) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToModbusCoil) refers to requester.o(.text.CanRequestToModbusCoil) for [Anonymous Symbol]
requester.o(.text.CanRequestToModbusDiscrete) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToModbusDiscrete) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToModbusDiscrete) refers to requester.o(.text.CanRequestToModbusDiscrete) for [Anonymous Symbol]
requester.o(.text.CanRequestToModbusHolding) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToModbusHolding) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToModbusHolding) refers to requester.o(.text.CanRequestToModbusHolding) for [Anonymous Symbol]
requester.o(.text.CanRequestToModbusInput) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CanRequestToModbusInput) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.CanRequestToModbusInput) refers to requester.o(.text.CanRequestToModbusInput) for [Anonymous Symbol]
requester.o(.text.TakeRxMsgToBuffer) refers to requester.o(.bss.rxMsg) for rxMsg
requester.o(.text.TakeRxMsgToBuffer) refers to requester.o(.bss.LastStep) for LastStep
requester.o(.ARM.exidx.text.TakeRxMsgToBuffer) refers to requester.o(.text.TakeRxMsgToBuffer) for [Anonymous Symbol]
requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage) for HAL_CAN_GetRxMessage
requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) refers to requester.o(.bss.LastStep) for LastStep
requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) refers to requester.o(.data.CurrentStep) for CurrentStep
requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) refers to requester.o(.text.TakeRxMsgToBuffer) for TakeRxMsgToBuffer
requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) refers to requester.o(.bss.Device_on_the_Network) for Device_on_the_Network
requester.o(.ARM.exidx.text.HAL_CAN_RxFifo0MsgPendingCallback) refers to requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) for [Anonymous Symbol]
requester.o(.text.REQUESTER_Pulse_TIM_Handler) refers to requester.o(.bss.ControlFlags) for ControlFlags
requester.o(.text.REQUESTER_Pulse_TIM_Handler) refers to requester.o(.bss.REQUESTER_Pulse_TIM_Handler.PulseStage) for REQUESTER_Pulse_TIM_Handler.PulseStage
requester.o(.text.REQUESTER_Pulse_TIM_Handler) refers to can.o(.bss.hcan) for hcan
requester.o(.text.REQUESTER_Pulse_TIM_Handler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage) for HAL_CAN_AddTxMessage
requester.o(.ARM.exidx.text.REQUESTER_Pulse_TIM_Handler) refers to requester.o(.text.REQUESTER_Pulse_TIM_Handler) for [Anonymous Symbol]
requester.o(.text.CONFIG_CAN_FILTER) refers to can.o(.bss.hcan) for hcan
requester.o(.text.CONFIG_CAN_FILTER) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter) for HAL_CAN_ConfigFilter
requester.o(.text.CONFIG_CAN_FILTER) refers to main.o(.text.Error_Handler) for Error_Handler
requester.o(.ARM.exidx.text.CONFIG_CAN_FILTER) refers to requester.o(.text.CONFIG_CAN_FILTER) for [Anonymous Symbol]
stm32f1xx_hal_gpio_ex.o(.ARM.exidx.text.HAL_GPIOEx_ConfigEventout) refers to stm32f1xx_hal_gpio_ex.o(.text.HAL_GPIOEx_ConfigEventout) for [Anonymous Symbol]
stm32f1xx_hal_gpio_ex.o(.ARM.exidx.text.HAL_GPIOEx_EnableEventout) refers to stm32f1xx_hal_gpio_ex.o(.text.HAL_GPIOEx_EnableEventout) for [Anonymous Symbol]
stm32f1xx_hal_gpio_ex.o(.ARM.exidx.text.HAL_GPIOEx_DisableEventout) refers to stm32f1xx_hal_gpio_ex.o(.text.HAL_GPIOEx_DisableEventout) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) for HAL_CAN_RxFifo0MsgPendingCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) for HAL_CAN_RxFifo0FullCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) for HAL_CAN_RxFifo1MsgPendingCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) for HAL_CAN_RxFifo1FullCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) for HAL_CAN_TxMailbox0CompleteCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) for HAL_CAN_TxMailbox1CompleteCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) for HAL_CAN_TxMailbox2CompleteCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) for HAL_CAN_TxMailbox0AbortCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) for HAL_CAN_TxMailbox1AbortCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) for HAL_CAN_TxMailbox2AbortCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) for HAL_CAN_SleepCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) for HAL_CAN_WakeUpFromRxMsgCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to canerrorbox.o(.text.HAL_CAN_ErrorCallback) for HAL_CAN_ErrorCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to can.o(.text.HAL_CAN_MspInit) for HAL_CAN_MspInit
stm32f1xx_hal_can.o(.text.HAL_CAN_Init) refers to stm32f1xx_hal.o(.text.HAL_GetTick) for HAL_GetTick
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_Init) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_Init) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo0MsgPendingCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo0FullCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo1MsgPendingCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo1FullCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox0CompleteCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox1CompleteCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox2CompleteCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox0AbortCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox1AbortCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox2AbortCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_SleepCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_WakeUpFromRxMsgCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_ErrorCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ErrorCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_MspInit) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_MspInit) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.text.HAL_CAN_DeInit) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_Stop) for HAL_CAN_Stop
stm32f1xx_hal_can.o(.text.HAL_CAN_DeInit) refers to can.o(.text.HAL_CAN_MspDeInit) for HAL_CAN_MspDeInit
@@ -256,6 +357,23 @@ Section Cross References
stm32f1xx_hal_can.o(.text.HAL_CAN_Stop) refers to stm32f1xx_hal.o(.text.HAL_GetTick) for HAL_GetTick
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_Stop) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_Stop) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_MspDeInit) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_MspDeInit) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) for HAL_CAN_TxMailbox0CompleteCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) for HAL_CAN_TxMailbox1CompleteCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) for HAL_CAN_TxMailbox2CompleteCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) for HAL_CAN_TxMailbox0AbortCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) for HAL_CAN_TxMailbox1AbortCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) for HAL_CAN_TxMailbox2AbortCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) for HAL_CAN_RxFifo0MsgPendingCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) for HAL_CAN_RxFifo0FullCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) for HAL_CAN_RxFifo1MsgPendingCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) for HAL_CAN_RxFifo1FullCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) for HAL_CAN_SleepCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) for HAL_CAN_WakeUpFromRxMsgCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to canerrorbox.o(.text.HAL_CAN_ErrorCallback) for HAL_CAN_ErrorCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to can.o(.text.HAL_CAN_MspInit) for HAL_CAN_MspInit
stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) refers to can.o(.text.HAL_CAN_MspDeInit) for HAL_CAN_MspDeInit
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_UnRegisterCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_ConfigFilter) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.text.HAL_CAN_Start) refers to stm32f1xx_hal.o(.text.HAL_GetTick) for HAL_GetTick
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_Start) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_Start) for [Anonymous Symbol]
@@ -271,33 +389,7 @@ Section Cross References
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_GetRxFifoFillLevel) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxFifoFillLevel) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_ActivateNotification) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_DeactivateNotification) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_DeactivateNotification) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) for HAL_CAN_TxMailbox0CompleteCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) for HAL_CAN_TxMailbox0AbortCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) for HAL_CAN_TxMailbox1CompleteCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) for HAL_CAN_TxMailbox1AbortCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) for HAL_CAN_TxMailbox2CompleteCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) for HAL_CAN_TxMailbox2AbortCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) for HAL_CAN_RxFifo0FullCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) for HAL_CAN_RxFifo0MsgPendingCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) for HAL_CAN_RxFifo1FullCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) for HAL_CAN_RxFifo1MsgPendingCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) for HAL_CAN_SleepCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) for HAL_CAN_WakeUpFromRxMsgCallback
stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ErrorCallback) for HAL_CAN_ErrorCallback
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_IRQHandler) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox0CompleteCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox0AbortCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox1CompleteCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox1AbortCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox2CompleteCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox2AbortCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo0FullCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo0MsgPendingCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo1FullCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo1MsgPendingCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_SleepCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_WakeUpFromRxMsgCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_ErrorCallback) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ErrorCallback) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_GetState) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_GetState) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_GetError) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_GetError) for [Anonymous Symbol]
stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_ResetError) refers to stm32f1xx_hal_can.o(.text.HAL_CAN_ResetError) for [Anonymous Symbol]
@@ -666,9 +758,24 @@ Section Cross References
stm32f1xx_hal_rtc_ex.o(.ARM.exidx.text.HAL_RTCEx_BKUPWrite) refers to stm32f1xx_hal_rtc_ex.o(.text.HAL_RTCEx_BKUPWrite) for [Anonymous Symbol]
stm32f1xx_hal_rtc_ex.o(.ARM.exidx.text.HAL_RTCEx_BKUPRead) refers to stm32f1xx_hal_rtc_ex.o(.text.HAL_RTCEx_BKUPRead) for [Anonymous Symbol]
stm32f1xx_hal_rtc_ex.o(.ARM.exidx.text.HAL_RTCEx_SetSmoothCalib) refers to stm32f1xx_hal_rtc_ex.o(.text.HAL_RTCEx_SetSmoothCalib) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) for TIM_ResetCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init) refers to tim.o(.text.HAL_TIM_Base_MspInit) for HAL_TIM_Base_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) for TIM_Base_SetConfig
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) for HAL_TIM_PeriodElapsedCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) for HAL_TIM_PeriodElapsedHalfCpltCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) for HAL_TIM_TriggerCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) for HAL_TIM_TriggerHalfCpltCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) for HAL_TIM_IC_CaptureCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) for HAL_TIM_IC_CaptureHalfCpltCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) for HAL_TIM_OC_DelayElapsedCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) for HAL_TIM_PWM_PulseFinishedCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) for HAL_TIM_PWM_PulseFinishedHalfCpltCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) for HAL_TIM_ErrorCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) for HAL_TIMEx_CommutCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback) for HAL_TIMEx_CommutHalfCpltCallback
stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) for HAL_TIMEx_BreakCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_ResetCallback) refers to stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_MspInit) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_MspInit) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_Base_SetConfig) refers to stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_DeInit) refers to tim.o(.text.HAL_TIM_Base_MspDeInit) for HAL_TIM_Base_MspDeInit
@@ -683,14 +790,12 @@ Section Cross References
stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Start_DMA) refers to stm32f1xx_hal_tim.o(.text.TIM_DMAError) for TIM_DMAError
stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Start_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Start_IT) for HAL_DMA_Start_IT
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Start_DMA) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Start_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_DMAPeriodElapsedCplt) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) for HAL_TIM_PeriodElapsedCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMAPeriodElapsedCplt) refers to stm32f1xx_hal_tim.o(.text.TIM_DMAPeriodElapsedCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_DMAPeriodElapsedHalfCplt) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) for HAL_TIM_PeriodElapsedHalfCpltCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMAPeriodElapsedHalfCplt) refers to stm32f1xx_hal_tim.o(.text.TIM_DMAPeriodElapsedHalfCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_DMAError) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) for HAL_TIM_ErrorCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMAError) refers to stm32f1xx_hal_tim.o(.text.TIM_DMAError) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Stop_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Stop_DMA) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Stop_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) for TIM_ResetCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit) for HAL_TIM_OC_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) for TIM_Base_SetConfig
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Init) for [Anonymous Symbol]
@@ -713,13 +818,12 @@ Section Cross References
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Start_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Start_IT) for HAL_DMA_Start_IT
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Start_DMA) refers to stm32f1xx_hal_tim.o(.text.TIM_CCxChannelCmd) for TIM_CCxChannelCmd
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_Start_DMA) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Start_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_DMADelayPulseCplt) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) for HAL_TIM_PWM_PulseFinishedCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMADelayPulseCplt) refers to stm32f1xx_hal_tim.o(.text.TIM_DMADelayPulseCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_DMADelayPulseHalfCplt) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) for HAL_TIM_PWM_PulseFinishedHalfCpltCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMADelayPulseHalfCplt) refers to stm32f1xx_hal_tim.o(.text.TIM_DMADelayPulseHalfCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Stop_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Stop_DMA) refers to stm32f1xx_hal_tim.o(.text.TIM_CCxChannelCmd) for TIM_CCxChannelCmd
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_Stop_DMA) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Stop_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) for TIM_ResetCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) for HAL_TIM_PWM_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) for TIM_Base_SetConfig
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Init) for [Anonymous Symbol]
@@ -744,6 +848,7 @@ Section Cross References
stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Stop_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Stop_DMA) refers to stm32f1xx_hal_tim.o(.text.TIM_CCxChannelCmd) for TIM_CCxChannelCmd
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_Stop_DMA) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Stop_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) for TIM_ResetCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit) for HAL_TIM_IC_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) for TIM_Base_SetConfig
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Init) for [Anonymous Symbol]
@@ -765,13 +870,12 @@ Section Cross References
stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Start_DMA) refers to stm32f1xx_hal_tim.o(.text.TIM_DMAError) for TIM_DMAError
stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Start_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Start_IT) for HAL_DMA_Start_IT
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_Start_DMA) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Start_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_DMACaptureCplt) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) for HAL_TIM_IC_CaptureCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMACaptureCplt) refers to stm32f1xx_hal_tim.o(.text.TIM_DMACaptureCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_DMACaptureHalfCplt) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) for HAL_TIM_IC_CaptureHalfCpltCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMACaptureHalfCplt) refers to stm32f1xx_hal_tim.o(.text.TIM_DMACaptureHalfCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Stop_DMA) refers to stm32f1xx_hal_tim.o(.text.TIM_CCxChannelCmd) for TIM_CCxChannelCmd
stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Stop_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_Stop_DMA) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Stop_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) for TIM_ResetCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit) for HAL_TIM_OnePulse_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) for TIM_Base_SetConfig
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Init) for [Anonymous Symbol]
@@ -787,6 +891,7 @@ Section Cross References
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_Start_IT) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Start_IT) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Stop_IT) refers to stm32f1xx_hal_tim.o(.text.TIM_CCxChannelCmd) for TIM_CCxChannelCmd
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_Stop_IT) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Stop_IT) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) for TIM_ResetCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit) for HAL_TIM_Encoder_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) for TIM_Base_SetConfig
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Encoder_Init) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Init) for [Anonymous Symbol]
@@ -811,19 +916,7 @@ Section Cross References
stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Stop_DMA) refers to stm32f1xx_hal_tim.o(.text.TIM_CCxChannelCmd) for TIM_CCxChannelCmd
stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Stop_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Encoder_Stop_DMA) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Stop_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) for HAL_TIM_IC_CaptureCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) for HAL_TIM_OC_DelayElapsedCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) for HAL_TIM_PWM_PulseFinishedCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) for HAL_TIM_PeriodElapsedCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) for HAL_TIMEx_BreakCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) for HAL_TIM_TriggerCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) for HAL_TIMEx_CommutCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IRQHandler) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_CaptureCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_DelayElapsedCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_PulseFinishedCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PeriodElapsedCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_TriggerCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_ConfigChannel) refers to stm32f1xx_hal_tim.o(.text.TIM_OC1_SetConfig) for TIM_OC1_SetConfig
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_ConfigChannel) refers to stm32f1xx_hal_tim.o(.text.TIM_OC2_SetConfig) for TIM_OC2_SetConfig
stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_ConfigChannel) refers to stm32f1xx_hal_tim.o(.text.TIM_OC3_SetConfig) for TIM_OC3_SetConfig
@@ -865,9 +958,7 @@ Section Cross References
stm32f1xx_hal_tim.o(.text.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32f1xx_hal_tim.o(.text.TIM_DMATriggerCplt) for TIM_DMATriggerCplt
stm32f1xx_hal_tim.o(.text.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32f1xx_hal_tim.o(.text.TIM_DMATriggerHalfCplt) for TIM_DMATriggerHalfCplt
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_DMABurst_MultiWriteStart) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_DMABurst_MultiWriteStart) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_DMATriggerCplt) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) for HAL_TIM_TriggerCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMATriggerCplt) refers to stm32f1xx_hal_tim.o(.text.TIM_DMATriggerCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.TIM_DMATriggerHalfCplt) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) for HAL_TIM_TriggerHalfCpltCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMATriggerHalfCplt) refers to stm32f1xx_hal_tim.o(.text.TIM_DMATriggerHalfCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_DMABurst_WriteStop) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_DMABurst_WriteStop) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_DMABurst_WriteStop) for [Anonymous Symbol]
@@ -908,11 +999,45 @@ Section Cross References
stm32f1xx_hal_tim.o(.text.HAL_TIM_SlaveConfigSynchro_IT) refers to stm32f1xx_hal_tim.o(.text.TIM_SlaveTimer_SetConfig) for TIM_SlaveTimer_SetConfig
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_SlaveConfigSynchro_IT) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_SlaveConfigSynchro_IT) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_ReadCapturedValue) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_ReadCapturedValue) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PeriodElapsedCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PeriodElapsedHalfCpltCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_DelayElapsedCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_CaptureCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_CaptureHalfCpltCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_PulseFinishedCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_TriggerCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_TriggerHalfCpltCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_ErrorCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_RegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to tim.o(.text.HAL_TIM_Base_MspInit) for HAL_TIM_Base_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to tim.o(.text.HAL_TIM_Base_MspDeInit) for HAL_TIM_Base_MspDeInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit) for HAL_TIM_IC_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit) for HAL_TIM_IC_MspDeInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit) for HAL_TIM_OC_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit) for HAL_TIM_OC_MspDeInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit) for HAL_TIM_PWM_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit) for HAL_TIM_PWM_MspDeInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit) for HAL_TIM_OnePulse_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit) for HAL_TIM_OnePulse_MspDeInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit) for HAL_TIM_Encoder_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit) for HAL_TIM_Encoder_MspDeInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit) for HAL_TIMEx_HallSensor_MspInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit) for HAL_TIMEx_HallSensor_MspDeInit
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback) for HAL_TIM_PeriodElapsedCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback) for HAL_TIM_PeriodElapsedHalfCpltCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback) for HAL_TIM_TriggerCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback) for HAL_TIM_TriggerHalfCpltCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback) for HAL_TIM_IC_CaptureCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback) for HAL_TIM_IC_CaptureHalfCpltCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback) for HAL_TIM_OC_DelayElapsedCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) for HAL_TIM_PWM_PulseFinishedCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback) for HAL_TIM_PWM_PulseFinishedHalfCpltCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) for HAL_TIM_ErrorCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) for HAL_TIMEx_CommutCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback) for HAL_TIMEx_CommutHalfCpltCallback
stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback) for HAL_TIMEx_BreakCallback
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_UnRegisterCallback) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_GetState) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_GetState) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_GetState) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_GetState) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_GetState) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_GetState) for [Anonymous Symbol]
@@ -922,6 +1047,7 @@ Section Cross References
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_GetActiveChannel) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_GetActiveChannel) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_GetChannelState) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_GetChannelState) for [Anonymous Symbol]
stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_DMABurstState) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_DMABurstState) for [Anonymous Symbol]
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_ResetCallback) for TIM_ResetCallback
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_Init) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit) for HAL_TIMEx_HallSensor_MspInit
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig) for TIM_Base_SetConfig
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_Init) refers to stm32f1xx_hal_tim.o(.text.TIM_TI1_SetConfig) for TIM_TI1_SetConfig
@@ -963,9 +1089,7 @@ Section Cross References
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_OCN_Start_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Start_IT) for HAL_DMA_Start_IT
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_OCN_Start_DMA) refers to stm32f1xx_hal_tim_ex.o(.text.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd
stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_OCN_Start_DMA) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_OCN_Start_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim_ex.o(.text.TIM_DMADelayPulseNCplt) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback) for HAL_TIM_PWM_PulseFinishedCallback
stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.TIM_DMADelayPulseNCplt) refers to stm32f1xx_hal_tim_ex.o(.text.TIM_DMADelayPulseNCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim_ex.o(.text.TIM_DMAErrorCCxN) refers to stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback) for HAL_TIM_ErrorCallback
stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.TIM_DMAErrorCCxN) refers to stm32f1xx_hal_tim_ex.o(.text.TIM_DMAErrorCCxN) for [Anonymous Symbol]
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_OCN_Stop_DMA) refers to stm32f1xx_hal_dma.o(.text.HAL_DMA_Abort_IT) for HAL_DMA_Abort_IT
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_OCN_Stop_DMA) refers to stm32f1xx_hal_tim_ex.o(.text.TIM_CCxNChannelCmd) for TIM_CCxNChannelCmd
@@ -1005,9 +1129,7 @@ Section Cross References
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_ConfigCommutEvent_DMA) refers to stm32f1xx_hal_tim_ex.o(.text.TIMEx_DMACommutationHalfCplt) for TIMEx_DMACommutationHalfCplt
stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_ConfigCommutEvent_DMA) refers to stm32f1xx_hal_tim.o(.text.TIM_DMAError) for TIM_DMAError
stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_ConfigCommutEvent_DMA) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_ConfigCommutEvent_DMA) for [Anonymous Symbol]
stm32f1xx_hal_tim_ex.o(.text.TIMEx_DMACommutationCplt) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback) for HAL_TIMEx_CommutCallback
stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.TIMEx_DMACommutationCplt) refers to stm32f1xx_hal_tim_ex.o(.text.TIMEx_DMACommutationCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim_ex.o(.text.TIMEx_DMACommutationHalfCplt) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback) for HAL_TIMEx_CommutHalfCpltCallback
stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.TIMEx_DMACommutationHalfCplt) refers to stm32f1xx_hal_tim_ex.o(.text.TIMEx_DMACommutationHalfCplt) for [Anonymous Symbol]
stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_MasterConfigSynchronization) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization) for [Anonymous Symbol]
stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_ConfigBreakDeadTime) refers to stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_ConfigBreakDeadTime) for [Anonymous Symbol]
@@ -1132,6 +1254,73 @@ Section Cross References
Removing Unused input sections from the image.
Removing canerrorbox.o(.text), (0 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackEWG), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackEPV), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackBOF), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackSTF), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackFOR), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackACK), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackBR), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackBD), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackCRC), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackRXFOV0), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackRXFOV1), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXALST0), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXTERR0), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXALST1), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXTERR1), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXALST2), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTXTERR2), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackTIMEOUT), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackNOTINITIALIZED), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackNOTREADY), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackNOTSTARTED), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.CanErrorCallbackPARAM), (8 bytes).
Removing canerrorbox.o(.ARM.exidx.text.HAL_CAN_ErrorCallback), (8 bytes).
Removing protocan.o(.text), (0 bytes).
Removing protocan.o(.ARM.exidx.text.IsLeapYear), (8 bytes).
Removing protocan.o(.ARM.exidx.text.AvailableCanRxMsg), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_DEINIT), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_INIT), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanRxFifo0MsgPendingCallback), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanPulseCallback), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_FILTERS), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_LOOP), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_AnalogProcessing), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_BroadcastProcessing), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_DiscreticProcessing), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToGeneralAddressSpace), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_ModbusProcessing), (8 bytes).
Removing protocan.o(.ARM.exidx.text.CanRequestError), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_SEND), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastStatus), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastOnOff), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastRestart), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToBroadcastRtcSetup), (8 bytes).
Removing protocan.o(.ARM.exidx.text.__NVIC_SystemReset), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_RTC_SYNC), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteAccident), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteWarning), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteControlSignals), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteFlags), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteReset), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteChangeMode), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToDiscreteRequestListOfParameters), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUniversal), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogSettings), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogUSens), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogISens), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToAnalogTSens), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusCoil), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusDiscrete), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusHolding), (8 bytes).
Removing protocan.o(.ARM.exidx.text.ProtoCanMsgToModbusInput), (8 bytes).
Removing protocan.o(.ARM.exidx.text.TakeRxMsgToBuffer), (8 bytes).
Removing protocan.o(.ARM.exidx.text.PROTOCAN_CONFIG_FILTER), (8 bytes).
Removing protocan.o(.rodata..L__const.PROTOCAN_LOOP.massiv), (10 bytes).
Removing protocan.o(.bss.CurrentDevice), (16 bytes).
Removing main.o(.text), (0 bytes).
Removing main.o(.ARM.exidx.text.main), (8 bytes).
Removing main.o(.ARM.exidx.text.SystemClock_Config), (8 bytes).
@@ -1142,7 +1331,6 @@ Removing Unused input sections from the image.
Removing can.o(.text), (0 bytes).
Removing can.o(.ARM.exidx.text.MX_CAN_Init), (8 bytes).
Removing can.o(.ARM.exidx.text.HAL_CAN_MspInit), (8 bytes).
Removing can.o(.text.HAL_CAN_MspDeInit), (86 bytes).
Removing can.o(.ARM.exidx.text.HAL_CAN_MspDeInit), (8 bytes).
Removing rtc.o(.text), (0 bytes).
Removing rtc.o(.ARM.exidx.text.MX_RTC_Init), (8 bytes).
@@ -1152,7 +1340,6 @@ Removing Unused input sections from the image.
Removing tim.o(.text), (0 bytes).
Removing tim.o(.ARM.exidx.text.MX_TIM4_Init), (8 bytes).
Removing tim.o(.ARM.exidx.text.HAL_TIM_Base_MspInit), (8 bytes).
Removing tim.o(.text.HAL_TIM_Base_MspDeInit), (52 bytes).
Removing tim.o(.ARM.exidx.text.HAL_TIM_Base_MspDeInit), (8 bytes).
Removing stm32f1xx_it.o(.text), (0 bytes).
Removing stm32f1xx_it.o(.ARM.exidx.text.NMI_Handler), (8 bytes).
@@ -1171,45 +1358,6 @@ Removing Unused input sections from the image.
Removing stm32f1xx_it.o(.ARM.exidx.text.TIM4_IRQHandler), (8 bytes).
Removing stm32f1xx_hal_msp.o(.text), (0 bytes).
Removing stm32f1xx_hal_msp.o(.ARM.exidx.text.HAL_MspInit), (8 bytes).
Removing requester.o(.text), (0 bytes).
Removing requester.o(.ARM.exidx.text.IsLeapYear), (8 bytes).
Removing requester.o(.ARM.exidx.text.AvailableCanRxMsg), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_Init), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_CAN_FILTERS), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_MainWhile), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_AnalogProcessing), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_BroadcastProcessing), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_DiscreticProcessing), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_GeneralAddressSpace_Answer), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_ModbusProcessing), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestError), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToAnalogUniversal), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToAnalogUSTAVKI), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToAnalogUSens), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToAnalogISens), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToAnalogTSens), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToBroadcastStatus), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToBroadcastOnOff), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToBroadcastRestart), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToBroadcastRtcSetup), (8 bytes).
Removing requester.o(.ARM.exidx.text.__NVIC_SystemReset), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_RTC_SYNC), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToDiscreteAccident), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToDiscreteWarning), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToDiscreteControlSignals), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToDiscreteFlags), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToDiscreteReset), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToDiscreteChangeMode), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToDiscreteRequestListOfParameters), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToModbusCoil), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToModbusDiscrete), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToModbusHolding), (8 bytes).
Removing requester.o(.ARM.exidx.text.CanRequestToModbusInput), (8 bytes).
Removing requester.o(.ARM.exidx.text.TakeRxMsgToBuffer), (8 bytes).
Removing requester.o(.ARM.exidx.text.HAL_CAN_RxFifo0MsgPendingCallback), (8 bytes).
Removing requester.o(.ARM.exidx.text.REQUESTER_Pulse_TIM_Handler), (8 bytes).
Removing requester.o(.ARM.exidx.text.CONFIG_CAN_FILTER), (8 bytes).
Removing requester.o(.bss.CurrentDevice), (16 bytes).
Removing stm32f1xx_hal_gpio_ex.o(.text), (0 bytes).
Removing stm32f1xx_hal_gpio_ex.o(.text.HAL_GPIOEx_ConfigEventout), (32 bytes).
Removing stm32f1xx_hal_gpio_ex.o(.ARM.exidx.text.HAL_GPIOEx_ConfigEventout), (8 bytes).
@@ -1219,14 +1367,30 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_gpio_ex.o(.ARM.exidx.text.HAL_GPIOEx_DisableEventout), (8 bytes).
Removing stm32f1xx_hal_can.o(.text), (0 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_Init), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo0MsgPendingCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo0FullCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo1MsgPendingCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo1FullCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox0CompleteCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox1CompleteCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox2CompleteCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox0AbortCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox1AbortCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox2AbortCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_SleepCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_WakeUpFromRxMsgCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_ErrorCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_ErrorCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_MspInit), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_MspInit), (8 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_DeInit), (70 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_DeInit), (92 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_DeInit), (8 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_Stop), (146 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_Stop), (8 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RegisterCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_UnRegisterCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_ConfigFilter), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_Start), (8 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_RequestSleep), (80 bytes).
@@ -1251,20 +1415,6 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_DeactivateNotification), (82 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_DeactivateNotification), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_IRQHandler), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox0CompleteCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox0AbortCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox1CompleteCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox1AbortCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox2CompleteCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_TxMailbox2AbortCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo0FullCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo0MsgPendingCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo1FullCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_RxFifo1MsgPendingCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_SleepCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_WakeUpFromRxMsgCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_ErrorCallback), (8 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_GetState), (92 bytes).
Removing stm32f1xx_hal_can.o(.ARM.exidx.text.HAL_CAN_GetState), (8 bytes).
Removing stm32f1xx_hal_can.o(.text.HAL_CAN_GetError), (12 bytes).
@@ -1349,7 +1499,6 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_rcc_ex.o(.ARM.exidx.text.HAL_RCCEx_GetPeriphCLKFreq), (8 bytes).
Removing stm32f1xx_hal_gpio.o(.text), (0 bytes).
Removing stm32f1xx_hal_gpio.o(.ARM.exidx.text.HAL_GPIO_Init), (8 bytes).
Removing stm32f1xx_hal_gpio.o(.text.HAL_GPIO_DeInit), (414 bytes).
Removing stm32f1xx_hal_gpio.o(.ARM.exidx.text.HAL_GPIO_DeInit), (8 bytes).
Removing stm32f1xx_hal_gpio.o(.text.HAL_GPIO_ReadPin), (46 bytes).
Removing stm32f1xx_hal_gpio.o(.ARM.exidx.text.HAL_GPIO_ReadPin), (8 bytes).
@@ -1399,9 +1548,7 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_cortex.o(.ARM.exidx.text.NVIC_EncodePriority), (8 bytes).
Removing stm32f1xx_hal_cortex.o(.ARM.exidx.text.HAL_NVIC_EnableIRQ), (8 bytes).
Removing stm32f1xx_hal_cortex.o(.ARM.exidx.text.__NVIC_EnableIRQ), (8 bytes).
Removing stm32f1xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ), (20 bytes).
Removing stm32f1xx_hal_cortex.o(.ARM.exidx.text.HAL_NVIC_DisableIRQ), (8 bytes).
Removing stm32f1xx_hal_cortex.o(.text.__NVIC_DisableIRQ), (56 bytes).
Removing stm32f1xx_hal_cortex.o(.ARM.exidx.text.__NVIC_DisableIRQ), (8 bytes).
Removing stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SystemReset), (4 bytes).
Removing stm32f1xx_hal_cortex.o(.ARM.exidx.text.HAL_NVIC_SystemReset), (8 bytes).
@@ -1628,10 +1775,11 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_rtc_ex.o(.ARM.exidx.text.HAL_RTCEx_SetSmoothCalib), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text), (0 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Init), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_ResetCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_Base_SetConfig), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_DeInit), (166 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_DeInit), (188 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_DeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_MspDeInit), (8 bytes).
@@ -1639,26 +1787,25 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Start), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Stop), (70 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Stop), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Start_IT), (176 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Start_IT), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Stop_IT), (82 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Stop_IT), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Start_DMA), (304 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Start_DMA), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMAPeriodElapsedCplt), (42 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMAPeriodElapsedCplt), (44 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMAPeriodElapsedCplt), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMAPeriodElapsedHalfCplt), (22 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMAPeriodElapsedHalfCplt), (24 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMAPeriodElapsedHalfCplt), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMAError), (154 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMAError), (156 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMAError), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Stop_DMA), (92 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_Stop_DMA), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Init), (156 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Init), (184 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_Init), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DeInit), (166 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DeInit), (188 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_DeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Start), (352 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_Start), (8 bytes).
@@ -1672,19 +1819,17 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_Stop_IT), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Start_DMA), (922 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_Start_DMA), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMADelayPulseCplt), (188 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMADelayPulseCplt), (190 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMADelayPulseCplt), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMADelayPulseHalfCplt), (116 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMADelayPulseHalfCplt), (118 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMADelayPulseHalfCplt), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_Stop_DMA), (418 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_Stop_DMA), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Init), (156 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Init), (184 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_Init), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_DeInit), (166 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_DeInit), (188 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_DeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Start), (352 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_Start), (8 bytes).
@@ -1698,13 +1843,11 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_Start_DMA), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_Stop_DMA), (418 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_Stop_DMA), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Init), (156 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Init), (184 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_Init), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_DeInit), (166 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_DeInit), (188 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_DeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Start), (496 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_Start), (8 bytes).
@@ -1716,19 +1859,17 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_Stop_IT), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Start_DMA), (994 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_Start_DMA), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMACaptureCplt), (212 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMACaptureCplt), (214 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMACaptureCplt), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMACaptureHalfCplt), (116 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMACaptureHalfCplt), (118 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMACaptureHalfCplt), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_Stop_DMA), (420 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_Stop_DMA), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Init), (144 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Init), (172 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_Init), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_DeInit), (128 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_DeInit), (150 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_DeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Start), (196 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_Start), (8 bytes).
@@ -1738,13 +1879,11 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_Start_IT), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_Stop_IT), (214 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OnePulse_Stop_IT), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Init), (296 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Init), (324 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Encoder_Init), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Encoder_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_DeInit), (128 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_DeInit), (150 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Encoder_DeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Encoder_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Start), (334 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Encoder_Start), (8 bytes).
@@ -1759,11 +1898,6 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_Stop_DMA), (418 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Encoder_Stop_DMA), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IRQHandler), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_CaptureCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_DelayElapsedCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_PulseFinishedCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PeriodElapsedCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_TriggerCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_ConfigChannel), (210 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_ConfigChannel), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_OC1_SetConfig), (206 bytes).
@@ -1792,9 +1926,9 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_DMABurst_WriteStart), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_DMABurst_MultiWriteStart), (736 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_DMABurst_MultiWriteStart), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMATriggerCplt), (42 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMATriggerCplt), (44 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMATriggerCplt), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMATriggerHalfCplt), (22 bytes).
Removing stm32f1xx_hal_tim.o(.text.TIM_DMATriggerHalfCplt), (24 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.TIM_DMATriggerHalfCplt), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_DMABurst_WriteStop), (202 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_DMABurst_WriteStop), (8 bytes).
@@ -1823,16 +1957,18 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_SlaveConfigSynchro_IT), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_ReadCapturedValue), (132 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_ReadCapturedValue), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PeriodElapsedCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PeriodElapsedHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_OC_DelayElapsedCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_CaptureCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_IC_CaptureHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_PulseFinishedCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_TriggerCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_TriggerHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_ErrorCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_RegisterCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_UnRegisterCallback), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_GetState), (14 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_Base_GetState), (8 bytes).
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_GetState), (14 bytes).
@@ -1852,13 +1988,11 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim.o(.text.HAL_TIM_DMABurstState), (14 bytes).
Removing stm32f1xx_hal_tim.o(.ARM.exidx.text.HAL_TIM_DMABurstState), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text), (0 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_Init), (280 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_Init), (308 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_HallSensor_Init), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_HallSensor_MspInit), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_DeInit), (128 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_DeInit), (150 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_HallSensor_DeInit), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_HallSensor_MspDeInit), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_Start), (264 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_HallSensor_Start), (8 bytes).
@@ -1884,9 +2018,9 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_OCN_Stop_IT), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_OCN_Start_DMA), (766 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_OCN_Start_DMA), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.TIM_DMADelayPulseNCplt), (188 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.TIM_DMADelayPulseNCplt), (190 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.TIM_DMADelayPulseNCplt), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.TIM_DMAErrorCCxN), (116 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.TIM_DMAErrorCCxN), (118 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.TIM_DMAErrorCCxN), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_OCN_Stop_DMA), (326 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_OCN_Stop_DMA), (8 bytes).
@@ -1916,9 +2050,9 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_ConfigCommutEvent_IT), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_ConfigCommutEvent_DMA), (228 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_ConfigCommutEvent_DMA), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.TIMEx_DMACommutationCplt), (30 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.TIMEx_DMACommutationCplt), (32 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.TIMEx_DMACommutationCplt), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.TIMEx_DMACommutationHalfCplt), (30 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.TIMEx_DMACommutationHalfCplt), (32 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.TIMEx_DMACommutationHalfCplt), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_MasterConfigSynchronization), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_ConfigBreakDeadTime), (178 bytes).
@@ -1926,7 +2060,6 @@ Removing Unused input sections from the image.
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_RemapConfig), (12 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_RemapConfig), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_CommutCallback), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_CommutHalfCpltCallback), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.ARM.exidx.text.HAL_TIMEx_BreakCallback), (8 bytes).
Removing stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_GetState), (14 bytes).
@@ -1938,7 +2071,7 @@ Removing Unused input sections from the image.
Removing system_stm32f1xx.o(.text.SystemCoreClockUpdate), (290 bytes).
Removing system_stm32f1xx.o(.ARM.exidx.text.SystemCoreClockUpdate), (8 bytes).
805 unused section(s) (total 51396 bytes) removed from the image.
816 unused section(s) (total 51428 bytes) removed from the image.
==============================================================================
@@ -2003,10 +2136,11 @@ Image Symbol Table
../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE
../fplib/fpinit_empty.s 0x00000000 Number 0 fpinit_empty.o ABSOLUTE
can.c 0x00000000 Number 0 can.o ABSOLUTE
canerrorbox.c 0x00000000 Number 0 canerrorbox.o ABSOLUTE
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE
main.c 0x00000000 Number 0 main.o ABSOLUTE
requester.c 0x00000000 Number 0 requester.o ABSOLUTE
protocan.c 0x00000000 Number 0 protocan.o ABSOLUTE
rtc.c 0x00000000 Number 0 rtc.o ABSOLUTE
startup_stm32f103xb.s 0x00000000 Number 0 startup_stm32f103xb.o ABSOLUTE
stm32f1xx_hal.c 0x00000000 Number 0 stm32f1xx_hal.o ABSOLUTE
@@ -2086,186 +2220,240 @@ Image Symbol Table
.text 0x080002e4 Section 0 sys_exit.o(.text)
.text 0x080002f0 Section 2 use_no_semi.o(.text)
.text 0x080002f2 Section 0 indicate_semi.o(.text)
[Anonymous Symbol] 0x080002f4 Section 0 requester.o(.text.AvailableCanRxMsg)
[Anonymous Symbol] 0x080002f4 Section 0 protocan.o(.text.AvailableCanRxMsg)
[Anonymous Symbol] 0x08000314 Section 0 stm32f1xx_it.o(.text.BusFault_Handler)
[Anonymous Symbol] 0x08000318 Section 0 stm32f1xx_it.o(.text.CAN1_RX1_IRQHandler)
[Anonymous Symbol] 0x08000328 Section 0 stm32f1xx_it.o(.text.CAN1_SCE_IRQHandler)
[Anonymous Symbol] 0x08000338 Section 0 requester.o(.text.CONFIG_CAN_FILTER)
[Anonymous Symbol] 0x0800039c Section 0 requester.o(.text.CanRequestError)
[Anonymous Symbol] 0x08000414 Section 0 requester.o(.text.CanRequestToAnalogISens)
[Anonymous Symbol] 0x08000520 Section 0 requester.o(.text.CanRequestToAnalogTSens)
[Anonymous Symbol] 0x0800062c Section 0 requester.o(.text.CanRequestToAnalogUSTAVKI)
[Anonymous Symbol] 0x080006b0 Section 0 requester.o(.text.CanRequestToAnalogUSens)
[Anonymous Symbol] 0x080007bc Section 0 requester.o(.text.CanRequestToAnalogUniversal)
[Anonymous Symbol] 0x0800083c Section 0 requester.o(.text.CanRequestToBroadcastOnOff)
[Anonymous Symbol] 0x0800086c Section 0 requester.o(.text.CanRequestToBroadcastRestart)
[Anonymous Symbol] 0x08000900 Section 0 requester.o(.text.CanRequestToBroadcastRtcSetup)
[Anonymous Symbol] 0x080009a8 Section 0 requester.o(.text.CanRequestToBroadcastStatus)
[Anonymous Symbol] 0x08000a7c Section 0 requester.o(.text.CanRequestToDiscreteAccident)
[Anonymous Symbol] 0x08000a94 Section 0 requester.o(.text.CanRequestToDiscreteChangeMode)
[Anonymous Symbol] 0x08000aac Section 0 requester.o(.text.CanRequestToDiscreteControlSignals)
[Anonymous Symbol] 0x08000ac4 Section 0 requester.o(.text.CanRequestToDiscreteFlags)
[Anonymous Symbol] 0x08000adc Section 0 requester.o(.text.CanRequestToDiscreteRequestListOfParameters)
[Anonymous Symbol] 0x08000af4 Section 0 requester.o(.text.CanRequestToDiscreteReset)
[Anonymous Symbol] 0x08000b0c Section 0 requester.o(.text.CanRequestToDiscreteWarning)
[Anonymous Symbol] 0x08000b24 Section 0 requester.o(.text.CanRequestToModbusCoil)
[Anonymous Symbol] 0x08000bbc Section 0 requester.o(.text.CanRequestToModbusDiscrete)
[Anonymous Symbol] 0x08000c58 Section 0 requester.o(.text.CanRequestToModbusHolding)
[Anonymous Symbol] 0x08000cf4 Section 0 requester.o(.text.CanRequestToModbusInput)
[Anonymous Symbol] 0x08000d90 Section 0 stm32f1xx_it.o(.text.DebugMon_Handler)
[Anonymous Symbol] 0x08000d94 Section 0 main.o(.text.Error_Handler)
[Anonymous Symbol] 0x08000da4 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification)
[Anonymous Symbol] 0x08000df8 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage)
[Anonymous Symbol] 0x08000f50 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter)
[Anonymous Symbol] 0x080010cc Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_ErrorCallback)
[Anonymous Symbol] 0x080010d4 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage)
[Anonymous Symbol] 0x080012e8 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler)
[Anonymous Symbol] 0x080016dc Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
[Anonymous Symbol] 0x080018bc Section 0 can.o(.text.HAL_CAN_MspInit)
[Anonymous Symbol] 0x080019a0 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback)
[Anonymous Symbol] 0x080019a8 Section 0 requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback)
[Anonymous Symbol] 0x08001b84 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback)
[Anonymous Symbol] 0x08001b8c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback)
[Anonymous Symbol] 0x08001b94 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback)
[Anonymous Symbol] 0x08001b9c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_Start)
[Anonymous Symbol] 0x08001c28 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback)
[Anonymous Symbol] 0x08001c30 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback)
[Anonymous Symbol] 0x08001c38 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback)
[Anonymous Symbol] 0x08001c40 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback)
[Anonymous Symbol] 0x08001c48 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback)
[Anonymous Symbol] 0x08001c50 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback)
[Anonymous Symbol] 0x08001c58 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback)
[Anonymous Symbol] 0x08001c60 Section 0 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init)
[Anonymous Symbol] 0x08001f80 Section 0 stm32f1xx_hal.o(.text.HAL_GetTick)
[Anonymous Symbol] 0x08001f8c Section 0 stm32f1xx_hal.o(.text.HAL_IncTick)
[Anonymous Symbol] 0x08001fa8 Section 0 stm32f1xx_hal.o(.text.HAL_Init)
[Anonymous Symbol] 0x08001fd0 Section 0 stm32f1xx_hal.o(.text.HAL_InitTick)
[Anonymous Symbol] 0x08002040 Section 0 stm32f1xx_hal_msp.o(.text.HAL_MspInit)
[Anonymous Symbol] 0x08002084 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ)
[Anonymous Symbol] 0x08002098 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority)
[Anonymous Symbol] 0x080020cc Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping)
[Anonymous Symbol] 0x080020dc Section 0 stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess)
[Anonymous Symbol] 0x080020e8 Section 0 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq)
[Anonymous Symbol] 0x08002280 Section 0 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig)
[Anonymous Symbol] 0x08002448 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig)
[Anonymous Symbol] 0x080026a0 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq)
[Anonymous Symbol] 0x080026ac Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq)
[Anonymous Symbol] 0x080026d0 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq)
[Anonymous Symbol] 0x0800278c Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig)
[Anonymous Symbol] 0x080027f4 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig)
[Anonymous Symbol] 0x08002e70 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate)
[Anonymous Symbol] 0x08002f0c Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime)
[Anonymous Symbol] 0x080030c0 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init)
[Anonymous Symbol] 0x080031ec Section 0 rtc.o(.text.HAL_RTC_MspInit)
[Anonymous Symbol] 0x08003238 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate)
[Anonymous Symbol] 0x080033b8 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime)
[Anonymous Symbol] 0x080034fc Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro)
[Anonymous Symbol] 0x08003560 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config)
[Anonymous Symbol] 0x08003570 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback)
[Anonymous Symbol] 0x08003578 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback)
[Anonymous Symbol] 0x08003580 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization)
[Anonymous Symbol] 0x0800365c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init)
[Anonymous Symbol] 0x080036f8 Section 0 tim.o(.text.HAL_TIM_Base_MspInit)
[Anonymous Symbol] 0x08003748 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Start_IT)
[Anonymous Symbol] 0x080037f8 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource)
[Anonymous Symbol] 0x0800397c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback)
[Anonymous Symbol] 0x08003984 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler)
[Anonymous Symbol] 0x08003c00 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback)
[Anonymous Symbol] 0x08003c08 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback)
[Anonymous Symbol] 0x08003c10 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback)
[Anonymous Symbol] 0x08003c18 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback)
[Anonymous Symbol] 0x08003c20 Section 0 stm32f1xx_it.o(.text.HardFault_Handler)
[Anonymous Symbol] 0x08003c24 Section 0 requester.o(.text.IsLeapYear)
[Anonymous Symbol] 0x08003cb4 Section 0 can.o(.text.MX_CAN_Init)
[Anonymous Symbol] 0x08003d04 Section 0 gpio.o(.text.MX_GPIO_Init)
[Anonymous Symbol] 0x08003d50 Section 0 rtc.o(.text.MX_RTC_Init)
[Anonymous Symbol] 0x08003de4 Section 0 tim.o(.text.MX_TIM4_Init)
[Anonymous Symbol] 0x08003e6c Section 0 stm32f1xx_it.o(.text.MemManage_Handler)
[Anonymous Symbol] 0x08003e70 Section 0 stm32f1xx_it.o(.text.NMI_Handler)
NVIC_EncodePriority 0x08003e75 Thumb Code 108 stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority)
[Anonymous Symbol] 0x08003e74 Section 0 stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority)
[Anonymous Symbol] 0x08003ee0 Section 0 stm32f1xx_it.o(.text.PendSV_Handler)
RCC_Delay 0x08003ee5 Thumb Code 58 stm32f1xx_hal_rcc.o(.text.RCC_Delay)
[Anonymous Symbol] 0x08003ee4 Section 0 stm32f1xx_hal_rcc.o(.text.RCC_Delay)
[Anonymous Symbol] 0x08003f20 Section 0 requester.o(.text.REQUESTER_AnalogProcessing)
[Anonymous Symbol] 0x08004008 Section 0 requester.o(.text.REQUESTER_BroadcastProcessing)
[Anonymous Symbol] 0x080040d4 Section 0 requester.o(.text.REQUESTER_CAN_FILTERS)
[Anonymous Symbol] 0x08004128 Section 0 requester.o(.text.REQUESTER_DiscreticProcessing)
[Anonymous Symbol] 0x0800423c Section 0 requester.o(.text.REQUESTER_GeneralAddressSpace_Answer)
[Anonymous Symbol] 0x08004314 Section 0 requester.o(.text.REQUESTER_Init)
[Anonymous Symbol] 0x08004358 Section 0 requester.o(.text.REQUESTER_MainWhile)
[Anonymous Symbol] 0x08004648 Section 0 requester.o(.text.REQUESTER_ModbusProcessing)
[Anonymous Symbol] 0x0800470c Section 0 requester.o(.text.REQUESTER_Pulse_TIM_Handler)
[Anonymous Symbol] 0x080047dc Section 0 requester.o(.text.REQUESTER_RTC_SYNC)
RTC_Bcd2ToByte 0x08004879 Thumb Code 42 stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte)
[Anonymous Symbol] 0x08004878 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte)
RTC_ByteToBcd2 0x080048a5 Thumb Code 58 stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2)
[Anonymous Symbol] 0x080048a4 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2)
RTC_DateUpdate 0x080048e1 Thumb Code 370 stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate)
[Anonymous Symbol] 0x080048e0 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate)
RTC_EnterInitMode 0x08004a55 Thumb Code 86 stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode)
[Anonymous Symbol] 0x08004a54 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode)
RTC_ExitInitMode 0x08004aad Thumb Code 86 stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode)
[Anonymous Symbol] 0x08004aac Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode)
RTC_IsLeapYear 0x08004b05 Thumb Code 120 stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear)
[Anonymous Symbol] 0x08004b04 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear)
RTC_ReadAlarmCounter 0x08004b7d Thumb Code 50 stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter)
[Anonymous Symbol] 0x08004b7c Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter)
RTC_ReadTimeCounter 0x08004bb1 Thumb Code 106 stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter)
[Anonymous Symbol] 0x08004bb0 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter)
RTC_WeekDayNum 0x08004c1d Thumb Code 226 stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum)
[Anonymous Symbol] 0x08004c1c Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum)
RTC_WriteAlarmCounter 0x08004d01 Thumb Code 80 stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter)
[Anonymous Symbol] 0x08004d00 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter)
RTC_WriteTimeCounter 0x08004d51 Thumb Code 80 stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter)
[Anonymous Symbol] 0x08004d50 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter)
[Anonymous Symbol] 0x08004da0 Section 0 stm32f1xx_it.o(.text.SVC_Handler)
SysTick_Config 0x08004da5 Thumb Code 82 stm32f1xx_hal_cortex.o(.text.SysTick_Config)
[Anonymous Symbol] 0x08004da4 Section 0 stm32f1xx_hal_cortex.o(.text.SysTick_Config)
[Anonymous Symbol] 0x08004df8 Section 0 stm32f1xx_it.o(.text.SysTick_Handler)
[Anonymous Symbol] 0x08004e00 Section 0 main.o(.text.SystemClock_Config)
[Anonymous Symbol] 0x08004e9c Section 0 system_stm32f1xx.o(.text.SystemInit)
[Anonymous Symbol] 0x08004ea0 Section 0 stm32f1xx_it.o(.text.TIM4_IRQHandler)
[Anonymous Symbol] 0x08004eb4 Section 0 stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig)
[Anonymous Symbol] 0x08004fa4 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig)
TIM_ITRx_SetConfig 0x08004fd9 Thumb Code 42 stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig)
[Anonymous Symbol] 0x08004fd8 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig)
TIM_TI1_ConfigInputStage 0x08005005 Thumb Code 80 stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage)
[Anonymous Symbol] 0x08005004 Section 0 stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage)
TIM_TI2_ConfigInputStage 0x08005055 Thumb Code 82 stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage)
[Anonymous Symbol] 0x08005054 Section 0 stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage)
[Anonymous Symbol] 0x080050a8 Section 0 requester.o(.text.TakeRxMsgToBuffer)
[Anonymous Symbol] 0x08005178 Section 0 stm32f1xx_it.o(.text.USB_HP_CAN1_TX_IRQHandler)
[Anonymous Symbol] 0x08005188 Section 0 stm32f1xx_it.o(.text.USB_LP_CAN1_RX0_IRQHandler)
[Anonymous Symbol] 0x08005198 Section 0 stm32f1xx_it.o(.text.UsageFault_Handler)
__NVIC_EnableIRQ 0x0800519d Thumb Code 48 stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ)
[Anonymous Symbol] 0x0800519c Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ)
__NVIC_GetPriorityGrouping 0x080051cd Thumb Code 16 stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping)
[Anonymous Symbol] 0x080051cc Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping)
__NVIC_SetPriority 0x080051dd Thumb Code 66 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority)
[Anonymous Symbol] 0x080051dc Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority)
__NVIC_SetPriorityGrouping 0x08005221 Thumb Code 60 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping)
[Anonymous Symbol] 0x08005220 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping)
__NVIC_SystemReset 0x0800525d Thumb Code 38 requester.o(.text.__NVIC_SystemReset)
[Anonymous Symbol] 0x0800525c Section 0 requester.o(.text.__NVIC_SystemReset)
[Anonymous Symbol] 0x08005284 Section 0 main.o(.text.main)
.L__const.CanRequestToBroadcastRtcSetup.DaysCount_Normal 0x080052b4 Data 96 requester.o(.rodata..L__const.CanRequestToBroadcastRtcSetup.DaysCount_Normal)
HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable 0x0800532c Data 16 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable)
[Anonymous Symbol] 0x0800532c Section 0 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable)
HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable 0x0800533c Data 2 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable)
[Anonymous Symbol] 0x0800533c Section 0 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable)
HAL_RCC_GetSysClockFreq.aPLLMULFactorTable 0x0800533e Data 16 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable)
[Anonymous Symbol] 0x0800533e Section 0 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable)
HAL_RCC_GetSysClockFreq.aPredivFactorTable 0x0800534e Data 2 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable)
[Anonymous Symbol] 0x0800534e Section 0 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable)
.bss 0x20000028 Section 96 libspace.o(.bss)
REQUESTER_Pulse_TIM_Handler.PulseStage 0x20000890 Data 4 requester.o(.bss.REQUESTER_Pulse_TIM_Handler.PulseStage)
[Anonymous Symbol] 0x20000890 Section 0 requester.o(.bss.REQUESTER_Pulse_TIM_Handler.PulseStage)
Heap_Mem 0x20001320 Data 512 startup_stm32f103xb.o(HEAP)
HEAP 0x20001320 Section 512 startup_stm32f103xb.o(HEAP)
Stack_Mem 0x20001520 Data 1024 startup_stm32f103xb.o(STACK)
STACK 0x20001520 Section 1024 startup_stm32f103xb.o(STACK)
__initial_sp 0x20001920 Data 0 startup_stm32f103xb.o(STACK)
[Anonymous Symbol] 0x08000338 Section 0 canerrorbox.o(.text.CanErrorCallbackACK)
[Anonymous Symbol] 0x08000348 Section 0 canerrorbox.o(.text.CanErrorCallbackBD)
[Anonymous Symbol] 0x08000358 Section 0 canerrorbox.o(.text.CanErrorCallbackBOF)
[Anonymous Symbol] 0x08000368 Section 0 canerrorbox.o(.text.CanErrorCallbackBR)
[Anonymous Symbol] 0x08000378 Section 0 canerrorbox.o(.text.CanErrorCallbackCRC)
[Anonymous Symbol] 0x08000388 Section 0 canerrorbox.o(.text.CanErrorCallbackEPV)
[Anonymous Symbol] 0x08000398 Section 0 canerrorbox.o(.text.CanErrorCallbackEWG)
[Anonymous Symbol] 0x080003a8 Section 0 canerrorbox.o(.text.CanErrorCallbackFOR)
[Anonymous Symbol] 0x080003b8 Section 0 canerrorbox.o(.text.CanErrorCallbackNOTINITIALIZED)
[Anonymous Symbol] 0x080003c8 Section 0 canerrorbox.o(.text.CanErrorCallbackNOTREADY)
[Anonymous Symbol] 0x080003d8 Section 0 canerrorbox.o(.text.CanErrorCallbackNOTSTARTED)
[Anonymous Symbol] 0x080003e8 Section 0 canerrorbox.o(.text.CanErrorCallbackPARAM)
[Anonymous Symbol] 0x080003f8 Section 0 canerrorbox.o(.text.CanErrorCallbackRXFOV0)
[Anonymous Symbol] 0x08000408 Section 0 canerrorbox.o(.text.CanErrorCallbackRXFOV1)
[Anonymous Symbol] 0x08000418 Section 0 canerrorbox.o(.text.CanErrorCallbackSTF)
[Anonymous Symbol] 0x08000428 Section 0 canerrorbox.o(.text.CanErrorCallbackTIMEOUT)
[Anonymous Symbol] 0x08000438 Section 0 canerrorbox.o(.text.CanErrorCallbackTXALST0)
[Anonymous Symbol] 0x08000448 Section 0 canerrorbox.o(.text.CanErrorCallbackTXALST1)
[Anonymous Symbol] 0x08000458 Section 0 canerrorbox.o(.text.CanErrorCallbackTXALST2)
[Anonymous Symbol] 0x08000468 Section 0 canerrorbox.o(.text.CanErrorCallbackTXTERR0)
[Anonymous Symbol] 0x08000478 Section 0 canerrorbox.o(.text.CanErrorCallbackTXTERR1)
[Anonymous Symbol] 0x08000488 Section 0 canerrorbox.o(.text.CanErrorCallbackTXTERR2)
[Anonymous Symbol] 0x08000498 Section 0 protocan.o(.text.CanRequestError)
[Anonymous Symbol] 0x08000510 Section 0 stm32f1xx_it.o(.text.DebugMon_Handler)
[Anonymous Symbol] 0x08000514 Section 0 main.o(.text.Error_Handler)
[Anonymous Symbol] 0x08000524 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification)
[Anonymous Symbol] 0x08000578 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage)
[Anonymous Symbol] 0x080006d0 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter)
[Anonymous Symbol] 0x0800084c Section 0 canerrorbox.o(.text.HAL_CAN_ErrorCallback)
[Anonymous Symbol] 0x080009ec Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage)
[Anonymous Symbol] 0x08000c00 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler)
[Anonymous Symbol] 0x08000ff4 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
[Anonymous Symbol] 0x08001288 Section 0 can.o(.text.HAL_CAN_MspDeInit)
[Anonymous Symbol] 0x080012e0 Section 0 can.o(.text.HAL_CAN_MspInit)
[Anonymous Symbol] 0x080013c4 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback)
[Anonymous Symbol] 0x08001544 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback)
[Anonymous Symbol] 0x0800154c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback)
[Anonymous Symbol] 0x08001554 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback)
[Anonymous Symbol] 0x0800155c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback)
[Anonymous Symbol] 0x08001564 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback)
[Anonymous Symbol] 0x0800156c Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_Start)
[Anonymous Symbol] 0x080015f8 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback)
[Anonymous Symbol] 0x08001600 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback)
[Anonymous Symbol] 0x08001608 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback)
[Anonymous Symbol] 0x08001610 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback)
[Anonymous Symbol] 0x08001618 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback)
[Anonymous Symbol] 0x08001620 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback)
[Anonymous Symbol] 0x08001628 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
[Anonymous Symbol] 0x080017f0 Section 0 stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback)
[Anonymous Symbol] 0x080017f8 Section 0 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_DeInit)
[Anonymous Symbol] 0x08001998 Section 0 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init)
[Anonymous Symbol] 0x08001cb8 Section 0 stm32f1xx_hal.o(.text.HAL_GetTick)
[Anonymous Symbol] 0x08001cc4 Section 0 stm32f1xx_hal.o(.text.HAL_IncTick)
[Anonymous Symbol] 0x08001ce0 Section 0 stm32f1xx_hal.o(.text.HAL_Init)
[Anonymous Symbol] 0x08001d08 Section 0 stm32f1xx_hal.o(.text.HAL_InitTick)
[Anonymous Symbol] 0x08001d78 Section 0 stm32f1xx_hal_msp.o(.text.HAL_MspInit)
[Anonymous Symbol] 0x08001dbc Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ)
[Anonymous Symbol] 0x08001dd0 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ)
[Anonymous Symbol] 0x08001de4 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority)
[Anonymous Symbol] 0x08001e18 Section 0 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping)
[Anonymous Symbol] 0x08001e28 Section 0 stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess)
[Anonymous Symbol] 0x08001e34 Section 0 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq)
[Anonymous Symbol] 0x08001fcc Section 0 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig)
[Anonymous Symbol] 0x08002194 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig)
[Anonymous Symbol] 0x080023ec Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq)
[Anonymous Symbol] 0x080023f8 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq)
[Anonymous Symbol] 0x0800241c Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq)
[Anonymous Symbol] 0x080024d8 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig)
[Anonymous Symbol] 0x08002540 Section 0 stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig)
[Anonymous Symbol] 0x08002bbc Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate)
[Anonymous Symbol] 0x08002c58 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime)
[Anonymous Symbol] 0x08002e0c Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init)
[Anonymous Symbol] 0x08002f38 Section 0 rtc.o(.text.HAL_RTC_MspInit)
[Anonymous Symbol] 0x08002f84 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate)
[Anonymous Symbol] 0x08003104 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime)
[Anonymous Symbol] 0x08003248 Section 0 stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro)
[Anonymous Symbol] 0x080032ac Section 0 stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config)
[Anonymous Symbol] 0x080032bc Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback)
[Anonymous Symbol] 0x080032c4 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback)
[Anonymous Symbol] 0x080032cc Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback)
[Anonymous Symbol] 0x080032d4 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit)
[Anonymous Symbol] 0x080032dc Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit)
[Anonymous Symbol] 0x080032e4 Section 0 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization)
[Anonymous Symbol] 0x080033c0 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init)
[Anonymous Symbol] 0x08003478 Section 0 tim.o(.text.HAL_TIM_Base_MspDeInit)
[Anonymous Symbol] 0x080034ac Section 0 tim.o(.text.HAL_TIM_Base_MspInit)
[Anonymous Symbol] 0x080034fc Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource)
[Anonymous Symbol] 0x08003680 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit)
[Anonymous Symbol] 0x08003688 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit)
[Anonymous Symbol] 0x08003690 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback)
[Anonymous Symbol] 0x08003698 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback)
[Anonymous Symbol] 0x080036a0 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback)
[Anonymous Symbol] 0x080036a8 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit)
[Anonymous Symbol] 0x080036b0 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit)
[Anonymous Symbol] 0x080036b8 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler)
[Anonymous Symbol] 0x08003954 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback)
[Anonymous Symbol] 0x0800395c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit)
[Anonymous Symbol] 0x08003964 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit)
[Anonymous Symbol] 0x0800396c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit)
[Anonymous Symbol] 0x08003974 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit)
[Anonymous Symbol] 0x0800397c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit)
[Anonymous Symbol] 0x08003984 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit)
[Anonymous Symbol] 0x0800398c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback)
[Anonymous Symbol] 0x08003994 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback)
[Anonymous Symbol] 0x0800399c Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback)
[Anonymous Symbol] 0x080039a4 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback)
[Anonymous Symbol] 0x080039ac Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback)
[Anonymous Symbol] 0x08003c50 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback)
[Anonymous Symbol] 0x08003c58 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback)
[Anonymous Symbol] 0x08003c60 Section 0 stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
[Anonymous Symbol] 0x08003fe4 Section 0 stm32f1xx_it.o(.text.HardFault_Handler)
[Anonymous Symbol] 0x08003fe8 Section 0 protocan.o(.text.IsLeapYear)
[Anonymous Symbol] 0x08004078 Section 0 can.o(.text.MX_CAN_Init)
[Anonymous Symbol] 0x080040c8 Section 0 gpio.o(.text.MX_GPIO_Init)
[Anonymous Symbol] 0x08004114 Section 0 rtc.o(.text.MX_RTC_Init)
[Anonymous Symbol] 0x080041a8 Section 0 tim.o(.text.MX_TIM4_Init)
[Anonymous Symbol] 0x08004230 Section 0 stm32f1xx_it.o(.text.MemManage_Handler)
[Anonymous Symbol] 0x08004234 Section 0 stm32f1xx_it.o(.text.NMI_Handler)
NVIC_EncodePriority 0x08004239 Thumb Code 108 stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority)
[Anonymous Symbol] 0x08004238 Section 0 stm32f1xx_hal_cortex.o(.text.NVIC_EncodePriority)
[Anonymous Symbol] 0x080042a4 Section 0 protocan.o(.text.PROTOCAN_AnalogProcessing)
[Anonymous Symbol] 0x08004388 Section 0 protocan.o(.text.PROTOCAN_BroadcastProcessing)
[Anonymous Symbol] 0x08004448 Section 0 protocan.o(.text.PROTOCAN_CONFIG_FILTER)
[Anonymous Symbol] 0x080044ac Section 0 protocan.o(.text.PROTOCAN_DEINIT)
[Anonymous Symbol] 0x080044f4 Section 0 protocan.o(.text.PROTOCAN_DiscreticProcessing)
[Anonymous Symbol] 0x08004604 Section 0 protocan.o(.text.PROTOCAN_FILTERS)
[Anonymous Symbol] 0x08004644 Section 0 protocan.o(.text.PROTOCAN_INIT)
[Anonymous Symbol] 0x0800474c Section 0 protocan.o(.text.PROTOCAN_LOOP)
[Anonymous Symbol] 0x08004a90 Section 0 protocan.o(.text.PROTOCAN_ModbusProcessing)
[Anonymous Symbol] 0x08004b54 Section 0 protocan.o(.text.PROTOCAN_RTC_SYNC)
[Anonymous Symbol] 0x08004bf8 Section 0 protocan.o(.text.PROTOCAN_SEND)
[Anonymous Symbol] 0x08004c38 Section 0 protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE)
[Anonymous Symbol] 0x08004d54 Section 0 stm32f1xx_it.o(.text.PendSV_Handler)
[Anonymous Symbol] 0x08004d58 Section 0 protocan.o(.text.ProtoCanMsgToAnalogISens)
[Anonymous Symbol] 0x08004e64 Section 0 protocan.o(.text.ProtoCanMsgToAnalogSettings)
[Anonymous Symbol] 0x08004eec Section 0 protocan.o(.text.ProtoCanMsgToAnalogTSens)
[Anonymous Symbol] 0x08004ff8 Section 0 protocan.o(.text.ProtoCanMsgToAnalogUSens)
[Anonymous Symbol] 0x08005104 Section 0 protocan.o(.text.ProtoCanMsgToAnalogUniversal)
[Anonymous Symbol] 0x08005184 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastOnOff)
[Anonymous Symbol] 0x080051b4 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastRestart)
[Anonymous Symbol] 0x08005254 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup)
[Anonymous Symbol] 0x08005314 Section 0 protocan.o(.text.ProtoCanMsgToBroadcastStatus)
[Anonymous Symbol] 0x080053f0 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteAccident)
[Anonymous Symbol] 0x0800540c Section 0 protocan.o(.text.ProtoCanMsgToDiscreteChangeMode)
[Anonymous Symbol] 0x08005428 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteControlSignals)
[Anonymous Symbol] 0x08005444 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteFlags)
[Anonymous Symbol] 0x08005460 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters)
[Anonymous Symbol] 0x0800547c Section 0 protocan.o(.text.ProtoCanMsgToDiscreteReset)
[Anonymous Symbol] 0x08005494 Section 0 protocan.o(.text.ProtoCanMsgToDiscreteWarning)
[Anonymous Symbol] 0x080054b0 Section 0 protocan.o(.text.ProtoCanMsgToGeneralAddressSpace)
[Anonymous Symbol] 0x08005588 Section 0 protocan.o(.text.ProtoCanMsgToModbusCoil)
[Anonymous Symbol] 0x08005620 Section 0 protocan.o(.text.ProtoCanMsgToModbusDiscrete)
[Anonymous Symbol] 0x080056bc Section 0 protocan.o(.text.ProtoCanMsgToModbusHolding)
[Anonymous Symbol] 0x08005758 Section 0 protocan.o(.text.ProtoCanMsgToModbusInput)
[Anonymous Symbol] 0x080057f4 Section 0 protocan.o(.text.ProtoCanPulseCallback)
[Anonymous Symbol] 0x080058c8 Section 0 protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback)
RCC_Delay 0x080059a1 Thumb Code 58 stm32f1xx_hal_rcc.o(.text.RCC_Delay)
[Anonymous Symbol] 0x080059a0 Section 0 stm32f1xx_hal_rcc.o(.text.RCC_Delay)
RTC_Bcd2ToByte 0x080059dd Thumb Code 42 stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte)
[Anonymous Symbol] 0x080059dc Section 0 stm32f1xx_hal_rtc.o(.text.RTC_Bcd2ToByte)
RTC_ByteToBcd2 0x08005a09 Thumb Code 58 stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2)
[Anonymous Symbol] 0x08005a08 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ByteToBcd2)
RTC_DateUpdate 0x08005a45 Thumb Code 370 stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate)
[Anonymous Symbol] 0x08005a44 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_DateUpdate)
RTC_EnterInitMode 0x08005bb9 Thumb Code 86 stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode)
[Anonymous Symbol] 0x08005bb8 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_EnterInitMode)
RTC_ExitInitMode 0x08005c11 Thumb Code 86 stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode)
[Anonymous Symbol] 0x08005c10 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ExitInitMode)
RTC_IsLeapYear 0x08005c69 Thumb Code 120 stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear)
[Anonymous Symbol] 0x08005c68 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_IsLeapYear)
RTC_ReadAlarmCounter 0x08005ce1 Thumb Code 50 stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter)
[Anonymous Symbol] 0x08005ce0 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ReadAlarmCounter)
RTC_ReadTimeCounter 0x08005d15 Thumb Code 106 stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter)
[Anonymous Symbol] 0x08005d14 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_ReadTimeCounter)
RTC_WeekDayNum 0x08005d81 Thumb Code 226 stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum)
[Anonymous Symbol] 0x08005d80 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WeekDayNum)
RTC_WriteAlarmCounter 0x08005e65 Thumb Code 80 stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter)
[Anonymous Symbol] 0x08005e64 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WriteAlarmCounter)
RTC_WriteTimeCounter 0x08005eb5 Thumb Code 80 stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter)
[Anonymous Symbol] 0x08005eb4 Section 0 stm32f1xx_hal_rtc.o(.text.RTC_WriteTimeCounter)
[Anonymous Symbol] 0x08005f04 Section 0 stm32f1xx_it.o(.text.SVC_Handler)
SysTick_Config 0x08005f09 Thumb Code 82 stm32f1xx_hal_cortex.o(.text.SysTick_Config)
[Anonymous Symbol] 0x08005f08 Section 0 stm32f1xx_hal_cortex.o(.text.SysTick_Config)
[Anonymous Symbol] 0x08005f5c Section 0 stm32f1xx_it.o(.text.SysTick_Handler)
[Anonymous Symbol] 0x08005f64 Section 0 main.o(.text.SystemClock_Config)
[Anonymous Symbol] 0x08006000 Section 0 system_stm32f1xx.o(.text.SystemInit)
[Anonymous Symbol] 0x08006004 Section 0 stm32f1xx_it.o(.text.TIM4_IRQHandler)
[Anonymous Symbol] 0x08006014 Section 0 stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig)
[Anonymous Symbol] 0x08006104 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig)
TIM_ITRx_SetConfig 0x08006139 Thumb Code 42 stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig)
[Anonymous Symbol] 0x08006138 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ITRx_SetConfig)
[Anonymous Symbol] 0x08006164 Section 0 stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
TIM_TI1_ConfigInputStage 0x08006225 Thumb Code 80 stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage)
[Anonymous Symbol] 0x08006224 Section 0 stm32f1xx_hal_tim.o(.text.TIM_TI1_ConfigInputStage)
TIM_TI2_ConfigInputStage 0x08006275 Thumb Code 82 stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage)
[Anonymous Symbol] 0x08006274 Section 0 stm32f1xx_hal_tim.o(.text.TIM_TI2_ConfigInputStage)
[Anonymous Symbol] 0x080062c8 Section 0 protocan.o(.text.TakeRxMsgToBuffer)
[Anonymous Symbol] 0x08006398 Section 0 stm32f1xx_it.o(.text.USB_HP_CAN1_TX_IRQHandler)
[Anonymous Symbol] 0x080063a8 Section 0 stm32f1xx_it.o(.text.USB_LP_CAN1_RX0_IRQHandler)
[Anonymous Symbol] 0x080063b8 Section 0 stm32f1xx_it.o(.text.UsageFault_Handler)
__NVIC_DisableIRQ 0x080063bd Thumb Code 56 stm32f1xx_hal_cortex.o(.text.__NVIC_DisableIRQ)
[Anonymous Symbol] 0x080063bc Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_DisableIRQ)
__NVIC_EnableIRQ 0x080063f5 Thumb Code 48 stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ)
[Anonymous Symbol] 0x080063f4 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_EnableIRQ)
__NVIC_GetPriorityGrouping 0x08006425 Thumb Code 16 stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping)
[Anonymous Symbol] 0x08006424 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_GetPriorityGrouping)
__NVIC_SetPriority 0x08006435 Thumb Code 66 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority)
[Anonymous Symbol] 0x08006434 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriority)
__NVIC_SetPriorityGrouping 0x08006479 Thumb Code 60 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping)
[Anonymous Symbol] 0x08006478 Section 0 stm32f1xx_hal_cortex.o(.text.__NVIC_SetPriorityGrouping)
__NVIC_SystemReset 0x080064b5 Thumb Code 38 protocan.o(.text.__NVIC_SystemReset)
[Anonymous Symbol] 0x080064b4 Section 0 protocan.o(.text.__NVIC_SystemReset)
[Anonymous Symbol] 0x080064dc Section 0 main.o(.text.main)
.L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal 0x08006544 Data 96 protocan.o(.rodata..L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal)
HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable 0x080065bc Data 16 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable)
[Anonymous Symbol] 0x080065bc Section 0 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable)
HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable 0x080065cc Data 2 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable)
[Anonymous Symbol] 0x080065cc Section 0 stm32f1xx_hal_rcc_ex.o(.rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable)
HAL_RCC_GetSysClockFreq.aPLLMULFactorTable 0x080065ce Data 16 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable)
[Anonymous Symbol] 0x080065ce Section 0 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable)
HAL_RCC_GetSysClockFreq.aPredivFactorTable 0x080065de Data 2 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable)
[Anonymous Symbol] 0x080065de Section 0 stm32f1xx_hal_rcc.o(.rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable)
.bss 0x20000010 Section 96 libspace.o(.bss)
ProtoCanPulseCallback.PulseStage 0x200008d0 Data 4 protocan.o(.bss.ProtoCanPulseCallback.PulseStage)
[Anonymous Symbol] 0x200008d0 Section 0 protocan.o(.bss.ProtoCanPulseCallback.PulseStage)
Heap_Mem 0x20001410 Data 512 startup_stm32f103xb.o(HEAP)
HEAP 0x20001410 Section 512 startup_stm32f103xb.o(HEAP)
Stack_Mem 0x20001610 Data 1024 startup_stm32f103xb.o(STACK)
STACK 0x20001610 Section 1024 startup_stm32f103xb.o(STACK)
__initial_sp 0x20001a10 Data 0 startup_stm32f103xb.o(STACK)
Global Symbols
@@ -2414,149 +2602,199 @@ Image Symbol Table
__I$use$semihosting 0x080002f1 Thumb Code 0 use_no_semi.o(.text)
__use_no_semihosting_swi 0x080002f1 Thumb Code 2 use_no_semi.o(.text)
__semihosting_library_function 0x080002f3 Thumb Code 0 indicate_semi.o(.text)
AvailableCanRxMsg 0x080002f5 Thumb Code 30 requester.o(.text.AvailableCanRxMsg)
AvailableCanRxMsg 0x080002f5 Thumb Code 30 protocan.o(.text.AvailableCanRxMsg)
BusFault_Handler 0x08000315 Thumb Code 4 stm32f1xx_it.o(.text.BusFault_Handler)
CAN1_RX1_IRQHandler 0x08000319 Thumb Code 16 stm32f1xx_it.o(.text.CAN1_RX1_IRQHandler)
CAN1_SCE_IRQHandler 0x08000329 Thumb Code 16 stm32f1xx_it.o(.text.CAN1_SCE_IRQHandler)
CONFIG_CAN_FILTER 0x08000339 Thumb Code 98 requester.o(.text.CONFIG_CAN_FILTER)
CanRequestError 0x0800039d Thumb Code 120 requester.o(.text.CanRequestError)
CanRequestToAnalogISens 0x08000415 Thumb Code 266 requester.o(.text.CanRequestToAnalogISens)
CanRequestToAnalogTSens 0x08000521 Thumb Code 266 requester.o(.text.CanRequestToAnalogTSens)
CanRequestToAnalogUSTAVKI 0x0800062d Thumb Code 132 requester.o(.text.CanRequestToAnalogUSTAVKI)
CanRequestToAnalogUSens 0x080006b1 Thumb Code 266 requester.o(.text.CanRequestToAnalogUSens)
CanRequestToAnalogUniversal 0x080007bd Thumb Code 126 requester.o(.text.CanRequestToAnalogUniversal)
CanRequestToBroadcastOnOff 0x0800083d Thumb Code 46 requester.o(.text.CanRequestToBroadcastOnOff)
CanRequestToBroadcastRestart 0x0800086d Thumb Code 146 requester.o(.text.CanRequestToBroadcastRestart)
CanRequestToBroadcastRtcSetup 0x08000901 Thumb Code 168 requester.o(.text.CanRequestToBroadcastRtcSetup)
CanRequestToBroadcastStatus 0x080009a9 Thumb Code 212 requester.o(.text.CanRequestToBroadcastStatus)
CanRequestToDiscreteAccident 0x08000a7d Thumb Code 24 requester.o(.text.CanRequestToDiscreteAccident)
CanRequestToDiscreteChangeMode 0x08000a95 Thumb Code 24 requester.o(.text.CanRequestToDiscreteChangeMode)
CanRequestToDiscreteControlSignals 0x08000aad Thumb Code 24 requester.o(.text.CanRequestToDiscreteControlSignals)
CanRequestToDiscreteFlags 0x08000ac5 Thumb Code 24 requester.o(.text.CanRequestToDiscreteFlags)
CanRequestToDiscreteRequestListOfParameters 0x08000add Thumb Code 24 requester.o(.text.CanRequestToDiscreteRequestListOfParameters)
CanRequestToDiscreteReset 0x08000af5 Thumb Code 24 requester.o(.text.CanRequestToDiscreteReset)
CanRequestToDiscreteWarning 0x08000b0d Thumb Code 24 requester.o(.text.CanRequestToDiscreteWarning)
CanRequestToModbusCoil 0x08000b25 Thumb Code 152 requester.o(.text.CanRequestToModbusCoil)
CanRequestToModbusDiscrete 0x08000bbd Thumb Code 154 requester.o(.text.CanRequestToModbusDiscrete)
CanRequestToModbusHolding 0x08000c59 Thumb Code 154 requester.o(.text.CanRequestToModbusHolding)
CanRequestToModbusInput 0x08000cf5 Thumb Code 154 requester.o(.text.CanRequestToModbusInput)
DebugMon_Handler 0x08000d91 Thumb Code 2 stm32f1xx_it.o(.text.DebugMon_Handler)
Error_Handler 0x08000d95 Thumb Code 14 main.o(.text.Error_Handler)
HAL_CAN_ActivateNotification 0x08000da5 Thumb Code 82 stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification)
HAL_CAN_AddTxMessage 0x08000df9 Thumb Code 342 stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage)
HAL_CAN_ConfigFilter 0x08000f51 Thumb Code 378 stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter)
HAL_CAN_ErrorCallback 0x080010cd Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_ErrorCallback)
HAL_CAN_GetRxMessage 0x080010d5 Thumb Code 530 stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage)
HAL_CAN_IRQHandler 0x080012e9 Thumb Code 1010 stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler)
HAL_CAN_Init 0x080016dd Thumb Code 478 stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
HAL_CAN_MspInit 0x080018bd Thumb Code 226 can.o(.text.HAL_CAN_MspInit)
HAL_CAN_RxFifo0FullCallback 0x080019a1 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback)
HAL_CAN_RxFifo0MsgPendingCallback 0x080019a9 Thumb Code 474 requester.o(.text.HAL_CAN_RxFifo0MsgPendingCallback)
HAL_CAN_RxFifo1FullCallback 0x08001b85 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback)
HAL_CAN_RxFifo1MsgPendingCallback 0x08001b8d Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback)
HAL_CAN_SleepCallback 0x08001b95 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback)
HAL_CAN_Start 0x08001b9d Thumb Code 138 stm32f1xx_hal_can.o(.text.HAL_CAN_Start)
HAL_CAN_TxMailbox0AbortCallback 0x08001c29 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback)
HAL_CAN_TxMailbox0CompleteCallback 0x08001c31 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback)
HAL_CAN_TxMailbox1AbortCallback 0x08001c39 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback)
HAL_CAN_TxMailbox1CompleteCallback 0x08001c41 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback)
HAL_CAN_TxMailbox2AbortCallback 0x08001c49 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback)
HAL_CAN_TxMailbox2CompleteCallback 0x08001c51 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback)
HAL_CAN_WakeUpFromRxMsgCallback 0x08001c59 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback)
HAL_GPIO_Init 0x08001c61 Thumb Code 798 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init)
HAL_GetTick 0x08001f81 Thumb Code 12 stm32f1xx_hal.o(.text.HAL_GetTick)
HAL_IncTick 0x08001f8d Thumb Code 26 stm32f1xx_hal.o(.text.HAL_IncTick)
HAL_Init 0x08001fa9 Thumb Code 38 stm32f1xx_hal.o(.text.HAL_Init)
HAL_InitTick 0x08001fd1 Thumb Code 112 stm32f1xx_hal.o(.text.HAL_InitTick)
HAL_MspInit 0x08002041 Thumb Code 66 stm32f1xx_hal_msp.o(.text.HAL_MspInit)
HAL_NVIC_EnableIRQ 0x08002085 Thumb Code 20 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ)
HAL_NVIC_SetPriority 0x08002099 Thumb Code 50 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority)
HAL_NVIC_SetPriorityGrouping 0x080020cd Thumb Code 16 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping)
HAL_PWR_EnableBkUpAccess 0x080020dd Thumb Code 12 stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess)
HAL_RCCEx_GetPeriphCLKFreq 0x080020e9 Thumb Code 406 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq)
HAL_RCCEx_PeriphCLKConfig 0x08002281 Thumb Code 456 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig)
HAL_RCC_ClockConfig 0x08002449 Thumb Code 598 stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig)
HAL_RCC_GetHCLKFreq 0x080026a1 Thumb Code 12 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq)
HAL_RCC_GetPCLK2Freq 0x080026ad Thumb Code 34 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq)
HAL_RCC_GetSysClockFreq 0x080026d1 Thumb Code 188 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq)
HAL_RCC_MCOConfig 0x0800278d Thumb Code 104 stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig)
HAL_RCC_OscConfig 0x080027f5 Thumb Code 1658 stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig)
HAL_RTC_GetDate 0x08002e71 Thumb Code 154 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate)
HAL_RTC_GetTime 0x08002f0d Thumb Code 434 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime)
HAL_RTC_Init 0x080030c1 Thumb Code 298 stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init)
HAL_RTC_MspInit 0x080031ed Thumb Code 76 rtc.o(.text.HAL_RTC_MspInit)
HAL_RTC_SetDate 0x08003239 Thumb Code 382 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate)
HAL_RTC_SetTime 0x080033b9 Thumb Code 322 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime)
HAL_RTC_WaitForSynchro 0x080034fd Thumb Code 100 stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro)
HAL_SYSTICK_Config 0x08003561 Thumb Code 16 stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config)
HAL_TIMEx_BreakCallback 0x08003571 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback)
HAL_TIMEx_CommutCallback 0x08003579 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback)
HAL_TIMEx_MasterConfigSynchronization 0x08003581 Thumb Code 220 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization)
HAL_TIM_Base_Init 0x0800365d Thumb Code 156 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init)
HAL_TIM_Base_MspInit 0x080036f9 Thumb Code 78 tim.o(.text.HAL_TIM_Base_MspInit)
HAL_TIM_Base_Start_IT 0x08003749 Thumb Code 176 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Start_IT)
HAL_TIM_ConfigClockSource 0x080037f9 Thumb Code 388 stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource)
HAL_TIM_IC_CaptureCallback 0x0800397d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback)
HAL_TIM_IRQHandler 0x08003985 Thumb Code 634 stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler)
HAL_TIM_OC_DelayElapsedCallback 0x08003c01 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback)
HAL_TIM_PWM_PulseFinishedCallback 0x08003c09 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback)
HAL_TIM_PeriodElapsedCallback 0x08003c11 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback)
HAL_TIM_TriggerCallback 0x08003c19 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback)
HardFault_Handler 0x08003c21 Thumb Code 4 stm32f1xx_it.o(.text.HardFault_Handler)
IsLeapYear 0x08003c25 Thumb Code 142 requester.o(.text.IsLeapYear)
MX_CAN_Init 0x08003cb5 Thumb Code 78 can.o(.text.MX_CAN_Init)
MX_GPIO_Init 0x08003d05 Thumb Code 74 gpio.o(.text.MX_GPIO_Init)
MX_RTC_Init 0x08003d51 Thumb Code 148 rtc.o(.text.MX_RTC_Init)
MX_TIM4_Init 0x08003de5 Thumb Code 134 tim.o(.text.MX_TIM4_Init)
MemManage_Handler 0x08003e6d Thumb Code 4 stm32f1xx_it.o(.text.MemManage_Handler)
NMI_Handler 0x08003e71 Thumb Code 4 stm32f1xx_it.o(.text.NMI_Handler)
PendSV_Handler 0x08003ee1 Thumb Code 2 stm32f1xx_it.o(.text.PendSV_Handler)
REQUESTER_AnalogProcessing 0x08003f21 Thumb Code 232 requester.o(.text.REQUESTER_AnalogProcessing)
REQUESTER_BroadcastProcessing 0x08004009 Thumb Code 204 requester.o(.text.REQUESTER_BroadcastProcessing)
REQUESTER_CAN_FILTERS 0x080040d5 Thumb Code 82 requester.o(.text.REQUESTER_CAN_FILTERS)
REQUESTER_DiscreticProcessing 0x08004129 Thumb Code 276 requester.o(.text.REQUESTER_DiscreticProcessing)
REQUESTER_GeneralAddressSpace_Answer 0x0800423d Thumb Code 214 requester.o(.text.REQUESTER_GeneralAddressSpace_Answer)
REQUESTER_Init 0x08004315 Thumb Code 68 requester.o(.text.REQUESTER_Init)
REQUESTER_MainWhile 0x08004359 Thumb Code 752 requester.o(.text.REQUESTER_MainWhile)
REQUESTER_ModbusProcessing 0x08004649 Thumb Code 196 requester.o(.text.REQUESTER_ModbusProcessing)
REQUESTER_Pulse_TIM_Handler 0x0800470d Thumb Code 208 requester.o(.text.REQUESTER_Pulse_TIM_Handler)
REQUESTER_RTC_SYNC 0x080047dd Thumb Code 156 requester.o(.text.REQUESTER_RTC_SYNC)
SVC_Handler 0x08004da1 Thumb Code 2 stm32f1xx_it.o(.text.SVC_Handler)
SysTick_Handler 0x08004df9 Thumb Code 8 stm32f1xx_it.o(.text.SysTick_Handler)
SystemClock_Config 0x08004e01 Thumb Code 156 main.o(.text.SystemClock_Config)
SystemInit 0x08004e9d Thumb Code 2 system_stm32f1xx.o(.text.SystemInit)
TIM4_IRQHandler 0x08004ea1 Thumb Code 20 stm32f1xx_it.o(.text.TIM4_IRQHandler)
TIM_Base_SetConfig 0x08004eb5 Thumb Code 240 stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig)
TIM_ETR_SetConfig 0x08004fa5 Thumb Code 52 stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig)
TakeRxMsgToBuffer 0x080050a9 Thumb Code 208 requester.o(.text.TakeRxMsgToBuffer)
USB_HP_CAN1_TX_IRQHandler 0x08005179 Thumb Code 16 stm32f1xx_it.o(.text.USB_HP_CAN1_TX_IRQHandler)
USB_LP_CAN1_RX0_IRQHandler 0x08005189 Thumb Code 16 stm32f1xx_it.o(.text.USB_LP_CAN1_RX0_IRQHandler)
UsageFault_Handler 0x08005199 Thumb Code 4 stm32f1xx_it.o(.text.UsageFault_Handler)
main 0x08005285 Thumb Code 48 main.o(.text.main)
AHBPrescTable 0x08005314 Data 16 system_stm32f1xx.o(.rodata.AHBPrescTable)
APBPrescTable 0x08005324 Data 8 system_stm32f1xx.o(.rodata.APBPrescTable)
Region$$Table$$Base 0x08005350 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08005370 Number 0 anon$$obj.o(Region$$Table)
CurrentStep 0x20000000 Data 1 requester.o(.data.CurrentStep)
CanErrorCallbackACK 0x08000339 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackACK)
CanErrorCallbackBD 0x08000349 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackBD)
CanErrorCallbackBOF 0x08000359 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackBOF)
CanErrorCallbackBR 0x08000369 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackBR)
CanErrorCallbackCRC 0x08000379 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackCRC)
CanErrorCallbackEPV 0x08000389 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackEPV)
CanErrorCallbackEWG 0x08000399 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackEWG)
CanErrorCallbackFOR 0x080003a9 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackFOR)
CanErrorCallbackNOTINITIALIZED 0x080003b9 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackNOTINITIALIZED)
CanErrorCallbackNOTREADY 0x080003c9 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackNOTREADY)
CanErrorCallbackNOTSTARTED 0x080003d9 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackNOTSTARTED)
CanErrorCallbackPARAM 0x080003e9 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackPARAM)
CanErrorCallbackRXFOV0 0x080003f9 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackRXFOV0)
CanErrorCallbackRXFOV1 0x08000409 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackRXFOV1)
CanErrorCallbackSTF 0x08000419 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackSTF)
CanErrorCallbackTIMEOUT 0x08000429 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTIMEOUT)
CanErrorCallbackTXALST0 0x08000439 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTXALST0)
CanErrorCallbackTXALST1 0x08000449 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTXALST1)
CanErrorCallbackTXALST2 0x08000459 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTXALST2)
CanErrorCallbackTXTERR0 0x08000469 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTXTERR0)
CanErrorCallbackTXTERR1 0x08000479 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTXTERR1)
CanErrorCallbackTXTERR2 0x08000489 Thumb Code 16 canerrorbox.o(.text.CanErrorCallbackTXTERR2)
CanRequestError 0x08000499 Thumb Code 120 protocan.o(.text.CanRequestError)
DebugMon_Handler 0x08000511 Thumb Code 2 stm32f1xx_it.o(.text.DebugMon_Handler)
Error_Handler 0x08000515 Thumb Code 14 main.o(.text.Error_Handler)
HAL_CAN_ActivateNotification 0x08000525 Thumb Code 82 stm32f1xx_hal_can.o(.text.HAL_CAN_ActivateNotification)
HAL_CAN_AddTxMessage 0x08000579 Thumb Code 342 stm32f1xx_hal_can.o(.text.HAL_CAN_AddTxMessage)
HAL_CAN_ConfigFilter 0x080006d1 Thumb Code 378 stm32f1xx_hal_can.o(.text.HAL_CAN_ConfigFilter)
HAL_CAN_ErrorCallback 0x0800084d Thumb Code 414 canerrorbox.o(.text.HAL_CAN_ErrorCallback)
HAL_CAN_GetRxMessage 0x080009ed Thumb Code 530 stm32f1xx_hal_can.o(.text.HAL_CAN_GetRxMessage)
HAL_CAN_IRQHandler 0x08000c01 Thumb Code 1010 stm32f1xx_hal_can.o(.text.HAL_CAN_IRQHandler)
HAL_CAN_Init 0x08000ff5 Thumb Code 658 stm32f1xx_hal_can.o(.text.HAL_CAN_Init)
HAL_CAN_MspDeInit 0x08001289 Thumb Code 86 can.o(.text.HAL_CAN_MspDeInit)
HAL_CAN_MspInit 0x080012e1 Thumb Code 226 can.o(.text.HAL_CAN_MspInit)
HAL_CAN_RegisterCallback 0x080013c5 Thumb Code 382 stm32f1xx_hal_can.o(.text.HAL_CAN_RegisterCallback)
HAL_CAN_RxFifo0FullCallback 0x08001545 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0FullCallback)
HAL_CAN_RxFifo0MsgPendingCallback 0x0800154d Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo0MsgPendingCallback)
HAL_CAN_RxFifo1FullCallback 0x08001555 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1FullCallback)
HAL_CAN_RxFifo1MsgPendingCallback 0x0800155d Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_RxFifo1MsgPendingCallback)
HAL_CAN_SleepCallback 0x08001565 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_SleepCallback)
HAL_CAN_Start 0x0800156d Thumb Code 138 stm32f1xx_hal_can.o(.text.HAL_CAN_Start)
HAL_CAN_TxMailbox0AbortCallback 0x080015f9 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0AbortCallback)
HAL_CAN_TxMailbox0CompleteCallback 0x08001601 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox0CompleteCallback)
HAL_CAN_TxMailbox1AbortCallback 0x08001609 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1AbortCallback)
HAL_CAN_TxMailbox1CompleteCallback 0x08001611 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox1CompleteCallback)
HAL_CAN_TxMailbox2AbortCallback 0x08001619 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2AbortCallback)
HAL_CAN_TxMailbox2CompleteCallback 0x08001621 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_TxMailbox2CompleteCallback)
HAL_CAN_UnRegisterCallback 0x08001629 Thumb Code 454 stm32f1xx_hal_can.o(.text.HAL_CAN_UnRegisterCallback)
HAL_CAN_WakeUpFromRxMsgCallback 0x080017f1 Thumb Code 8 stm32f1xx_hal_can.o(.text.HAL_CAN_WakeUpFromRxMsgCallback)
HAL_GPIO_DeInit 0x080017f9 Thumb Code 414 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_DeInit)
HAL_GPIO_Init 0x08001999 Thumb Code 798 stm32f1xx_hal_gpio.o(.text.HAL_GPIO_Init)
HAL_GetTick 0x08001cb9 Thumb Code 12 stm32f1xx_hal.o(.text.HAL_GetTick)
HAL_IncTick 0x08001cc5 Thumb Code 26 stm32f1xx_hal.o(.text.HAL_IncTick)
HAL_Init 0x08001ce1 Thumb Code 38 stm32f1xx_hal.o(.text.HAL_Init)
HAL_InitTick 0x08001d09 Thumb Code 112 stm32f1xx_hal.o(.text.HAL_InitTick)
HAL_MspInit 0x08001d79 Thumb Code 66 stm32f1xx_hal_msp.o(.text.HAL_MspInit)
HAL_NVIC_DisableIRQ 0x08001dbd Thumb Code 20 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_DisableIRQ)
HAL_NVIC_EnableIRQ 0x08001dd1 Thumb Code 20 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_EnableIRQ)
HAL_NVIC_SetPriority 0x08001de5 Thumb Code 50 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriority)
HAL_NVIC_SetPriorityGrouping 0x08001e19 Thumb Code 16 stm32f1xx_hal_cortex.o(.text.HAL_NVIC_SetPriorityGrouping)
HAL_PWR_EnableBkUpAccess 0x08001e29 Thumb Code 12 stm32f1xx_hal_pwr.o(.text.HAL_PWR_EnableBkUpAccess)
HAL_RCCEx_GetPeriphCLKFreq 0x08001e35 Thumb Code 406 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_GetPeriphCLKFreq)
HAL_RCCEx_PeriphCLKConfig 0x08001fcd Thumb Code 456 stm32f1xx_hal_rcc_ex.o(.text.HAL_RCCEx_PeriphCLKConfig)
HAL_RCC_ClockConfig 0x08002195 Thumb Code 598 stm32f1xx_hal_rcc.o(.text.HAL_RCC_ClockConfig)
HAL_RCC_GetHCLKFreq 0x080023ed Thumb Code 12 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetHCLKFreq)
HAL_RCC_GetPCLK2Freq 0x080023f9 Thumb Code 34 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetPCLK2Freq)
HAL_RCC_GetSysClockFreq 0x0800241d Thumb Code 188 stm32f1xx_hal_rcc.o(.text.HAL_RCC_GetSysClockFreq)
HAL_RCC_MCOConfig 0x080024d9 Thumb Code 104 stm32f1xx_hal_rcc.o(.text.HAL_RCC_MCOConfig)
HAL_RCC_OscConfig 0x08002541 Thumb Code 1658 stm32f1xx_hal_rcc.o(.text.HAL_RCC_OscConfig)
HAL_RTC_GetDate 0x08002bbd Thumb Code 154 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetDate)
HAL_RTC_GetTime 0x08002c59 Thumb Code 434 stm32f1xx_hal_rtc.o(.text.HAL_RTC_GetTime)
HAL_RTC_Init 0x08002e0d Thumb Code 298 stm32f1xx_hal_rtc.o(.text.HAL_RTC_Init)
HAL_RTC_MspInit 0x08002f39 Thumb Code 76 rtc.o(.text.HAL_RTC_MspInit)
HAL_RTC_SetDate 0x08002f85 Thumb Code 382 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetDate)
HAL_RTC_SetTime 0x08003105 Thumb Code 322 stm32f1xx_hal_rtc.o(.text.HAL_RTC_SetTime)
HAL_RTC_WaitForSynchro 0x08003249 Thumb Code 100 stm32f1xx_hal_rtc.o(.text.HAL_RTC_WaitForSynchro)
HAL_SYSTICK_Config 0x080032ad Thumb Code 16 stm32f1xx_hal_cortex.o(.text.HAL_SYSTICK_Config)
HAL_TIMEx_BreakCallback 0x080032bd Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_BreakCallback)
HAL_TIMEx_CommutCallback 0x080032c5 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutCallback)
HAL_TIMEx_CommutHalfCpltCallback 0x080032cd Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_CommutHalfCpltCallback)
HAL_TIMEx_HallSensor_MspDeInit 0x080032d5 Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspDeInit)
HAL_TIMEx_HallSensor_MspInit 0x080032dd Thumb Code 8 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_HallSensor_MspInit)
HAL_TIMEx_MasterConfigSynchronization 0x080032e5 Thumb Code 220 stm32f1xx_hal_tim_ex.o(.text.HAL_TIMEx_MasterConfigSynchronization)
HAL_TIM_Base_Init 0x080033c1 Thumb Code 184 stm32f1xx_hal_tim.o(.text.HAL_TIM_Base_Init)
HAL_TIM_Base_MspDeInit 0x08003479 Thumb Code 52 tim.o(.text.HAL_TIM_Base_MspDeInit)
HAL_TIM_Base_MspInit 0x080034ad Thumb Code 78 tim.o(.text.HAL_TIM_Base_MspInit)
HAL_TIM_ConfigClockSource 0x080034fd Thumb Code 388 stm32f1xx_hal_tim.o(.text.HAL_TIM_ConfigClockSource)
HAL_TIM_Encoder_MspDeInit 0x08003681 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspDeInit)
HAL_TIM_Encoder_MspInit 0x08003689 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_Encoder_MspInit)
HAL_TIM_ErrorCallback 0x08003691 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_ErrorCallback)
HAL_TIM_IC_CaptureCallback 0x08003699 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureCallback)
HAL_TIM_IC_CaptureHalfCpltCallback 0x080036a1 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_CaptureHalfCpltCallback)
HAL_TIM_IC_MspDeInit 0x080036a9 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspDeInit)
HAL_TIM_IC_MspInit 0x080036b1 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_IC_MspInit)
HAL_TIM_IRQHandler 0x080036b9 Thumb Code 666 stm32f1xx_hal_tim.o(.text.HAL_TIM_IRQHandler)
HAL_TIM_OC_DelayElapsedCallback 0x08003955 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_DelayElapsedCallback)
HAL_TIM_OC_MspDeInit 0x0800395d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspDeInit)
HAL_TIM_OC_MspInit 0x08003965 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OC_MspInit)
HAL_TIM_OnePulse_MspDeInit 0x0800396d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspDeInit)
HAL_TIM_OnePulse_MspInit 0x08003975 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_OnePulse_MspInit)
HAL_TIM_PWM_MspDeInit 0x0800397d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspDeInit)
HAL_TIM_PWM_MspInit 0x08003985 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_MspInit)
HAL_TIM_PWM_PulseFinishedCallback 0x0800398d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedCallback)
HAL_TIM_PWM_PulseFinishedHalfCpltCallback 0x08003995 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback)
HAL_TIM_PeriodElapsedCallback 0x0800399d Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedCallback)
HAL_TIM_PeriodElapsedHalfCpltCallback 0x080039a5 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_PeriodElapsedHalfCpltCallback)
HAL_TIM_RegisterCallback 0x080039ad Thumb Code 674 stm32f1xx_hal_tim.o(.text.HAL_TIM_RegisterCallback)
HAL_TIM_TriggerCallback 0x08003c51 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerCallback)
HAL_TIM_TriggerHalfCpltCallback 0x08003c59 Thumb Code 8 stm32f1xx_hal_tim.o(.text.HAL_TIM_TriggerHalfCpltCallback)
HAL_TIM_UnRegisterCallback 0x08003c61 Thumb Code 900 stm32f1xx_hal_tim.o(.text.HAL_TIM_UnRegisterCallback)
HardFault_Handler 0x08003fe5 Thumb Code 4 stm32f1xx_it.o(.text.HardFault_Handler)
IsLeapYear 0x08003fe9 Thumb Code 142 protocan.o(.text.IsLeapYear)
MX_CAN_Init 0x08004079 Thumb Code 78 can.o(.text.MX_CAN_Init)
MX_GPIO_Init 0x080040c9 Thumb Code 74 gpio.o(.text.MX_GPIO_Init)
MX_RTC_Init 0x08004115 Thumb Code 148 rtc.o(.text.MX_RTC_Init)
MX_TIM4_Init 0x080041a9 Thumb Code 134 tim.o(.text.MX_TIM4_Init)
MemManage_Handler 0x08004231 Thumb Code 4 stm32f1xx_it.o(.text.MemManage_Handler)
NMI_Handler 0x08004235 Thumb Code 4 stm32f1xx_it.o(.text.NMI_Handler)
PROTOCAN_AnalogProcessing 0x080042a5 Thumb Code 228 protocan.o(.text.PROTOCAN_AnalogProcessing)
PROTOCAN_BroadcastProcessing 0x08004389 Thumb Code 192 protocan.o(.text.PROTOCAN_BroadcastProcessing)
PROTOCAN_CONFIG_FILTER 0x08004449 Thumb Code 100 protocan.o(.text.PROTOCAN_CONFIG_FILTER)
PROTOCAN_DEINIT 0x080044ad Thumb Code 70 protocan.o(.text.PROTOCAN_DEINIT)
PROTOCAN_DiscreticProcessing 0x080044f5 Thumb Code 272 protocan.o(.text.PROTOCAN_DiscreticProcessing)
PROTOCAN_FILTERS 0x08004605 Thumb Code 62 protocan.o(.text.PROTOCAN_FILTERS)
PROTOCAN_INIT 0x08004645 Thumb Code 264 protocan.o(.text.PROTOCAN_INIT)
PROTOCAN_LOOP 0x0800474d Thumb Code 836 protocan.o(.text.PROTOCAN_LOOP)
PROTOCAN_ModbusProcessing 0x08004a91 Thumb Code 196 protocan.o(.text.PROTOCAN_ModbusProcessing)
PROTOCAN_RTC_SYNC 0x08004b55 Thumb Code 164 protocan.o(.text.PROTOCAN_RTC_SYNC)
PROTOCAN_SEND 0x08004bf9 Thumb Code 64 protocan.o(.text.PROTOCAN_SEND)
PROTOCAN_SEND_GENERAL_ADDRESS_SPACE 0x08004c39 Thumb Code 282 protocan.o(.text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE)
PendSV_Handler 0x08004d55 Thumb Code 2 stm32f1xx_it.o(.text.PendSV_Handler)
ProtoCanMsgToAnalogISens 0x08004d59 Thumb Code 266 protocan.o(.text.ProtoCanMsgToAnalogISens)
ProtoCanMsgToAnalogSettings 0x08004e65 Thumb Code 134 protocan.o(.text.ProtoCanMsgToAnalogSettings)
ProtoCanMsgToAnalogTSens 0x08004eed Thumb Code 266 protocan.o(.text.ProtoCanMsgToAnalogTSens)
ProtoCanMsgToAnalogUSens 0x08004ff9 Thumb Code 266 protocan.o(.text.ProtoCanMsgToAnalogUSens)
ProtoCanMsgToAnalogUniversal 0x08005105 Thumb Code 128 protocan.o(.text.ProtoCanMsgToAnalogUniversal)
ProtoCanMsgToBroadcastOnOff 0x08005185 Thumb Code 48 protocan.o(.text.ProtoCanMsgToBroadcastOnOff)
ProtoCanMsgToBroadcastRestart 0x080051b5 Thumb Code 160 protocan.o(.text.ProtoCanMsgToBroadcastRestart)
ProtoCanMsgToBroadcastRtcSetup 0x08005255 Thumb Code 192 protocan.o(.text.ProtoCanMsgToBroadcastRtcSetup)
ProtoCanMsgToBroadcastStatus 0x08005315 Thumb Code 218 protocan.o(.text.ProtoCanMsgToBroadcastStatus)
ProtoCanMsgToDiscreteAccident 0x080053f1 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteAccident)
ProtoCanMsgToDiscreteChangeMode 0x0800540d Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteChangeMode)
ProtoCanMsgToDiscreteControlSignals 0x08005429 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteControlSignals)
ProtoCanMsgToDiscreteFlags 0x08005445 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteFlags)
ProtoCanMsgToDiscreteRequestListOfParameters 0x08005461 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteRequestListOfParameters)
ProtoCanMsgToDiscreteReset 0x0800547d Thumb Code 24 protocan.o(.text.ProtoCanMsgToDiscreteReset)
ProtoCanMsgToDiscreteWarning 0x08005495 Thumb Code 26 protocan.o(.text.ProtoCanMsgToDiscreteWarning)
ProtoCanMsgToGeneralAddressSpace 0x080054b1 Thumb Code 216 protocan.o(.text.ProtoCanMsgToGeneralAddressSpace)
ProtoCanMsgToModbusCoil 0x08005589 Thumb Code 152 protocan.o(.text.ProtoCanMsgToModbusCoil)
ProtoCanMsgToModbusDiscrete 0x08005621 Thumb Code 154 protocan.o(.text.ProtoCanMsgToModbusDiscrete)
ProtoCanMsgToModbusHolding 0x080056bd Thumb Code 154 protocan.o(.text.ProtoCanMsgToModbusHolding)
ProtoCanMsgToModbusInput 0x08005759 Thumb Code 154 protocan.o(.text.ProtoCanMsgToModbusInput)
ProtoCanPulseCallback 0x080057f5 Thumb Code 212 protocan.o(.text.ProtoCanPulseCallback)
ProtoCanRxFifo0MsgPendingCallback 0x080058c9 Thumb Code 214 protocan.o(.text.ProtoCanRxFifo0MsgPendingCallback)
SVC_Handler 0x08005f05 Thumb Code 2 stm32f1xx_it.o(.text.SVC_Handler)
SysTick_Handler 0x08005f5d Thumb Code 8 stm32f1xx_it.o(.text.SysTick_Handler)
SystemClock_Config 0x08005f65 Thumb Code 156 main.o(.text.SystemClock_Config)
SystemInit 0x08006001 Thumb Code 2 system_stm32f1xx.o(.text.SystemInit)
TIM4_IRQHandler 0x08006005 Thumb Code 16 stm32f1xx_it.o(.text.TIM4_IRQHandler)
TIM_Base_SetConfig 0x08006015 Thumb Code 240 stm32f1xx_hal_tim.o(.text.TIM_Base_SetConfig)
TIM_ETR_SetConfig 0x08006105 Thumb Code 52 stm32f1xx_hal_tim.o(.text.TIM_ETR_SetConfig)
TIM_ResetCallback 0x08006165 Thumb Code 190 stm32f1xx_hal_tim.o(.text.TIM_ResetCallback)
TakeRxMsgToBuffer 0x080062c9 Thumb Code 208 protocan.o(.text.TakeRxMsgToBuffer)
USB_HP_CAN1_TX_IRQHandler 0x08006399 Thumb Code 16 stm32f1xx_it.o(.text.USB_HP_CAN1_TX_IRQHandler)
USB_LP_CAN1_RX0_IRQHandler 0x080063a9 Thumb Code 16 stm32f1xx_it.o(.text.USB_LP_CAN1_RX0_IRQHandler)
UsageFault_Handler 0x080063b9 Thumb Code 4 stm32f1xx_it.o(.text.UsageFault_Handler)
main 0x080064dd Thumb Code 102 main.o(.text.main)
AHBPrescTable 0x080065a4 Data 16 system_stm32f1xx.o(.rodata.AHBPrescTable)
APBPrescTable 0x080065b4 Data 8 system_stm32f1xx.o(.rodata.APBPrescTable)
Region$$Table$$Base 0x080065e0 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08006600 Number 0 anon$$obj.o(Region$$Table)
CurrentStep 0x20000000 Data 1 protocan.o(.data.CurrentStep)
SystemCoreClock 0x20000004 Data 4 system_stm32f1xx.o(.data.SystemCoreClock)
filter1_id 0x20000008 Data 4 requester.o(.data.filter1_id)
filter1_mask 0x2000000c Data 4 requester.o(.data.filter1_mask)
filter2_mask 0x20000010 Data 4 requester.o(.data.filter2_mask)
filter3_id 0x20000014 Data 4 requester.o(.data.filter3_id)
filter3_mask 0x20000018 Data 4 requester.o(.data.filter3_mask)
uwTickFreq 0x2000001c Data 1 stm32f1xx_hal.o(.data.uwTickFreq)
uwTickPrio 0x20000020 Data 4 stm32f1xx_hal.o(.data.uwTickPrio)
__libspace_start 0x20000028 Data 96 libspace.o(.bss)
ControlFlags 0x20000088 Data 4 requester.o(.bss.ControlFlags)
__temporary_stack_top$libspace 0x20000088 Data 0 libspace.o(.bss)
Device_on_the_Network 0x2000008c Data 2048 requester.o(.bss.Device_on_the_Network)
LastStep 0x2000088c Data 1 requester.o(.bss.LastStep)
filter2_id 0x20000894 Data 4 requester.o(.bss.filter2_id)
hcan 0x20000898 Data 40 can.o(.bss.hcan)
hrtc 0x200008c0 Data 20 rtc.o(.bss.hrtc)
htim4 0x200008d4 Data 72 tim.o(.bss.htim4)
rxMsg 0x2000091c Data 2560 requester.o(.bss.rxMsg)
uwTick 0x2000131c Data 4 stm32f1xx_hal.o(.bss.uwTick)
uwTickFreq 0x20000008 Data 1 stm32f1xx_hal.o(.data.uwTickFreq)
uwTickPrio 0x2000000c Data 4 stm32f1xx_hal.o(.data.uwTickPrio)
__libspace_start 0x20000010 Data 96 libspace.o(.bss)
CanErrors 0x20000070 Data 88 canerrorbox.o(.bss.CanErrors)
__temporary_stack_top$libspace 0x20000070 Data 0 libspace.o(.bss)
ControlFlags 0x200000c8 Data 4 protocan.o(.bss.ControlFlags)
Device_on_the_Network 0x200000cc Data 2048 protocan.o(.bss.Device_on_the_Network)
LastStep 0x200008cc Data 1 protocan.o(.bss.LastStep)
_HCAN 0x200008d4 Data 4 protocan.o(.bss._HCAN)
_HRTC 0x200008d8 Data 4 protocan.o(.bss._HRTC)
_HTIM 0x200008dc Data 4 protocan.o(.bss._HTIM)
hcan 0x200008e0 Data 100 can.o(.bss.hcan)
hrtc 0x20000944 Data 20 rtc.o(.bss.hrtc)
htim4 0x20000958 Data 180 tim.o(.bss.htim4)
rxMsg 0x20000a0c Data 2560 protocan.o(.bss.rxMsg)
uwTick 0x2000140c Data 4 stm32f1xx_hal.o(.bss.uwTick)
@@ -2566,314 +2804,377 @@ Memory Map of the image
Image Entry point : 0x080000ed
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00005398, Max: 0x00010000, ABSOLUTE)
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00006610, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00005370, Max: 0x00010000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00006600, Max: 0x00010000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x08000000 0x08000000 0x000000ec Data RO 3 RESET startup_stm32f103xb.o
0x080000ec 0x080000ec 0x00000008 Code RO 1138 * !!!main c_w.l(__main.o)
0x080000f4 0x080000f4 0x00000034 Code RO 1303 !!!scatter c_w.l(__scatter.o)
0x08000128 0x08000128 0x0000001a Code RO 1305 !!handler_copy c_w.l(__scatter_copy.o)
0x080000ec 0x080000ec 0x00000008 Code RO 1206 * !!!main c_w.l(__main.o)
0x080000f4 0x080000f4 0x00000034 Code RO 1371 !!!scatter c_w.l(__scatter.o)
0x08000128 0x08000128 0x0000001a Code RO 1373 !!handler_copy c_w.l(__scatter_copy.o)
0x08000142 0x08000142 0x00000002 PAD
0x08000144 0x08000144 0x0000001c Code RO 1307 !!handler_zi c_w.l(__scatter_zi.o)
0x08000160 0x08000160 0x00000002 Code RO 1165 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x08000162 0x08000162 0x00000000 Code RO 1172 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1174 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1176 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1179 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1181 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1183 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1186 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1188 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1190 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1192 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1194 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1196 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1198 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1200 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1202 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1204 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1206 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1210 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1212 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1214 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1216 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000002 Code RO 1217 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o)
0x08000164 0x08000164 0x00000002 Code RO 1239 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
0x08000166 0x08000166 0x00000000 Code RO 1254 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1256 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1259 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1262 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1264 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1267 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000002 Code RO 1268 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o)
0x08000168 0x08000168 0x00000000 Code RO 1140 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
0x08000168 0x08000168 0x00000000 Code RO 1142 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x08000168 0x08000168 0x00000006 Code RO 1154 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
0x0800016e 0x0800016e 0x00000000 Code RO 1144 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0800016e 0x0800016e 0x00000004 Code RO 1145 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000000 Code RO 1147 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000008 Code RO 1148 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
0x0800017a 0x0800017a 0x00000002 Code RO 1169 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
0x0800017c 0x0800017c 0x00000000 Code RO 1219 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0800017c 0x0800017c 0x00000004 Code RO 1220 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
0x08000180 0x08000180 0x00000006 Code RO 1221 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x08000144 0x08000144 0x0000001c Code RO 1375 !!handler_zi c_w.l(__scatter_zi.o)
0x08000160 0x08000160 0x00000002 Code RO 1233 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x08000162 0x08000162 0x00000000 Code RO 1240 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1242 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1244 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1247 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1249 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1251 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1254 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1256 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1258 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1260 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1262 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1264 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1266 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1268 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1270 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1272 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1274 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1278 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1280 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1282 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000000 Code RO 1284 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o)
0x08000162 0x08000162 0x00000002 Code RO 1285 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o)
0x08000164 0x08000164 0x00000002 Code RO 1307 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
0x08000166 0x08000166 0x00000000 Code RO 1322 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1324 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1327 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1330 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1332 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000000 Code RO 1335 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
0x08000166 0x08000166 0x00000002 Code RO 1336 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o)
0x08000168 0x08000168 0x00000000 Code RO 1208 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
0x08000168 0x08000168 0x00000000 Code RO 1210 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x08000168 0x08000168 0x00000006 Code RO 1222 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
0x0800016e 0x0800016e 0x00000000 Code RO 1212 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0800016e 0x0800016e 0x00000004 Code RO 1213 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000000 Code RO 1215 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
0x08000172 0x08000172 0x00000008 Code RO 1216 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
0x0800017a 0x0800017a 0x00000002 Code RO 1237 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
0x0800017c 0x0800017c 0x00000000 Code RO 1287 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0800017c 0x0800017c 0x00000004 Code RO 1288 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
0x08000180 0x08000180 0x00000006 Code RO 1289 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x08000186 0x08000186 0x00000002 PAD
0x08000188 0x08000188 0x00000040 Code RO 4 .text startup_stm32f103xb.o
0x080001c8 0x080001c8 0x00000064 Code RO 1132 .text c_w.l(rt_memcpy_w.o)
0x0800022c 0x0800022c 0x0000004e Code RO 1134 .text c_w.l(rt_memclr_w.o)
0x0800027a 0x0800027a 0x00000006 Code RO 1136 .text c_w.l(heapauxi.o)
0x08000280 0x08000280 0x0000004a Code RO 1156 .text c_w.l(sys_stackheap_outer.o)
0x080002ca 0x080002ca 0x00000012 Code RO 1158 .text c_w.l(exit.o)
0x080002dc 0x080002dc 0x00000008 Code RO 1166 .text c_w.l(libspace.o)
0x080002e4 0x080002e4 0x0000000c Code RO 1229 .text c_w.l(sys_exit.o)
0x080002f0 0x080002f0 0x00000002 Code RO 1244 .text c_w.l(use_no_semi.o)
0x080002f2 0x080002f2 0x00000000 Code RO 1246 .text c_w.l(indicate_semi.o)
0x080001c8 0x080001c8 0x00000064 Code RO 1200 .text c_w.l(rt_memcpy_w.o)
0x0800022c 0x0800022c 0x0000004e Code RO 1202 .text c_w.l(rt_memclr_w.o)
0x0800027a 0x0800027a 0x00000006 Code RO 1204 .text c_w.l(heapauxi.o)
0x08000280 0x08000280 0x0000004a Code RO 1224 .text c_w.l(sys_stackheap_outer.o)
0x080002ca 0x080002ca 0x00000012 Code RO 1226 .text c_w.l(exit.o)
0x080002dc 0x080002dc 0x00000008 Code RO 1234 .text c_w.l(libspace.o)
0x080002e4 0x080002e4 0x0000000c Code RO 1297 .text c_w.l(sys_exit.o)
0x080002f0 0x080002f0 0x00000002 Code RO 1312 .text c_w.l(use_no_semi.o)
0x080002f2 0x080002f2 0x00000000 Code RO 1314 .text c_w.l(indicate_semi.o)
0x080002f2 0x080002f2 0x00000002 PAD
0x080002f4 0x080002f4 0x0000001e Code RO 120 .text.AvailableCanRxMsg requester.o
0x080002f4 0x080002f4 0x0000001e Code RO 67 .text.AvailableCanRxMsg protocan.o
0x08000312 0x08000312 0x00000002 PAD
0x08000314 0x08000314 0x00000004 Code RO 81 .text.BusFault_Handler stm32f1xx_it.o
0x08000318 0x08000318 0x00000010 Code RO 97 .text.CAN1_RX1_IRQHandler stm32f1xx_it.o
0x08000328 0x08000328 0x00000010 Code RO 99 .text.CAN1_SCE_IRQHandler stm32f1xx_it.o
0x08000338 0x08000338 0x00000062 Code RO 190 .text.CONFIG_CAN_FILTER requester.o
0x0800039a 0x0800039a 0x00000002 PAD
0x0800039c 0x0800039c 0x00000078 Code RO 138 .text.CanRequestError requester.o
0x08000414 0x08000414 0x0000010a Code RO 146 .text.CanRequestToAnalogISens requester.o
0x0800051e 0x0800051e 0x00000002 PAD
0x08000520 0x08000520 0x0000010a Code RO 148 .text.CanRequestToAnalogTSens requester.o
0x0800062a 0x0800062a 0x00000002 PAD
0x0800062c 0x0800062c 0x00000084 Code RO 142 .text.CanRequestToAnalogUSTAVKI requester.o
0x080006b0 0x080006b0 0x0000010a Code RO 144 .text.CanRequestToAnalogUSens requester.o
0x080007ba 0x080007ba 0x00000002 PAD
0x080007bc 0x080007bc 0x0000007e Code RO 140 .text.CanRequestToAnalogUniversal requester.o
0x0800083a 0x0800083a 0x00000002 PAD
0x0800083c 0x0800083c 0x0000002e Code RO 152 .text.CanRequestToBroadcastOnOff requester.o
0x0800086a 0x0800086a 0x00000002 PAD
0x0800086c 0x0800086c 0x00000092 Code RO 154 .text.CanRequestToBroadcastRestart requester.o
0x080008fe 0x080008fe 0x00000002 PAD
0x08000900 0x08000900 0x000000a8 Code RO 156 .text.CanRequestToBroadcastRtcSetup requester.o
0x080009a8 0x080009a8 0x000000d4 Code RO 150 .text.CanRequestToBroadcastStatus requester.o
0x08000a7c 0x08000a7c 0x00000018 Code RO 162 .text.CanRequestToDiscreteAccident requester.o
0x08000a94 0x08000a94 0x00000018 Code RO 172 .text.CanRequestToDiscreteChangeMode requester.o
0x08000aac 0x08000aac 0x00000018 Code RO 166 .text.CanRequestToDiscreteControlSignals requester.o
0x08000ac4 0x08000ac4 0x00000018 Code RO 168 .text.CanRequestToDiscreteFlags requester.o
0x08000adc 0x08000adc 0x00000018 Code RO 174 .text.CanRequestToDiscreteRequestListOfParameters requester.o
0x08000af4 0x08000af4 0x00000018 Code RO 170 .text.CanRequestToDiscreteReset requester.o
0x08000b0c 0x08000b0c 0x00000018 Code RO 164 .text.CanRequestToDiscreteWarning requester.o
0x08000b24 0x08000b24 0x00000098 Code RO 176 .text.CanRequestToModbusCoil requester.o
0x08000bbc 0x08000bbc 0x0000009a Code RO 178 .text.CanRequestToModbusDiscrete requester.o
0x08000c56 0x08000c56 0x00000002 PAD
0x08000c58 0x08000c58 0x0000009a Code RO 180 .text.CanRequestToModbusHolding requester.o
0x08000cf2 0x08000cf2 0x00000002 PAD
0x08000cf4 0x08000cf4 0x0000009a Code RO 182 .text.CanRequestToModbusInput requester.o
0x08000d8e 0x08000d8e 0x00000002 PAD
0x08000d90 0x08000d90 0x00000002 Code RO 87 .text.DebugMon_Handler stm32f1xx_it.o
0x08000d92 0x08000d92 0x00000002 PAD
0x08000d94 0x08000d94 0x0000000e Code RO 15 .text.Error_Handler main.o
0x08000da2 0x08000da2 0x00000002 PAD
0x08000da4 0x08000da4 0x00000052 Code RO 260 .text.HAL_CAN_ActivateNotification stm32f1xx_hal_can.o
0x08000df6 0x08000df6 0x00000002 PAD
0x08000df8 0x08000df8 0x00000156 Code RO 246 .text.HAL_CAN_AddTxMessage stm32f1xx_hal_can.o
0x08000f4e 0x08000f4e 0x00000002 PAD
0x08000f50 0x08000f50 0x0000017a Code RO 236 .text.HAL_CAN_ConfigFilter stm32f1xx_hal_can.o
0x080010ca 0x080010ca 0x00000002 PAD
0x080010cc 0x080010cc 0x00000008 Code RO 290 .text.HAL_CAN_ErrorCallback stm32f1xx_hal_can.o
0x080010d4 0x080010d4 0x00000212 Code RO 256 .text.HAL_CAN_GetRxMessage stm32f1xx_hal_can.o
0x080012e6 0x080012e6 0x00000002 PAD
0x080012e8 0x080012e8 0x000003f2 Code RO 264 .text.HAL_CAN_IRQHandler stm32f1xx_hal_can.o
0x080016da 0x080016da 0x00000002 PAD
0x080016dc 0x080016dc 0x000001de Code RO 226 .text.HAL_CAN_Init stm32f1xx_hal_can.o
0x080018ba 0x080018ba 0x00000002 PAD
0x080018bc 0x080018bc 0x000000e2 Code RO 35 .text.HAL_CAN_MspInit can.o
0x0800199e 0x0800199e 0x00000002 PAD
0x080019a0 0x080019a0 0x00000008 Code RO 278 .text.HAL_CAN_RxFifo0FullCallback stm32f1xx_hal_can.o
0x080019a8 0x080019a8 0x000001da Code RO 186 .text.HAL_CAN_RxFifo0MsgPendingCallback requester.o
0x08001b82 0x08001b82 0x00000002 PAD
0x08001b84 0x08001b84 0x00000008 Code RO 282 .text.HAL_CAN_RxFifo1FullCallback stm32f1xx_hal_can.o
0x08001b8c 0x08001b8c 0x00000008 Code RO 284 .text.HAL_CAN_RxFifo1MsgPendingCallback stm32f1xx_hal_can.o
0x08001b94 0x08001b94 0x00000008 Code RO 286 .text.HAL_CAN_SleepCallback stm32f1xx_hal_can.o
0x08001b9c 0x08001b9c 0x0000008a Code RO 238 .text.HAL_CAN_Start stm32f1xx_hal_can.o
0x08001c26 0x08001c26 0x00000002 PAD
0x08001c28 0x08001c28 0x00000008 Code RO 268 .text.HAL_CAN_TxMailbox0AbortCallback stm32f1xx_hal_can.o
0x08001c30 0x08001c30 0x00000008 Code RO 266 .text.HAL_CAN_TxMailbox0CompleteCallback stm32f1xx_hal_can.o
0x08001c38 0x08001c38 0x00000008 Code RO 272 .text.HAL_CAN_TxMailbox1AbortCallback stm32f1xx_hal_can.o
0x08001c40 0x08001c40 0x00000008 Code RO 270 .text.HAL_CAN_TxMailbox1CompleteCallback stm32f1xx_hal_can.o
0x08001c48 0x08001c48 0x00000008 Code RO 276 .text.HAL_CAN_TxMailbox2AbortCallback stm32f1xx_hal_can.o
0x08001c50 0x08001c50 0x00000008 Code RO 274 .text.HAL_CAN_TxMailbox2CompleteCallback stm32f1xx_hal_can.o
0x08001c58 0x08001c58 0x00000008 Code RO 288 .text.HAL_CAN_WakeUpFromRxMsgCallback stm32f1xx_hal_can.o
0x08001c60 0x08001c60 0x0000031e Code RO 419 .text.HAL_GPIO_Init stm32f1xx_hal_gpio.o
0x08001f7e 0x08001f7e 0x00000002 PAD
0x08001f80 0x08001f80 0x0000000c Code RO 317 .text.HAL_GetTick stm32f1xx_hal.o
0x08001f8c 0x08001f8c 0x0000001a Code RO 315 .text.HAL_IncTick stm32f1xx_hal.o
0x08001fa6 0x08001fa6 0x00000002 PAD
0x08001fa8 0x08001fa8 0x00000026 Code RO 305 .text.HAL_Init stm32f1xx_hal.o
0x08001fce 0x08001fce 0x00000002 PAD
0x08001fd0 0x08001fd0 0x00000070 Code RO 307 .text.HAL_InitTick stm32f1xx_hal.o
0x08002040 0x08002040 0x00000042 Code RO 110 .text.HAL_MspInit stm32f1xx_hal_msp.o
0x08002082 0x08002082 0x00000002 PAD
0x08002084 0x08002084 0x00000014 Code RO 487 .text.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o
0x08002098 0x08002098 0x00000032 Code RO 479 .text.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o
0x080020ca 0x080020ca 0x00000002 PAD
0x080020cc 0x080020cc 0x00000010 Code RO 475 .text.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o
0x080020dc 0x080020dc 0x0000000c Code RO 542 .text.HAL_PWR_EnableBkUpAccess stm32f1xx_hal_pwr.o
0x080020e8 0x080020e8 0x00000196 Code RO 408 .text.HAL_RCCEx_GetPeriphCLKFreq stm32f1xx_hal_rcc_ex.o
0x0800227e 0x0800227e 0x00000002 PAD
0x08002280 0x08002280 0x000001c8 Code RO 404 .text.HAL_RCCEx_PeriphCLKConfig stm32f1xx_hal_rcc_ex.o
0x08002448 0x08002448 0x00000256 Code RO 371 .text.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o
0x0800269e 0x0800269e 0x00000002 PAD
0x080026a0 0x080026a0 0x0000000c Code RO 381 .text.HAL_RCC_GetHCLKFreq stm32f1xx_hal_rcc.o
0x080026ac 0x080026ac 0x00000022 Code RO 385 .text.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o
0x080026ce 0x080026ce 0x00000002 PAD
0x080026d0 0x080026d0 0x000000bc Code RO 373 .text.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o
0x0800278c 0x0800278c 0x00000068 Code RO 375 .text.HAL_RCC_MCOConfig stm32f1xx_hal_rcc.o
0x080027f4 0x080027f4 0x0000067a Code RO 367 .text.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o
0x08002e6e 0x08002e6e 0x00000002 PAD
0x08002e70 0x08002e70 0x0000009a Code RO 719 .text.HAL_RTC_GetDate stm32f1xx_hal_rtc.o
0x08002f0a 0x08002f0a 0x00000002 PAD
0x08002f0c 0x08002f0c 0x000001b2 Code RO 707 .text.HAL_RTC_GetTime stm32f1xx_hal_rtc.o
0x080030be 0x080030be 0x00000002 PAD
0x080030c0 0x080030c0 0x0000012a Code RO 683 .text.HAL_RTC_Init stm32f1xx_hal_rtc.o
0x080031ea 0x080031ea 0x00000002 PAD
0x080031ec 0x080031ec 0x0000004c Code RO 49 .text.HAL_RTC_MspInit rtc.o
0x08003238 0x08003238 0x0000017e Code RO 715 .text.HAL_RTC_SetDate stm32f1xx_hal_rtc.o
0x080033b6 0x080033b6 0x00000002 PAD
0x080033b8 0x080033b8 0x00000142 Code RO 697 .text.HAL_RTC_SetTime stm32f1xx_hal_rtc.o
0x08000314 0x08000314 0x00000004 Code RO 234 .text.BusFault_Handler stm32f1xx_it.o
0x08000318 0x08000318 0x00000010 Code RO 250 .text.CAN1_RX1_IRQHandler stm32f1xx_it.o
0x08000328 0x08000328 0x00000010 Code RO 252 .text.CAN1_SCE_IRQHandler stm32f1xx_it.o
0x08000338 0x08000338 0x00000010 Code RO 21 .text.CanErrorCallbackACK canerrorbox.o
0x08000348 0x08000348 0x00000010 Code RO 25 .text.CanErrorCallbackBD canerrorbox.o
0x08000358 0x08000358 0x00000010 Code RO 15 .text.CanErrorCallbackBOF canerrorbox.o
0x08000368 0x08000368 0x00000010 Code RO 23 .text.CanErrorCallbackBR canerrorbox.o
0x08000378 0x08000378 0x00000010 Code RO 27 .text.CanErrorCallbackCRC canerrorbox.o
0x08000388 0x08000388 0x00000010 Code RO 13 .text.CanErrorCallbackEPV canerrorbox.o
0x08000398 0x08000398 0x00000010 Code RO 11 .text.CanErrorCallbackEWG canerrorbox.o
0x080003a8 0x080003a8 0x00000010 Code RO 19 .text.CanErrorCallbackFOR canerrorbox.o
0x080003b8 0x080003b8 0x00000010 Code RO 47 .text.CanErrorCallbackNOTINITIALIZED canerrorbox.o
0x080003c8 0x080003c8 0x00000010 Code RO 49 .text.CanErrorCallbackNOTREADY canerrorbox.o
0x080003d8 0x080003d8 0x00000010 Code RO 51 .text.CanErrorCallbackNOTSTARTED canerrorbox.o
0x080003e8 0x080003e8 0x00000010 Code RO 53 .text.CanErrorCallbackPARAM canerrorbox.o
0x080003f8 0x080003f8 0x00000010 Code RO 29 .text.CanErrorCallbackRXFOV0 canerrorbox.o
0x08000408 0x08000408 0x00000010 Code RO 31 .text.CanErrorCallbackRXFOV1 canerrorbox.o
0x08000418 0x08000418 0x00000010 Code RO 17 .text.CanErrorCallbackSTF canerrorbox.o
0x08000428 0x08000428 0x00000010 Code RO 45 .text.CanErrorCallbackTIMEOUT canerrorbox.o
0x08000438 0x08000438 0x00000010 Code RO 33 .text.CanErrorCallbackTXALST0 canerrorbox.o
0x08000448 0x08000448 0x00000010 Code RO 37 .text.CanErrorCallbackTXALST1 canerrorbox.o
0x08000458 0x08000458 0x00000010 Code RO 41 .text.CanErrorCallbackTXALST2 canerrorbox.o
0x08000468 0x08000468 0x00000010 Code RO 35 .text.CanErrorCallbackTXTERR0 canerrorbox.o
0x08000478 0x08000478 0x00000010 Code RO 39 .text.CanErrorCallbackTXTERR1 canerrorbox.o
0x08000488 0x08000488 0x00000010 Code RO 43 .text.CanErrorCallbackTXTERR2 canerrorbox.o
0x08000498 0x08000498 0x00000078 Code RO 91 .text.CanRequestError protocan.o
0x08000510 0x08000510 0x00000002 Code RO 240 .text.DebugMon_Handler stm32f1xx_it.o
0x08000512 0x08000512 0x00000002 PAD
0x08000514 0x08000514 0x0000000e Code RO 168 .text.Error_Handler main.o
0x08000522 0x08000522 0x00000002 PAD
0x08000524 0x08000524 0x00000052 Code RO 348 .text.HAL_CAN_ActivateNotification stm32f1xx_hal_can.o
0x08000576 0x08000576 0x00000002 PAD
0x08000578 0x08000578 0x00000156 Code RO 334 .text.HAL_CAN_AddTxMessage stm32f1xx_hal_can.o
0x080006ce 0x080006ce 0x00000002 PAD
0x080006d0 0x080006d0 0x0000017a Code RO 324 .text.HAL_CAN_ConfigFilter stm32f1xx_hal_can.o
0x0800084a 0x0800084a 0x00000002 PAD
0x0800084c 0x0800084c 0x0000019e Code RO 55 .text.HAL_CAN_ErrorCallback canerrorbox.o
0x080009ea 0x080009ea 0x00000002 PAD
0x080009ec 0x080009ec 0x00000212 Code RO 344 .text.HAL_CAN_GetRxMessage stm32f1xx_hal_can.o
0x08000bfe 0x08000bfe 0x00000002 PAD
0x08000c00 0x08000c00 0x000003f2 Code RO 352 .text.HAL_CAN_IRQHandler stm32f1xx_hal_can.o
0x08000ff2 0x08000ff2 0x00000002 PAD
0x08000ff4 0x08000ff4 0x00000292 Code RO 284 .text.HAL_CAN_Init stm32f1xx_hal_can.o
0x08001286 0x08001286 0x00000002 PAD
0x08001288 0x08001288 0x00000056 Code RO 190 .text.HAL_CAN_MspDeInit can.o
0x080012de 0x080012de 0x00000002 PAD
0x080012e0 0x080012e0 0x000000e2 Code RO 188 .text.HAL_CAN_MspInit can.o
0x080013c2 0x080013c2 0x00000002 PAD
0x080013c4 0x080013c4 0x0000017e Code RO 320 .text.HAL_CAN_RegisterCallback stm32f1xx_hal_can.o
0x08001542 0x08001542 0x00000002 PAD
0x08001544 0x08001544 0x00000008 Code RO 288 .text.HAL_CAN_RxFifo0FullCallback stm32f1xx_hal_can.o
0x0800154c 0x0800154c 0x00000008 Code RO 286 .text.HAL_CAN_RxFifo0MsgPendingCallback stm32f1xx_hal_can.o
0x08001554 0x08001554 0x00000008 Code RO 292 .text.HAL_CAN_RxFifo1FullCallback stm32f1xx_hal_can.o
0x0800155c 0x0800155c 0x00000008 Code RO 290 .text.HAL_CAN_RxFifo1MsgPendingCallback stm32f1xx_hal_can.o
0x08001564 0x08001564 0x00000008 Code RO 306 .text.HAL_CAN_SleepCallback stm32f1xx_hal_can.o
0x0800156c 0x0800156c 0x0000008a Code RO 326 .text.HAL_CAN_Start stm32f1xx_hal_can.o
0x080015f6 0x080015f6 0x00000002 PAD
0x080015f8 0x080015f8 0x00000008 Code RO 300 .text.HAL_CAN_TxMailbox0AbortCallback stm32f1xx_hal_can.o
0x08001600 0x08001600 0x00000008 Code RO 294 .text.HAL_CAN_TxMailbox0CompleteCallback stm32f1xx_hal_can.o
0x08001608 0x08001608 0x00000008 Code RO 302 .text.HAL_CAN_TxMailbox1AbortCallback stm32f1xx_hal_can.o
0x08001610 0x08001610 0x00000008 Code RO 296 .text.HAL_CAN_TxMailbox1CompleteCallback stm32f1xx_hal_can.o
0x08001618 0x08001618 0x00000008 Code RO 304 .text.HAL_CAN_TxMailbox2AbortCallback stm32f1xx_hal_can.o
0x08001620 0x08001620 0x00000008 Code RO 298 .text.HAL_CAN_TxMailbox2CompleteCallback stm32f1xx_hal_can.o
0x08001628 0x08001628 0x000001c6 Code RO 322 .text.HAL_CAN_UnRegisterCallback stm32f1xx_hal_can.o
0x080017ee 0x080017ee 0x00000002 PAD
0x080017f0 0x080017f0 0x00000008 Code RO 308 .text.HAL_CAN_WakeUpFromRxMsgCallback stm32f1xx_hal_can.o
0x080017f8 0x080017f8 0x0000019e Code RO 483 .text.HAL_GPIO_DeInit stm32f1xx_hal_gpio.o
0x08001996 0x08001996 0x00000002 PAD
0x08001998 0x08001998 0x0000031e Code RO 481 .text.HAL_GPIO_Init stm32f1xx_hal_gpio.o
0x08001cb6 0x08001cb6 0x00000002 PAD
0x08001cb8 0x08001cb8 0x0000000c Code RO 379 .text.HAL_GetTick stm32f1xx_hal.o
0x08001cc4 0x08001cc4 0x0000001a Code RO 377 .text.HAL_IncTick stm32f1xx_hal.o
0x08001cde 0x08001cde 0x00000002 PAD
0x08001ce0 0x08001ce0 0x00000026 Code RO 367 .text.HAL_Init stm32f1xx_hal.o
0x08001d06 0x08001d06 0x00000002 PAD
0x08001d08 0x08001d08 0x00000070 Code RO 369 .text.HAL_InitTick stm32f1xx_hal.o
0x08001d78 0x08001d78 0x00000042 Code RO 263 .text.HAL_MspInit stm32f1xx_hal_msp.o
0x08001dba 0x08001dba 0x00000002 PAD
0x08001dbc 0x08001dbc 0x00000014 Code RO 553 .text.HAL_NVIC_DisableIRQ stm32f1xx_hal_cortex.o
0x08001dd0 0x08001dd0 0x00000014 Code RO 549 .text.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o
0x08001de4 0x08001de4 0x00000032 Code RO 541 .text.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o
0x08001e16 0x08001e16 0x00000002 PAD
0x08001e18 0x08001e18 0x00000010 Code RO 537 .text.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o
0x08001e28 0x08001e28 0x0000000c Code RO 604 .text.HAL_PWR_EnableBkUpAccess stm32f1xx_hal_pwr.o
0x08001e34 0x08001e34 0x00000196 Code RO 470 .text.HAL_RCCEx_GetPeriphCLKFreq stm32f1xx_hal_rcc_ex.o
0x08001fca 0x08001fca 0x00000002 PAD
0x08001fcc 0x08001fcc 0x000001c8 Code RO 466 .text.HAL_RCCEx_PeriphCLKConfig stm32f1xx_hal_rcc_ex.o
0x08002194 0x08002194 0x00000256 Code RO 433 .text.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o
0x080023ea 0x080023ea 0x00000002 PAD
0x080023ec 0x080023ec 0x0000000c Code RO 443 .text.HAL_RCC_GetHCLKFreq stm32f1xx_hal_rcc.o
0x080023f8 0x080023f8 0x00000022 Code RO 447 .text.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o
0x0800241a 0x0800241a 0x00000002 PAD
0x0800241c 0x0800241c 0x000000bc Code RO 435 .text.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o
0x080024d8 0x080024d8 0x00000068 Code RO 437 .text.HAL_RCC_MCOConfig stm32f1xx_hal_rcc.o
0x08002540 0x08002540 0x0000067a Code RO 429 .text.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o
0x08002bba 0x08002bba 0x00000002 PAD
0x08002bbc 0x08002bbc 0x0000009a Code RO 781 .text.HAL_RTC_GetDate stm32f1xx_hal_rtc.o
0x08002c56 0x08002c56 0x00000002 PAD
0x08002c58 0x08002c58 0x000001b2 Code RO 769 .text.HAL_RTC_GetTime stm32f1xx_hal_rtc.o
0x08002e0a 0x08002e0a 0x00000002 PAD
0x08002e0c 0x08002e0c 0x0000012a Code RO 745 .text.HAL_RTC_Init stm32f1xx_hal_rtc.o
0x08002f36 0x08002f36 0x00000002 PAD
0x08002f38 0x08002f38 0x0000004c Code RO 202 .text.HAL_RTC_MspInit rtc.o
0x08002f84 0x08002f84 0x0000017e Code RO 777 .text.HAL_RTC_SetDate stm32f1xx_hal_rtc.o
0x08003102 0x08003102 0x00000002 PAD
0x08003104 0x08003104 0x00000142 Code RO 759 .text.HAL_RTC_SetTime stm32f1xx_hal_rtc.o
0x08003246 0x08003246 0x00000002 PAD
0x08003248 0x08003248 0x00000064 Code RO 749 .text.HAL_RTC_WaitForSynchro stm32f1xx_hal_rtc.o
0x080032ac 0x080032ac 0x00000010 Code RO 561 .text.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o
0x080032bc 0x080032bc 0x00000008 Code RO 1172 .text.HAL_TIMEx_BreakCallback stm32f1xx_hal_tim_ex.o
0x080032c4 0x080032c4 0x00000008 Code RO 1168 .text.HAL_TIMEx_CommutCallback stm32f1xx_hal_tim_ex.o
0x080032cc 0x080032cc 0x00000008 Code RO 1170 .text.HAL_TIMEx_CommutHalfCpltCallback stm32f1xx_hal_tim_ex.o
0x080032d4 0x080032d4 0x00000008 Code RO 1100 .text.HAL_TIMEx_HallSensor_MspDeInit stm32f1xx_hal_tim_ex.o
0x080032dc 0x080032dc 0x00000008 Code RO 1096 .text.HAL_TIMEx_HallSensor_MspInit stm32f1xx_hal_tim_ex.o
0x080032e4 0x080032e4 0x000000dc Code RO 1162 .text.HAL_TIMEx_MasterConfigSynchronization stm32f1xx_hal_tim_ex.o
0x080033c0 0x080033c0 0x000000b8 Code RO 843 .text.HAL_TIM_Base_Init stm32f1xx_hal_tim.o
0x08003478 0x08003478 0x00000034 Code RO 218 .text.HAL_TIM_Base_MspDeInit tim.o
0x080034ac 0x080034ac 0x0000004e Code RO 216 .text.HAL_TIM_Base_MspInit tim.o
0x080034fa 0x080034fa 0x00000002 PAD
0x080034fc 0x080034fc 0x00000064 Code RO 687 .text.HAL_RTC_WaitForSynchro stm32f1xx_hal_rtc.o
0x08003560 0x08003560 0x00000010 Code RO 499 .text.HAL_SYSTICK_Config stm32f1xx_hal_cortex.o
0x08003570 0x08003570 0x00000008 Code RO 1104 .text.HAL_TIMEx_BreakCallback stm32f1xx_hal_tim_ex.o
0x08003578 0x08003578 0x00000008 Code RO 1100 .text.HAL_TIMEx_CommutCallback stm32f1xx_hal_tim_ex.o
0x08003580 0x08003580 0x000000dc Code RO 1094 .text.HAL_TIMEx_MasterConfigSynchronization stm32f1xx_hal_tim_ex.o
0x0800365c 0x0800365c 0x0000009c Code RO 781 .text.HAL_TIM_Base_Init stm32f1xx_hal_tim.o
0x080036f8 0x080036f8 0x0000004e Code RO 63 .text.HAL_TIM_Base_MspInit tim.o
0x08003746 0x08003746 0x00000002 PAD
0x08003748 0x08003748 0x000000b0 Code RO 795 .text.HAL_TIM_Base_Start_IT stm32f1xx_hal_tim.o
0x080037f8 0x080037f8 0x00000184 Code RO 973 .text.HAL_TIM_ConfigClockSource stm32f1xx_hal_tim.o
0x0800397c 0x0800397c 0x00000008 Code RO 917 .text.HAL_TIM_IC_CaptureCallback stm32f1xx_hal_tim.o
0x08003984 0x08003984 0x0000027a Code RO 915 .text.HAL_TIM_IRQHandler stm32f1xx_hal_tim.o
0x08003bfe 0x08003bfe 0x00000002 PAD
0x08003c00 0x08003c00 0x00000008 Code RO 919 .text.HAL_TIM_OC_DelayElapsedCallback stm32f1xx_hal_tim.o
0x08003c08 0x08003c08 0x00000008 Code RO 921 .text.HAL_TIM_PWM_PulseFinishedCallback stm32f1xx_hal_tim.o
0x08003c10 0x08003c10 0x00000008 Code RO 923 .text.HAL_TIM_PeriodElapsedCallback stm32f1xx_hal_tim.o
0x08003c18 0x08003c18 0x00000008 Code RO 925 .text.HAL_TIM_TriggerCallback stm32f1xx_hal_tim.o
0x08003c20 0x08003c20 0x00000004 Code RO 77 .text.HardFault_Handler stm32f1xx_it.o
0x08003c24 0x08003c24 0x0000008e Code RO 118 .text.IsLeapYear requester.o
0x08003cb2 0x08003cb2 0x00000002 PAD
0x08003cb4 0x08003cb4 0x0000004e Code RO 33 .text.MX_CAN_Init can.o
0x08003d02 0x08003d02 0x00000002 PAD
0x08003d04 0x08003d04 0x0000004a Code RO 25 .text.MX_GPIO_Init gpio.o
0x08003d4e 0x08003d4e 0x00000002 PAD
0x08003d50 0x08003d50 0x00000094 Code RO 47 .text.MX_RTC_Init rtc.o
0x08003de4 0x08003de4 0x00000086 Code RO 61 .text.MX_TIM4_Init tim.o
0x08003e6a 0x08003e6a 0x00000002 PAD
0x08003e6c 0x08003e6c 0x00000004 Code RO 79 .text.MemManage_Handler stm32f1xx_it.o
0x08003e70 0x08003e70 0x00000004 Code RO 75 .text.NMI_Handler stm32f1xx_it.o
0x08003e74 0x08003e74 0x0000006c Code RO 485 .text.NVIC_EncodePriority stm32f1xx_hal_cortex.o
0x08003ee0 0x08003ee0 0x00000002 Code RO 89 .text.PendSV_Handler stm32f1xx_it.o
0x08003ee2 0x08003ee2 0x00000002 PAD
0x08003ee4 0x08003ee4 0x0000003a Code RO 369 .text.RCC_Delay stm32f1xx_hal_rcc.o
0x08003f1e 0x08003f1e 0x00000002 PAD
0x08003f20 0x08003f20 0x000000e8 Code RO 128 .text.REQUESTER_AnalogProcessing requester.o
0x08004008 0x08004008 0x000000cc Code RO 130 .text.REQUESTER_BroadcastProcessing requester.o
0x080040d4 0x080040d4 0x00000052 Code RO 124 .text.REQUESTER_CAN_FILTERS requester.o
0x08004126 0x08004126 0x00000002 PAD
0x08004128 0x08004128 0x00000114 Code RO 132 .text.REQUESTER_DiscreticProcessing requester.o
0x0800423c 0x0800423c 0x000000d6 Code RO 134 .text.REQUESTER_GeneralAddressSpace_Answer requester.o
0x08004312 0x08004312 0x00000002 PAD
0x08004314 0x08004314 0x00000044 Code RO 122 .text.REQUESTER_Init requester.o
0x08004358 0x08004358 0x000002f0 Code RO 126 .text.REQUESTER_MainWhile requester.o
0x08004648 0x08004648 0x000000c4 Code RO 136 .text.REQUESTER_ModbusProcessing requester.o
0x0800470c 0x0800470c 0x000000d0 Code RO 188 .text.REQUESTER_Pulse_TIM_Handler requester.o
0x080047dc 0x080047dc 0x0000009c Code RO 160 .text.REQUESTER_RTC_SYNC requester.o
0x08004878 0x08004878 0x0000002a Code RO 699 .text.RTC_Bcd2ToByte stm32f1xx_hal_rtc.o
0x080048a2 0x080048a2 0x00000002 PAD
0x080048a4 0x080048a4 0x0000003a Code RO 713 .text.RTC_ByteToBcd2 stm32f1xx_hal_rtc.o
0x080048de 0x080048de 0x00000002 PAD
0x080048e0 0x080048e0 0x00000172 Code RO 711 .text.RTC_DateUpdate stm32f1xx_hal_rtc.o
0x08004a52 0x08004a52 0x00000002 PAD
0x08004a54 0x08004a54 0x00000056 Code RO 689 .text.RTC_EnterInitMode stm32f1xx_hal_rtc.o
0x08004aaa 0x08004aaa 0x00000002 PAD
0x08004aac 0x08004aac 0x00000056 Code RO 691 .text.RTC_ExitInitMode stm32f1xx_hal_rtc.o
0x08004b02 0x08004b02 0x00000002 PAD
0x08004b04 0x08004b04 0x00000078 Code RO 737 .text.RTC_IsLeapYear stm32f1xx_hal_rtc.o
0x08004b7c 0x08004b7c 0x00000032 Code RO 703 .text.RTC_ReadAlarmCounter stm32f1xx_hal_rtc.o
0x08004bae 0x08004bae 0x00000002 PAD
0x08004bb0 0x08004bb0 0x0000006a Code RO 709 .text.RTC_ReadTimeCounter stm32f1xx_hal_rtc.o
0x08004c1a 0x08004c1a 0x00000002 PAD
0x08004c1c 0x08004c1c 0x000000e2 Code RO 717 .text.RTC_WeekDayNum stm32f1xx_hal_rtc.o
0x08004cfe 0x08004cfe 0x00000002 PAD
0x08004d00 0x08004d00 0x00000050 Code RO 705 .text.RTC_WriteAlarmCounter stm32f1xx_hal_rtc.o
0x08004d50 0x08004d50 0x00000050 Code RO 701 .text.RTC_WriteTimeCounter stm32f1xx_hal_rtc.o
0x08004da0 0x08004da0 0x00000002 Code RO 85 .text.SVC_Handler stm32f1xx_it.o
0x08004da2 0x08004da2 0x00000002 PAD
0x08004da4 0x08004da4 0x00000052 Code RO 501 .text.SysTick_Config stm32f1xx_hal_cortex.o
0x08004df6 0x08004df6 0x00000002 PAD
0x08004df8 0x08004df8 0x00000008 Code RO 91 .text.SysTick_Handler stm32f1xx_it.o
0x08004e00 0x08004e00 0x0000009c Code RO 13 .text.SystemClock_Config main.o
0x08004e9c 0x08004e9c 0x00000002 Code RO 1117 .text.SystemInit system_stm32f1xx.o
0x08004e9e 0x08004e9e 0x00000002 PAD
0x08004ea0 0x08004ea0 0x00000014 Code RO 101 .text.TIM4_IRQHandler stm32f1xx_it.o
0x08004eb4 0x08004eb4 0x000000f0 Code RO 785 .text.TIM_Base_SetConfig stm32f1xx_hal_tim.o
0x08004fa4 0x08004fa4 0x00000034 Code RO 971 .text.TIM_ETR_SetConfig stm32f1xx_hal_tim.o
0x08004fd8 0x08004fd8 0x0000002a Code RO 977 .text.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o
0x08005002 0x08005002 0x00000002 PAD
0x08005004 0x08005004 0x00000050 Code RO 975 .text.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o
0x08005054 0x08005054 0x00000052 Code RO 979 .text.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o
0x080050a6 0x080050a6 0x00000002 PAD
0x080050a8 0x080050a8 0x000000d0 Code RO 184 .text.TakeRxMsgToBuffer requester.o
0x08005178 0x08005178 0x00000010 Code RO 93 .text.USB_HP_CAN1_TX_IRQHandler stm32f1xx_it.o
0x08005188 0x08005188 0x00000010 Code RO 95 .text.USB_LP_CAN1_RX0_IRQHandler stm32f1xx_it.o
0x08005198 0x08005198 0x00000004 Code RO 83 .text.UsageFault_Handler stm32f1xx_it.o
0x0800519c 0x0800519c 0x00000030 Code RO 489 .text.__NVIC_EnableIRQ stm32f1xx_hal_cortex.o
0x080051cc 0x080051cc 0x00000010 Code RO 481 .text.__NVIC_GetPriorityGrouping stm32f1xx_hal_cortex.o
0x080051dc 0x080051dc 0x00000042 Code RO 483 .text.__NVIC_SetPriority stm32f1xx_hal_cortex.o
0x0800521e 0x0800521e 0x00000002 PAD
0x08005220 0x08005220 0x0000003c Code RO 477 .text.__NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o
0x0800525c 0x0800525c 0x00000026 Code RO 158 .text.__NVIC_SystemReset requester.o
0x08005282 0x08005282 0x00000002 PAD
0x08005284 0x08005284 0x00000030 Code RO 11 .text.main main.o
0x080052b4 0x080052b4 0x00000060 Data RO 196 .rodata..L__const.CanRequestToBroadcastRtcSetup.DaysCount_Normal requester.o
0x08005314 0x08005314 0x00000010 Data RO 1122 .rodata.AHBPrescTable system_stm32f1xx.o
0x08005324 0x08005324 0x00000008 Data RO 1123 .rodata.APBPrescTable system_stm32f1xx.o
0x0800532c 0x0800532c 0x00000010 Data RO 410 .rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable stm32f1xx_hal_rcc_ex.o
0x0800533c 0x0800533c 0x00000002 Data RO 411 .rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable stm32f1xx_hal_rcc_ex.o
0x0800533e 0x0800533e 0x00000010 Data RO 395 .rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable stm32f1xx_hal_rcc.o
0x0800534e 0x0800534e 0x00000002 Data RO 396 .rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable stm32f1xx_hal_rcc.o
0x08005350 0x08005350 0x00000020 Data RO 1302 Region$$Table anon$$obj.o
0x080034fc 0x080034fc 0x00000184 Code RO 1027 .text.HAL_TIM_ConfigClockSource stm32f1xx_hal_tim.o
0x08003680 0x08003680 0x00000008 Code RO 965 .text.HAL_TIM_Encoder_MspDeInit stm32f1xx_hal_tim.o
0x08003688 0x08003688 0x00000008 Code RO 961 .text.HAL_TIM_Encoder_MspInit stm32f1xx_hal_tim.o
0x08003690 0x08003690 0x00000008 Code RO 1063 .text.HAL_TIM_ErrorCallback stm32f1xx_hal_tim.o
0x08003698 0x08003698 0x00000008 Code RO 1051 .text.HAL_TIM_IC_CaptureCallback stm32f1xx_hal_tim.o
0x080036a0 0x080036a0 0x00000008 Code RO 1053 .text.HAL_TIM_IC_CaptureHalfCpltCallback stm32f1xx_hal_tim.o
0x080036a8 0x080036a8 0x00000008 Code RO 925 .text.HAL_TIM_IC_MspDeInit stm32f1xx_hal_tim.o
0x080036b0 0x080036b0 0x00000008 Code RO 921 .text.HAL_TIM_IC_MspInit stm32f1xx_hal_tim.o
0x080036b8 0x080036b8 0x0000029a Code RO 979 .text.HAL_TIM_IRQHandler stm32f1xx_hal_tim.o
0x08003952 0x08003952 0x00000002 PAD
0x08003954 0x08003954 0x00000008 Code RO 1049 .text.HAL_TIM_OC_DelayElapsedCallback stm32f1xx_hal_tim.o
0x0800395c 0x0800395c 0x00000008 Code RO 879 .text.HAL_TIM_OC_MspDeInit stm32f1xx_hal_tim.o
0x08003964 0x08003964 0x00000008 Code RO 875 .text.HAL_TIM_OC_MspInit stm32f1xx_hal_tim.o
0x0800396c 0x0800396c 0x00000008 Code RO 949 .text.HAL_TIM_OnePulse_MspDeInit stm32f1xx_hal_tim.o
0x08003974 0x08003974 0x00000008 Code RO 945 .text.HAL_TIM_OnePulse_MspInit stm32f1xx_hal_tim.o
0x0800397c 0x0800397c 0x00000008 Code RO 905 .text.HAL_TIM_PWM_MspDeInit stm32f1xx_hal_tim.o
0x08003984 0x08003984 0x00000008 Code RO 901 .text.HAL_TIM_PWM_MspInit stm32f1xx_hal_tim.o
0x0800398c 0x0800398c 0x00000008 Code RO 1055 .text.HAL_TIM_PWM_PulseFinishedCallback stm32f1xx_hal_tim.o
0x08003994 0x08003994 0x00000008 Code RO 1057 .text.HAL_TIM_PWM_PulseFinishedHalfCpltCallback stm32f1xx_hal_tim.o
0x0800399c 0x0800399c 0x00000008 Code RO 1045 .text.HAL_TIM_PeriodElapsedCallback stm32f1xx_hal_tim.o
0x080039a4 0x080039a4 0x00000008 Code RO 1047 .text.HAL_TIM_PeriodElapsedHalfCpltCallback stm32f1xx_hal_tim.o
0x080039ac 0x080039ac 0x000002a2 Code RO 1065 .text.HAL_TIM_RegisterCallback stm32f1xx_hal_tim.o
0x08003c4e 0x08003c4e 0x00000002 PAD
0x08003c50 0x08003c50 0x00000008 Code RO 1059 .text.HAL_TIM_TriggerCallback stm32f1xx_hal_tim.o
0x08003c58 0x08003c58 0x00000008 Code RO 1061 .text.HAL_TIM_TriggerHalfCpltCallback stm32f1xx_hal_tim.o
0x08003c60 0x08003c60 0x00000384 Code RO 1067 .text.HAL_TIM_UnRegisterCallback stm32f1xx_hal_tim.o
0x08003fe4 0x08003fe4 0x00000004 Code RO 230 .text.HardFault_Handler stm32f1xx_it.o
0x08003fe8 0x08003fe8 0x0000008e Code RO 65 .text.IsLeapYear protocan.o
0x08004076 0x08004076 0x00000002 PAD
0x08004078 0x08004078 0x0000004e Code RO 186 .text.MX_CAN_Init can.o
0x080040c6 0x080040c6 0x00000002 PAD
0x080040c8 0x080040c8 0x0000004a Code RO 178 .text.MX_GPIO_Init gpio.o
0x08004112 0x08004112 0x00000002 PAD
0x08004114 0x08004114 0x00000094 Code RO 200 .text.MX_RTC_Init rtc.o
0x080041a8 0x080041a8 0x00000086 Code RO 214 .text.MX_TIM4_Init tim.o
0x0800422e 0x0800422e 0x00000002 PAD
0x08004230 0x08004230 0x00000004 Code RO 232 .text.MemManage_Handler stm32f1xx_it.o
0x08004234 0x08004234 0x00000004 Code RO 228 .text.NMI_Handler stm32f1xx_it.o
0x08004238 0x08004238 0x0000006c Code RO 547 .text.NVIC_EncodePriority stm32f1xx_hal_cortex.o
0x080042a4 0x080042a4 0x000000e4 Code RO 81 .text.PROTOCAN_AnalogProcessing protocan.o
0x08004388 0x08004388 0x000000c0 Code RO 83 .text.PROTOCAN_BroadcastProcessing protocan.o
0x08004448 0x08004448 0x00000064 Code RO 143 .text.PROTOCAN_CONFIG_FILTER protocan.o
0x080044ac 0x080044ac 0x00000046 Code RO 69 .text.PROTOCAN_DEINIT protocan.o
0x080044f2 0x080044f2 0x00000002 PAD
0x080044f4 0x080044f4 0x00000110 Code RO 85 .text.PROTOCAN_DiscreticProcessing protocan.o
0x08004604 0x08004604 0x0000003e Code RO 77 .text.PROTOCAN_FILTERS protocan.o
0x08004642 0x08004642 0x00000002 PAD
0x08004644 0x08004644 0x00000108 Code RO 71 .text.PROTOCAN_INIT protocan.o
0x0800474c 0x0800474c 0x00000344 Code RO 79 .text.PROTOCAN_LOOP protocan.o
0x08004a90 0x08004a90 0x000000c4 Code RO 89 .text.PROTOCAN_ModbusProcessing protocan.o
0x08004b54 0x08004b54 0x000000a4 Code RO 105 .text.PROTOCAN_RTC_SYNC protocan.o
0x08004bf8 0x08004bf8 0x00000040 Code RO 93 .text.PROTOCAN_SEND protocan.o
0x08004c38 0x08004c38 0x0000011a Code RO 131 .text.PROTOCAN_SEND_GENERAL_ADDRESS_SPACE protocan.o
0x08004d52 0x08004d52 0x00000002 PAD
0x08004d54 0x08004d54 0x00000002 Code RO 242 .text.PendSV_Handler stm32f1xx_it.o
0x08004d56 0x08004d56 0x00000002 PAD
0x08004d58 0x08004d58 0x0000010a Code RO 127 .text.ProtoCanMsgToAnalogISens protocan.o
0x08004e62 0x08004e62 0x00000002 PAD
0x08004e64 0x08004e64 0x00000086 Code RO 123 .text.ProtoCanMsgToAnalogSettings protocan.o
0x08004eea 0x08004eea 0x00000002 PAD
0x08004eec 0x08004eec 0x0000010a Code RO 129 .text.ProtoCanMsgToAnalogTSens protocan.o
0x08004ff6 0x08004ff6 0x00000002 PAD
0x08004ff8 0x08004ff8 0x0000010a Code RO 125 .text.ProtoCanMsgToAnalogUSens protocan.o
0x08005102 0x08005102 0x00000002 PAD
0x08005104 0x08005104 0x00000080 Code RO 121 .text.ProtoCanMsgToAnalogUniversal protocan.o
0x08005184 0x08005184 0x00000030 Code RO 97 .text.ProtoCanMsgToBroadcastOnOff protocan.o
0x080051b4 0x080051b4 0x000000a0 Code RO 99 .text.ProtoCanMsgToBroadcastRestart protocan.o
0x08005254 0x08005254 0x000000c0 Code RO 101 .text.ProtoCanMsgToBroadcastRtcSetup protocan.o
0x08005314 0x08005314 0x000000da Code RO 95 .text.ProtoCanMsgToBroadcastStatus protocan.o
0x080053ee 0x080053ee 0x00000002 PAD
0x080053f0 0x080053f0 0x0000001a Code RO 107 .text.ProtoCanMsgToDiscreteAccident protocan.o
0x0800540a 0x0800540a 0x00000002 PAD
0x0800540c 0x0800540c 0x0000001a Code RO 117 .text.ProtoCanMsgToDiscreteChangeMode protocan.o
0x08005426 0x08005426 0x00000002 PAD
0x08005428 0x08005428 0x0000001a Code RO 111 .text.ProtoCanMsgToDiscreteControlSignals protocan.o
0x08005442 0x08005442 0x00000002 PAD
0x08005444 0x08005444 0x0000001a Code RO 113 .text.ProtoCanMsgToDiscreteFlags protocan.o
0x0800545e 0x0800545e 0x00000002 PAD
0x08005460 0x08005460 0x0000001a Code RO 119 .text.ProtoCanMsgToDiscreteRequestListOfParameters protocan.o
0x0800547a 0x0800547a 0x00000002 PAD
0x0800547c 0x0800547c 0x00000018 Code RO 115 .text.ProtoCanMsgToDiscreteReset protocan.o
0x08005494 0x08005494 0x0000001a Code RO 109 .text.ProtoCanMsgToDiscreteWarning protocan.o
0x080054ae 0x080054ae 0x00000002 PAD
0x080054b0 0x080054b0 0x000000d8 Code RO 87 .text.ProtoCanMsgToGeneralAddressSpace protocan.o
0x08005588 0x08005588 0x00000098 Code RO 133 .text.ProtoCanMsgToModbusCoil protocan.o
0x08005620 0x08005620 0x0000009a Code RO 135 .text.ProtoCanMsgToModbusDiscrete protocan.o
0x080056ba 0x080056ba 0x00000002 PAD
0x080056bc 0x080056bc 0x0000009a Code RO 137 .text.ProtoCanMsgToModbusHolding protocan.o
0x08005756 0x08005756 0x00000002 PAD
0x08005758 0x08005758 0x0000009a Code RO 139 .text.ProtoCanMsgToModbusInput protocan.o
0x080057f2 0x080057f2 0x00000002 PAD
0x080057f4 0x080057f4 0x000000d4 Code RO 75 .text.ProtoCanPulseCallback protocan.o
0x080058c8 0x080058c8 0x000000d6 Code RO 73 .text.ProtoCanRxFifo0MsgPendingCallback protocan.o
0x0800599e 0x0800599e 0x00000002 PAD
0x080059a0 0x080059a0 0x0000003a Code RO 431 .text.RCC_Delay stm32f1xx_hal_rcc.o
0x080059da 0x080059da 0x00000002 PAD
0x080059dc 0x080059dc 0x0000002a Code RO 761 .text.RTC_Bcd2ToByte stm32f1xx_hal_rtc.o
0x08005a06 0x08005a06 0x00000002 PAD
0x08005a08 0x08005a08 0x0000003a Code RO 775 .text.RTC_ByteToBcd2 stm32f1xx_hal_rtc.o
0x08005a42 0x08005a42 0x00000002 PAD
0x08005a44 0x08005a44 0x00000172 Code RO 773 .text.RTC_DateUpdate stm32f1xx_hal_rtc.o
0x08005bb6 0x08005bb6 0x00000002 PAD
0x08005bb8 0x08005bb8 0x00000056 Code RO 751 .text.RTC_EnterInitMode stm32f1xx_hal_rtc.o
0x08005c0e 0x08005c0e 0x00000002 PAD
0x08005c10 0x08005c10 0x00000056 Code RO 753 .text.RTC_ExitInitMode stm32f1xx_hal_rtc.o
0x08005c66 0x08005c66 0x00000002 PAD
0x08005c68 0x08005c68 0x00000078 Code RO 799 .text.RTC_IsLeapYear stm32f1xx_hal_rtc.o
0x08005ce0 0x08005ce0 0x00000032 Code RO 765 .text.RTC_ReadAlarmCounter stm32f1xx_hal_rtc.o
0x08005d12 0x08005d12 0x00000002 PAD
0x08005d14 0x08005d14 0x0000006a Code RO 771 .text.RTC_ReadTimeCounter stm32f1xx_hal_rtc.o
0x08005d7e 0x08005d7e 0x00000002 PAD
0x08005d80 0x08005d80 0x000000e2 Code RO 779 .text.RTC_WeekDayNum stm32f1xx_hal_rtc.o
0x08005e62 0x08005e62 0x00000002 PAD
0x08005e64 0x08005e64 0x00000050 Code RO 767 .text.RTC_WriteAlarmCounter stm32f1xx_hal_rtc.o
0x08005eb4 0x08005eb4 0x00000050 Code RO 763 .text.RTC_WriteTimeCounter stm32f1xx_hal_rtc.o
0x08005f04 0x08005f04 0x00000002 Code RO 238 .text.SVC_Handler stm32f1xx_it.o
0x08005f06 0x08005f06 0x00000002 PAD
0x08005f08 0x08005f08 0x00000052 Code RO 563 .text.SysTick_Config stm32f1xx_hal_cortex.o
0x08005f5a 0x08005f5a 0x00000002 PAD
0x08005f5c 0x08005f5c 0x00000008 Code RO 244 .text.SysTick_Handler stm32f1xx_it.o
0x08005f64 0x08005f64 0x0000009c Code RO 166 .text.SystemClock_Config main.o
0x08006000 0x08006000 0x00000002 Code RO 1185 .text.SystemInit system_stm32f1xx.o
0x08006002 0x08006002 0x00000002 PAD
0x08006004 0x08006004 0x00000010 Code RO 254 .text.TIM4_IRQHandler stm32f1xx_it.o
0x08006014 0x08006014 0x000000f0 Code RO 849 .text.TIM_Base_SetConfig stm32f1xx_hal_tim.o
0x08006104 0x08006104 0x00000034 Code RO 1025 .text.TIM_ETR_SetConfig stm32f1xx_hal_tim.o
0x08006138 0x08006138 0x0000002a Code RO 1031 .text.TIM_ITRx_SetConfig stm32f1xx_hal_tim.o
0x08006162 0x08006162 0x00000002 PAD
0x08006164 0x08006164 0x000000be Code RO 845 .text.TIM_ResetCallback stm32f1xx_hal_tim.o
0x08006222 0x08006222 0x00000002 PAD
0x08006224 0x08006224 0x00000050 Code RO 1029 .text.TIM_TI1_ConfigInputStage stm32f1xx_hal_tim.o
0x08006274 0x08006274 0x00000052 Code RO 1033 .text.TIM_TI2_ConfigInputStage stm32f1xx_hal_tim.o
0x080062c6 0x080062c6 0x00000002 PAD
0x080062c8 0x080062c8 0x000000d0 Code RO 141 .text.TakeRxMsgToBuffer protocan.o
0x08006398 0x08006398 0x00000010 Code RO 246 .text.USB_HP_CAN1_TX_IRQHandler stm32f1xx_it.o
0x080063a8 0x080063a8 0x00000010 Code RO 248 .text.USB_LP_CAN1_RX0_IRQHandler stm32f1xx_it.o
0x080063b8 0x080063b8 0x00000004 Code RO 236 .text.UsageFault_Handler stm32f1xx_it.o
0x080063bc 0x080063bc 0x00000038 Code RO 555 .text.__NVIC_DisableIRQ stm32f1xx_hal_cortex.o
0x080063f4 0x080063f4 0x00000030 Code RO 551 .text.__NVIC_EnableIRQ stm32f1xx_hal_cortex.o
0x08006424 0x08006424 0x00000010 Code RO 543 .text.__NVIC_GetPriorityGrouping stm32f1xx_hal_cortex.o
0x08006434 0x08006434 0x00000042 Code RO 545 .text.__NVIC_SetPriority stm32f1xx_hal_cortex.o
0x08006476 0x08006476 0x00000002 PAD
0x08006478 0x08006478 0x0000003c Code RO 539 .text.__NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o
0x080064b4 0x080064b4 0x00000026 Code RO 103 .text.__NVIC_SystemReset protocan.o
0x080064da 0x080064da 0x00000002 PAD
0x080064dc 0x080064dc 0x00000066 Code RO 164 .text.main main.o
0x08006542 0x08006542 0x00000002 PAD
0x08006544 0x08006544 0x00000060 Data RO 153 .rodata..L__const.ProtoCanMsgToBroadcastRtcSetup.DaysCount_Normal protocan.o
0x080065a4 0x080065a4 0x00000010 Data RO 1190 .rodata.AHBPrescTable system_stm32f1xx.o
0x080065b4 0x080065b4 0x00000008 Data RO 1191 .rodata.APBPrescTable system_stm32f1xx.o
0x080065bc 0x080065bc 0x00000010 Data RO 472 .rodata.HAL_RCCEx_GetPeriphCLKFreq.aPLLMULFactorTable stm32f1xx_hal_rcc_ex.o
0x080065cc 0x080065cc 0x00000002 Data RO 473 .rodata.HAL_RCCEx_GetPeriphCLKFreq.aPredivFactorTable stm32f1xx_hal_rcc_ex.o
0x080065ce 0x080065ce 0x00000010 Data RO 457 .rodata.HAL_RCC_GetSysClockFreq.aPLLMULFactorTable stm32f1xx_hal_rcc.o
0x080065de 0x080065de 0x00000002 Data RO 458 .rodata.HAL_RCC_GetSysClockFreq.aPredivFactorTable stm32f1xx_hal_rcc.o
0x080065e0 0x080065e0 0x00000020 Data RO 1370 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08005370, Size: 0x00001920, Max: 0x00005000, ABSOLUTE)
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08006600, Size: 0x00001a10, Max: 0x00005000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 0x08005370 0x00000001 Data RW 192 .data.CurrentStep requester.o
0x20000001 0x08005371 0x00000003 PAD
0x20000004 0x08005374 0x00000004 Data RW 1121 .data.SystemCoreClock system_stm32f1xx.o
0x20000008 0x08005378 0x00000004 Data RW 199 .data.filter1_id requester.o
0x2000000c 0x0800537c 0x00000004 Data RW 200 .data.filter1_mask requester.o
0x20000010 0x08005380 0x00000004 Data RW 202 .data.filter2_mask requester.o
0x20000014 0x08005384 0x00000004 Data RW 203 .data.filter3_id requester.o
0x20000018 0x08005388 0x00000004 Data RW 204 .data.filter3_mask requester.o
0x2000001c 0x0800538c 0x00000001 Data RW 356 .data.uwTickFreq stm32f1xx_hal.o
0x2000001d 0x0800538d 0x00000003 PAD
0x20000020 0x08005390 0x00000004 Data RW 355 .data.uwTickPrio stm32f1xx_hal.o
0x20000024 0x08005394 0x00000004 PAD
0x20000028 - 0x00000060 Zero RW 1167 .bss c_w.l(libspace.o)
0x20000088 - 0x00000004 Zero RW 194 .bss.ControlFlags requester.o
0x2000008c - 0x00000800 Zero RW 197 .bss.Device_on_the_Network requester.o
0x2000088c - 0x00000001 Zero RW 193 .bss.LastStep requester.o
0x2000088d 0x08005394 0x00000003 PAD
0x20000890 - 0x00000004 Zero RW 198 .bss.REQUESTER_Pulse_TIM_Handler.PulseStage requester.o
0x20000894 - 0x00000004 Zero RW 201 .bss.filter2_id requester.o
0x20000898 - 0x00000028 Zero RW 39 .bss.hcan can.o
0x200008c0 - 0x00000014 Zero RW 53 .bss.hrtc rtc.o
0x200008d4 - 0x00000048 Zero RW 67 .bss.htim4 tim.o
0x2000091c - 0x00000a00 Zero RW 195 .bss.rxMsg requester.o
0x2000131c - 0x00000004 Zero RW 357 .bss.uwTick stm32f1xx_hal.o
0x20001320 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o
0x20001520 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o
0x20000000 0x08006600 0x00000001 Data RW 148 .data.CurrentStep protocan.o
0x20000001 0x08006601 0x00000003 PAD
0x20000004 0x08006604 0x00000004 Data RW 1189 .data.SystemCoreClock system_stm32f1xx.o
0x20000008 0x08006608 0x00000001 Data RW 418 .data.uwTickFreq stm32f1xx_hal.o
0x20000009 0x08006609 0x00000003 PAD
0x2000000c 0x0800660c 0x00000004 Data RW 417 .data.uwTickPrio stm32f1xx_hal.o
0x20000010 - 0x00000060 Zero RW 1235 .bss c_w.l(libspace.o)
0x20000070 - 0x00000058 Zero RW 57 .bss.CanErrors canerrorbox.o
0x200000c8 - 0x00000004 Zero RW 150 .bss.ControlFlags protocan.o
0x200000cc - 0x00000800 Zero RW 154 .bss.Device_on_the_Network protocan.o
0x200008cc - 0x00000001 Zero RW 149 .bss.LastStep protocan.o
0x200008cd 0x08006610 0x00000003 PAD
0x200008d0 - 0x00000004 Zero RW 155 .bss.ProtoCanPulseCallback.PulseStage protocan.o
0x200008d4 - 0x00000004 Zero RW 145 .bss._HCAN protocan.o
0x200008d8 - 0x00000004 Zero RW 146 .bss._HRTC protocan.o
0x200008dc - 0x00000004 Zero RW 147 .bss._HTIM protocan.o
0x200008e0 - 0x00000064 Zero RW 192 .bss.hcan can.o
0x20000944 - 0x00000014 Zero RW 206 .bss.hrtc rtc.o
0x20000958 - 0x000000b4 Zero RW 220 .bss.htim4 tim.o
0x20000a0c - 0x00000a00 Zero RW 152 .bss.rxMsg protocan.o
0x2000140c - 0x00000004 Zero RW 419 .bss.uwTick stm32f1xx_hal.o
0x20001410 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o
0x20001610 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o
==============================================================================
@@ -2883,31 +3184,32 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
304 0 0 0 40 4692 can.o
390 0 0 0 100 5235 can.o
766 0 0 0 88 5873 canerrorbox.o
74 0 0 0 0 1313 gpio.o
218 0 0 0 0 1874 main.o
5908 0 96 21 4621 14578 requester.o
272 0 0 0 0 2006 main.o
6382 0 96 1 4629 23602 protocan.o
224 0 0 0 20 2491 rtc.o
64 26 236 0 1536 772 startup_stm32f103xb.o
188 0 0 5 4 5530 stm32f1xx_hal.o
3054 0 0 0 0 11312 stm32f1xx_hal_can.o
482 0 0 0 0 7481 stm32f1xx_hal_cortex.o
798 0 0 0 0 4185 stm32f1xx_hal_gpio.o
4070 0 0 0 0 13574 stm32f1xx_hal_can.o
558 0 0 0 0 7481 stm32f1xx_hal_cortex.o
1212 0 0 0 0 4185 stm32f1xx_hal_gpio.o
66 0 0 0 0 932 stm32f1xx_hal_msp.o
12 0 0 0 0 3948 stm32f1xx_hal_pwr.o
2652 0 18 0 0 7381 stm32f1xx_hal_rcc.o
862 0 18 0 0 3088 stm32f1xx_hal_rcc_ex.o
2994 0 0 0 0 10282 stm32f1xx_hal_rtc.o
1890 0 0 0 0 35438 stm32f1xx_hal_tim.o
236 0 0 0 0 15041 stm32f1xx_hal_tim_ex.o
118 0 0 0 0 1490 stm32f1xx_it.o
3658 0 0 0 0 39582 stm32f1xx_hal_tim.o
260 0 0 0 0 16126 stm32f1xx_hal_tim_ex.o
114 0 0 0 0 1487 stm32f1xx_it.o
2 0 24 4 0 1540 system_stm32f1xx.o
212 0 0 0 72 5527 tim.o
264 0 0 0 180 6554 tim.o
----------------------------------------------------------------------
20480 26 424 36 6300 138895 Object Totals
25232 26 424 16 6560 162982 Object Totals
0 0 32 0 0 0 (incl. Generated)
122 0 0 6 7 0 (incl. Padding)
148 0 0 6 3 0 (incl. Padding)
----------------------------------------------------------------------
@@ -2956,15 +3258,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
20936 42 424 36 6396 139067 Grand Totals
20936 42 424 36 6396 139067 ELF Image Totals
20936 42 424 36 0 0 ROM Totals
25688 42 424 16 6656 163134 Grand Totals
25688 42 424 16 6656 163134 ELF Image Totals
25688 42 424 16 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 21360 ( 20.86kB)
Total RW Size (RW Data + ZI Data) 6432 ( 6.28kB)
Total ROM Size (Code + RO Data + RW Data) 21396 ( 20.89kB)
Total RO Size (Code + RO Data) 26112 ( 25.50kB)
Total RW Size (RW Data + ZI Data) 6672 ( 6.52kB)
Total ROM Size (Code + RO Data + RW Data) 26128 ( 25.52kB)
==============================================================================

File diff suppressed because one or more lines are too long

View File

@@ -30,4 +30,4 @@ f103c8t6/can.o: ..\Core\Src\can.c ..\Core\Inc\can.h ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\requester.h ..\Core\Inc\rtc.h ..\Core\Inc\tim.h
..\Core\Inc\protocan.h ..\Core\Inc\canerrorbox.h

Binary file not shown.

View File

@@ -0,0 +1,34 @@
f103c8t6/canerrorbox.o: ..\Core\Src\canerrorbox.c \
..\Core\Inc\canerrorbox.h ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h \
..\Core\Inc\stm32f1xx_hal_conf.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xb.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\protocan.h ..\Core\Inc\can.h

Binary file not shown.

View File

@@ -30,5 +30,4 @@ f103c8t6/gpio.o: ..\Core\Src\gpio.c ..\Core\Inc\gpio.h ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\requester.h ..\Core\Inc\can.h ..\Core\Inc\rtc.h \
..\Core\Inc\tim.h
..\Core\Inc\protocan.h ..\Core\Inc\can.h ..\Core\Inc\canerrorbox.h

View File

@@ -30,5 +30,5 @@ f103c8t6/main.o: ..\Core\Src\main.c ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\requester.h ..\Core\Inc\can.h ..\Core\Inc\rtc.h \
..\Core\Inc\tim.h ..\Core\Inc\gpio.h
..\Core\Inc\protocan.h ..\Core\Inc\can.h ..\Core\Inc\canerrorbox.h \
..\Core\Inc\rtc.h ..\Core\Inc\tim.h ..\Core\Inc\gpio.h

Binary file not shown.

View File

@@ -0,0 +1,33 @@
f103c8t6/protocan.o: ..\Core\Src\protocan.c ..\Core\Inc\protocan.h \
..\Core\Inc\main.h ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h \
..\Core\Inc\stm32f1xx_hal_conf.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xb.h \
..\Drivers\CMSIS\Include\core_cm3.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
..\Drivers\CMSIS\Include\cmsis_version.h \
..\Drivers\CMSIS\Include\cmsis_compiler.h \
..\Drivers\CMSIS\Include\cmsis_armclang.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\canerrorbox.h ..\Core\Inc\can.h

BIN
MDK-ARM/F103C8T6/protocan.o Normal file

Binary file not shown.

View File

@@ -30,4 +30,5 @@ f103c8t6/requester.o: ..\Core\Src\requester.c ..\Core\Inc\requester.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\can.h ..\Core\Inc\rtc.h ..\Core\Inc\tim.h
..\Core\Inc\canerrorbox.h ..\Core\Inc\can.h ..\Core\Inc\rtc.h \
..\Core\Inc\tim.h

Binary file not shown.

View File

@@ -30,4 +30,4 @@ f103c8t6/rtc.o: ..\Core\Src\rtc.c ..\Core\Inc\rtc.h ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\requester.h ..\Core\Inc\can.h ..\Core\Inc\tim.h
..\Core\Inc\protocan.h ..\Core\Inc\can.h ..\Core\Inc\canerrorbox.h

Binary file not shown.

View File

@@ -30,5 +30,4 @@ f103c8t6/stm32f1xx_hal_msp.o: ..\Core\Src\stm32f1xx_hal_msp.c \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\requester.h ..\Core\Inc\can.h ..\Core\Inc\rtc.h \
..\Core\Inc\tim.h
..\Core\Inc\protocan.h ..\Core\Inc\can.h ..\Core\Inc\canerrorbox.h

Binary file not shown.

View File

@@ -30,5 +30,5 @@ f103c8t6/stm32f1xx_it.o: ..\Core\Src\stm32f1xx_it.c ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\requester.h ..\Core\Inc\can.h ..\Core\Inc\rtc.h \
..\Core\Inc\tim.h ..\Core\Inc\stm32f1xx_it.h
..\Core\Inc\protocan.h ..\Core\Inc\can.h ..\Core\Inc\canerrorbox.h \
..\Core\Inc\stm32f1xx_it.h

Binary file not shown.

View File

@@ -30,4 +30,4 @@ f103c8t6/tim.o: ..\Core\Src\tim.c ..\Core\Inc\tim.h ..\Core\Inc\main.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rtc_ex.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
..\Core\Inc\requester.h ..\Core\Inc\can.h ..\Core\Inc\rtc.h
..\Core\Inc\protocan.h ..\Core\Inc\can.h ..\Core\Inc\canerrorbox.h

Binary file not shown.