Добавлено:

- рефакторинг названий:
	- маленькие буквы - инит периферии
	- ТакойСтильФункций - API для использования
- сделаны шапки с инструкциями к функциями
- доработан ацп секвенсора
- доработан систем тики. можно настроить его на разные частоты и подключить коллбеки на разный период
- в gpio добавлены функции для кнопок и диодов
- генерация бинарника
This commit is contained in:
2025-12-27 23:20:03 +03:00
parent c7fdf6776f
commit f3e76e105a
20 changed files with 2105 additions and 6274 deletions

View File

@@ -1,22 +1,115 @@
/*==============================================================================
* Инициализация АЦП с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file adc.c
* @author Разваляев Алексей
* @brief Драйвер ADC на основе PLIB035.
* Этот файл содержит:
* + Инициализацию ADC и аналогового модуля (AM)
* + Управление секвенсорами (SEQ0, SEQ1):
* - Инициализацию и конфигурацию секвенсоров
* - Запуск и остановку преобразований с буфером
* - Обработку прерываний секвенсоров
* - Установку callback-функций для событий:
* - завершение секвенсора
* - половина буфера
* - полный буфер
* - ошибка
* + Управление цифровыми компараторами (DC0-DC3):
* - Инициализацию и конфигурацию компараторов
* - Запуск и остановку компараторов
* - Обработку прерываний компараторов
* - Установку callback-функций для событий:
* - срабатывание компаратора
* - ошибка
* + Функции для работы с каналами ADC
* + Программный запуск преобразований
*
******************************************************************************
* @attention
*
* Использование этого драйвера предполагает наличие корректных настроек:
* - Определены конфигурационные структуры adc_seqx_config и adc_dcx_config
* в periph_config.h
* - Настроено тактирование ADC через RCU
* - Для использования прерываний - включены соответствующие NVIC IRQ
*
******************************************************************************
* @verbatim
==============================================================================
##### Как использовать этот драйвер #####
==============================================================================
1. Общие функции ADC:
a) Инициализация:
(+) adc_init_first() — обязательный вызов перед использованием ADC
b) Работа с каналами:
(+) ADC_Get_ChannelValue(&hadc, channel) — получение текущего значения канала
2. Секвенсоры (SEQ):
a) Настройка периферии (periph_config.h):
(+) Определить структуры ADC_SEQ_ExtInit_TypeDef для нужных секвенсоров:
adc_seq0_config, adc_seq1_config
(+) Настроить последовательность каналов, режимы работы
(+) Настроить прерывания (IT) и ITCount
(+) Определить callback-функции (можно NULL)
b) Инициализация:
(+) adc_init_first() — первичная настройка тактирования, сброс ADC, инициализация хендла hadc
(+) adc_seq_init(&hadc, ADC_SEQ_Num_0, &adc_seq0_config) — инициализация конкретного секвенсора
c) Callback-функции (опционально):
(+) ADC_SEQ_Set_Callback(&hadc, ADC_SEQ_Num_0, ADC_Callback_SeqCplt, Callback) — завершение секвенсора
(+) ADC_SEQ_Set_Callback(&hadc, ADC_SEQ_Num_0, ADC_Callback_BuffHalf, Callback) — половина буфера
(+) ADC_SEQ_Set_Callback(&hadc, ADC_SEQ_Num_0, ADC_Callback_BuffFull, Callback) — полный буфер
(+) ADC_SEQ_Set_Callback(&hadc, ADC_SEQ_Num_0, ADC_Callback_Error, Callback) — ошибки
d) Запуск и остановка:
(+) ADC_SEQ_Start(&hadc, ADC_SEQ_Num_0, data_buffer, buffer_size) — запуск с буфером
(+) ADC_SEQ_Stop(&hadc, ADC_SEQ_Num_0) — остановка секвенсора
e) Работа с данными:
(+) ADC_Get_ChannelValue(&hadc, channel) — чтение текущего значения канала из хендла
(+) ADC_SEQ_SoftwareStart() — программный запуск преобразования
f) Обработка прерываний:
(+) adc_seq_irq_handler(&hadc, ADC_SEQ_Num_0) — обработчик прерываний секвенсора
- В обработчике автоматически читаются данные из FIFO, обновляются каналы и буфер
- В обработчиках автоматически вызываются соответствующие callback-функции
и сбрасываются флаги
g) Особенности работы:
(+) Данные автоматически читаются из FIFO в прерывании
(+) Поддерживается кольцевой буфер (BufferCircular)
(+) Автоматический вызов callback при заполнении половины/всего буфера
3. Цифровые компараторы (DC):
@endverbatim
******************************************************************************
*/
//-- Includes ------------------------------------------------------------------
#include "periph_config.h"
ADC_HandleTypeDef hadc;
ADC_HandleTypeDef hadc; /*!< Хендл ADC */
//-- Private function prototypes -----------------------------------------------
static void __adc_seq_fifo_read(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num);
static int __adc_seq_calc_fifo_load(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num);
//-- Defines -------------------------------------------------------------------
//-- Peripheral init functions -------------------------------------------------
////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////SEQUENCORS/////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//-- ADC Init functions --------------------------------------------------------
/**
* @brief Первичная инициализация ADC
* @details Настройка ADC и хендла: тактирования, прерывания
* и секвенсоры с компараторами
*/
void adc_init_first(void)
{
#if (USE_ADC_SEQ0==1) || (USE_ADC_SEQ1==1) || (USE_ADC_DC0==1) || (USE_ADC_DC1==1) || (USE_ADC_DC2==1) || (USE_ADC_DC3==1)
@@ -41,11 +134,12 @@ void adc_init_first(void)
#endif
#if (USE_ADC_SEQ1==1)
adc_seq_init(&hadc, ADC_SEQ_Num_1, &adc_seq1_config);
if(hadc.SEQ_Config[ADC_SEQ_Num_1]->IT == ENABLE)
if(hadc.SEQ[ADC_SEQ_Num_1].Config->IT == ENABLE)
{
NVIC_EnableIRQ(ADC_SEQ1_IRQn);
}
#endif
#if (USE_ADC_DC0==1)
#endif
#if (USE_ADC_DC1==1)
@@ -64,6 +158,8 @@ void adc_init_first(void)
#endif
}
//-- ADC Sequencers API functions ----------------------------------------------
/**
* @brief Инициализация секвенсора АЦП
* @param hadc указатель на хендл АЦП
@@ -87,6 +183,16 @@ OperationStatus adc_seq_init(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Nu
return ERROR;
}
ADC_SEQ_ExtInit_TypeDef *conf = hseq->Config;
if(conf->SEQ_Init.RestartTimer) // не значю почему но этот таймер работает в 2 раза медленее чем AdcClk
{
conf->SEQ_Init.RestartTimer = (conf->SEQ_Init.RestartTimer+1)/2-1; // поэтому дополнительно делим всё на два чтобы работало
}
if(__adc_seq_calc_fifo_load(hadc, SEQ_Num) < 0)
return ERROR;
ADC_SEQ_Init(SEQ_Num, &hseq->Config->SEQ_Init);
return OK;
@@ -95,20 +201,20 @@ OperationStatus adc_seq_init(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Nu
/**
* @brief Установка коллбека секвенсора АЦП
* @param hadc указатель на хендл АЦП
* @param cb_type Тип коллбека
* @param CallbackType Тип коллбека
* @param Callback Функция коллбека
* @retval void
*/
OperationStatus adc_seq_set_callback(ADC_HandleTypeDef* hadc, ADC_SEQ_Num_TypeDef SEQ_Num, ADC_CallbackTypeDef cb_type, void (*Callback)(void))
OperationStatus ADC_SEQ_Set_Callback(ADC_HandleTypeDef* hadc, ADC_SEQ_Num_TypeDef SEQ_Num, ADC_CallbackTypeDef CallbackType, void (*Callback)(void))
{
if (!hadc || !hadc->Instance || !hadc->SEQ[SEQ_Num].Config)
return ERROR;
ADC_SEQ_HandleTypeDef *hseq = &hadc->SEQ[SEQ_Num];
switch(cb_type)
switch(CallbackType)
{
case ADC_Callback_Seq:
case ADC_Callback_SeqCplt:
hseq->Config->SEQCpltCallback = Callback;
break;
case ADC_Callback_Error:
@@ -135,7 +241,7 @@ OperationStatus adc_seq_set_callback(ADC_HandleTypeDef* hadc, ADC_SEQ_Num_TypeDe
* @param buffer_size размер буфера для каждого канала (0 если буфер не используется)
* @retval OperationStatus OK - если всё хорошо, ERROR - если ошибка
*/
OperationStatus adc_seq_start(ADC_HandleTypeDef *hadc,
OperationStatus ADC_SEQ_Start(ADC_HandleTypeDef *hadc,
ADC_SEQ_Num_TypeDef SEQ_Num,
uint16_t (*data_buffer)[],
uint32_t buffer_size)
@@ -151,18 +257,24 @@ OperationStatus adc_seq_start(ADC_HandleTypeDef *hadc,
hseq->buffer_size = buffer_size;
hseq->buffer_count = 0; // Сбрасываем счетчик
// DMA > IT
if(conf->SEQ_Init.DMAEn == ENABLE)
{
conf->IT = DISABLE;
}
// Настраиваем прерывания если нужно
if (conf->IT == ENABLE)
{
ADC_SEQ_ITConfig(SEQ_Num, conf->ITCount, DISABLE);
uint32_t it_real_cnt = (uint32_t)(conf->ITCount+1)*(conf->SEQ_Init.ReqMax+1);
ADC_SEQ_ITConfig(SEQ_Num, it_real_cnt-1, DISABLE);
ADC_SEQ_ITCmd(SEQ_Num, ENABLE);
}
// Включаем секвенсор
ADC_SEQ_Cmd(SEQ_Num, ENABLE);
// Помечаем как запущенный
hseq->running = 1;
return OK;
}
@@ -174,12 +286,12 @@ OperationStatus adc_seq_start(ADC_HandleTypeDef *hadc,
* @param SEQ_Num номер секвенсора
* @retval OperationStatus OK - если всё хорошо, ERROR - если ошибка
*/
OperationStatus adc_seq_stop(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num)
OperationStatus ADC_SEQ_Stop(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num)
{
if (!hadc || !hadc->Instance || !hadc->SEQ[SEQ_Num].Config)
return ERROR;
ADC_SEQ_HandleTypeDef *hseq = &hadc->SEQ[SEQ_Num];
// ADC_SEQ_HandleTypeDef *hseq = &hadc->SEQ[SEQ_Num];
// Выключаем секвенсор
ADC_SEQ_Cmd(SEQ_Num, DISABLE);
@@ -187,9 +299,6 @@ OperationStatus adc_seq_stop(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Nu
// Выключаем прерывания
ADC_SEQ_ITCmd(SEQ_Num, DISABLE);
// Сбрасываем флаг запуска
hseq->running = 1;
return OK;
}
@@ -199,40 +308,34 @@ OperationStatus adc_seq_stop(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Nu
* @param channel номер канала
* @retval значение ADC (0 если данные невалидны)
*/
uint16_t adc_get_channel_value(ADC_HandleTypeDef *hadc, ADC_CH_Num_TypeDef channel)
uint16_t ADC_Get_ChannelValue(ADC_HandleTypeDef *hadc, ADC_CH_Num_TypeDef channel)
{
if (!hadc || channel >= ADC_CH_Total)
if (!hadc || (int)channel >= ADC_CH_Total)
return 0;
if (hadc->ChannelValid[channel])
{
return hadc->ChannelData[channel];
}
return 0;
return hadc->ChannelData[channel];
}
/**
* @brief Программный запуск преобразования
*/
void adc_sw_start(void)
void ADC_SEQ_SoftwareStart(void)
{
ADC_SEQ_SwStartCmd();
}
int itcnt;
/**
* @brief Обработчик прерываний секвенсора
* @param hadc указатель на хендл АЦП
* @param SEQ_Num номер секвенсора
* @retval void
*/
void adc_seq_handler(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num)
void adc_seq_irq_handler(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num)
{
if (!hadc || !hadc->Instance || !hadc->SEQ[SEQ_Num].Config)
return;
// GPIO_SetBits(GPIOA, GPIO_Pin_7);
itcnt++;
ADC_SEQ_HandleTypeDef *hseq = &hadc->SEQ[SEQ_Num];
ADC_SEQ_ExtInit_TypeDef *conf = hseq->Config;
@@ -242,73 +345,7 @@ void adc_seq_handler(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num)
// Очищаем флаг
ADC_SEQ_ITStatusClear(SEQ_Num);
// Последний запрос в секвенсоре
ADC_SEQ_ReqNum_TypeDef last_request = conf->SEQ_Init.ReqMax;
// Читаем все доступные данные из FIFO
uint8_t channels_processed = 0;
while (ADC_SEQ_GetFIFOLoad(ADC_SEQ_Num_0))
{
uint32_t data = ADC_SEQ_GetFIFOData(SEQ_Num);
ADC_SEQ_ReqNum_TypeDef req_num = ADC_SEQ_GetReqCurrent(SEQ_Num);
if (req_num < ADC_SEQ_Req_Total)
{
ADC_CH_Num_TypeDef channel = conf->SEQ_Init.Req[req_num];
if (channel < ADC_CH_Total)
{
// 1. Обновляем текущее значение
hadc->ChannelData[channel] = (uint16_t)data;
hadc->ChannelValid[channel] = 1;
// 2. Записываем в буфер если он есть
if (hseq->data_buffer &&
hseq->buffer_size > 0)
{
// Вычисляем offset для [ch][buffer_size]
uint32_t offset = channel * hseq->buffer_size +
hseq->buffer_count;
hseq->data_buffer[offset] = (uint16_t)data;
}
channels_processed++;
// Если это последний канал в секвенсоре - увеличиваем счетчик буфера
if (req_num == last_request)
{
hseq->buffer_count++;
if(hseq->buffer_count == hseq->buffer_size/2)
{
if (conf->BuffHalfCallback)
{
conf->BuffHalfCallback();
}
}
if(hseq->buffer_count >= hseq->buffer_size)
{
// Кольцевой буфер
if(conf->buffer_circular)
hseq->buffer_count = 0;
else
adc_seq_stop(hadc, SEQ_Num);
if (conf->BuffFullCallback)
{
conf->BuffFullCallback();
}
}
}
}
}
}
// Вызываем коллбек пользователя
if (conf->SEQCpltCallback)
{
conf->SEQCpltCallback();
}
__adc_seq_fifo_read(hadc, SEQ_Num);
}
// Обработка ошибок
@@ -321,117 +358,127 @@ void adc_seq_handler(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num)
conf->ErrorCallback();
}
}
// GPIO_ClearBits(GPIOA, GPIO_Pin_7);
}
/**
* @brief Внутренняя функция для расчета загрузки FIFO буфера
* @param hadc указатель на хендл АЦП
* @param SEQ_Num номер секвенсора
* @retval Кол-во данных FIFO буфера, или -1 если переполнение FIFO
* @details Рассчитывает сколько данных накопится в fifo буфере за одно прерывание
*/
static int __adc_seq_calc_fifo_load(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num)
{
ADC_SEQ_HandleTypeDef *hseq = &hadc->SEQ[SEQ_Num];
ADC_SEQ_ExtInit_TypeDef *conf = hseq->Config;
int numb_of_data = 0;
uint32_t numb_of_req = ((uint32_t)conf->SEQ_Init.ReqMax+1);
uint32_t it_cnt = ((uint32_t)conf->ITCount+1);
if(conf->SEQ_Init.RestartAverageEn)
{
numb_of_data = numb_of_req;
}
else
{
numb_of_data = it_cnt*numb_of_req;
if(numb_of_data > 32) // Максимальный размер FIFO - 32 элемента, поэтому если слишком многшо данных за время работы перед прерыванием - то ошибка
return -1;
}
return numb_of_data;
}
/**
* @brief Внутренняя функция для чтения данных из FIFO
* @param hadc указатель на хендл АЦП
* @param SEQ_Num номер секвенсора
* @retval void
* @details Автоматически достает данные из FIFO и складывает их в заданный буфер
и в структуру hadc
*/
static void __adc_seq_fifo_read(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num)
{
ADC_SEQ_HandleTypeDef *hseq = &hadc->SEQ[SEQ_Num];
_ADC_SEQ_TypeDef *SEQx = &hadc->Instance->SEQ[SEQ_Num];
ADC_SEQ_ExtInit_TypeDef *conf = hseq->Config;
// Последний запрос в секвенсоре
uint32_t last_request = SEQx->SRQCTL_bit.RQMAX;
uint32_t numb_of_request = last_request+1;
// Читаем все доступные данные из FIFO
uint32_t fifo_size = ADC_SEQ_GetFIFOLoad(SEQ_Num);
uint32_t req_num = ((int)ADC_SEQ_GetReqCurrent(SEQ_Num)-fifo_size)%(numb_of_request); // первая дата в fifo будет (следующий запрос - количество данных в буфере)
while (ADC_SEQ_GetFIFOLoad(SEQ_Num))
{
uint32_t data = ADC_SEQ_GetFIFOData(SEQ_Num);
if(ADC_SEQ_GetFIFOLoad(SEQ_Num) == 0)
{
__NOP();
}
if ((int)req_num < ADC_SEQ_Req_Total)
{
ADC_CH_Num_TypeDef channel = conf->SEQ_Init.Req[req_num];
if ((int)channel < ADC_CH_Total)
{
// 1. Обновляем текущее значение
hadc->ChannelData[channel] = (uint16_t)data;
// 2. Записываем в буфер если он есть
if (hseq->data_buffer &&
hseq->buffer_size > 0)
{
// Вычисляем offset для [ch][buffer_size]
uint32_t offset = req_num * hseq->buffer_size +
hseq->buffer_count;
hseq->data_buffer[offset] = (uint16_t)data;
}
}
// Если это последний канал в секвенсоре - увеличиваем счетчик буфера
if (req_num == last_request)
{
hseq->buffer_count++;
if(hseq->buffer_count == hseq->buffer_size/2)
{
if (conf->BuffHalfCallback)
{
conf->BuffHalfCallback();
}
}
if(hseq->buffer_count >= hseq->buffer_size)
{
// Кольцевой буфер
if(conf->BufferCircular)
hseq->buffer_count = 0;
else
ADC_SEQ_Stop(hadc, SEQ_Num);
if (conf->BuffFullCallback)
{
conf->BuffFullCallback();
}
}
}
}
// Переход на Следующий канал
req_num = (req_num+1)%numb_of_request;
}
// Вызываем коллбек пользователя
if (conf->SEQCpltCallback)
{
conf->SEQCpltCallback();
}
}
////////////////////////////////////////////////////////////////////////////////
////////////////////////////DIGITAL COMPARATORS/////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
///**
// * @brief Инициализация цифрового компаратора АЦП
// * @param hadc указатель на хендл АЦП
// * @param DC_Num номер компаратора
// * @param NewConfig указатель на конфигурацию
// * @retval OperationStatus OK - если всё хорошо, ERROR - если ошибка
// */
//OperationStatus adc_dc_init(ADC_HandleTypeDef *hadc, ADC_DC_Num_TypeDef DC_Num, ADC_DC_ExtInit_TypeDef *NewConfig)
//{
// if(!hadc || !hadc->Instance)
// return ERROR;
//
// if(NewConfig != NULL)
// {
// hadc->DC_Config[DC_Num] = NewConfig;
// }
//
// if(hadc->DC_Config[DC_Num] == NULL)
// {
// return ERROR;
// }
//
// // Инициализация компаратора
// ADC_DC_Init(DC_Num, &hadc->DC_Config[DC_Num]->DC_Init);
//
// return OK;
//}
///**
// * @brief Установка коллбека цифрового компаратора АЦП
// * @param hadc указатель на хендл АЦП
// * @param DC_Num номер компаратора
// * @param cb_type тип коллбека
// * @param Callback функция коллбека
// * @retval OperationStatus
// */
//OperationStatus adc_dc_set_callback(ADC_HandleTypeDef* hadc, ADC_DC_Num_TypeDef DC_Num, ADC_CallbackTypeDef cb_type, void (*Callback)(void))
//{
// if (!hadc || !hadc->Instance || !hadc->DC_Config[DC_Num])
// return ERROR;
//
// switch(cb_type)
// {
// case ADC_Callback_DC:
// hadc->DC_Config[DC_Num]->DC_TrigCallback = Callback;
// break;
// case ADC_Callback_Error:
// hadc->DC_Config[DC_Num]->ErrorCallback = Callback;
// break;
// default:
// return ERROR;
// }
// return OK;
//}
///**
// * @brief Запуск цифрового компаратора АЦП
// * @param hadc указатель на хендл АЦП
// * @param DC_Num номер компаратора
// * @retval OperationStatus OK - если всё хорошо, ERROR - если ошибка
// */
//OperationStatus adc_dc_start(ADC_HandleTypeDef *hadc, ADC_DC_Num_TypeDef DC_Num)
//{
// if (!hadc || !hadc->Instance || !hadc->DC_Config[DC_Num])
// return ERROR;
//
// ADC_DC_ExtInit_TypeDef *conf = hadc->DC_Config[DC_Num];
//
// // Включаем выход компаратора
// ADC_DC_OutputCmd(DC_Num, ENABLE);
//
// // Настраиваем прерывания если нужно
// if(conf->IT == ENABLE)
// {
// ADC_DC_ITCmd(DC_Num, ENABLE);
// }
//
// return OK;
//}
///**
// * @brief Остановка цифрового компаратора АЦП
// * @param hadc указатель на хендл АЦП
// * @param DC_Num номер компаратора
// * @retval OperationStatus OK - если всё хорошо, ERROR - если ошибка
// */
//OperationStatus adc_dc_stop(ADC_HandleTypeDef *hadc, ADC_DC_Num_TypeDef DC_Num)
//{
// if (!hadc || !hadc->Instance || !hadc->DC_Config[DC_Num])
// return ERROR;
//
// // Выключаем выход компаратора
// ADC_DC_OutputCmd(DC_Num, DISABLE);
//
// // Выключаем прерывания
// ADC_DC_ITCmd(DC_Num, DISABLE);
//
// return OK;
//}
//void adc_dc_handler(ADC_HandleTypeDef *hadc, ADC_DC_Num_TypeDef DC_Num)
//{
//}
//-- ADC Digital Comparators API functions -------------------------------------

View File

@@ -1,11 +1,15 @@
/*==============================================================================
* Инициализация таймеров с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file adc.h
* @author Разваляев Алексей
* @brief Драйвер ADC на основе PLIB035.
* Данный файл содержит определения типов, структур и прототипы функций
* для работы с ADC, включая:
* + Структуры и typedef для ADC
* + Прототипы функций для инициализации и API драйвера
*
******************************************************************************
*/
#ifndef __ADC_H
#define __ADC_H
//-- Includes ------------------------------------------------------------------
@@ -13,23 +17,30 @@
#include "retarget_conf.h"
//-- Defines -------------------------------------------------------------------
// Дефайны для режима АЦП
//-- Types ---------------------------------------------------------------------
/**
* @brief Типы callback-функций ADC
*/
typedef enum
{
ADC_Callback_Seq,
ADC_Callback_BuffHalf,
ADC_Callback_BuffFull,
ADC_Callback_DC,
ADC_Callback_Error,
ADC_Callback_SeqCplt, /*!< Преобразование секвенсора завершено */
ADC_Callback_BuffHalf, /*!< Буфер заполнен наполовину */
ADC_Callback_BuffFull, /*!< Буфер заполнен полностью */
ADC_Callback_DCTrig, /*!< Компаратор сработал */
ADC_Callback_Error, /*!< Ошибка */
}ADC_CallbackTypeDef;
/**
* @brief Расширенная конфигурация секвенсора ADC
*/
typedef struct
{
ADC_SEQ_Init_TypeDef SEQ_Init; /* Стандартная конфигурация из PLIB */
FunctionalState IT; /*!< Включить прерывания */
uint8_t ITCount; /*!< Количество запросов для генерации прерывания */
uint32_t buffer_circular; /*!< Циклический буфер */
FunctionalState BufferCircular; /*!< Циклический буфер */
void (*SEQCpltCallback)(void); /*!< Вызывается при завершении секвенсора */
void (*BuffHalfCallback)(void); /*!< Вызывается при заполнении половины буфера */
@@ -37,6 +48,9 @@ typedef struct
void (*ErrorCallback)(); /*!< Вызывается при ошибке */
}ADC_SEQ_ExtInit_TypeDef;
/**
* @brief Расширенная конфигурация компаратора ADC
*/
typedef struct
{
ADC_DC_Init_TypeDef DC_Init;
@@ -44,56 +58,74 @@ typedef struct
void (*DC_TrigCallback); /*!< Вызывается при срабатывании компаратора */
void (*ErrorCallback)(); /*!< Вызывается при ошибке */
}ADC_DC_ExtInit_TypeDef;
/**
* @brief Хендл секвенсора ADC
*/
typedef struct
{
ADC_SEQ_ExtInit_TypeDef *Config; /*!< Конфигурации секвенсоров */
uint8_t running;
uint16_t *data_buffer; /*!< Указатель на буфер данных [ch][buffer_size]*/
uint32_t buffer_size; /*!< Размер буфера (16-bit слова) */
uint32_t buffer_count; /*!< Счетчик текущего индекса буфера */
uint16_t *data_buffer; /*!< Указатель на буфер данных [ch][buffer_size]*/
uint32_t buffer_size; /*!< Размер буфера (16-bit слова) */
uint32_t buffer_count; /*!< Счетчик текущего индекса буфера */
}ADC_SEQ_HandleTypeDef;
/**
* @brief Хендл компаратора ADC
*/
typedef struct
{
ADC_DC_ExtInit_TypeDef *Config; /*!< Конфигурации компараторов */
uint8_t running;
}ADC_DC_HandleTypeDef;
/**
* @brief Хендл ADC
*/
typedef struct
{
ADC_TypeDef *Instance; /*!< Регистры ADC */
ADC_SEQ_HandleTypeDef SEQ[ADC_SEQ_Total]; /*!< Хендл секвенсоров */
ADC_DC_ExtInit_TypeDef DC[ADC_DC_Total]; /*!< Хендл компараторов */
// Буферы данных для каждого канала (актуальные значения)
/* ===== Channels ===== */
uint16_t ChannelData[ADC_CH_Total]; /*!< Текущие значения каналов */
uint8_t ChannelValid[ADC_CH_Total]; /*!< Флаги валидности данных */
}ADC_HandleTypeDef;
//-- External handles ----------------------------------------------------------
extern ADC_HandleTypeDef hadc;
//-- Exported functions prototypes ---------------------------------------------
/* Первичная инициализация ADC */
void adc_init_first(void);
/* Sequencer Init functions*/
/* Инициализация секвенсора АЦП */
OperationStatus adc_seq_init(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num, ADC_SEQ_ExtInit_TypeDef *NewConfig);
OperationStatus adc_seq_set_callback(ADC_HandleTypeDef* hadc, ADC_SEQ_Num_TypeDef SEQ_Num, ADC_CallbackTypeDef cb_type, void (*Callback)(void));
/* Обработчик прерываний секвенсора */
void adc_seq_irq_handler(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num);
OperationStatus adc_seq_start(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num, uint16_t (*data_buffer)[], uint32_t buffer_size);
OperationStatus adc_seq_stop(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num);
/* Sequencer API functions*/
uint16_t adc_get_channel_value(ADC_HandleTypeDef *hadc, ADC_CH_Num_TypeDef channel);
void adc_sw_start(void);
/* Установка коллбека секвенсора АЦП */
OperationStatus ADC_SEQ_Set_Callback(ADC_HandleTypeDef* hadc, ADC_SEQ_Num_TypeDef SEQ_Num, ADC_CallbackTypeDef CallbackType, void (*Callback)(void));
/* Запуск секвенсора АЦП с буфером */
OperationStatus ADC_SEQ_Start(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num, uint16_t (*data_buffer)[], uint32_t buffer_size);
/* Остановка секвенсора АЦП */
OperationStatus ADC_SEQ_Stop(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num);
/* Получение текущего значения канала */
uint16_t ADC_Get_ChannelValue(ADC_HandleTypeDef *hadc, ADC_CH_Num_TypeDef channel);
/* Программный запуск преобразования секвенсора */
void ADC_SEQ_SoftwareStart(void);
// Обработчики прерываний
void adc_seq_handler(ADC_HandleTypeDef *hadc, ADC_SEQ_Num_TypeDef SEQ_Num);
/* Comparator API functions*/
void adc_dc_handler(ADC_HandleTypeDef *hadc, ADC_DC_Num_TypeDef DC_Num);
#endif /*__ADC_H*/

View File

@@ -1,19 +1,65 @@
/*==============================================================================
* Инициализация портов с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* Конфигурация портов настраивается в gpio.h
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file gpio.c
* @author Разваляев Алексей
* @brief Драйвер GPIO на основе PLIB035.
* Этот файл содержит:
* + Инициализацию портов GPIOA и GPIOB
* + Функции для работы со светодиодами:
* - Инициализацию структуры светодиода
* - Включение, выключение, переключение светодиода
* - Динамические режимы: моргание и плавное затухание
* + Функции для работы с кнопками:
* - Инициализацию структуры кнопки
* - Чтение состояния кнопки с защитой от дребезга
* + Утилитарные функции для получения конфигурации пинов
*
******************************************************************************
* @attention
*
* Использование этого драйвера предполагает наличие корректных настроек:
* - Определены массивы конфигурации gpioa_config и gpiob_config в periph_config.h
*
******************************************************************************
* @verbatim
==============================================================================
##### Как использовать этот драйвер #####
==============================================================================
1. Настройка периферии (periph_config.h):
(+) Определить массивы GPIO_Init_TypeDef для портов:
gpioa_config[32], gpiob_config[32]
(+) Настроить режим пинов: Input, Output, AltFunc и другие функции
2. Инициализация GPIO:
(+) gpio_init() — инициализация портов GPIOA и GPIOB
3. Работа со светодиодами:
(+) GPIO_LED_Init(&led, GPIOA, GPIO_PIN_5, SET) — инициализация светодиода
(+) GPIO_LED_On(&led) — включение светодиода
(+) GPIO_LED_Off(&led) — выключение светодиода
(+) GPIO_LED_Toggle(&led) — переключение светодиода
(+) GPIO_LED_Blink_Start(&led, 500) — запуск моргания (период 500 мс)
(+) GPIO_LED_Fading_Start(&led, 1000) — запуск плавного затухания (период 1 секунда)
(+) GPIO_LED_Dynamic_Handle(&led) — обработка динамических режимов в основном цикле
4. Работа с кнопками:
(+) GPIO_Switch_Init(&sw, GPIOB, GPIO_PIN_0, SET) — инициализация кнопки
(+) GPIO_Read_Switch(&sw) — чтение состояния кнопки с фильтрацией
5. Утилитарные функции:
(+) gpio_get_init(GPIOA, GPIO_PIN_5) — получение конфигурации пина
@endverbatim
******************************************************************************
*/
//-- Includes ------------------------------------------------------------------
#include "periph_config.h"
//-- Defines -------------------------------------------------------------------
//-- Peripheral init functions -------------------------------------------------
//-- GPIO init functions -------------------------------------------------------
void gpio_init(void)
{
RCU_AHBClkCmd(RCU_AHBClk_GPIOA, ENABLE);
@@ -36,43 +82,12 @@ void gpio_init(void)
{
GPIO_Init(GPIOB, &gpiob_config[i]);
}
// GPIO_StructInit(&gpio_init);
// gpio_init.Digital = ENABLE;
// GPIO_Init(GPIOA, &gpio_init);
// GPIO_Init(GPIOB, &gpio_init);
//
// /* Инициализация выходных пинов Пуш-Пулл */
// gpio_init.Out = ENABLE;
// gpio_init.OutMode = GPIO_OutMode_PP;
//
// gpio_init.Pin = GPIO_OUT_PP_PA_PINS;
// GPIO_Init(GPIOA, &gpio_init);
// gpio_init.Pin = GPIO_OUT_PP_PB_PINS;
// GPIO_Init(GPIOB, &gpio_init);
//
// /* Инициализация выходных пинов Открытый сток */
// gpio_init.Out = ENABLE;
// gpio_init.OutMode = GPIO_OutMode_OD;
//
// gpio_init.Pin = GPIO_OUT_OD_PA_PINS;
// GPIO_Init(GPIOA, &gpio_init);
// gpio_init.Pin = GPIO_OUT_OD_PB_PINS;
// GPIO_Init(GPIOB, &gpio_init);
}
GPIO_Init_TypeDef *gpio_get_init(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
{
uint8_t pin_index = __builtin_ctz(GPIO_Pin);
uint8_t pin_index = (31 - __CLZ(GPIO_Pin & -GPIO_Pin));
if (GPIOx == GPIOA)
{
@@ -93,3 +108,282 @@ GPIO_Init_TypeDef *gpio_get_init(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
return NULL;
}
//-- GPIO LED functions --------------------------------------------------------
/**
* @brief Инициализировать светодиод (структуру светодиода)
* @param led Указатель на структуру светодиода
* @param GPIOx Указатель на структуру порта для светодиода
* @param GPIO_PIN_X Пин для светодиода
* @param LED_ActiveLevel Состояния пина, при котором светодиод будет включен
*/
OperationStatus GPIO_LED_Init(GPIO_LEDTypeDef *led, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, BitState LED_ActiveLevel)
{
if(!led || !GPIOx ||!GPIO_PIN_X)
return ERROR;
led->LED_Port = GPIOx;
led->LED_Pin = GPIO_PIN_X;
led->LED_ActiveLvl = LED_ActiveLevel;
GPIO_LED_Off(led);
return OK;
}
/**
* @brief Включить светодиод
* @param led Указатель на структуру светодиода
* @return Operation Status
*/
OperationStatus GPIO_LED_On(GPIO_LEDTypeDef *led)
{
if(!led || !led->LED_Port || !led->LED_Pin)
return ERROR;
led->state = LED_IS_ON;
GPIO_WriteBit(led->LED_Port, led->LED_Pin, led->LED_ActiveLvl);
return OK;
}
/**
* @brief Выключить светодиод
* @param led Указатель на структуру светодиода
* @return Operation Status
*/
OperationStatus GPIO_LED_Off(GPIO_LEDTypeDef *led)
{
if(!led || !led->LED_Port || !led->LED_Pin)
return ERROR;
led->state = LED_IS_OFF;
BitState offstate = (led->LED_ActiveLvl == SET)? CLEAR: SET;
GPIO_WriteBit(led->LED_Port, led->LED_Pin, offstate);
return OK;
}
/**
* @brief Переключить светодиод
* @param led Указатель на структуру светодиода
* @return Operation Status
*/
OperationStatus GPIO_LED_Toggle(GPIO_LEDTypeDef *led)
{
if(!led || !led->LED_Port || !led->LED_Pin)
return ERROR;
if(led->state == LED_IS_ON || led->state == LED_IS_OFF)
{
if(led->state == LED_IS_OFF)
led->state = LED_IS_ON;
else
led->state = LED_IS_OFF;
GPIO_ToggleBits(led->LED_Port, led->LED_Pin);
return OK;
}
else
return ERROR;
}
/**
* @brief Выставить светодиод по переменной
* @param led Указатель на структуру светодиода
* @param led_state Состояние светодиода
* @return Operation Status
*/
OperationStatus GPIO_LED_Set(GPIO_LEDTypeDef *led, uint8_t led_state)
{
if(!led || !led->LED_Port || !led->LED_Pin)
return ERROR;
if(led_state)
{
return GPIO_LED_On(led);
}
else
{
return GPIO_LED_Off(led);
}
}
/**
* @brief Активировать моргание светодиодом
* @param led Указатель на структуру светодиода
* @param period Период плавного моргания светодиода
* @return Operation Status
* @details Функция ставит режим моргания, который после управляется в @ref GPIO_LED_Dynamic_Handle
*/
OperationStatus GPIO_LED_Blink_Start(GPIO_LEDTypeDef *led, uint32_t period)
{
if(!led || !led->LED_Port || !led->LED_Pin)
return ERROR;
led->state = LED_IS_BLINKING;
led->LED_Period = period;
return OK;
}
/**
* @brief Активировать моргание светодиодом
* @param led Указатель на структуру светодиода
* @param period Период плавного моргания светодиода
* @return Operation Status
* @details Функция ставит режим моргания, который после управляется в @ref GPIO_LED_Dynamic_Handle
*/
OperationStatus GPIO_LED_Fading_Start(GPIO_LEDTypeDef *led, uint32_t period)
{
if(!led || !led->LED_Port || !led->LED_Pin)
return ERROR;
led->state = LED_IS_FADING;
led->LED_Period = period;
return OK;
}
//uint8_t LED_PWM_FADING_DUTYS[LED_PWM_TICKS] = {0 1 2 3 4 5 6 7 8 9 10 11 12 }
/**
* @brief Управление динамическими режимами свечения светодиода
* @param Указатель на структуру светодиода
* @details Функция моргает/плавно моргает светодиодом в неблокирующем режиме
* Т.е. функцию надо вызывать постоянно, чтобы она мониторила тики
* и в нужный момент переключала светодиод
*/
void GPIO_LED_Dynamic_Handle(GPIO_LEDTypeDef *led)
{
if(!led || !led->LED_Port || !led->LED_Pin)
return;
/* Режим моргания светодиода */
if(led->state == LED_IS_BLINKING)
{
uint32_t tickcurrent = millis();
/* Ожидание истечения периода моргания */
if((tickcurrent - led->tickprev) > led->LED_Period)
{
/* Моргание */
GPIO_ToggleBits(led->LED_Port, led->LED_Pin);
led->tickprev = tickcurrent;
}
}
/* Режим плавного моргания светодиода */
else if(led->state == LED_IS_FADING)
{
static unsigned direction = 0;
static int duty = 0;
uint32_t tickcurrent = millis();
/* Ожидание момента изменения яркости */
/* Период ШИМ 20 мс, поэтому менять яроксть надо 40 раз за период (туда обратно) */
if((tickcurrent - led->tickprev) > led->LED_Period/(LED_PWM_TICKS*2))
{
/* Формирование разтухания */
if(direction == 0)
{
if(++duty >= LED_PWM_TICKS)
{
direction = 1;
duty = LED_PWM_TICKS;
}
}
/* Формирование затухания */
else
{
if(--duty <= 0)
{
direction = 0;
duty = 0;
}
}
led->tickprev = tickcurrent;
}
/* Формирование ШИМ для изменения яркости */
int duty_crt = (duty*duty/LED_PWM_TICKS);
if(tickcurrent%LED_PWM_TICKS < duty_crt)
{
GPIO_WriteBit(led->LED_Port, led->LED_Pin, led->LED_ActiveLvl);
}
else
{
BitState offstate = (led->LED_ActiveLvl == SET)? CLEAR: SET;
GPIO_WriteBit(led->LED_Port, led->LED_Pin, offstate);
}
}
}
//-- GPIO Switch functions -----------------------------------------------------
/**
* @brief Инициализировать кнопку (структуру кнопки)
* @param sw Указатель на структуру кнопки
* @param GPIOx Указатель на структуру порта для кнопки
* @param GPIO_PIN_X Пин для кнопки
* @param SW_ActiveLevel Состояния пина, когда кнопка нажата
* @return Operation Status
*/
OperationStatus GPIO_Switch_Init(GPIO_SwitchTypeDef *sw, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, BitState SW_ActiveLevel)
{
if(!sw || !GPIOx || !GPIO_PIN_X)
return ERROR;
sw->Sw_Port = GPIOx;
sw->Sw_Pin = GPIO_PIN_X;
sw->Sw_ActiveLvl = SW_ActiveLevel;
return OK;
}
/**
* @brief Считать состоянии кнопки
* @param sw Указатель на структуру кнопки
* @return 1 - если кнопка нажата,
* 0 - если отжата,
* -1 - если ошибка
* @details Функция включает в себя неблокирующую проверку на дребезг
* Т.е. функцию надо вызывать постоянно, чтобы она мониторила состояние кнопки
*/
int GPIO_Read_Switch(GPIO_SwitchTypeDef *sw)
{
if(!sw || !sw->Sw_Port || !sw->Sw_Pin)
return -1;
int current_level = (GPIO_ReadBit(sw->Sw_Port, sw->Sw_Pin) == sw->Sw_ActiveLvl);
if(sw->Sw_FilterDelay) // если включена защита от дребезга
{
// Если таймер не запущен и состояние изменилось - запускаем таймер
if(sw->tickprev == 0 && current_level != sw->Sw_CurrentState)
{
sw->tickprev = millis();
}
// Если таймер запущен
if(sw->tickprev != 0)
{
// Проверяем, прошел ли достаточный интервал для фильтрации
if((millis() - sw->tickprev) >= sw->Sw_FilterDelay)
{
// Обновляем состояние только если оно все еще отличается
if(current_level != sw->Sw_CurrentState)
{
sw->Sw_CurrentState = current_level;
}
// Останавливаем таймер в любом случае
sw->tickprev = 0;
}
}
}
else // если нет защиты от дребезга
{
sw->Sw_CurrentState = current_level;
}
return sw->Sw_CurrentState;
}

View File

@@ -1,12 +1,16 @@
/*==============================================================================
* Инициализация портов с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* Реализация функций инициализации портов находится в gpio.c
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file gpio.h
* @author Разваляев Алексей
* @brief Драйвер GPIO на основе PLIB035.
* Данный файл содержит определения типов, структур и прототипы функций
* для работы с UART, включая:
* + Структуры и typedef для работы с кнопками и светодиодами
* + Макросы для конфигурации режима пинов
* + Прототипы функций для инициализации и API драйвера
*
******************************************************************************
*/
#ifndef __GPIO_H
#define __GPIO_H
//-- Includes ------------------------------------------------------------------
@@ -21,8 +25,141 @@
#define GPIO_PinMode_AltFunc DISABLE, ENABLE, ENABLE
//#define GPIO_PinMode_Analog DISABLE, DISABLE, DISABLE
#ifndef LED_PWM_TICKS
#define LED_PWM_TICKS 15 ///< Количество тиков в периоде ШИМ
#endif
//-- Types ---------------------------------------------------------------------
/**
* @brief Режимы работы светодиода
*/
typedef enum
{
LED_IS_OFF = 0, ///< Светодиод выключен
LED_IS_ON = 1, ///< Светодиод включен
LED_IS_BLINKING = 2, ///< Моргание светодиодом
LED_IS_FADING = 3, ///< Плавное моргание светодиодом
}GPIO_LEDStateTypeDef;
/**
* @brief Структура светодиода
*/
typedef struct
{
GPIO_LEDStateTypeDef state; ///< Текущий режим работы светодиода
GPIO_TypeDef *LED_Port; ///< GPIO порт ножки светодиода
uint32_t LED_Pin; ///< GPIO пин ножки светодиода
BitState LED_ActiveLvl; ///< Активный уровень ножки (при котором светодиод горит)
uint32_t LED_Period; ///< Период моргания светодиода
uint32_t tickprev;
}GPIO_LEDTypeDef;
/**
* @brief Структура кнопки
*/
typedef struct
{
GPIO_TypeDef *Sw_Port; ///< GPIO порт ножки кнопки
uint32_t Sw_Pin; ///< GPIO пин ножки кнопки
BitState Sw_ActiveLvl; ///< Активный уровень ножки (при котором кнопка нажата)
uint32_t Sw_CurrentState; ///< Текущее состояние кнопки
uint32_t Sw_FilterDelay; ///< Фильтр от дребезга (в мс)
uint32_t tickprev;
}GPIO_SwitchTypeDef;
//-- Exported functions prototypes ---------------------------------------------
/* Init functions */
void gpio_init(void);
GPIO_Init_TypeDef *gpio_get_init(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin);
/* API functions*/
/**
* @addtogroup GPIO_SWITCH Switch tools
* @brief Функции для работы с GPIO, как с кнопкой
* @par Пример использования:
@code
MX_GPIO_Init(); // инициализация пина аппаратная
// Инициализация кнопки на порте GPIOB, пин 0, активный уровень 1
GPIO_SwitchTypeDef sw1;
GPIO_Switch_Init(&sw1, GPIOB, GPIO_PIN_0, 1); // или дефайн SW_ON/SW_OFF
// Считываем состояние кнопки
if(GPIO_Read_Switch(&sw1))
{
// Кнопка нажата
LED_ON();
}
else
{
// Кнопка отжата
LED_OFF();
}
@endcode
* @{
*/
/* Инициализировать кнопку (структуру кнопки) */
OperationStatus GPIO_Switch_Init(GPIO_SwitchTypeDef *sw, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, BitState SW_On_State);
/* Считать состоянии кнопки запуска */
int GPIO_Read_Switch(GPIO_SwitchTypeDef *swstart);
/** GPIO_SWITCH
* @}
*/
/**
* @addtogroup GPIO_LEDS LED tools
* @brief Функции для работы с GPIO, для управления светодиодом
* @par Пример использования:
@code
// Инициализация светодиода на порте GPIOA, пин 5, активный уровень 0
GPIO_LEDTypeDef led;
GPIO_LED_Init(&led, GPIOA, GPIO_PIN_5, 0); // или дефайн LED_ON/LED_OFF
// Включение светодиода
GPIO_LED_On(&led);
// Запуск моргания
GPIO_LED_Blink_Start(&led, 500); // Период 500 мс
// В основном цикле
while (1) {
GPIO_LED_Dynamic_Handle(&led);
}
@endcode
* @{
*/
/* Инициализировать светодиод (структуру светодиода) */
OperationStatus GPIO_LED_Init(GPIO_LEDTypeDef *led, GPIO_TypeDef *GPIOx, uint32_t GPIO_PIN_X, BitState LED_On_State);
/* Включить светодиод */
OperationStatus GPIO_LED_On (GPIO_LEDTypeDef *led);
/* Выключить светодиод */
OperationStatus GPIO_LED_Off (GPIO_LEDTypeDef *led);
/* Переключить светодиод */
OperationStatus GPIO_LED_Toggle(GPIO_LEDTypeDef *led);
/* Выставить светодиод по переменной */
OperationStatus GPIO_LED_Set (GPIO_LEDTypeDef *led, uint8_t led_state);
/* Активировать моргание светодиодом */
OperationStatus GPIO_LED_Blink_Start (GPIO_LEDTypeDef *led, uint32_t period);
/* Активировать моргание светодиодом */
OperationStatus GPIO_LED_Fading_Start(GPIO_LEDTypeDef *led, uint32_t period);
/* Управление динамическими режимами свечения светодиода */
void GPIO_LED_Dynamic_Handle(GPIO_LEDTypeDef *led);
/** GPIO_LEDS
* @}
*/
#endif /*__GPIO_H*/

View File

@@ -10,11 +10,8 @@
//-- Includes ------------------------------------------------------------------
#include "main.h"
void restart_receive(void);
void heartbit(void);
//-- Defines -------------------------------------------------------------------
uint8_t rxbuff[10] = {0};
uint16_t adc_buff[2][100];
//-- Peripheral init functions -------------------------------------------------
void periph_init()
{
@@ -26,53 +23,22 @@ void periph_init()
#ifdef RETARGET
retarget_init();
#endif
NVIC_SetAllPriorities();
printf("\nAll peripherals inited, SYSCLK = %3d MHz\n", (int)(SystemCoreClock / 1E6));
uart_set_callback(&huart1, UART_Callback_Rx, &restart_receive);
uart_start(&huart1, UART_FIFOLevel_1_8, UART_FIFOLevel_1_8);
tmr_set_callback(&htmr2, 0, &heartbit);
tmr_start(&htmr0);
tmr_start(&htmr1);
tmr_start(&htmr2);
adc_seq_start(&hadc, ADC_SEQ_Num_0, adc_buff, 100);
}
//-- Main ----------------------------------------------------------------------
int main()
{
periph_init();
uint8_t cnt;
uart_receive_it(&huart1, rxbuff, sizeof(rxbuff));
uint32_t prev_tick;
tmr_delay_start(&htmr0, &prev_tick);
while (1) {
if(tmr_delay_done(&htmr0, 1000000, &prev_tick))
{
tmr_delay_start(&htmr0, &prev_tick);
GPIO_ToggleBits(GPIOA, GPIO_Pin_8);
adc_sw_start();
}
tmr_delay(&htmr0, 100000);
GPIO_ToggleBits(GPIOA, GPIO_Pin_7);
// uart_transmit_it(&huart1, (uint8_t*)"Hello World: ", sizeof("Hello World: ")-1);
// uart_transmit_it(&huart1, (uint8_t*)"delay 500\r\n", sizeof("delay 500\r\n")-1);
while (1)
{
};
//return 0;
}
void restart_receive(void)
{
uart_receive_it(&huart1, rxbuff, sizeof(rxbuff));
uart_transmit_it(&huart1, rxbuff, sizeof(rxbuff));
}
void heartbit(void)
{
uart_transmit(&huart1, (uint8_t *)"\r\nTick 1 sec\r\n", sizeof("\r\nTick 1 sec\r\n")-1, 1000);
}
//-- Assert --------------------------------------------------------------------
void Error_Handler(void)
{

View File

@@ -1,19 +1,96 @@
/*==============================================================================
* Инициализация тактирования с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file sysclk.c
* @author Разваляев Алексей
* @brief Драйвер тактирования системы на основе PLIB035.
* Этот файл содержит:
* + Инициализацию системного тактирования (PLL, осцилляторы)
* + Настройку частоты ядра и периферии
* + Управление системным таймером (SysTick)
* + Функции для работы со временем (millis, micros)
* + Систему периодических коллбеков
* + Настройку тактирования периферии
*
******************************************************************************
* @attention
*
* Использование этого драйвера предполагает наличие корректных настроек:
* - Определены константы SYSCLK_CORE_CLOCK_MHZ и SYSCLK_Oscil_Type в periph_config.h
* - Определен тип системного тика SYSCLK_TickType в periph_config.h
*
******************************************************************************
* @verbatim
==============================================================================
##### Как использовать этот драйвер #####
==============================================================================
//-- Includes ------------------------------------------------------------------
1. Настройка периферии (periph_config.h):
(+) Определить SYSCLK_CORE_CLOCK_MHZ - частота ядра в МГц (например, 100)
(+) Определить SYSCLK_Oscil_Type - тип осциллятора (RCU_Oscil_OSE или RCU_Oscil_OSI)
(+) Определить SYSCLK_TickType - тип системного тика (SYSCLK_Tick_1us, SYSCLK_Tick_1ms и т.д.)
2. Инициализация тактирования:
(+) sysclk_init() — обязательный вызов в начале программы
- Автоматически настраивает PLL для заданной частоты
- Настраивает SysTick для генерации системных тиков
- Обновляет SystemCoreClock
3. Работа со временем:
(+) millis() — получение текущего времени в миллисекундах
(+) micros() — получение текущего времени в микросекундах
(+) sysclk_irq_handler() — обработчик прерываний SysTick (должен вызываться из SysTick_Handler)
4. Система коллбеков:
(+) SYSCLK_Set_Callback() — добавление периодического коллбека
- Коллбеки автоматически вызываются в sysclk_irq_handler() с заданным периодом
- Максимальное количество коллбеков: SYSCLK_NUMB_OF_CUSTOM_CALLBACKS
5. Настройка тактирования Периферии:
(+) АЦП: rcu_set_clock_adc(ClkSrc, ClkMHz, state)
- ClkSrc: источник тактирования (RCU_PeriphClk_OSEClk, RCU_PeriphClk_PLLClk и т.д.)
- ClkMHz: желаемая частота ADC в МГц
- state: включение/выключение тактирования
6. Особенности работы:
(+) Системные тики работают на основе SysTick
(+) Поддерживаются различные периоды тиков от 1 мкс до 100 мс
(+) Переполнение счетчиков происходит через ~49 дней
@endverbatim
******************************************************************************
*/
/* Includes ------------------------------------------------------------------*/
#include "periph_config.h"
__IO uint32_t uwTick; // Milliseconds ticks
/* Private variables ---------------------------------------------------------*/
/** @brief Счетчик миллисекунд */
__IO uint32_t msTick = 0;
/** @brief Счетчик микросекунд */
__IO uint32_t usTick = 0;
/** @brief Инкремент для миллисекунд */
static __IO uint32_t msTickInc = 0;
/** @brief Инкремент для микросекунд */
static __IO uint32_t usTickInc = 0;
/** @brief Обработчик системных коллбеков */
static SYSCLK_CallbackHandleTypeDef hsyscb = {0};
//-- Defines -------------------------------------------------------------------
//-- Private function prototypes -----------------------------------------------
static inline void millis_inc(void);
static inline void micros_inc(void);
//-- Peripheral init functions -------------------------------------------------
/**
* @brief Инициализация системного тактирования.
* @details Настраивает PLL, SysTick и счетчики времени.
* Должна быть вызвана первой в функции main().
*/
void sysclk_init(void)
{
OperationStatus status;
@@ -23,41 +100,158 @@ void sysclk_init(void)
Error_Handler();
}
SystemCoreClockUpdate();
RCU_ClkOutConfig(RCU_SysPeriphClk_PLLClk, 1, ENABLE);
RCU_ClkOutCmd(ENABLE);
// RCU_ClkOutConfig(RCU_SysPeriphClk_PLLClk, 1, ENABLE);
// RCU_ClkOutCmd(ENABLE);
/* Прерывание должно быть каждую миллисекунду:
Для тактирования N Гц это каждый N / 1000 тик */
SysTick_Config(SYSCLK_CORE_CLOCK_MHZ*__MHZ/1000);
SysTick_Config(SYSCLK_CORE_CLOCK_MHZ*__MHZ/SYSCLK_TickType);
switch(SYSCLK_TickType)
{
case SYSCLK_Tick_1us:
usTickInc = 1;
msTickInc = 1;
break;
case SYSCLK_Tick_10us:
usTickInc = 10;
msTickInc = 1;
break;
case SYSCLK_Tick_100us:
usTickInc = 100;
msTickInc = 1;
break;
case SYSCLK_Tick_1ms:
usTickInc = 1000;
msTickInc = 1;
break;
case SYSCLK_Tick_10ms:
usTickInc = 10000;
msTickInc = 10;
break;
case SYSCLK_Tick_100ms:
usTickInc = 100000;
msTickInc = 100;
break;
default:
/* Должен быть определен в periph_config.h */
Error_Handler();
break;
}
}
/**
* @brief Общий обработчик прерываний SysClock
* @details Обрабатывает мс и мкс и вызывает коллбеки
*/
void sysclk_irq_handler(void)
{
static uint32_t usAccumulator = 0; // Накопитель мкс
/* Инкремент микросекунд */
micros_inc();
if(msTickInc == 1)
{
/* Аккумулятивный метод для миллисекунд (без деления) */
usAccumulator += usTickInc;
if (usAccumulator >= 1000) {
millis_inc();
usAccumulator -= 1000; // Вычитание быстрее деления
}
}
else
{
millis_inc();
}
/* Вызов зарегистрированных коллбеков */
for(int i = 0; i < hsyscb.CallbackInUse; i++)
{
if(hsyscb.Callback[i] != NULL)
{
/* Проверка истекшего времени */
uint32_t elapsed = msTick - hsyscb.CallbackPrevMs[i];
if(elapsed >= hsyscb.CallbackPeriod[i])
{
/* Обновление времени последнего вызова и вызов коллбека */
hsyscb.CallbackPrevMs[i] = msTick;
hsyscb.Callback[i]();
}
}
}
}
/**
* @brief Добавление периодического коллбека.
* @param Callback Указатель на функцию-коллбек
* @param PeriodInMs Период вызова коллбека в миллисекундах
* @retval OperationStatus OK при успехе, ERROR при ошибке
* @note Максимальное количество коллбеков: SYSCLK_NUMB_OF_CUSTOM_CALLBACKS
* @note Минимальный период: текущий период тика SysTick
*/
OperationStatus SYSCLK_Set_Callback(void (*Callback)(void), uint32_t PeriodInMs)
{
/* Проверка валидности указателя на функцию */
if(Callback == NULL)
return ERROR;
/* Проверка минимального периода */
if(PeriodInMs < msTickInc)
return ERROR;
/* Проверка доступности свободных слотов */
if(hsyscb.CallbackInUse >= SYSCLK_NUMB_OF_CUSTOM_CALLBACKS)
return ERROR;
/* Регистрация коллбека */
hsyscb.Callback[hsyscb.CallbackInUse] = Callback;
hsyscb.CallbackPeriod[hsyscb.CallbackInUse] = PeriodInMs;
hsyscb.CallbackPrevMs[hsyscb.CallbackInUse] = msTick;
hsyscb.CallbackInUse++;
return OK;
}
/**
* @brief Получение текущего времени в миллисекундах.
* @retval uint32_t Текущее время в миллисекундах
* @note Переполнение происходит через ~49 дней
*/
uint32_t millis(void)
{
return uwTick;
}
void millis_inc(void)
{
uwTick++;
return msTick;
}
/**
* @brief Получение текущего времени в микросекундах.
* @retval uint32_t Текущее время в микросекундах
* @note Переполнение происходит через ~71 минуту
*/
uint32_t micros(void)
{
return 0;
}
void micros_inc(void)
{
uwTick++;
return usTick;
}
/**
* @brief Настройка тактирования АЦП.
* @param ClkSrc Источник тактирования (RCU_PeriphClk_TypeDef)
* @param ClkMHz Желаемая частота АЦП в МГц
* @param state Состояние (ENABLE/DISABLE)
* @retval OperationStatus OK при успехе, ERROR при ошибке
* @note Временное отключает тактирование АЦП во время настройки
*/
OperationStatus rcu_set_clock_adc(RCU_PeriphClk_TypeDef ClkSrc, float ClkMHz, FunctionalState state)
{
RCU_ADCClkCmd(DISABLE);
uint32_t adc_raw_clock = 0;
float adc_clock_div = 0;
/* Отключение тактирования АЦП для настройки */
RCU_ADCClkCmd(DISABLE);
/* Определение частоты источника тактирования */
switch(ClkSrc)
{
case RCU_PeriphClk_OSEClk:
@@ -72,12 +266,41 @@ OperationStatus rcu_set_clock_adc(RCU_PeriphClk_TypeDef ClkSrc, float ClkMHz, Fu
case RCU_PeriphClk_PLLDivClk:
adc_raw_clock = RCU_GetPLLDivClkFreq();
break;
default:
return ERROR;
}
adc_clock_div = adc_raw_clock/(ClkMHz*__MHZ);
/* Расчет делителя частоты */
adc_clock_div = adc_raw_clock / (ClkMHz * __MHZ);
if(adc_clock_div < 1)
return ERROR;
RCU_ADCClkConfig(ClkSrc, 7, ENABLE); //12.5MHz
RCU_ADCClkCmd(ENABLE);
/* Настройка источника тактирования и делителя */
RCU_ADCClkConfig(ClkSrc, (uint32_t)(adc_clock_div - 1), ENABLE);
/* Включение тактирования, если запрошено */
if(state == ENABLE)
{
RCU_ADCClkCmd(ENABLE);
}
return OK;
}
/**
* @brief Инкремент счетчика миллисекунд.
*/
static inline void millis_inc(void)
{
msTick+=msTickInc;
}
/**
* @brief Инкремент счетчика микросекунд.
*/
static inline void micros_inc(void)
{
usTick+=usTickInc;
}

View File

@@ -1,11 +1,19 @@
/*==============================================================================
* Инициализация тактирования с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file sysclk.h
* @author Разваляев Алексей
* @brief Драйвер тактирования системы на основе PLIB035.
* Данный файл содержит определения типов, структур и прототипы функций
* для работы с системным тактированием, включая:
* + Типы системных тиков
* + Структуру для управления коллбеками
* + Прототипы функций для инициализации тактирования
* + Функции настройки тактирования периферии
* + Функции работы со временем
*
******************************************************************************
*/
#ifndef __RCU_H
#define __RCU_H
//-- Includes ------------------------------------------------------------------
@@ -13,18 +21,58 @@
#include "retarget_conf.h"
//-- Defines -------------------------------------------------------------------
extern __IO uint32_t uwTick;
/** @brief Конвертация МГц в Гц */
#define __MHZ 1000000
/** @brief Максимальное количество коллбеков */
#define SYSCLK_NUMB_OF_CUSTOM_CALLBACKS 16
//-- Exported variables --------------------------------------------------------
extern __IO uint32_t msTick;
extern __IO uint32_t usTick;
//-- Types ---------------------------------------------------------------------
/**
* @brief Типы частот системных тиков
*/
typedef enum
{
SYSCLK_Tick_1us = 1000000, /**< Тик 1 микросекунда */
SYSCLK_Tick_10us = 100000, /**< Тик 10 микросекунд */
SYSCLK_Tick_100us = 10000, /**< Тик 100 микросекунд */
SYSCLK_Tick_1ms = 1000, /**< Тик 1 миллисекунда */
SYSCLK_Tick_10ms = 100, /**< Тик 10 миллисекунд */
SYSCLK_Tick_100ms = 10, /**< Тик 100 миллисекунд */
}SYSCLK_TickHz_TypeDef;
/**
* @brief Структура для управления системными коллбеками
*/
typedef struct
{
int CallbackInUse; /**< Количество активных коллбеков */
void (*Callback[SYSCLK_NUMB_OF_CUSTOM_CALLBACKS])(void); /**< Массив указателей на функции-коллбеки */
uint32_t CallbackPeriod[SYSCLK_NUMB_OF_CUSTOM_CALLBACKS]; /**< Периоды вызова коллбеков в мс */
uint32_t CallbackPrevMs[SYSCLK_NUMB_OF_CUSTOM_CALLBACKS]; /**< Время последнего вызова коллбеков */
} SYSCLK_CallbackHandleTypeDef;
//-- Exported functions prototypes ---------------------------------------------
/* Инициализация системного тактирования */
void sysclk_init(void);
/* Общий обработчик прерываний SysClock */
void sysclk_irq_handler(void);
/* Добавление периодического коллбека */
OperationStatus SYSCLK_Set_Callback(void (*Callback)(void), uint32_t PeriodInMs);
/* Получение текущего времени в миллисекундах */
uint32_t millis(void);
void millis_inc(void);
/* Получение текущего времени в микросекундах */
uint32_t micros(void);
void micros_inc(void);
/* Настройка тактирования АЦП */
OperationStatus rcu_set_clock_adc(RCU_PeriphClk_TypeDef ClkSrc, float ClkMHz, FunctionalState state);
#endif /*__RCU_H*/

View File

@@ -1,22 +1,85 @@
/*==============================================================================
* Инициализация таймеров с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file tmr.c
* @author Разваляев Алексей
* @brief Драйвер таймеров на основе PLIB035.
* Этот файл содержит:
* + Инициализацию таймеров TMR0-TMR3
* + Запуск и остановку таймера
* + Блокирующие и неблокирующие задержки
* + Настройку callback-функций
* + Общий обработчик прерываний таймера
* + Псевдо-PLIB функции для инициализации таймеров
*
******************************************************************************
* @attention
*
* Использование этого драйвера предполагает наличие корректных настроек:
* - Определены конфигурационные структуры tmrx_config в periph_config.h
*
******************************************************************************
* @verbatim
==============================================================================
##### Как использовать этот драйвер #####
==============================================================================
1. Настройка периферии (periph_config.h):
(+) Определить структуры TMR_ExtInit_TypeDef для нужных таймеров:
tmr0_config, tmr1_config, tmr2_config, tmr3_config
(+) Настроить частоту/период в мкс или тиках, прескалер
(+) Разрешить прерывания (IT) и при необходимости ADC SOC / DMA запросы
(+) Указать внешнее тактирование при необходимости
(+) Установить callback-функцию (можно NULL)
2. Инициализация таймеров:
(+) tmr_init_first() — первичная настройка тактирования, сброс периферии и NVIC
(+) tmr_init(&htmr, &config) — инициализация конкретного таймера с конфигурацией
3. Callback-функции (опционально):
(+) TMR_Set_Callback(&htmr, TMR_Callback_Update, Callback)
4. Запуск и остановка таймера:
(+) TMR_Start(&htmr) — запуск таймера
(+) TMR_Stop(&htmr) — остановка таймера
5. Задержки:
- Blocking (блокирующая):
(+) TMR_Delay(&htmr, ticks) — задержка в тиках таймера
- Non-blocking (неблокирующая):
(+) TMR_Delay_Start(&htmr, &var) — запоминает текущее значение таймера
(+) TMR_Delay_Done(&htmr, ticks, &var) — проверяет завершение задержки
6. Получение текущих значений:
(+) TMR_Get_Cnt(&htmr) — получение текущего счетчика с учетом псевдопрескалера
(+) TMR_Get_Period(&htmr) — получение периода таймера с учетом псевдопрескалера
7. Обработка прерываний:
(+) tmr_irq_handler(&htmr) — общий обработчик ISR
- В обработчиках автоматически вызываются соответствующие callback-функции
и сбрасываются флаги
8. Псевдо-PLIB функции:
(+) TMR_Init(TMRx, InitStruct) — инициализация таймера с расширенными параметрами
@endverbatim
******************************************************************************
*/
//-- Includes ------------------------------------------------------------------
#include "periph_config.h"
TMR_HandleTypeDef htmr0;
TMR_HandleTypeDef htmr1;
TMR_HandleTypeDef htmr2;
TMR_HandleTypeDef htmr3;
TMR_HandleTypeDef htmr0; /*!< Хендл TMR0 */
TMR_HandleTypeDef htmr1; /*!< Хендл TMR1 */
TMR_HandleTypeDef htmr2; /*!< Хендл TMR2 */
TMR_HandleTypeDef htmr3; /*!< Хендл TMR3 */
//-- Defines -------------------------------------------------------------------
//-- Peripheral init functions -------------------------------------------------
//-- TMR Init functions --------------------------------------------------------
/**
* @brief Первичная инициализация таймеров TMR0-TMR3
* @details Настройка таймеров и хендлов: тактирование, прерывания
*/
void tmr_init_first(void)
{
#if (USE_TMR0==1)
@@ -97,32 +160,43 @@ OperationStatus tmr_init(TMR_HandleTypeDef *htmr, TMR_ExtInit_TypeDef *NewConfig
/**
* @brief Установка коллбека таймера
* @param htmr указатель на хендл таймера
* @param cb_type Тип коллбека
* @param Callback Функция коллбека
* @param CallbackType Тип коллбека
* @param UpdCallback Функция коллбека
* @retval void
*/
OperationStatus tmr_set_callback(TMR_HandleTypeDef* htmr, int cb_type, void (*Callback)(void))
OperationStatus TMR_Set_Callback(TMR_HandleTypeDef* htmr, TMR_CallbackTypeDef CallbackType, void (*Callback)(void))
{
if(!htmr || !htmr->Instance || !htmr->Config)
{
return ERROR;
}
htmr->Config->Callback = Callback;
switch(CallbackType)
{
case TMR_Callback_Update:
htmr->Config->UpdCallback = Callback;
break;
default:
return ERROR;
}
return OK;
}
//-- TMR API functions --------------------------------------------------------
/**
* @brief Запуск таймера
* @param htmr указатель на хендл таймера
* @retval OperationStatus OK - если всё хорошо, ERROR - если ошибка
*/
OperationStatus tmr_start(TMR_HandleTypeDef *htmr)
OperationStatus TMR_Start(TMR_HandleTypeDef *htmr, FunctionalState IT)
{
if(!htmr || !htmr->Instance)
{
return ERROR;
}
TMR_ITCmd(htmr->Instance, IT);
TMR_Cmd(htmr->Instance, ENABLE);
return OK;
@@ -133,17 +207,59 @@ OperationStatus tmr_start(TMR_HandleTypeDef *htmr)
* @param htmr указатель на хендл таймера
* @retval OperationStatus OK - если всё хорошо, ERROR - если ошибка
*/
OperationStatus tmr_stop(TMR_HandleTypeDef *htmr)
OperationStatus TMR_Stop(TMR_HandleTypeDef *htmr, FunctionalState IT)
{
if(!htmr || !htmr->Instance)
{
return ERROR;
}
TMR_ITCmd(htmr->Instance, IT);
TMR_Cmd(htmr->Instance, DISABLE);
return OK;
}
/**
* @brief Получить счетчик таймера (с псевдопрескалером)
* @param htmr указатель на хендл таймера
* @retval Текущие значение счетчика с псевдопрескалером
* @details Если частота таймера 100 МГц, и псведопрескалер 100-1,
* то при реальном счетчике 100,000, вернется значение 1,000
*/
uint32_t TMR_Get_Cnt(TMR_HandleTypeDef *htmr)
{
if(!htmr || !htmr->Instance)
{
return ERROR;
}
uint32_t presc = htmr->Config->Prescaler+1;
uint32_t currtick = htmr->Instance->VALUE;
return currtick/presc;
}
/**
* @brief Получить период таймера (с псевдопрескалером)
* @param htmr указатель на хендл таймера
* @retval Период с псевдопрескалером
* @details Если частота таймера 100 МГц, и псведопрескалер 100-1, и период равен 1 мс,
* то при реальном периоде 100,000, вернется значение 1,000
*/
uint32_t TMR_Get_Period(TMR_HandleTypeDef *htmr)
{
if(!htmr || !htmr->Instance)
{
return ERROR;
}
uint32_t presc = htmr->Config->Prescaler+1;
uint32_t currload = htmr->Instance->LOAD;
return currload/presc;
}
//-- TMR Delays API functions -------------------------------------------------
/**
* @brief Задержка в тиках таймера (блокирующая).
* @param htmr Указатель на хендл таймера.
@@ -151,7 +267,7 @@ OperationStatus tmr_stop(TMR_HandleTypeDef *htmr)
* @return OperationStatus.
* @details Формирует задержку с блокировкой программы.
*/
OperationStatus tmr_delay(TMR_HandleTypeDef *htmr, uint32_t delay)
OperationStatus TMR_Delay(TMR_HandleTypeDef *htmr, uint32_t delay)
{
if(!htmr || !htmr->Instance)
return ERROR;
@@ -183,9 +299,11 @@ OperationStatus tmr_delay(TMR_HandleTypeDef *htmr, uint32_t delay)
* @param var Указатель на переменную куда положить значение тиков.
* @return OperationStatus.
* @details Запоминает счетчик для начала отсчета неблокирующей задержки.
* @ref tmr_delay_done для проверки статуса задержки
* @ref TMR_Delay_Done для проверки статуса задержки.
* @note Переменная содержит сырые тики, без преобразования под псевдопрескалер,
* поэтому в var могут быть неадекватно большие значения тиков
*/
OperationStatus tmr_delay_start(TMR_HandleTypeDef *htmr, uint32_t *var)
OperationStatus TMR_Delay_Start(TMR_HandleTypeDef *htmr, uint32_t *var)
{
if(!htmr || !htmr->Instance)
return ERROR;
@@ -202,9 +320,11 @@ OperationStatus tmr_delay_start(TMR_HandleTypeDef *htmr, uint32_t *var)
* @param var Указатель на переменную где хранится тики в момент начала задержки.
* @return 1 - задержка прошла. 0 - задержка в процессе.
* @details Формирует задержку с блокировкой программы.
* Перед ожиданием задержки надо инициализировать задержку @ref tmr_delay_start
* Перед ожиданием задержки надо инициализировать задержку @ref TMR_Delay_Start
* @note Функция считает задержку через сырые тики, поэтому в var могут быть
* неадекватно большие значения тиков
*/
int tmr_delay_done(TMR_HandleTypeDef *htmr, uint32_t delay, uint32_t *var)
int TMR_Delay_Done(TMR_HandleTypeDef *htmr, uint32_t delay, uint32_t *var)
{
if(!htmr || !htmr->Instance)
return 0;
@@ -232,13 +352,14 @@ int tmr_delay_done(TMR_HandleTypeDef *htmr, uint32_t delay, uint32_t *var)
}
//-- TMR Handler functions ----------------------------------------------------
/**
* @brief Обработчик прерывания таймера
* @param htmr указатель на хендл таймера
* @retval void
*/
void tmr_handler(TMR_HandleTypeDef* htmr)
void tmr_irq_handler(TMR_HandleTypeDef* htmr)
{
if((htmr->Instance == NULL) || (htmr->Config == NULL))
{
@@ -249,8 +370,8 @@ void tmr_handler(TMR_HandleTypeDef* htmr)
if (TMR_ITStatus(htmr->Instance) == SET)
{
/* Если есть коллбек вызываем его */
if(htmr->Config->Callback)
htmr->Config->Callback();
if(htmr->Config->UpdCallback)
htmr->Config->UpdCallback();
/* Очистка флага прерывания */
TMR_ITStatusClear(htmr->Instance);
@@ -258,7 +379,7 @@ void tmr_handler(TMR_HandleTypeDef* htmr)
}
/* Расширение библиотеки plib */
//-- TMR pseudoPLIB functions -------------------------------------------------
/**
* @brief Инициализирует модуль TMRx согласно параметрам структуры InitStruct.
* @param TMRx Выбор таймера, где x=A|B

View File

@@ -1,11 +1,16 @@
/*==============================================================================
* Инициализация таймеров с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file tmr.h
* @author Разваляев Алексей
* @brief Драйвер UART на основе PLIB035.
* Данный файл содержит определения типов, структур и прототипы функций
* для работы с TMR, включая:
* + Структуры и typedef для таймеров
* + Макросы для конфигурации периодов и частот
* + Прототипы функций для инициализации и API драйвера
*
******************************************************************************
*/
#ifndef __TMR_H
#define __TMR_H
//-- Includes ------------------------------------------------------------------
@@ -13,51 +18,94 @@
#include "retarget_conf.h"
//-- Defines -------------------------------------------------------------------
// Дефайны для режима таймера Период в мкс, Частота, ПсевдоПрескалер, Период в тиках
#define PERIOD_MKS(_per_) _per_, 0, 0, 0
#define FREQ_HZ(_freq_) 0, _freq_, 0, 0
#define LOAD(_load_, _presc_) 0, 0, _presc_, _load_
// Дефайны для режима таймера Период в мкс, Частота, ПсевдоПрескалер, Период в тиках
/** @brief Период в мкс */
#define PERIOD_MKS(_per_) (_per_), 0, 0, 0
/** @brief Период в Гц */
#define FREQ_HZ(_freq_) 0, (_freq_), 0, 0
/** @brief Период в прескалере и тиках */
#define LOAD(_load_, _presc_) 0, 0, (_presc_), (_load_)
//-- Types ---------------------------------------------------------------------
/**
* @brief Типы callback-функций TMR
*/
typedef enum
{
TMR_Callback_Update, /*!< Переполнение (опустошение) таймера */
} TMR_CallbackTypeDef;
/**
* @brief Расширенная конфигурация таймера
*/
typedef struct
{
float ClkFreq; /*!< Частота тактирования таймера в МГц */
float ClkFreq; /*!< Частота тактирования таймера в МГц */
uint32_t PeriodUs; /*!< Период таймера в мкс */
uint32_t FreqHz; /*!< Частота таймера в Гц */
uint32_t Prescaler; /*!< Псевдопрескалер частоты */
uint32_t Load; /*!< Период таймера в тиках */
uint32_t PeriodUs; /*!< Период таймера в мкс */
uint32_t FreqHz; /*!< Частота таймера в Гц */
uint32_t Prescaler; /*!< Псевдопрескалер */
uint32_t Load; /*!< Период таймера в тиках */
FunctionalState IT; /*!< Разрешение работы прерывания */
FunctionalState ADCSOC; /*!< Разрешение генерации сигналов запуска АЦП */
FunctionalState DMAReq; /*!< Разрешение генерации запросов к DMA */
FunctionalState IT; /*!< Разрешение прерывания */
FunctionalState ADCSOC; /*!< Разрешение генерации запуска АЦП */
FunctionalState DMAReq; /*!< Разрешение генерации DMA-запросов */
TMR_ExtInput_TypeDef ExtInput; /*!< Настройка внешнего тактирования таймера */
void (*Callback)(void); /* Коллбек который вызовется по прерыванию таймера */
}TMR_ExtInit_TypeDef;
void (*UpdCallback)(void); /*!< Callback-функция по прерыванию таймера */
} TMR_ExtInit_TypeDef;
/**
* @brief Хендл таймера
*/
typedef struct
{
TMR_TypeDef *Instance;
TMR_ExtInit_TypeDef *Config;
}TMR_HandleTypeDef;
TMR_TypeDef *Instance; /*!< Указатель на регистры таймера */
TMR_ExtInit_TypeDef *Config; /*!< Конфигурация таймера */
} TMR_HandleTypeDef;
//-- External handles ----------------------------------------------------------
extern TMR_HandleTypeDef htmr0;
extern TMR_HandleTypeDef htmr1;
extern TMR_HandleTypeDef htmr2;
extern TMR_HandleTypeDef htmr3;
//-- Exported functions prototypes ---------------------------------------------
/* Init functions */
/* Первичная инициализация таймеров */
void tmr_init_first(void);
/* Общий обработчик прерывания таймера */
void tmr_irq_handler(TMR_HandleTypeDef* htmr);
/* Инициализация TMRx */
OperationStatus tmr_init(TMR_HandleTypeDef *htmr, TMR_ExtInit_TypeDef *NewConfig);
OperationStatus tmr_set_callback(TMR_HandleTypeDef* htmr, int cb_type, void (*Callback)(void));
OperationStatus tmr_start(TMR_HandleTypeDef *htmr);
OperationStatus tmr_stop(TMR_HandleTypeDef *htmr);
OperationStatus tmr_delay(TMR_HandleTypeDef *htmr, uint32_t delay);
OperationStatus tmr_delay_start(TMR_HandleTypeDef *htmr, uint32_t *var);
int tmr_delay_done(TMR_HandleTypeDef *htmr, uint32_t delay, uint32_t *var);
void tmr_handler(TMR_HandleTypeDef* htmr);
/* Инициализация таймера (её нет в PLIB, поэтому она здесь) */
void TMR_Init(TMR_TypeDef* TMRx, TMR_ExtInit_TypeDef* InitStruct);
/* Установка callback-функции таймера */
OperationStatus TMR_Set_Callback(TMR_HandleTypeDef* htmr, TMR_CallbackTypeDef CallbackType, void (*Callback)(void));
/* API functions*/
/* Запуск таймера */
OperationStatus TMR_Start(TMR_HandleTypeDef *htmr, FunctionalState IT);
/* Остановка таймера */
OperationStatus TMR_Stop(TMR_HandleTypeDef *htmr, FunctionalState IT);
/*Получить счетчик таймера (с псевдопрескалером) */
uint32_t TMR_Get_Cnt(TMR_HandleTypeDef *htmr);
/* Получить период таймера (с псевдопрескалером) */
uint32_t TMR_Get_Period(TMR_HandleTypeDef *htmr);
/* Задержка в тиках таймера (блокирующая). */
OperationStatus TMR_Delay(TMR_HandleTypeDef *htmr, uint32_t delay);
/* Проверка завершения неблокирующей задержки. */
OperationStatus TMR_Delay_Start(TMR_HandleTypeDef *htmr, uint32_t *var);
/* Проверка завершения неблокирующей задержки. */
int TMR_Delay_Done(TMR_HandleTypeDef *htmr, uint32_t delay, uint32_t *var);
#endif /*__TMR_H*/

View File

@@ -1,28 +1,105 @@
/*==============================================================================
* Инициализация Instance с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file uart.c
* @author Разваляев Алексей
* @brief Драйвер UART на основе PLIB035.
* Этот файл содержит:
* + Инициализацию UART0/UART1
* + Управление FIFO
* + Передачу и приём данных в blocking и interrupt режимах
* + Общий обработчик прерываний UART
* + Функции настройки GPIO для UART
* + Очередь передачи для предотвращения потери данных
*
******************************************************************************
* @attention
*
* Использование этого драйвера предполагает наличие корректных настроек:
* - Определены конфигурационные структуры uartx_config в periph_config.h
* - Определены пины TX/RX для UART0/UART1
*
******************************************************************************
* @verbatim
==============================================================================
##### Как использовать этот драйвер #####
==============================================================================
1. Настройка периферии (periph_config.h):
(+) Определить структуры UART_ExtInit_TypeDef для нужных UART:
uart0_config, uart1_config
(+) Настроить скорость, стоп-биты, четность, длину данных
(+) Настроить FIFO и направление (Tx, Rx или оба)
(+) Определить callback-функции (можно NULL)
(+) Определить пины TX/RX для UART0/UART1
(+) Включить/отключить очередь сообщений для отправки: USE_TX_QUEUE в uart.h
2. Инициализация UART:
(+) uart_init_first() — первичная настройка GPIO, тактирования и NVIC
(+) uart_init(&huart, &config) — инициализация конкретного UART с конфигурацией
3. Callback-функции:
(+) UART_Set_Callback(&huart, UART_Callback_Rx, Callback) — вызов при приёме данных
(+) UART_Set_Callback(&huart, UART_Callback_Tx, Callback) — вызов при завершении передачи
(+) UART_Set_Callback(&huart, UART_Callback_Idle, Callback) — вызов при событии Idle
(+) UART_Set_Callback(&huart, UART_Callback_Error, Callback) — вызов при ошибках
4. Запуск UART и FIFO:
(+) UART_Start(&huart, TxFifoLevel, RxFifoLevel) — включает UART и настраивает FIFO
5. Передача и приём данных:
- Режим Polling (blocking):
(+) UART_Transmit(&huart, buf, size, timeout) — передача данных с ожиданием
(+) UART_Receive(&huart, buf, size, timeout) — приём данных с ожиданием
- Режим Interrupt (non-blocking):
(+) UART_Transmit_IT(&huart, buf, size) — передача данных через прерывания
(+) UART_Receive_IT(&huart, buf, size) — приём данных через прерывания
6. Обработка прерываний UART:
(+) uart_irq_handler(&huart) — общий обработчик ISR для RX/TX FIFO, ошибок и Idle
- В обработчиках автоматически вызываются соответствующие callback-функции
и сбрасываются флаги
- Поддерживается очередь передачи для предотвращения потери данных
7. GPIO для UART:
(+) uart0_gpio_init()/uart0_gpio_deinit() — инициализация и деинициализация UART0
(+) uart1_gpio_init()/uart1_gpio_deinit() — инициализация и деинициализация UART1
8. Режимы работы:
(+) Polling (blocking) — функции блокируются до завершения передачи/приёма
(+) Interrupt (non-blocking) — передача/приём через прерывания, управление через callback
@endverbatim
******************************************************************************
*/
//-- Includes ------------------------------------------------------------------
#include "periph_config.h"
UART_HandleTypeDef huart0;
UART_HandleTypeDef huart1;
UART_HandleTypeDef huart0; /*!< Хендл UART0 */
UART_HandleTypeDef huart1; /*!< Хендл UART1 */
//-- Private function prototypes -----------------------------------------------
static int __uart_fifo_receive(UART_HandleTypeDef *huart, uint8_t it_mode);
static int __uart_fifo_transmit(UART_HandleTypeDef *huart, uint8_t it_mode);
#if USE_TX_QUEUE==1
static void __uart_tx_queue_process(UART_HandleTypeDef *huart);
static OperationStatus __uart_tx_queue_push(UART_HandleTypeDef *huart, const uint8_t *buf, uint16_t size);
static OperationStatus __uart_tx_queue_pop(UART_HandleTypeDef *huart);
#endif
//-- Defines -------------------------------------------------------------------
//-- Peripheral init functions -------------------------------------------------
//-- UART Init functions -------------------------------------------------------
/**
* @brief Первичная инициализация UART (UART0 / UART1)
* @details Настройка UART и хендлов: GPIO, тактирование и прерывания
*/
void uart_init_first(void)
{
@@ -68,9 +145,9 @@ void uart_init_first(void)
/**
* @brief Инициализация Instance
* @param htmr указатель на хендл Instance
* @param NewConfig указатель на новую конфигурацию Instance, иначе используется та, что в структуре
* @brief Инициализация UART
* @param htmr указатель на хендл UART
* @param NewConfig указатель на новую конфигурацию UART, иначе используется та, что в структуре
* @retval OperationStatus OK - если всё хорошо, ERROR - если ошибка
*/
OperationStatus uart_init(UART_HandleTypeDef *huart, UART_ExtInit_TypeDef *NewConfig)
@@ -92,7 +169,52 @@ OperationStatus uart_init(UART_HandleTypeDef *huart, UART_ExtInit_TypeDef *NewCo
return OK;
}
OperationStatus uart_start(UART_HandleTypeDef *huart, UART_FIFOLevel_TypeDef TxFifoLevel, UART_FIFOLevel_TypeDef RxFifoLevel)
/**
* @brief Установка коллбека UART
* @param htmr указатель на хендл UART
* @param CallbackType Тип коллбека
* @param Callback Функция коллбека
* @retval void
*/
OperationStatus UART_Set_Callback(UART_HandleTypeDef* huart, UART_CallbackTypeDef CallbackType, void (*Callback)(void))
{
if (!huart || !huart->Instance || !huart->Config)
return ERROR;
switch(CallbackType)
{
case UART_Callback_Rx:
huart->Config->RxCallback = Callback;
break;
case UART_Callback_Tx:
huart->Config->TxCallback = Callback;
break;
case UART_Callback_Idle:
huart->Config->IdleCallback = Callback;
break;
case UART_Callback_Error:
huart->Config->ErrCallback = Callback;
break;
default:
return ERROR;
}
return OK;
}
//-- UART API functions --------------------------------------------------------
/**
* @brief Запуск UART и инициализация FIFO
* @param huart указатель на хендл UART
* @param TxFifoLevel уровень прерывания TX FIFO
* @param RxFifoLevel уровень прерывания RX FIFO
* @retval OperationStatus OK - если успешно, ERROR - при ошибке
*/
OperationStatus UART_Start(UART_HandleTypeDef *huart, UART_FIFOLevel_TypeDef TxFifoLevel, UART_FIFOLevel_TypeDef RxFifoLevel)
{
if (!huart)
return ERROR;
@@ -111,12 +233,36 @@ OperationStatus uart_start(UART_HandleTypeDef *huart, UART_FIFOLevel_TypeDef TxF
huart->RxSize = 0;
huart->RxBusy = 0;
#if USE_TX_QUEUE==1
huart->TxQueue.QueueHead = 0;
huart->TxQueue.QueueTail = 0;
huart->TxQueue.QueueCount = 0;
huart->TxQueue.QueueEmpty = 1;
huart->TxQueue.QueueFull = 0;
for (uint8_t i = 0; i < TX_QUEUE_SIZE; i++)
{
huart->TxQueue.Queue[i].Buf = NULL;
huart->TxQueue.Queue[i].Size = 0;
huart->TxQueue.Queue[i].InUse = 0;
}
#endif
UART_Cmd(huart->Instance, ENABLE);
return OK;
}
OperationStatus uart_transmit(UART_HandleTypeDef *huart,
/**
* @brief Передача данных по UART (блокирующий режим)
* @param huart указатель на хендл UART
* @param buf указатель на буфер данных
* @param size размер данных в байтах
* @param timeout таймаут ожидания (мс)
* @retval OperationStatus OK - если успешно, ERROR - при ошибке или таймауте
*/
OperationStatus UART_Transmit(UART_HandleTypeDef *huart,
uint8_t *buf,
uint16_t size,
uint32_t timeout)
@@ -143,8 +289,15 @@ OperationStatus uart_transmit(UART_HandleTypeDef *huart,
return OK;
}
OperationStatus uart_receive(UART_HandleTypeDef *huart,
/**
* @brief Приём данных по UART (блокирующий режим)
* @param huart указатель на хендл UART
* @param buf указатель на буфер приёма
* @param size количество принимаемых байт
* @param timeout таймаут ожидания (мс)
* @retval OperationStatus OK - если успешно, ERROR - при ошибке или таймауте
*/
OperationStatus UART_Receive(UART_HandleTypeDef *huart,
uint8_t *buf,
uint16_t size,
uint32_t timeout)
@@ -172,14 +325,37 @@ OperationStatus uart_receive(UART_HandleTypeDef *huart,
return OK;
}
OperationStatus uart_transmit_it(UART_HandleTypeDef *huart,
/**
* @brief Передача данных по UART (прерывания)
* @param huart указатель на хендл UART
* @param buf указатель на буфер данных
* @param size размер данных в байтах
* @retval OperationStatus OK - если успешно, ERROR - если передача уже идёт
*/
OperationStatus UART_Transmit_IT(UART_HandleTypeDef *huart,
uint8_t *buf,
uint16_t size)
{
if (!huart || !buf || size == 0)
return ERROR;
#if USE_TX_QUEUE==1
// Автоматически используем очередь
if (huart->TxQueue.QueueFull)
return ERROR;
OperationStatus status = __uart_tx_queue_push(huart, buf, size);
if (status != OK)
return ERROR;
if (!huart->TxBusy)
{
__uart_tx_queue_process(huart);
}
return OK;
#else
// Без очереди
// Если TX занят, возвращаем ERROR
if (huart->TxBusy)
return ERROR;
@@ -195,11 +371,17 @@ OperationStatus uart_transmit_it(UART_HandleTypeDef *huart,
__uart_fifo_transmit(huart, 1);
return OK;
#endif
}
OperationStatus uart_receive_it(UART_HandleTypeDef *huart,
/**
* @brief Приём данных по UART (прерывания)
* @param huart указатель на хендл UART
* @param buf указатель на буфер приёма
* @param size количество принимаемых байт
* @retval OperationStatus OK - если успешно, ERROR - если приём уже идёт
*/
OperationStatus UART_Receive_IT(UART_HandleTypeDef *huart,
uint8_t *buf,
uint16_t size)
{
@@ -228,12 +410,20 @@ OperationStatus uart_receive_it(UART_HandleTypeDef *huart,
return OK;
}
void uart_handler(UART_HandleTypeDef *huart)
//-- UART Handler functions ---------------------------------------------------
/**
* @brief Общий обработчик прерываний UART
* @param huart указатель на хендл UART
* @details Обрабатывает RX/TX FIFO, ошибки и события Idle
* @retval void
*/
void uart_irq_handler(UART_HandleTypeDef *huart)
{
if (!huart || !huart->Instance || !huart->Config)
return;
// GPIO_SetBits(GPIOA, GPIO_Pin_7);
UART_TypeDef *uart = huart->Instance;
uint32_t mis = uart->MIS;
@@ -267,7 +457,7 @@ void uart_handler(UART_HandleTypeDef *huart)
UART_ITStatusClear(uart, UART_ITSource_RecieveTimeout);
huart->RxBusy = 0;
// Выключаем RX прерывания до следующего вызова uart_receive_it
// Выключаем RX прерывания до следующего вызова UART_Receive_IT
UART_ITCmd(uart,
UART_ITSource_RxFIFOLevel |
UART_ITSource_RecieveTimeout,
@@ -287,6 +477,7 @@ void uart_handler(UART_HandleTypeDef *huart)
UART_ITStatusClear(uart, UART_ITSource_TxFIFOLevel);
}
// Конец передачи
if (mis & UART_ITSource_TransmitDone)
{
@@ -295,46 +486,23 @@ void uart_handler(UART_HandleTypeDef *huart)
if (huart->Config->TxCallback)
huart->Config->TxCallback();
#if USE_TX_QUEUE==1
// Если есть очередь, обрабатываем следующий пакет
__uart_tx_queue_process(huart);
#endif
}
// GPIO_ClearBits(GPIOA, GPIO_Pin_7);
}
//-- UART GPIO functions -------------------------------------------------------
/**
* @brief Установка коллбека Instance
* @param htmr указатель на хендл Instance
* @param cb_type Тип коллбека
* @param Callback Функция коллбека
* @retval void
* @brief Инициализация GPIO для UART0
*/
OperationStatus uart_set_callback(UART_HandleTypeDef* huart, UART_CallbackTypeDef cb_type, void (*Callback)(void))
{
if (!huart || !huart->Instance || !huart->Config)
return ERROR;
switch(cb_type)
{
case UART_Callback_Rx:
huart->Config->RxCallback = Callback;
break;
case UART_Callback_Tx:
huart->Config->TxCallback = Callback;
break;
case UART_Callback_Idle:
huart->Config->IdleCallback = Callback;
break;
case UART_Callback_Error:
huart->Config->ErrCallback = Callback;
break;
default:
return ERROR;
}
return OK;
}
void uart0_gpio_init(void)
{
#if USE_UART0==1
@@ -363,7 +531,9 @@ void uart0_gpio_init(void)
}
#endif
}
/**
* @brief Деинициализация GPIO для UART0
*/
void uart0_gpio_deinit(void)
{
#if USE_UART0==1
@@ -387,7 +557,9 @@ void uart0_gpio_deinit(void)
}
#endif
}
/**
* @brief Инициализация GPIO для UART1
*/
void uart1_gpio_init(void)
{
#if USE_UART1==1
@@ -417,7 +589,9 @@ void uart1_gpio_init(void)
}
#endif
}
/**
* @brief Деинициализация GPIO для UART1
*/
void uart1_gpio_deinit(void)
{
#if USE_UART1==1
@@ -442,7 +616,13 @@ void uart1_gpio_deinit(void)
#endif
}
//-- UART private functions ----------------------------------------------------
/**
* @brief Приём данных из RX FIFO
* @param huart указатель на хендл UART
* @param it_mode режим работы (0 — polling, 1 — прерывания)
* @retval int 1 — приём завершён, 0 — данные ещё принимаются
*/
static int __uart_fifo_receive(UART_HandleTypeDef *huart, uint8_t it_mode)
{
while (!UART_FlagStatus(huart->Instance, UART_Flag_RxFIFOEmpty) &&
@@ -470,6 +650,12 @@ static int __uart_fifo_receive(UART_HandleTypeDef *huart, uint8_t it_mode)
}
return 0;
}
/**
* @brief Передача данных в TX FIFO
* @param huart указатель на хендл UART
* @param it_mode режим работы (0 — polling, 1 — прерывания)
* @retval int 1 — передача завершена, 0 — данные ещё передаются
*/
static int __uart_fifo_transmit(UART_HandleTypeDef *huart, uint8_t it_mode)
{
while (!UART_FlagStatus(huart->Instance, UART_Flag_TxFIFOFull) &&
@@ -500,3 +686,64 @@ static int __uart_fifo_transmit(UART_HandleTypeDef *huart, uint8_t it_mode)
}
return 0;
}
#if USE_TX_QUEUE==1
static void __uart_tx_queue_process(UART_HandleTypeDef *huart)
{
if (!huart->TxBusy && !huart->TxQueue.QueueEmpty)
{
__uart_tx_queue_pop(huart);
}
}
static OperationStatus __uart_tx_queue_push(UART_HandleTypeDef *huart, const uint8_t *buf, uint16_t size)
{
if (!huart || !buf || size == 0 || huart->TxQueue.QueueFull)
return ERROR;
huart->TxQueue.Queue[huart->TxQueue.QueueHead].Buf = buf;
huart->TxQueue.Queue[huart->TxQueue.QueueHead].Size = size;
huart->TxQueue.Queue[huart->TxQueue.QueueHead].InUse = 1;
huart->TxQueue.QueueHead = (huart->TxQueue.QueueHead + 1) % TX_QUEUE_SIZE;
huart->TxQueue.QueueCount++;
huart->TxQueue.QueueEmpty = 0;
if (huart->TxQueue.QueueCount == TX_QUEUE_SIZE)
huart->TxQueue.QueueFull = 1;
return OK;
}
static OperationStatus __uart_tx_queue_pop(UART_HandleTypeDef *huart)
{
if (!huart || huart->TxQueue.QueueEmpty)
return ERROR;
const uint8_t *buf = huart->TxQueue.Queue[huart->TxQueue.QueueTail].Buf;
uint16_t size = huart->TxQueue.Queue[huart->TxQueue.QueueTail].Size;
if (huart->TxBusy)
return ERROR;
huart->TxBufPtr = buf;
huart->TxSize = size;
huart->TxCount = 0;
huart->TxBusy = 1;
UART_ITCmd(huart->Instance, UART_ITSource_TxFIFOLevel, ENABLE);
__uart_fifo_transmit(huart, 1);
huart->TxQueue.Queue[huart->TxQueue.QueueTail].Buf = NULL;
huart->TxQueue.Queue[huart->TxQueue.QueueTail].Size = 0;
huart->TxQueue.Queue[huart->TxQueue.QueueTail].InUse = 0;
huart->TxQueue.QueueTail = (huart->TxQueue.QueueTail + 1) % TX_QUEUE_SIZE;
huart->TxQueue.QueueCount--;
huart->TxQueue.QueueFull = 0;
if (huart->TxQueue.QueueCount == 0)
huart->TxQueue.QueueEmpty = 1;
return OK;
}
#endif

View File

@@ -1,11 +1,17 @@
/*==============================================================================
* Инициализация UART с использованием бибилотеки PLIB035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file uart.h
* @author Разваляев Алексей
* @brief Драйвер UART на основе PLIB035.
* Данный файл содержит определения типов, структур и прототипы функций
* для работы с UART, включая:
* + Структуры и typedef для UART
* + Макросы для конфигурации направления передачи
* + Прототипы функций для инициализации и API драйвера
*
******************************************************************************
*/
#ifndef __UART_H
#define __UART_H
//-- Includes ------------------------------------------------------------------
@@ -13,92 +19,148 @@
#include "retarget_conf.h"
//-- Defines -------------------------------------------------------------------
// Дефайны для кольцевых буферов UART
#ifndef UART_RX_BUF_SIZE
#define UART_RX_BUF_SIZE 128
#endif
#ifndef UART_TX_BUF_SIZE
#define UART_TX_BUF_SIZE 128
#endif
// Дефайны для режима направления UART
#define UART_Direction_None DISABLE, DISABLE
#define UART_Direction_RxTx ENABLE, ENABLE
#define UART_Direction_Tx DISABLE, ENABLE
#define UART_Direction_Rx ENABLE, DISABLE
// Дефайны для режима пина RxEnable, TxEnable
/** @brief Направление: никакого */
#define UART_Direction_None DISABLE, DISABLE
/** @brief Направление: Rx и Tx */
#define UART_Direction_RxTx ENABLE, ENABLE
/** @brief Направление: только Tx */
#define UART_Direction_Tx DISABLE, ENABLE
/** @brief Направление: только Rx */
#define UART_Direction_Rx ENABLE, DISABLE
// Дефайны для пинов UART
#define UART0_Tx_Pin GPIO_Pin_10 // PB10 для UART0 Tx
#define UART0_Rx_Pin GPIO_Pin_11 // PB11 для UART0 Rx
#define UART0_GPIO_Port GPIOB
#define UART0_Tx_Pin GPIO_Pin_10 /**< PB10 UART0 Tx */
#define UART0_Rx_Pin GPIO_Pin_1 /**< PB11 UART0 Rx */
#define UART0_GPIO_Port GPIOB /**< GPIO порт UART0 */
#define UART1_Tx_Pin GPIO_Pin_8 // PB8 для UART1 Tx
#define UART1_Rx_Pin GPIO_Pin_9 // PB9 для UART1 Rx
#define UART1_GPIO_Port GPIOB
#define UART1_Tx_Pin GPIO_Pin_8 /**< PB8 UART1 Tx */
#define UART1_Rx_Pin GPIO_Pin_9 /**< PB9 UART1 Rx */
#define UART1_GPIO_Port GPIOB /**< GPIO порт UART1 */
#define USE_TX_QUEUE 1 /*!< Использовать очередь для отправки, чтобы не терять данные */
#define TX_QUEUE_SIZE 32 /*!< Размер очереди в кол-ве буферов для отправки */
//-- Types ---------------------------------------------------------------------
/**
* @brief Типы callback-функций UART
*/
typedef enum
{
UART_Callback_Rx,
UART_Callback_Tx,
UART_Callback_Idle,
UART_Callback_Error,
}UART_CallbackTypeDef;
UART_Callback_Rx, /*!< Приём данных завершён */
UART_Callback_Tx, /*!< Передача данных завершена */
UART_Callback_Idle, /*!< Обнаружено состояние IDLE */
UART_Callback_Error, /*!< Ошибка UART */
} UART_CallbackTypeDef;
/**
* @brief Расширенная конфигурация UART
*/
typedef struct
{
UART_Init_TypeDef UART_Init; /* Стандартная конфигурация из PLIB */
UART_Init_TypeDef UART_Init; /*!< Стандартная конфигурация UART из PLIB */
// Callback функции
void (*RxCallback)(void); /* Вызывается при приеме полного сообщения */
void (*TxCallback)(void); /* Вызывается при окончании передачи */
void (*IdleCallback)(void); /* Вызывается при IDLE линии на RX */
void (*ErrCallback)(void); /* Вызывается при ошибке */
/* Callback функции */
void (*RxCallback)(void); /*!< Вызывается при приёме полного сообщения */
void (*TxCallback)(void); /*!< Вызывается при окончании передачи */
void (*IdleCallback)(void); /*!< Вызывается при IDLE линии RX */
void (*ErrCallback)(void); /*!< Вызывается при ошибке UART */
} UART_ExtInit_TypeDef;
/**
* @brief Структура элемента очереди
*/
typedef struct {
const uint8_t *Buf; /*!< Указатель на буфер данных */
uint16_t Size; /*!< Размер данных в буфере */
uint8_t InUse; /*!< Флаг занятости элемента */
} UART_QueueItemTypeDef;
/**
* @brief Структура очереди UART
*/
typedef struct {
UART_QueueItemTypeDef Queue[TX_QUEUE_SIZE]; /*!< Циклический буфер очереди */
uint8_t QueueHead; /*!< Индекс головы очереди (куда добавляем) */
uint8_t QueueTail; /*!< Индекс хвоста очереди (откуда берем) */
uint8_t QueueCount; /*!< Количество элементов в очереди */
uint8_t QueueEmpty; /*!< Флаг пустой очереди */
uint8_t QueueFull; /*!< Флаг полной очереди */
} UART_TxQueueTypeDef;
/**
* @brief Хендл UART
*/
typedef struct
{
UART_TypeDef *Instance; /* Регистры UART */
UART_ExtInit_TypeDef *Config; /* Конфигурация UART */
UART_TypeDef *Instance; /*!< Регистры UART */
UART_ExtInit_TypeDef *Config; /*!< Конфигурация UART */
/* ===== TX ===== */
const uint8_t *TxBufPtr; /* текущий массив для передачи*/
uint16_t TxCount; /* счетчик отправленых байт*/
uint16_t TxSize; /* длина данных для отправки*/
volatile uint8_t TxBusy; /* Флаг занятости TX*/
const uint8_t *TxBufPtr; /*!< Указатель на буфер передачи */
uint16_t TxCount; /*!< Счётчик переданных байт */
uint16_t TxSize; /*!< Размер передаваемых данных */
volatile uint8_t TxBusy; /*!< Флаг занятости TX */
/* ===== RX ===== */
uint8_t *RxBufPtr; /* буфер для приёма*/
uint16_t RxCount; /* счетчик принятых байт*/
uint16_t RxSize; /* длина данных для приема*/
volatile uint8_t RxBusy; /* Флаг занятости RX*/
}UART_HandleTypeDef;
uint8_t *RxBufPtr; /*!< Указатель на буфер приёма */
uint16_t RxCount; /*!< Счётчик принятых байт */
uint16_t RxSize; /*!< Размер принимаемых данных */
volatile uint8_t RxBusy; /*!< Флаг занятости RX */
#if (USE_TX_QUEUE==1)
/* == TX QUEUE == */
UART_TxQueueTypeDef TxQueue;
#endif
} UART_HandleTypeDef;
//-- External handles ----------------------------------------------------------
extern UART_HandleTypeDef huart0;
extern UART_HandleTypeDef huart1;
//-- Exported functions prototypes ---------------------------------------------
/* Init functions */
/* Первичная инициализация UART (UART0 / UART1) */
void uart_init_first(void);
/* Инициализация UARTx */
OperationStatus uart_init(UART_HandleTypeDef *huart, UART_ExtInit_TypeDef *NewConfig);
OperationStatus uart_set_callback(UART_HandleTypeDef* huart, UART_CallbackTypeDef cb_type, void (*Callback)(void));
OperationStatus uart_start(UART_HandleTypeDef *huart, UART_FIFOLevel_TypeDef TxFifoLevel, UART_FIFOLevel_TypeDef RxFifoLevel);
OperationStatus uart_transmit(UART_HandleTypeDef *huart, uint8_t *buf, uint16_t size, uint32_t timeout);
OperationStatus uart_receive(UART_HandleTypeDef *huart, uint8_t *buf, uint16_t size, uint32_t timeout);
OperationStatus uart_transmit_it(UART_HandleTypeDef *huart, uint8_t *buf, uint16_t size);
OperationStatus uart_receive_it(UART_HandleTypeDef *huart, uint8_t *buf, uint16_t size);
void uart_handler(UART_HandleTypeDef *huart);
/* Общий обработчик прерываний UART */
void uart_irq_handler(UART_HandleTypeDef *huart);
/* Инициализация GPIO для UART0 */
void uart0_gpio_init(void);
/* Деинициализация GPIO для UART0 */
void uart0_gpio_deinit(void);
/* Инициализация GPIO для UART1 */
void uart1_gpio_init(void);
/* Деинициализация GPIO для UART1 */
void uart1_gpio_deinit(void);
/* API functions*/
/* Установка callback-функции UART */
OperationStatus UART_Set_Callback(UART_HandleTypeDef *huart, UART_CallbackTypeDef CallbackType, void (*Callback)(void));
/* Запуск UART и настройка FIFO */
OperationStatus UART_Start(UART_HandleTypeDef *huart, UART_FIFOLevel_TypeDef TxFifoLevel, UART_FIFOLevel_TypeDef RxFifoLevel);
/* Передача данных по UART (блокирующий режим) */
OperationStatus UART_Transmit(UART_HandleTypeDef *huart, uint8_t *buf, uint16_t size, uint32_t timeout);
/* Приём данных по UART (блокирующий режим) */
OperationStatus UART_Receive(UART_HandleTypeDef *huart, uint8_t *buf, uint16_t size, uint32_t timeout);
/* Передача данных по UART (режим прерываний) */
OperationStatus UART_Transmit_IT(UART_HandleTypeDef *huart, uint8_t *buf, uint16_t size);
/* Приём данных по UART (режим прерываний) */
OperationStatus UART_Receive_IT(UART_HandleTypeDef *huart, uint8_t *buf, uint16_t size);
#endif /*__UART_H*/

View File

@@ -1,11 +1,59 @@
/*==============================================================================
* Прерывания микроконтроллера 1921ВК035
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* ЦНИИ СЭТ
*==============================================================================
*/
/**
******************************************************************************
* @file vk035_it.c
* @author Разваляев Алексей
* @brief Обработчики прерываний для микроконтроллера 1921ВК035.
* Этот файл содержит:
* + Обработчики прерываний периферии (UART, TMR, ADC, DMA и др.)
* + Обработчики исключений Cortex-M4 (HardFault, SysTick и др.)
* + Интеграцию с драйверами периферии через вызовы обработчиков
* + Управление системным временем через SysTick
*
******************************************************************************
* @attention
*
* Использование этого файла предполагает наличие корректных настроек:
* - Определены USE_xxx макросы в periph_config.h для включения периферии
* - Инициализированы соответствующие драйверы периферии
* - Включены прерывания в NVIC через функции драйверов
*
******************************************************************************
* @verbatim
==============================================================================
##### Как использовать этот файл #####
==============================================================================
1. Настройка периферии (periph_config.h):
(+) Определить USE_TMRx для используемых таймеров (0-3)
(+) Определить USE_UARTx для используемых UART (0-1)
(+) Определить USE_ADC_SEQx для используемых секвенсоров ADC (0-1)
2. Инициализация драйверов:
(+) Вызвать функции инициализации драйверов (uart_init_first, tmr_init_first и т.д.)
- Драйверы автоматически включат соответствующие прерывания в NVIC
3. Обработка прерываний:
(+) Прерывания периферии автоматически перенаправляются в драйверы
(+) Системные прерывания (SysTick) управляют временем millis/micros
(+) Обработчики исключений обрабатывают критические ошибки
4. Интеграция с драйверами:
(+) UART прерывания -> uart_irq_handler(&huartx)
(+) TMR прерывания -> tmr_irq_handler(&htmrx)
(+) ADC SEQ прерывания -> adc_seq_irq_handler(&hadc, SEQ_Num)
5. Системное время:
(+) SysTick_Handler() автоматически обновляет millis() и micros()
(+) Период SysTick настраивается в sysclk_init()
6. Особенности работы:
(+) Неиспользуемые обработчики оставлены пустыми для будущего расширения
(+) Критические ошибки (HardFault и др.) уходят в бесконечный цикл
(+) Прерывания обрабатываются неблокирующе с минимальными задержками
@endverbatim
******************************************************************************
*/
//-- Includes ------------------------------------------------------------------
#include "main.h"
@@ -15,60 +63,78 @@
/* 1921VK035 Peripheral Interrupt Handlers */
/* Add here the Interrupt Handlers for the used peripherals. */
/******************************************************************************/
#if USE_WDT==1
void WDT_IRQHandler(void)
{
}
#endif
void GPIOA_IRQHandler(void)
{
}
void GPIOB_IRQHandler(void)
{
}
#if USE_TMR0==1
void TMR0_IRQHandler(void)
{
tmr_handler(&htmr0);
tmr_irq_handler(&htmr0);
}
#endif
#if USE_TMR1==1
void TMR1_IRQHandler(void)
{
tmr_handler(&htmr1);
tmr_irq_handler(&htmr1);
}
#endif
#if USE_TMR2==1
void TMR2_IRQHandler(void)
{
tmr_handler(&htmr2);
tmr_irq_handler(&htmr2);
}
#endif
#if USE_TMR3==1
void TMR3_IRQHandler(void)
{
tmr_handler(&htmr3);
tmr_irq_handler(&htmr3);
}
#endif
#if USE_UART0==1
void UART0_TD_IRQHandler(void)
{
uart_handler(&huart0);
uart_irq_handler(&huart0);
}
void UART0_RX_IRQHandler(void)
{
uart_handler(&huart0);
uart_irq_handler(&huart0);
}
void UART0_TX_IRQHandler(void)
{
uart_handler(&huart0);
uart_irq_handler(&huart0);
}
void UART0_E_RT_IRQHandler(void)
{
uart_handler(&huart0);
uart_irq_handler(&huart0);
}
#endif
#if USE_UART1==1
void UART1_TD_IRQHandler(void)
{
uart_handler(&huart1);
uart_irq_handler(&huart1);
}
void UART1_RX_IRQHandler(void)
{
uart_handler(&huart1);
uart_irq_handler(&huart1);
}
void UART1_TX_IRQHandler(void)
{
uart_handler(&huart1);
uart_irq_handler(&huart1);
}
void UART1_E_RT_IRQHandler(void)
{
uart_handler(&huart1);
uart_irq_handler(&huart1);
}
#endif
#if USE_SPI==1
void SPI_RO_RT_IRQHandler(void)
{
}
@@ -78,18 +144,28 @@ void SPI_RX_IRQHandler(void)
void SPI_TX_IRQHandler(void)
{
}
#endif
#if USE_I2C==1
void I2C_IRQHandler(void)
{
}
#endif
#if USE_ECAP0==1
void ECAP0_IRQHandler(void)
{
}
#endif
#if USE_ECAP1==1
void ECAP1_IRQHandler(void)
{
}
#endif
#if USE_ECAP2==1
void ECAP2_IRQHandler(void)
{
}
#endif
#if USE_PWM0==1
void PWM0_IRQHandler(void)
{
}
@@ -99,6 +175,8 @@ void PWM0_HD_IRQHandler(void)
void PWM0_TZ_IRQHandler(void)
{
}
#endif
#if USE_PWM1==1
void PWM1_IRQHandler(void)
{
}
@@ -108,6 +186,8 @@ void PWM1_HD_IRQHandler(void)
void PWM1_TZ_IRQHandler(void)
{
}
#endif
#if USE_PWM2==1
void PWM2_IRQHandler(void)
{
}
@@ -117,20 +197,30 @@ void PWM2_HD_IRQHandler(void)
void PWM2_TZ_IRQHandler(void)
{
}
#endif
#if USE_QEP==1
void QEP_IRQHandler(void)
{
}
#endif
#if USE_ADC_SEQ0==1
void ADC_SEQ0_IRQHandler(void)
{
adc_seq_handler(&hadc, ADC_SEQ_Num_0);
adc_seq_irq_handler(&hadc, ADC_SEQ_Num_0);
}
#endif
#if USE_ADC_SEQ1==1
void ADC_SEQ1_IRQHandler(void)
{
adc_seq_handler(&hadc, ADC_SEQ_Num_1);
adc_seq_irq_handler(&hadc, ADC_SEQ_Num_1);
}
#endif
#if (USE_ADC_DC0==1) || (USE_ADC_DC1==1) || (USE_ADC_DC2==1) || (USE_ADC_DC3==1)
void ADC_DC_IRQHandler(void)
{
}
#endif
#if USE_ADC_CAN==1
void CAN0_IRQHandler(void)
{
}
@@ -179,9 +269,7 @@ void CAN14_IRQHandler(void)
void CAN15_IRQHandler(void)
{
}
void FPU_IRQHandler(void)
{
}
#endif
void DMA_CH0_IRQHandler(void)
{
}
@@ -230,7 +318,7 @@ void DMA_CH14_IRQHandler(void)
void DMA_CH15_IRQHandler(void)
{
}
void WDT_IRQHandler(void)
void FPU_IRQHandler(void)
{
}
void RCU_IRQHandler(void)
@@ -320,5 +408,5 @@ void PendSV_Handler(void)
*/
void SysTick_Handler(void)
{
millis_inc();
sysclk_irq_handler();
}

View File

@@ -25,7 +25,7 @@
#define TRACKERS_ENABLE ///< Включить трекеры
#define SERIAL_TRACE_ENABLE ///< Включить serial трассировку
#define RTT_TRACE_ENABLE ///< Включить serial трассировку через RTT
#define SWO_TRACE_ENABLE ///< Включить serial трассировку через SWO
//#define SWO_TRACE_ENABLE ///< Включить serial трассировку через SWO
/**
* @brief Уровень log serial трассировки @ref log_printf
* - LOG_LEVEL == 0 - логирование отключено (макрос пустой)

View File

@@ -1,39 +1,67 @@
/*==============================================================================
* Конфигурация портов с использованием бибилотеки PLIB035
* @file periph_config.h
* @author Разваляев Алексей
*------------------------------------------------------------------------------
* ЦНИИ СЭТ, Разваляев Алексей <wot890089@mail.ru>
*==============================================================================
* Реализация функций инициализации портов находится в gpio.c
* ЦНИИ СЭТ
* Общий файл конфигурации периферии проекта.
*
* Содержит:
* + Глобальные флаги включения периферии (USE_...)
* + Конфигурации тактирования и источников RCU
* + Таблицы конфигурации GPIO
* + Конфигурационные структуры для периферии:
* - GPIO
* - UART
* - TMR (таймеры)
* - ADC (SEQ и DC)
* - DMA
* - NVIC (приоритеты прерываний)
*
* Используется драйверами:
* - gpio.c
* - uart.c
* - tmr.c
* - adc.c
* - dma.c
*
* Реализация инициализации периферии находится в соответствующих *.c файлах.
*==============================================================================
*/
#ifndef __PERIPH_CONFIG_H
#define __PERIPH_CONFIG_H
#pragma once
//-- Includes ------------------------------------------------------------------
#include "sysclk.h"
#include "gpio.h"
#include "uart.h"
#include "tmr.h"
#include "adc.h"
/* Обработчик ошибок */
void Error_Handler(void);
//-- Общие Конфигурации -------------------------------------------------------
// 0 - использовать периферию, 1 - не использовать
#define USE_UART0 0
#define USE_UART1 1
// 0 - использовать периферию
// 1 - не использовать
#define USE_TMR0 1
#define USE_TMR1 1
#define USE_TMR2 1
#define USE_TMR3 0
/* UART */
#define USE_UART0 0 /*!< Использовать UART0 */
#define USE_UART1 0 /*!< Использовать UART1 */
#define USE_ADC_SEQ0 1
#define USE_ADC_SEQ1 0
#define USE_ADC_DC0 0
#define USE_ADC_DC1 0
#define USE_ADC_DC2 0
#define USE_ADC_DC3 0
/* Timers */
#define USE_TMR0 0 /*!< Использовать Таймер 0 */
#define USE_TMR1 0 /*!< Использовать Таймер 1 */
#define USE_TMR2 0 /*!< Использовать Таймер 2 */
#define USE_TMR3 0 /*!< Использовать Таймер 3 */
/* ADC */
#define USE_ADC_SEQ0 0 /*!< Использовать Секвенсор 0 */
#define USE_ADC_SEQ1 0 /*!< Использовать Секвенсор 1 */
#define USE_ADC_DC0 0 /*!< Использовать Компаратор 0 */
#define USE_ADC_DC1 0 /*!< Использовать Компаратор 1 */
#define USE_ADC_DC2 0 /*!< Использовать Компаратор 2 */
#define USE_ADC_DC3 0 /*!< Использовать Компаратор 3 */
/** @note Для RETARGET надо объявить этот дефайн в проекте
Options for Target -> C/C++ -> Defines
*/
//#define RETARGET // закоментирован - отключен,
// // разкоментирован - включен
//#define RETARGET_USE_ITM // закоментирован - использовать UART,
@@ -41,14 +69,25 @@ void Error_Handler(void);
// Для дальнейшей настройки RETARGET -> retarget_conf.h
//-- RCU Конфигурации ---------------------------------------------------------
/** @brief Источник тактирования МК
* @note Система всегда стартует с внутреннего МК и после потом переходит на PLL и заданный здесь источник
Поменять тактировние при старте можно в system_K1921VK035.h
*/
static RCU_PLL_Ref_TypeDef SYSCLK_Oscil_Type = RCU_PLL_Ref_OSEClk;
/** @brief Желаемая частота тактирования МК */
#define SYSCLK_CORE_CLOCK_MHZ 100
/** @brief Частота тиков uwTick тактирования МК */
static SYSCLK_TickHz_TypeDef SYSCLK_TickType = SYSCLK_Tick_1ms;
//-- GPIO Конфигурации --------------------------------------------------------
/*
/** @note
Note:
Периферия сама настроит нужные пины в gpiox_config на альтернативные функции
*/
/** @brief Конфигурации пинов порта GPIOA */
static GPIO_Init_TypeDef gpioa_config[] = {
// Пин, Режим, Выходной режим, Входной режим, Подтяжка, Нагрузка/Скорость
{ GPIO_Pin_0, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
@@ -69,6 +108,7 @@ static GPIO_Init_TypeDef gpioa_config[] = {
{ GPIO_Pin_15, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
};
/** @brief Конфигурации пинов порта GPIOB */
static GPIO_Init_TypeDef gpiob_config[] = {
// Пин, Режим, Выходной режим, Входной режим, Подтяжка, Нагрузка/Скорость
{ GPIO_Pin_0, GPIO_PinMode_Unused, GPIO_OutMode_PP, GPIO_InMode_Schmitt, GPIO_PullMode_Disable, GPIO_DriveMode_HighFast },
@@ -160,16 +200,16 @@ static ADC_SEQ_ExtInit_TypeDef adc_seq0_config = {
ADC_CH_Num_0, ADC_CH_Num_1, ADC_CH_Num_2, ADC_CH_Num_3,
//Последний запрос, Усреднение запросов, Усреднение запросов
ADC_SEQ_ReqNum_1, ADC_SEQ_Average_2, DISABLE,
//Кол-во рестартов секвенсора, Усреднение рестартов, Задержка между рестартами
//Кол-во рестартов секвенсора, Усреднение рестартов, Задержка между рестартами (в тиках ADC_ClockSource/2)
0, DISABLE, 0,
//Разрешение каналов цифровых компараторов
DISABLE, DISABLE, DISABLE, DISABLE,
//Настройка DMA FIFO, Разрешение DMA
ADC_SEQ_DMAFIFOLevel_1, DISABLE,
//Прерывания, Количество запросов для прерывания
ENABLE, 0,
//SEQ Complete Коллбек, Error коллбек
NULL, NULL
//Прерывания, Кол-во рестартов для прерывания Циклический буфер
ENABLE, 0, ENABLE,
//SEQ Complete Коллбек, BuffHalf Коллбек, BuffFull Коллбек, Error коллбек
NULL, NULL, NULL, NULL,
};
#endif
@@ -178,19 +218,19 @@ static ADC_SEQ_ExtInit_TypeDef adc_seq1_config = {
//Событие запуска секвенсора, Разрешение программного запуска
ADC_SEQ_StartEvent_SwReq, ENABLE,
//Выбор каналов для запросов секвенсора
ADC_CH_Num_0, ADC_CH_Num_1, ADC_CH_Num_2, ADC_CH_Num_3,
//Макс. кол-во запросов, Усреднение запросов, Усреднение запросов
ADC_SEQ_ReqNum_0, ADC_SEQ_Average_2, DISABLE,
//Кол-во рестартов секвенсора, Усреднение рестартов, Задержка между рестартами
ADC_CH_Num_2, ADC_CH_Num_3, ADC_CH_Num_2, ADC_CH_Num_3,
//Последний запрос, Усреднение запросов, Усреднение запросов
ADC_SEQ_ReqNum_1, ADC_SEQ_Average_2, DISABLE,
//Кол-во рестартов секвенсора, Усреднение рестартов, Задержка между рестартами (в тиках ADC_ClockSource/2)
0, DISABLE, 0,
//Разрешение каналов цифровых компараторов
DISABLE, DISABLE, DISABLE, DISABLE,
//Настройка DMA FIFO, Разрешение DMA
ADC_SEQ_DMAFIFOLevel_1, DISABLE,
//Прерывания, Количество запросов для прерывания
DISABLE, 0,
//SEQ Complete Коллбек, Error коллбек
NULL, NULL
//Прерывания, Кол-во рестартов для прерывания Циклический буфер
ENABLE, 0, ENABLE,
//SEQ Complete Коллбек, BuffHalf Коллбек, BuffFull Коллбек, Error коллбек
NULL, NULL, NULL, NULL,
};
#endif
@@ -244,4 +284,89 @@ static ADC_DC_ExtInit_TypeDef adc_dc3_config = {
NULL, NULL
};
#endif
#endif /*__PERIPH_CONFIG_H*/
//-- NVIC Конфигурации --------------------------------------------------------
/** @brief Приоритеты прерываний, 0 - самый высокий приоритет*/
static uint8_t NCIV_Priorities[] =
{
[GPIOA_IRQn] = 0,
[GPIOB_IRQn] = 0,
[TMR0_IRQn] = 0,
[TMR1_IRQn] = 0,
[TMR2_IRQn] = 0,
[TMR3_IRQn] = 0,
[UART0_TD_IRQn] = 0,
[UART0_RX_IRQn] = 0,
[UART0_TX_IRQn] = 0,
[UART0_E_RT_IRQn] = 0,
[UART1_TD_IRQn] = 0,
[UART1_RX_IRQn] = 0,
[UART1_TX_IRQn] = 0,
[UART1_E_RT_IRQn] = 0,
[SPI_RO_RT_IRQn] = 0,
[SPI_RX_IRQn] = 0,
[SPI_TX_IRQn] = 0,
[I2C_IRQn] = 0,
[ECAP0_IRQn] = 0,
[ECAP1_IRQn] = 0,
[ECAP2_IRQn] = 0,
[PWM0_IRQn] = 0,
[PWM0_HD_IRQn] = 0,
[PWM0_TZ_IRQn] = 0,
[PWM1_IRQn] = 0,
[PWM1_HD_IRQn] = 0,
[PWM1_TZ_IRQn] = 0,
[PWM2_IRQn] = 0,
[PWM2_HD_IRQn] = 0,
[PWM2_TZ_IRQn] = 0,
[QEP_IRQn] = 0,
[ADC_SEQ0_IRQn] = 0,
[ADC_SEQ1_IRQn] = 0,
[ADC_DC_IRQn] = 0,
[CAN0_IRQn] = 0,
[CAN1_IRQn] = 0,
[CAN2_IRQn] = 0,
[CAN3_IRQn] = 0,
[CAN4_IRQn] = 0,
[CAN5_IRQn] = 0,
[CAN6_IRQn] = 0,
[CAN7_IRQn] = 0,
[CAN8_IRQn] = 0,
[CAN9_IRQn] = 0,
[CAN10_IRQn] = 0,
[CAN11_IRQn] = 0,
[CAN12_IRQn] = 0,
[CAN13_IRQn] = 0,
[CAN14_IRQn] = 0,
[CAN15_IRQn] = 0,
[DMA_CH0_IRQn] = 0,
[DMA_CH1_IRQn] = 0,
[DMA_CH2_IRQn] = 0,
[DMA_CH3_IRQn] = 0,
[DMA_CH4_IRQn] = 0,
[DMA_CH5_IRQn] = 0,
[DMA_CH6_IRQn] = 0,
[DMA_CH7_IRQn] = 0,
[DMA_CH8_IRQn] = 0,
[DMA_CH9_IRQn] = 0,
[DMA_CH10_IRQn] = 0,
[DMA_CH11_IRQn] = 0,
[DMA_CH12_IRQn] = 0,
[DMA_CH13_IRQn] = 0,
[DMA_CH14_IRQn] = 0,
[DMA_CH15_IRQn] = 0,
[WDT_IRQn] = 0,
[RCU_IRQn] = 0,
[MFLASH_IRQn] = 0,
[FPU_IRQn] = 0,
};
static inline void NVIC_SetAllPriorities(void)
{
for(int i = 0; i < sizeof(NCIV_Priorities); i++)
{
NVIC_SetPriority((IRQn_Type)i, NCIV_Priorities[i]);
}
}
//-- Utils --------------------------------------------------------------------

View File

@@ -1,2230 +0,0 @@
Component: Arm Compiler for Embedded 6.19 Tool: armlink [5e73cb00]
==============================================================================
Section Cross References
main.o(.text.periph_init) refers to sysclk.o(.text.sysclk_init) for sysclk_init
main.o(.text.periph_init) refers to uart.o(.text.uart_init_first) for uart_init_first
main.o(.text.periph_init) refers to adc.o(.text.adc_init_first) for adc_init_first
main.o(.text.periph_init) refers to tmr.o(.text.tmr_init_first) for tmr_init_first
main.o(.text.periph_init) refers to gpio.o(.text.gpio_init) for gpio_init
main.o(.text.periph_init) refers to uart.o(.bss.huart1) for huart1
main.o(.text.periph_init) refers to main.o(.text.restart_receive) for restart_receive
main.o(.text.periph_init) refers to uart.o(.text.uart_set_callback) for uart_set_callback
main.o(.text.periph_init) refers to uart.o(.text.uart_start) for uart_start
main.o(.text.periph_init) refers to tmr.o(.bss.htmr2) for htmr2
main.o(.text.periph_init) refers to main.o(.text.heartbit) for heartbit
main.o(.text.periph_init) refers to tmr.o(.text.tmr_set_callback) for tmr_set_callback
main.o(.text.periph_init) refers to tmr.o(.bss.htmr0) for htmr0
main.o(.text.periph_init) refers to tmr.o(.text.tmr_start) for tmr_start
main.o(.text.periph_init) refers to tmr.o(.bss.htmr1) for htmr1
main.o(.text.periph_init) refers to adc.o(.bss.hadc) for hadc
main.o(.text.periph_init) refers to main.o(.bss.adc_buff) for adc_buff
main.o(.text.periph_init) refers to adc.o(.text.adc_seq_start) for adc_seq_start
main.o(.ARM.exidx.text.periph_init) refers to main.o(.text.periph_init) for [Anonymous Symbol]
main.o(.text.restart_receive) refers to uart.o(.bss.huart1) for huart1
main.o(.text.restart_receive) refers to main.o(.bss.rxbuff) for rxbuff
main.o(.text.restart_receive) refers to uart.o(.text.uart_receive_it) for uart_receive_it
main.o(.text.restart_receive) refers to uart.o(.text.uart_transmit_it) for uart_transmit_it
main.o(.ARM.exidx.text.restart_receive) refers to main.o(.text.restart_receive) for [Anonymous Symbol]
main.o(.text.heartbit) refers to uart.o(.bss.huart1) for huart1
main.o(.text.heartbit) refers to uart.o(.text.uart_transmit) for uart_transmit
main.o(.ARM.exidx.text.heartbit) refers to main.o(.text.heartbit) for [Anonymous Symbol]
main.o(.text.main) refers to main.o(.text.periph_init) for periph_init
main.o(.text.main) refers to uart.o(.bss.huart1) for huart1
main.o(.text.main) refers to main.o(.bss.rxbuff) for rxbuff
main.o(.text.main) refers to uart.o(.text.uart_receive_it) for uart_receive_it
main.o(.text.main) refers to tmr.o(.bss.htmr0) for htmr0
main.o(.text.main) refers to tmr.o(.text.tmr_delay_start) for tmr_delay_start
main.o(.text.main) refers to tmr.o(.text.tmr_delay) for tmr_delay
main.o(.text.main) refers to tmr.o(.text.tmr_delay_done) for tmr_delay_done
main.o(.text.main) refers to adc.o(.text.adc_sw_start) for adc_sw_start
main.o(.ARM.exidx.text.main) refers to main.o(.text.main) for [Anonymous Symbol]
main.o(.ARM.exidx.text.Error_Handler) refers to main.o(.text.Error_Handler) for [Anonymous Symbol]
gpio.o(.text.gpio_init) refers to plib035_gpio.o(.text.GPIO_DeInit) for GPIO_DeInit
gpio.o(.text.gpio_init) refers to gpio.o(.data.gpioa_config) for gpioa_config
gpio.o(.text.gpio_init) refers to plib035_gpio.o(.text.GPIO_Init) for GPIO_Init
gpio.o(.text.gpio_init) refers to gpio.o(.data.gpiob_config) for gpiob_config
gpio.o(.ARM.exidx.text.gpio_init) refers to gpio.o(.text.gpio_init) for [Anonymous Symbol]
gpio.o(.text.gpio_get_init) refers to gpio.o(.data.gpiob_config) for gpiob_config
gpio.o(.text.gpio_get_init) refers to gpio.o(.data.gpioa_config) for gpioa_config
gpio.o(.ARM.exidx.text.gpio_get_init) refers to gpio.o(.text.gpio_get_init) for [Anonymous Symbol]
tmr.o(.text.tmr_init_first) refers to tmr.o(.bss.htmr0) for htmr0
tmr.o(.text.tmr_init_first) refers to tmr.o(.data.tmr0_config) for tmr0_config
tmr.o(.text.tmr_init_first) refers to tmr.o(.text.TMR_Init) for TMR_Init
tmr.o(.text.tmr_init_first) refers to tmr.o(.bss.htmr1) for htmr1
tmr.o(.text.tmr_init_first) refers to tmr.o(.data.tmr1_config) for tmr1_config
tmr.o(.text.tmr_init_first) refers to tmr.o(.data.tmr2_config) for tmr2_config
tmr.o(.text.tmr_init_first) refers to tmr.o(.bss.htmr2) for htmr2
tmr.o(.ARM.exidx.text.tmr_init_first) refers to tmr.o(.text.tmr_init_first) for [Anonymous Symbol]
tmr.o(.text.tmr_init) refers to tmr.o(.text.TMR_Init) for TMR_Init
tmr.o(.ARM.exidx.text.tmr_init) refers to tmr.o(.text.tmr_init) for [Anonymous Symbol]
tmr.o(.text.TMR_Init) refers to plib035_tmr.o(.text.TMR_PeriodConfig) for TMR_PeriodConfig
tmr.o(.text.TMR_Init) refers to plib035_tmr.o(.text.TMR_FreqConfig) for TMR_FreqConfig
tmr.o(.ARM.exidx.text.TMR_Init) refers to tmr.o(.text.TMR_Init) for [Anonymous Symbol]
tmr.o(.ARM.exidx.text.tmr_set_callback) refers to tmr.o(.text.tmr_set_callback) for [Anonymous Symbol]
tmr.o(.ARM.exidx.text.tmr_start) refers to tmr.o(.text.tmr_start) for [Anonymous Symbol]
tmr.o(.ARM.exidx.text.tmr_stop) refers to tmr.o(.text.tmr_stop) for [Anonymous Symbol]
tmr.o(.ARM.exidx.text.tmr_delay) refers to tmr.o(.text.tmr_delay) for [Anonymous Symbol]
tmr.o(.ARM.exidx.text.tmr_delay_start) refers to tmr.o(.text.tmr_delay_start) for [Anonymous Symbol]
tmr.o(.ARM.exidx.text.tmr_delay_done) refers to tmr.o(.text.tmr_delay_done) for [Anonymous Symbol]
tmr.o(.ARM.exidx.text.tmr_handler) refers to tmr.o(.text.tmr_handler) for [Anonymous Symbol]
uart.o(.text.uart_init_first) refers to uart.o(.text.uart1_gpio_init) for uart1_gpio_init
uart.o(.text.uart_init_first) refers to plib035_uart.o(.text.UART_DeInit) for UART_DeInit
uart.o(.text.uart_init_first) refers to uart.o(.bss.huart1) for huart1
uart.o(.text.uart_init_first) refers to uart.o(.data.uart1_config) for uart1_config
uart.o(.text.uart_init_first) refers to plib035_uart.o(.text.UART_Init) for UART_Init
uart.o(.ARM.exidx.text.uart_init_first) refers to uart.o(.text.uart_init_first) for [Anonymous Symbol]
uart.o(.text.uart1_gpio_init) refers to gpio.o(.text.gpio_get_init) for gpio_get_init
uart.o(.text.uart1_gpio_init) refers to uart.o(.data.uart1_config) for uart1_config
uart.o(.text.uart1_gpio_init) refers to plib035_gpio.o(.text.GPIO_StructInit) for GPIO_StructInit
uart.o(.text.uart1_gpio_init) refers to plib035_gpio.o(.text.GPIO_Init) for GPIO_Init
uart.o(.ARM.exidx.text.uart1_gpio_init) refers to uart.o(.text.uart1_gpio_init) for [Anonymous Symbol]
uart.o(.text.uart_init) refers to plib035_uart.o(.text.UART_Init) for UART_Init
uart.o(.ARM.exidx.text.uart_init) refers to uart.o(.text.uart_init) for [Anonymous Symbol]
uart.o(.ARM.exidx.text.uart_start) refers to uart.o(.text.uart_start) for [Anonymous Symbol]
uart.o(.text.uart_transmit) refers to sysclk.o(.text.millis) for millis
uart.o(.ARM.exidx.text.uart_transmit) refers to uart.o(.text.uart_transmit) for [Anonymous Symbol]
uart.o(.text.uart_receive) refers to sysclk.o(.text.millis) for millis
uart.o(.ARM.exidx.text.uart_receive) refers to uart.o(.text.uart_receive) for [Anonymous Symbol]
uart.o(.ARM.exidx.text.uart_transmit_it) refers to uart.o(.text.uart_transmit_it) for [Anonymous Symbol]
uart.o(.ARM.exidx.text.uart_receive_it) refers to uart.o(.text.uart_receive_it) for [Anonymous Symbol]
uart.o(.ARM.exidx.text.uart_handler) refers to uart.o(.text.uart_handler) for [Anonymous Symbol]
uart.o(.ARM.exidx.text.uart_set_callback) refers to uart.o(.text.uart_set_callback) for [Anonymous Symbol]
uart.o(.ARM.exidx.text.uart0_gpio_init) refers to uart.o(.text.uart0_gpio_init) for [Anonymous Symbol]
uart.o(.ARM.exidx.text.uart0_gpio_deinit) refers to uart.o(.text.uart0_gpio_deinit) for [Anonymous Symbol]
uart.o(.text.uart1_gpio_deinit) refers to gpio.o(.text.gpio_get_init) for gpio_get_init
uart.o(.text.uart1_gpio_deinit) refers to plib035_gpio.o(.text.GPIO_StructInit) for GPIO_StructInit
uart.o(.text.uart1_gpio_deinit) refers to plib035_gpio.o(.text.GPIO_Init) for GPIO_Init
uart.o(.ARM.exidx.text.uart1_gpio_deinit) refers to uart.o(.text.uart1_gpio_deinit) for [Anonymous Symbol]
adc.o(.text.adc_init_first) refers to sysclk.o(.text.rcu_set_clock_adc) for rcu_set_clock_adc
adc.o(.text.adc_init_first) refers to main.o(.text.Error_Handler) for Error_Handler
adc.o(.text.adc_init_first) refers to adc.o(.bss.hadc) for hadc
adc.o(.text.adc_init_first) refers to adc.o(.data.adc_seq0_config) for adc_seq0_config
adc.o(.text.adc_init_first) refers to plib035_adc.o(.text.ADC_SEQ_Init) for ADC_SEQ_Init
adc.o(.text.adc_init_first) refers to sysclk.o(.text.millis) for millis
adc.o(.ARM.exidx.text.adc_init_first) refers to adc.o(.text.adc_init_first) for [Anonymous Symbol]
adc.o(.text.adc_seq_init) refers to plib035_adc.o(.text.ADC_SEQ_Init) for ADC_SEQ_Init
adc.o(.ARM.exidx.text.adc_seq_init) refers to adc.o(.text.adc_seq_init) for [Anonymous Symbol]
adc.o(.ARM.exidx.text.adc_seq_set_callback) refers to adc.o(.text.adc_seq_set_callback) for [Anonymous Symbol]
adc.o(.ARM.exidx.text.adc_seq_start) refers to adc.o(.text.adc_seq_start) for [Anonymous Symbol]
adc.o(.ARM.exidx.text.adc_seq_stop) refers to adc.o(.text.adc_seq_stop) for [Anonymous Symbol]
adc.o(.ARM.exidx.text.adc_get_channel_value) refers to adc.o(.text.adc_get_channel_value) for [Anonymous Symbol]
adc.o(.ARM.exidx.text.adc_sw_start) refers to adc.o(.text.adc_sw_start) for [Anonymous Symbol]
adc.o(.ARM.exidx.text.adc_seq_handler) refers to adc.o(.text.adc_seq_handler) for [Anonymous Symbol]
sysclk.o(.text.sysclk_init) refers to plib035_rcu.o(.text.RCU_PLL_AutoConfig) for RCU_PLL_AutoConfig
sysclk.o(.text.sysclk_init) refers to main.o(.text.Error_Handler) for Error_Handler
sysclk.o(.text.sysclk_init) refers to system_k1921vk035.o(.text.SystemCoreClockUpdate) for SystemCoreClockUpdate
sysclk.o(.ARM.exidx.text.sysclk_init) refers to sysclk.o(.text.sysclk_init) for [Anonymous Symbol]
sysclk.o(.text.millis) refers to sysclk.o(.bss.uwTick) for uwTick
sysclk.o(.ARM.exidx.text.millis) refers to sysclk.o(.text.millis) for [Anonymous Symbol]
sysclk.o(.text.millis_inc) refers to sysclk.o(.bss.uwTick) for uwTick
sysclk.o(.ARM.exidx.text.millis_inc) refers to sysclk.o(.text.millis_inc) for [Anonymous Symbol]
sysclk.o(.ARM.exidx.text.micros) refers to sysclk.o(.text.micros) for [Anonymous Symbol]
sysclk.o(.text.micros_inc) refers to sysclk.o(.bss.uwTick) for uwTick
sysclk.o(.ARM.exidx.text.micros_inc) refers to sysclk.o(.text.micros_inc) for [Anonymous Symbol]
sysclk.o(.text.rcu_set_clock_adc) refers to plib035_rcu.o(.text.RCU_GetOSEClkFreq) for RCU_GetOSEClkFreq
sysclk.o(.text.rcu_set_clock_adc) refers to plib035_rcu.o(.text.RCU_GetPLLClkFreq) for RCU_GetPLLClkFreq
sysclk.o(.text.rcu_set_clock_adc) refers to plib035_rcu.o(.text.RCU_GetPLLDivClkFreq) for RCU_GetPLLDivClkFreq
sysclk.o(.text.rcu_set_clock_adc) refers to plib035_rcu.o(.text.RCU_GetOSIClkFreq) for RCU_GetOSIClkFreq
sysclk.o(.ARM.exidx.text.rcu_set_clock_adc) refers to sysclk.o(.text.rcu_set_clock_adc) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.GPIOA_IRQHandler) refers to vk035_it.o(.text.GPIOA_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.GPIOB_IRQHandler) refers to vk035_it.o(.text.GPIOB_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.TMR0_IRQHandler) refers to tmr.o(.bss.htmr0) for htmr0
vk035_it.o(.text.TMR0_IRQHandler) refers to tmr.o(.text.tmr_handler) for tmr_handler
vk035_it.o(.ARM.exidx.text.TMR0_IRQHandler) refers to vk035_it.o(.text.TMR0_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.TMR1_IRQHandler) refers to tmr.o(.bss.htmr1) for htmr1
vk035_it.o(.text.TMR1_IRQHandler) refers to tmr.o(.text.tmr_handler) for tmr_handler
vk035_it.o(.ARM.exidx.text.TMR1_IRQHandler) refers to vk035_it.o(.text.TMR1_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.TMR2_IRQHandler) refers to tmr.o(.bss.htmr2) for htmr2
vk035_it.o(.text.TMR2_IRQHandler) refers to tmr.o(.text.tmr_handler) for tmr_handler
vk035_it.o(.ARM.exidx.text.TMR2_IRQHandler) refers to vk035_it.o(.text.TMR2_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.TMR3_IRQHandler) refers to tmr.o(.bss.htmr3) for htmr3
vk035_it.o(.text.TMR3_IRQHandler) refers to tmr.o(.text.tmr_handler) for tmr_handler
vk035_it.o(.ARM.exidx.text.TMR3_IRQHandler) refers to vk035_it.o(.text.TMR3_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.UART0_TD_IRQHandler) refers to uart.o(.bss.huart0) for huart0
vk035_it.o(.text.UART0_TD_IRQHandler) refers to uart.o(.text.uart_handler) for uart_handler
vk035_it.o(.ARM.exidx.text.UART0_TD_IRQHandler) refers to vk035_it.o(.text.UART0_TD_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.UART0_RX_IRQHandler) refers to uart.o(.bss.huart0) for huart0
vk035_it.o(.text.UART0_RX_IRQHandler) refers to uart.o(.text.uart_handler) for uart_handler
vk035_it.o(.ARM.exidx.text.UART0_RX_IRQHandler) refers to vk035_it.o(.text.UART0_RX_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.UART0_TX_IRQHandler) refers to uart.o(.bss.huart0) for huart0
vk035_it.o(.text.UART0_TX_IRQHandler) refers to uart.o(.text.uart_handler) for uart_handler
vk035_it.o(.ARM.exidx.text.UART0_TX_IRQHandler) refers to vk035_it.o(.text.UART0_TX_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.UART0_E_RT_IRQHandler) refers to uart.o(.bss.huart0) for huart0
vk035_it.o(.text.UART0_E_RT_IRQHandler) refers to uart.o(.text.uart_handler) for uart_handler
vk035_it.o(.ARM.exidx.text.UART0_E_RT_IRQHandler) refers to vk035_it.o(.text.UART0_E_RT_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.UART1_TD_IRQHandler) refers to uart.o(.bss.huart1) for huart1
vk035_it.o(.text.UART1_TD_IRQHandler) refers to uart.o(.text.uart_handler) for uart_handler
vk035_it.o(.ARM.exidx.text.UART1_TD_IRQHandler) refers to vk035_it.o(.text.UART1_TD_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.UART1_RX_IRQHandler) refers to uart.o(.bss.huart1) for huart1
vk035_it.o(.text.UART1_RX_IRQHandler) refers to uart.o(.text.uart_handler) for uart_handler
vk035_it.o(.ARM.exidx.text.UART1_RX_IRQHandler) refers to vk035_it.o(.text.UART1_RX_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.UART1_TX_IRQHandler) refers to uart.o(.bss.huart1) for huart1
vk035_it.o(.text.UART1_TX_IRQHandler) refers to uart.o(.text.uart_handler) for uart_handler
vk035_it.o(.ARM.exidx.text.UART1_TX_IRQHandler) refers to vk035_it.o(.text.UART1_TX_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.UART1_E_RT_IRQHandler) refers to uart.o(.bss.huart1) for huart1
vk035_it.o(.text.UART1_E_RT_IRQHandler) refers to uart.o(.text.uart_handler) for uart_handler
vk035_it.o(.ARM.exidx.text.UART1_E_RT_IRQHandler) refers to vk035_it.o(.text.UART1_E_RT_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.SPI_RO_RT_IRQHandler) refers to vk035_it.o(.text.SPI_RO_RT_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.SPI_RX_IRQHandler) refers to vk035_it.o(.text.SPI_RX_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.SPI_TX_IRQHandler) refers to vk035_it.o(.text.SPI_TX_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.I2C_IRQHandler) refers to vk035_it.o(.text.I2C_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.ECAP0_IRQHandler) refers to vk035_it.o(.text.ECAP0_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.ECAP1_IRQHandler) refers to vk035_it.o(.text.ECAP1_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.ECAP2_IRQHandler) refers to vk035_it.o(.text.ECAP2_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PWM0_IRQHandler) refers to vk035_it.o(.text.PWM0_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PWM0_HD_IRQHandler) refers to vk035_it.o(.text.PWM0_HD_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PWM0_TZ_IRQHandler) refers to vk035_it.o(.text.PWM0_TZ_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PWM1_IRQHandler) refers to vk035_it.o(.text.PWM1_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PWM1_HD_IRQHandler) refers to vk035_it.o(.text.PWM1_HD_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PWM1_TZ_IRQHandler) refers to vk035_it.o(.text.PWM1_TZ_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PWM2_IRQHandler) refers to vk035_it.o(.text.PWM2_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PWM2_HD_IRQHandler) refers to vk035_it.o(.text.PWM2_HD_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PWM2_TZ_IRQHandler) refers to vk035_it.o(.text.PWM2_TZ_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.QEP_IRQHandler) refers to vk035_it.o(.text.QEP_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.ADC_SEQ0_IRQHandler) refers to adc.o(.bss.hadc) for hadc
vk035_it.o(.text.ADC_SEQ0_IRQHandler) refers to adc.o(.text.adc_seq_handler) for adc_seq_handler
vk035_it.o(.ARM.exidx.text.ADC_SEQ0_IRQHandler) refers to vk035_it.o(.text.ADC_SEQ0_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.text.ADC_SEQ1_IRQHandler) refers to adc.o(.bss.hadc) for hadc
vk035_it.o(.text.ADC_SEQ1_IRQHandler) refers to adc.o(.text.adc_seq_handler) for adc_seq_handler
vk035_it.o(.ARM.exidx.text.ADC_SEQ1_IRQHandler) refers to vk035_it.o(.text.ADC_SEQ1_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.ADC_DC_IRQHandler) refers to vk035_it.o(.text.ADC_DC_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN0_IRQHandler) refers to vk035_it.o(.text.CAN0_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN1_IRQHandler) refers to vk035_it.o(.text.CAN1_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN2_IRQHandler) refers to vk035_it.o(.text.CAN2_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN3_IRQHandler) refers to vk035_it.o(.text.CAN3_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN4_IRQHandler) refers to vk035_it.o(.text.CAN4_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN5_IRQHandler) refers to vk035_it.o(.text.CAN5_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN6_IRQHandler) refers to vk035_it.o(.text.CAN6_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN7_IRQHandler) refers to vk035_it.o(.text.CAN7_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN8_IRQHandler) refers to vk035_it.o(.text.CAN8_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN9_IRQHandler) refers to vk035_it.o(.text.CAN9_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN10_IRQHandler) refers to vk035_it.o(.text.CAN10_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN11_IRQHandler) refers to vk035_it.o(.text.CAN11_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN12_IRQHandler) refers to vk035_it.o(.text.CAN12_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN13_IRQHandler) refers to vk035_it.o(.text.CAN13_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN14_IRQHandler) refers to vk035_it.o(.text.CAN14_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.CAN15_IRQHandler) refers to vk035_it.o(.text.CAN15_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.FPU_IRQHandler) refers to vk035_it.o(.text.FPU_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH0_IRQHandler) refers to vk035_it.o(.text.DMA_CH0_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH1_IRQHandler) refers to vk035_it.o(.text.DMA_CH1_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH2_IRQHandler) refers to vk035_it.o(.text.DMA_CH2_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH3_IRQHandler) refers to vk035_it.o(.text.DMA_CH3_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH4_IRQHandler) refers to vk035_it.o(.text.DMA_CH4_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH5_IRQHandler) refers to vk035_it.o(.text.DMA_CH5_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH6_IRQHandler) refers to vk035_it.o(.text.DMA_CH6_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH7_IRQHandler) refers to vk035_it.o(.text.DMA_CH7_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH8_IRQHandler) refers to vk035_it.o(.text.DMA_CH8_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH9_IRQHandler) refers to vk035_it.o(.text.DMA_CH9_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH10_IRQHandler) refers to vk035_it.o(.text.DMA_CH10_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH11_IRQHandler) refers to vk035_it.o(.text.DMA_CH11_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH12_IRQHandler) refers to vk035_it.o(.text.DMA_CH12_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH13_IRQHandler) refers to vk035_it.o(.text.DMA_CH13_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH14_IRQHandler) refers to vk035_it.o(.text.DMA_CH14_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DMA_CH15_IRQHandler) refers to vk035_it.o(.text.DMA_CH15_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.WDT_IRQHandler) refers to vk035_it.o(.text.WDT_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.RCU_IRQHandler) refers to vk035_it.o(.text.RCU_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.MFLASH_IRQHandler) refers to vk035_it.o(.text.MFLASH_IRQHandler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.NMI_Handler) refers to vk035_it.o(.text.NMI_Handler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.HardFault_Handler) refers to vk035_it.o(.text.HardFault_Handler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.MemManage_Handler) refers to vk035_it.o(.text.MemManage_Handler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.BusFault_Handler) refers to vk035_it.o(.text.BusFault_Handler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.UsageFault_Handler) refers to vk035_it.o(.text.UsageFault_Handler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.SVC_Handler) refers to vk035_it.o(.text.SVC_Handler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.DebugMon_Handler) refers to vk035_it.o(.text.DebugMon_Handler) for [Anonymous Symbol]
vk035_it.o(.ARM.exidx.text.PendSV_Handler) refers to vk035_it.o(.text.PendSV_Handler) for [Anonymous Symbol]
vk035_it.o(.text.SysTick_Handler) refers to sysclk.o(.text.millis_inc) for millis_inc
vk035_it.o(.ARM.exidx.text.SysTick_Handler) refers to vk035_it.o(.text.SysTick_Handler) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ReadUpBufferNoLock) refers to segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_ReadNoLock) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_ReadNoLock) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_ReadNoLock) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_ReadNoLock) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_ReadNoLock) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_ReadNoLock) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.text.SEGGER_RTT_ReadNoLock) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ReadNoLock) refers to segger_rtt.o(.text.SEGGER_RTT_ReadNoLock) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_ReadUpBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock) for SEGGER_RTT_ReadUpBufferNoLock
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ReadUpBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_ReadUpBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_Read) refers to segger_rtt.o(.text.SEGGER_RTT_ReadNoLock) for SEGGER_RTT_ReadNoLock
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_Read) refers to segger_rtt.o(.text.SEGGER_RTT_Read) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_WriteWithOverwriteNoLock) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_WriteWithOverwriteNoLock) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteWithOverwriteNoLock) refers to segger_rtt.o(.text.SEGGER_RTT_WriteWithOverwriteNoLock) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_WriteDownBufferNoLock) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_WriteDownBufferNoLock) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteDownBufferNoLock) refers to segger_rtt.o(.text.SEGGER_RTT_WriteDownBufferNoLock) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_WriteNoLock) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_WriteNoLock) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteNoLock) refers to segger_rtt.o(.text.SEGGER_RTT_WriteNoLock) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_WriteDownBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_WriteDownBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_WriteDownBuffer) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_WriteDownBuffer) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_WriteDownBuffer) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_WriteDownBuffer) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.text.SEGGER_RTT_WriteDownBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_WriteDownBufferNoLock) for SEGGER_RTT_WriteDownBufferNoLock
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteDownBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_WriteDownBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_Write) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_Write) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_Write) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_Write) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_Write) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_Write) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.text.SEGGER_RTT_Write) refers to segger_rtt.o(.text.SEGGER_RTT_WriteNoLock) for SEGGER_RTT_WriteNoLock
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_Write) refers to segger_rtt.o(.text.SEGGER_RTT_Write) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_WriteString) refers to strlen.o(.text) for strlen
segger_rtt.o(.text.SEGGER_RTT_WriteString) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_WriteString) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_WriteString) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_WriteString) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_WriteString) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_WriteString) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.text.SEGGER_RTT_WriteString) refers to segger_rtt.o(.text.SEGGER_RTT_WriteNoLock) for SEGGER_RTT_WriteNoLock
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteString) refers to segger_rtt.o(.text.SEGGER_RTT_WriteString) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_PutCharSkipNoLock) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_PutCharSkipNoLock) refers to segger_rtt.o(.text.SEGGER_RTT_PutCharSkipNoLock) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_PutCharSkip) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_PutCharSkip) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_PutCharSkip) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_PutCharSkip) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_PutCharSkip) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_PutCharSkip) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_PutCharSkip) refers to segger_rtt.o(.text.SEGGER_RTT_PutCharSkip) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_PutChar) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_PutChar) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_PutChar) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_PutChar) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_PutChar) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_PutChar) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_PutChar) refers to segger_rtt.o(.text.SEGGER_RTT_PutChar) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_GetKey) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_GetKey) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_GetKey) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_GetKey) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_GetKey) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_GetKey) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.text.SEGGER_RTT_GetKey) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_GetKey) refers to segger_rtt.o(.text.SEGGER_RTT_GetKey) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_WaitKey) refers to segger_rtt.o(.text.SEGGER_RTT_GetKey) for SEGGER_RTT_GetKey
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WaitKey) refers to segger_rtt.o(.text.SEGGER_RTT_WaitKey) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_HasKey) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_HasKey) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_HasKey) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_HasKey) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_HasKey) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_HasKey) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_HasKey) refers to segger_rtt.o(.text.SEGGER_RTT_HasKey) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_HasData) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_HasData) refers to segger_rtt.o(.text.SEGGER_RTT_HasData) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_HasDataUp) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_HasDataUp) refers to segger_rtt.o(.text.SEGGER_RTT_HasDataUp) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_AllocDownBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_AllocDownBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_AllocDownBuffer) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_AllocDownBuffer) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_AllocDownBuffer) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_AllocDownBuffer) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_AllocDownBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_AllocDownBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_AllocUpBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_AllocUpBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_AllocUpBuffer) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_AllocUpBuffer) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_AllocUpBuffer) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_AllocUpBuffer) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_AllocUpBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_AllocUpBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_ConfigUpBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_ConfigUpBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_ConfigUpBuffer) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_ConfigUpBuffer) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_ConfigUpBuffer) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_ConfigUpBuffer) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ConfigUpBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_ConfigUpBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_ConfigDownBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_ConfigDownBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_ConfigDownBuffer) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_ConfigDownBuffer) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_ConfigDownBuffer) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_ConfigDownBuffer) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ConfigDownBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_ConfigDownBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_SetNameUpBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_SetNameUpBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_SetNameUpBuffer) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_SetNameUpBuffer) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_SetNameUpBuffer) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_SetNameUpBuffer) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetNameUpBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_SetNameUpBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_SetNameDownBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_SetNameDownBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_SetNameDownBuffer) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_SetNameDownBuffer) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_SetNameDownBuffer) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_SetNameDownBuffer) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetNameDownBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_SetNameDownBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_SetFlagsUpBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_SetFlagsUpBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_SetFlagsUpBuffer) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_SetFlagsUpBuffer) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_SetFlagsUpBuffer) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_SetFlagsUpBuffer) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetFlagsUpBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_SetFlagsUpBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_SetFlagsDownBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_SetFlagsDownBuffer) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_SetFlagsDownBuffer) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_SetFlagsDownBuffer) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_SetFlagsDownBuffer) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_SetFlagsDownBuffer) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetFlagsDownBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_SetFlagsDownBuffer) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_Init) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_Init) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_Init) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_Init) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_Init) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_Init) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_Init) refers to segger_rtt.o(.text.SEGGER_RTT_Init) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_SetTerminal) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_SetTerminal) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_SetTerminal) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_SetTerminal) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_SetTerminal) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_SetTerminal) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.text.SEGGER_RTT_SetTerminal) refers to segger_rtt.o(.rodata.cst16) for _aTerminalId
segger_rtt.o(.text.SEGGER_RTT_SetTerminal) refers to segger_rtt.o(.bss._ActiveTerminal) for _ActiveTerminal
segger_rtt.o(.text.SEGGER_RTT_SetTerminal) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetTerminal) refers to segger_rtt.o(.text.SEGGER_RTT_SetTerminal) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to segger_rtt.o(.rodata.str1.1) for .L.str
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to segger_rtt.o(.bss._acUpBuffer) for _acUpBuffer
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to segger_rtt.o(.bss._acDownBuffer) for _acDownBuffer
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to segger_rtt.o(.rodata._DoInit._aInitStr) for _DoInit._aInitStr
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to strlen.o(.text) for strlen
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to segger_rtt.o(.rodata.cst16) for _aTerminalId
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy
segger_rtt.o(.text.SEGGER_RTT_TerminalOut) refers to segger_rtt.o(.bss._ActiveTerminal) for _ActiveTerminal
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_TerminalOut) refers to segger_rtt.o(.text.SEGGER_RTT_TerminalOut) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_GetAvailWriteSpace) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_GetAvailWriteSpace) refers to segger_rtt.o(.text.SEGGER_RTT_GetAvailWriteSpace) for [Anonymous Symbol]
segger_rtt.o(.text.SEGGER_RTT_GetBytesInBuffer) refers to segger_rtt.o(.bss._SEGGER_RTT) for _SEGGER_RTT
segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_GetBytesInBuffer) refers to segger_rtt.o(.text.SEGGER_RTT_GetBytesInBuffer) for [Anonymous Symbol]
segger_rtt_printf.o(.text.SEGGER_RTT_vprintf) refers to segger_rtt.o(.text.SEGGER_RTT_Write) for SEGGER_RTT_Write
segger_rtt_printf.o(.text.SEGGER_RTT_vprintf) refers to segger_rtt_printf.o(.text._PrintUnsigned) for _PrintUnsigned
segger_rtt_printf.o(.ARM.exidx.text.SEGGER_RTT_vprintf) refers to segger_rtt_printf.o(.text.SEGGER_RTT_vprintf) for [Anonymous Symbol]
segger_rtt_printf.o(.text._PrintUnsigned) refers to segger_rtt.o(.text.SEGGER_RTT_Write) for SEGGER_RTT_Write
segger_rtt_printf.o(.ARM.exidx.text._PrintUnsigned) refers to segger_rtt_printf.o(.text._PrintUnsigned) for [Anonymous Symbol]
segger_rtt_printf.o(.text.SEGGER_RTT_printf) refers to segger_rtt_printf.o(.text.SEGGER_RTT_vprintf) for SEGGER_RTT_vprintf
segger_rtt_printf.o(.ARM.exidx.text.SEGGER_RTT_printf) refers to segger_rtt_printf.o(.text.SEGGER_RTT_printf) for [Anonymous Symbol]
filters.o(.text.FilterMedian_Init) refers to filters.o(.text.FilterMedian_Process) for FilterMedian_Process
filters.o(.ARM.exidx.text.FilterMedian_Init) refers to filters.o(.text.FilterMedian_Init) for [Anonymous Symbol]
filters.o(.text.FilterMedian_Process) refers to filters.o(.text.Filter_float_compare) for Filter_float_compare
filters.o(.text.FilterMedian_Process) refers to qsortnoex.o(.text) for qsort
filters.o(.ARM.exidx.text.FilterMedian_Process) refers to filters.o(.text.FilterMedian_Process) for [Anonymous Symbol]
filters.o(.ARM.exidx.text.Filter_float_compare) refers to filters.o(.text.Filter_float_compare) for [Anonymous Symbol]
filters.o(.text.FilterExp_Init) refers to filters.o(.text.FilterExp_Process) for FilterExp_Process
filters.o(.ARM.exidx.text.FilterExp_Init) refers to filters.o(.text.FilterExp_Init) for [Anonymous Symbol]
filters.o(.ARM.exidx.text.FilterExp_Process) refers to filters.o(.text.FilterExp_Process) for [Anonymous Symbol]
filters.o(.text.FilterAverage_Init) refers to filters.o(.text.FilterAverage_Process) for FilterAverage_Process
filters.o(.ARM.exidx.text.FilterAverage_Init) refers to filters.o(.text.FilterAverage_Init) for [Anonymous Symbol]
filters.o(.ARM.exidx.text.FilterAverage_Process) refers to filters.o(.text.FilterAverage_Process) for [Anonymous Symbol]
filters.o(.text.FilterPoly_Init) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4
filters.o(.text.FilterPoly_Init) refers to filters.o(.text.FilterPoly_Process) for FilterPoly_Process
filters.o(.ARM.exidx.text.FilterPoly_Init) refers to filters.o(.text.FilterPoly_Init) for [Anonymous Symbol]
filters.o(.ARM.exidx.text.FilterPoly_Process) refers to filters.o(.text.FilterPoly_Process) for [Anonymous Symbol]
filters.o(.text.FilterLUT_Init) refers to filters.o(.text.FilterLUT_Process) for FilterLUT_Process
filters.o(.ARM.exidx.text.FilterLUT_Init) refers to filters.o(.text.FilterLUT_Init) for [Anonymous Symbol]
filters.o(.ARM.exidx.text.FilterLUT_Process) refers to filters.o(.text.FilterLUT_Process) for [Anonymous Symbol]
filters.o(.text.FilterRMS_Init) refers to rt_memclr_w.o(.text) for __aeabi_memclr4
filters.o(.text.FilterRMS_Init) refers to filters.o(.text.FilterRMS_Process) for FilterRMS_Process
filters.o(.ARM.exidx.text.FilterRMS_Init) refers to filters.o(.text.FilterRMS_Init) for [Anonymous Symbol]
filters.o(.ARM.exidx.text.FilterRMS_Process) refers to filters.o(.text.FilterRMS_Process) for [Anonymous Symbol]
filters.o(.text.FilterMedianInt_Init) refers to filters.o(.text.FilterMedianInt_Process) for FilterMedianInt_Process
filters.o(.ARM.exidx.text.FilterMedianInt_Init) refers to filters.o(.text.FilterMedianInt_Init) for [Anonymous Symbol]
filters.o(.ARM.exidx.text.FilterMedianInt_Process) refers to filters.o(.text.FilterMedianInt_Process) for [Anonymous Symbol]
filters.o(.text.FilterExpInt_Init) refers to filters.o(.text.FilterExpInt_Process) for FilterExpInt_Process
filters.o(.ARM.exidx.text.FilterExpInt_Init) refers to filters.o(.text.FilterExpInt_Init) for [Anonymous Symbol]
filters.o(.text.FilterExpInt_Process) refers to llsdiv.o(.text) for __aeabi_ldivmod
filters.o(.ARM.exidx.text.FilterExpInt_Process) refers to filters.o(.text.FilterExpInt_Process) for [Anonymous Symbol]
filters.o(.text.FilterAverageInt_Init) refers to filters.o(.text.FilterAverageInt_Process) for FilterAverageInt_Process
filters.o(.ARM.exidx.text.FilterAverageInt_Init) refers to filters.o(.text.FilterAverageInt_Init) for [Anonymous Symbol]
filters.o(.text.FilterAverageInt_Process) refers to llsdiv.o(.text) for __aeabi_ldivmod
filters.o(.ARM.exidx.text.FilterAverageInt_Process) refers to filters.o(.text.FilterAverageInt_Process) for [Anonymous Symbol]
filters.o(.text.FilterPolyInt_Init) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4
filters.o(.text.FilterPolyInt_Init) refers to filters.o(.text.FilterPolyInt_Process) for FilterPolyInt_Process
filters.o(.ARM.exidx.text.FilterPolyInt_Init) refers to filters.o(.text.FilterPolyInt_Init) for [Anonymous Symbol]
filters.o(.text.FilterPolyInt_Process) refers to llsdiv.o(.text) for __aeabi_ldivmod
filters.o(.ARM.exidx.text.FilterPolyInt_Process) refers to filters.o(.text.FilterPolyInt_Process) for [Anonymous Symbol]
filters.o(.text.FilterLUTInt_Init) refers to filters.o(.text.FilterLUTInt_Process) for FilterLUTInt_Process
filters.o(.ARM.exidx.text.FilterLUTInt_Init) refers to filters.o(.text.FilterLUTInt_Init) for [Anonymous Symbol]
filters.o(.text.FilterLUTInt_Process) refers to llsdiv.o(.text) for __aeabi_ldivmod
filters.o(.ARM.exidx.text.FilterLUTInt_Process) refers to filters.o(.text.FilterLUTInt_Process) for [Anonymous Symbol]
filters.o(.text.FilterRMSInt_Init) refers to rt_memclr_w.o(.text) for __aeabi_memclr8
filters.o(.text.FilterRMSInt_Init) refers to filters.o(.text.FilterRMSInt_Process) for FilterRMSInt_Process
filters.o(.ARM.exidx.text.FilterRMSInt_Init) refers to filters.o(.text.FilterRMSInt_Init) for [Anonymous Symbol]
filters.o(.text.FilterRMSInt_Process) refers to llsdiv.o(.text) for __aeabi_ldivmod
filters.o(.text.FilterRMSInt_Process) refers to ffltll_clz.o(x$fpl$ffltll) for __aeabi_l2f
filters.o(.ARM.exidx.text.FilterRMSInt_Process) refers to filters.o(.text.FilterRMSInt_Process) for [Anonymous Symbol]
filters.o(.text.FilterBandPassDerivative_Init) refers to sinf.o(i.__hardfp_sinf) for __hardfp_sinf
filters.o(.text.FilterBandPassDerivative_Init) refers to cosf.o(i.__hardfp_cosf) for __hardfp_cosf
filters.o(.text.FilterBandPassDerivative_Init) refers to filters.o(.text.FilterBandPassDerivative_Process) for FilterBandPassDerivative_Process
filters.o(.ARM.exidx.text.FilterBandPassDerivative_Init) refers to filters.o(.text.FilterBandPassDerivative_Init) for [Anonymous Symbol]
filters.o(.ARM.exidx.text.FilterBandPassDerivative_Process) refers to filters.o(.text.FilterBandPassDerivative_Process) for [Anonymous Symbol]
system_k1921vk035.o(.text.SystemCoreClockUpdate) refers to system_k1921vk035.o(.bss.SystemCoreClock) for SystemCoreClock
system_k1921vk035.o(.ARM.exidx.text.SystemCoreClockUpdate) refers to system_k1921vk035.o(.text.SystemCoreClockUpdate) for [Anonymous Symbol]
system_k1921vk035.o(.ARM.exidx.text.ClkInit) refers to system_k1921vk035.o(.text.ClkInit) for [Anonymous Symbol]
system_k1921vk035.o(.ARM.exidx.text.FPUInit) refers to system_k1921vk035.o(.text.FPUInit) for [Anonymous Symbol]
system_k1921vk035.o(.ARM.exidx.text.SystemInit) refers to system_k1921vk035.o(.text.SystemInit) for [Anonymous Symbol]
startup_k1921vk035.o(STACK) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_k1921vk035.o(HEAP) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_k1921vk035.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_k1921vk035.o(RESET) refers to startup_k1921vk035.o(STACK) for __initial_sp
startup_k1921vk035.o(RESET) refers to startup_k1921vk035.o(.text) for Reset_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.NMI_Handler) for NMI_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.HardFault_Handler) for HardFault_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.MemManage_Handler) for MemManage_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.BusFault_Handler) for BusFault_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.UsageFault_Handler) for UsageFault_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.SVC_Handler) for SVC_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DebugMon_Handler) for DebugMon_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PendSV_Handler) for PendSV_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.SysTick_Handler) for SysTick_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.WDT_IRQHandler) for WDT_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.RCU_IRQHandler) for RCU_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.MFLASH_IRQHandler) for MFLASH_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.GPIOA_IRQHandler) for GPIOA_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.GPIOB_IRQHandler) for GPIOB_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH0_IRQHandler) for DMA_CH0_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH1_IRQHandler) for DMA_CH1_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH2_IRQHandler) for DMA_CH2_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH3_IRQHandler) for DMA_CH3_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH4_IRQHandler) for DMA_CH4_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH5_IRQHandler) for DMA_CH5_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH6_IRQHandler) for DMA_CH6_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH7_IRQHandler) for DMA_CH7_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH8_IRQHandler) for DMA_CH8_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH9_IRQHandler) for DMA_CH9_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH10_IRQHandler) for DMA_CH10_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH11_IRQHandler) for DMA_CH11_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH12_IRQHandler) for DMA_CH12_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH13_IRQHandler) for DMA_CH13_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH14_IRQHandler) for DMA_CH14_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.DMA_CH15_IRQHandler) for DMA_CH15_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.TMR0_IRQHandler) for TMR0_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.TMR1_IRQHandler) for TMR1_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.TMR2_IRQHandler) for TMR2_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.TMR3_IRQHandler) for TMR3_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.UART0_TD_IRQHandler) for UART0_TD_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.UART0_RX_IRQHandler) for UART0_RX_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.UART0_TX_IRQHandler) for UART0_TX_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.UART0_E_RT_IRQHandler) for UART0_E_RT_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.UART1_TD_IRQHandler) for UART1_TD_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.UART1_RX_IRQHandler) for UART1_RX_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.UART1_TX_IRQHandler) for UART1_TX_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.UART1_E_RT_IRQHandler) for UART1_E_RT_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.SPI_RO_RT_IRQHandler) for SPI_RO_RT_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.SPI_RX_IRQHandler) for SPI_RX_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.SPI_TX_IRQHandler) for SPI_TX_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.I2C_IRQHandler) for I2C_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.ECAP0_IRQHandler) for ECAP0_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.ECAP1_IRQHandler) for ECAP1_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.ECAP2_IRQHandler) for ECAP2_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PWM0_IRQHandler) for PWM0_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PWM0_HD_IRQHandler) for PWM0_HD_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PWM0_TZ_IRQHandler) for PWM0_TZ_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PWM1_IRQHandler) for PWM1_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PWM1_HD_IRQHandler) for PWM1_HD_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PWM1_TZ_IRQHandler) for PWM1_TZ_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PWM2_IRQHandler) for PWM2_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PWM2_HD_IRQHandler) for PWM2_HD_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.PWM2_TZ_IRQHandler) for PWM2_TZ_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.QEP_IRQHandler) for QEP_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.ADC_SEQ0_IRQHandler) for ADC_SEQ0_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.ADC_SEQ1_IRQHandler) for ADC_SEQ1_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.ADC_DC_IRQHandler) for ADC_DC_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN0_IRQHandler) for CAN0_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN1_IRQHandler) for CAN1_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN2_IRQHandler) for CAN2_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN3_IRQHandler) for CAN3_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN4_IRQHandler) for CAN4_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN5_IRQHandler) for CAN5_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN6_IRQHandler) for CAN6_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN7_IRQHandler) for CAN7_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN8_IRQHandler) for CAN8_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN9_IRQHandler) for CAN9_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN10_IRQHandler) for CAN10_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN11_IRQHandler) for CAN11_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN12_IRQHandler) for CAN12_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN13_IRQHandler) for CAN13_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN14_IRQHandler) for CAN14_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.CAN15_IRQHandler) for CAN15_IRQHandler
startup_k1921vk035.o(RESET) refers to vk035_it.o(.text.FPU_IRQHandler) for FPU_IRQHandler
startup_k1921vk035.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_k1921vk035.o(.text) refers to system_k1921vk035.o(.text.SystemInit) for SystemInit
startup_k1921vk035.o(.text) refers to __main.o(!!!main) for __main
startup_k1921vk035.o(.text) refers to startup_k1921vk035.o(HEAP) for Heap_Mem
startup_k1921vk035.o(.text) refers to startup_k1921vk035.o(STACK) for Stack_Mem
plib035_adc.o(.ARM.exidx.text.ADC_DeInit) refers to plib035_adc.o(.text.ADC_DeInit) for [Anonymous Symbol]
plib035_adc.o(.ARM.exidx.text.ADC_SEQ_Init) refers to plib035_adc.o(.text.ADC_SEQ_Init) for [Anonymous Symbol]
plib035_adc.o(.ARM.exidx.text.ADC_SEQ_StructInit) refers to plib035_adc.o(.text.ADC_SEQ_StructInit) for [Anonymous Symbol]
plib035_adc.o(.ARM.exidx.text.ADC_DC_Init) refers to plib035_adc.o(.text.ADC_DC_Init) for [Anonymous Symbol]
plib035_adc.o(.ARM.exidx.text.ADC_DC_StructInit) refers to plib035_adc.o(.text.ADC_DC_StructInit) for [Anonymous Symbol]
plib035_dma.o(.ARM.exidx.text.DMA_ChannelDeInit) refers to plib035_dma.o(.text.DMA_ChannelDeInit) for [Anonymous Symbol]
plib035_dma.o(.ARM.exidx.text.DMA_ChannelInit) refers to plib035_dma.o(.text.DMA_ChannelInit) for [Anonymous Symbol]
plib035_dma.o(.ARM.exidx.text.DMA_ChannelStructInit) refers to plib035_dma.o(.text.DMA_ChannelStructInit) for [Anonymous Symbol]
plib035_dma.o(.ARM.exidx.text.DMA_DeInit) refers to plib035_dma.o(.text.DMA_DeInit) for [Anonymous Symbol]
plib035_dma.o(.ARM.exidx.text.DMA_Init) refers to plib035_dma.o(.text.DMA_Init) for [Anonymous Symbol]
plib035_dma.o(.ARM.exidx.text.DMA_StructInit) refers to plib035_dma.o(.text.DMA_StructInit) for [Anonymous Symbol]
plib035_ecap.o(.ARM.exidx.text.ECAP_DeInit) refers to plib035_ecap.o(.text.ECAP_DeInit) for [Anonymous Symbol]
plib035_ecap.o(.ARM.exidx.text.ECAP_Init) refers to plib035_ecap.o(.text.ECAP_Init) for [Anonymous Symbol]
plib035_ecap.o(.ARM.exidx.text.ECAP_StructInit) refers to plib035_ecap.o(.text.ECAP_StructInit) for [Anonymous Symbol]
plib035_ecap.o(.ARM.exidx.text.ECAP_PWM_Init) refers to plib035_ecap.o(.text.ECAP_PWM_Init) for [Anonymous Symbol]
plib035_ecap.o(.ARM.exidx.text.ECAP_PWM_StructInit) refers to plib035_ecap.o(.text.ECAP_PWM_StructInit) for [Anonymous Symbol]
plib035_ecap.o(.ARM.exidx.text.ECAP_Capture_Init) refers to plib035_ecap.o(.text.ECAP_Capture_Init) for [Anonymous Symbol]
plib035_ecap.o(.ARM.exidx.text.ECAP_Capture_StructInit) refers to plib035_ecap.o(.text.ECAP_Capture_StructInit) for [Anonymous Symbol]
plib035_gpio.o(.ARM.exidx.text.GPIO_OutModeConfig) refers to plib035_gpio.o(.text.GPIO_OutModeConfig) for [Anonymous Symbol]
plib035_gpio.o(.ARM.exidx.text.GPIO_InModeConfig) refers to plib035_gpio.o(.text.GPIO_InModeConfig) for [Anonymous Symbol]
plib035_gpio.o(.ARM.exidx.text.GPIO_PullModeConfig) refers to plib035_gpio.o(.text.GPIO_PullModeConfig) for [Anonymous Symbol]
plib035_gpio.o(.ARM.exidx.text.GPIO_DriveModeConfig) refers to plib035_gpio.o(.text.GPIO_DriveModeConfig) for [Anonymous Symbol]
plib035_gpio.o(.ARM.exidx.text.GPIO_DeInit) refers to plib035_gpio.o(.text.GPIO_DeInit) for [Anonymous Symbol]
plib035_gpio.o(.ARM.exidx.text.GPIO_Init) refers to plib035_gpio.o(.text.GPIO_Init) for [Anonymous Symbol]
plib035_gpio.o(.ARM.exidx.text.GPIO_StructInit) refers to plib035_gpio.o(.text.GPIO_StructInit) for [Anonymous Symbol]
plib035_i2c.o(.ARM.exidx.text.I2C_FSFreqConfig) refers to plib035_i2c.o(.text.I2C_FSFreqConfig) for [Anonymous Symbol]
plib035_i2c.o(.ARM.exidx.text.I2C_HSFreqConfig) refers to plib035_i2c.o(.text.I2C_HSFreqConfig) for [Anonymous Symbol]
plib035_mflash.o(.ARM.exidx.text.MFLASH_ReadData) refers to plib035_mflash.o(.text.MFLASH_ReadData) for [Anonymous Symbol]
plib035_mflash.o(.ARM.exidx.text.MFLASH_WriteData) refers to plib035_mflash.o(.text.MFLASH_WriteData) for [Anonymous Symbol]
plib035_mflash.o(.ARM.exidx.text.MFLASH_ErasePage) refers to plib035_mflash.o(.text.MFLASH_ErasePage) for [Anonymous Symbol]
plib035_mflash.o(.ARM.exidx.text.MFLASH_EraseFull) refers to plib035_mflash.o(.text.MFLASH_EraseFull) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_DeInit) refers to plib035_pwm.o(.text.PWM_DeInit) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_TB_Init) refers to plib035_pwm.o(.text.PWM_TB_Init) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_TB_StructInit) refers to plib035_pwm.o(.text.PWM_TB_StructInit) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_AQ_Init) refers to plib035_pwm.o(.text.PWM_AQ_Init) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_AQ_StructInit) refers to plib035_pwm.o(.text.PWM_AQ_StructInit) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_CMP_Init) refers to plib035_pwm.o(.text.PWM_CMP_Init) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_CMP_StructInit) refers to plib035_pwm.o(.text.PWM_CMP_StructInit) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_HD_Init) refers to plib035_pwm.o(.text.PWM_HD_Init) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_HD_StructInit) refers to plib035_pwm.o(.text.PWM_HD_StructInit) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_DB_Init) refers to plib035_pwm.o(.text.PWM_DB_Init) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_DB_StructInit) refers to plib035_pwm.o(.text.PWM_DB_StructInit) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_TZ_Init) refers to plib035_pwm.o(.text.PWM_TZ_Init) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_TZ_StructInit) refers to plib035_pwm.o(.text.PWM_TZ_StructInit) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_ET_Init) refers to plib035_pwm.o(.text.PWM_ET_Init) for [Anonymous Symbol]
plib035_pwm.o(.ARM.exidx.text.PWM_ET_StructInit) refers to plib035_pwm.o(.text.PWM_ET_StructInit) for [Anonymous Symbol]
plib035_qep.o(.ARM.exidx.text.QEP_DeInit) refers to plib035_qep.o(.text.QEP_DeInit) for [Anonymous Symbol]
plib035_qep.o(.ARM.exidx.text.QEP_PC_Init) refers to plib035_qep.o(.text.QEP_PC_Init) for [Anonymous Symbol]
plib035_qep.o(.ARM.exidx.text.QEP_PC_StructInit) refers to plib035_qep.o(.text.QEP_PC_StructInit) for [Anonymous Symbol]
plib035_qep.o(.ARM.exidx.text.QEP_CMP_Init) refers to plib035_qep.o(.text.QEP_CMP_Init) for [Anonymous Symbol]
plib035_qep.o(.ARM.exidx.text.QEP_CMP_StructInit) refers to plib035_qep.o(.text.QEP_CMP_StructInit) for [Anonymous Symbol]
plib035_qep.o(.ARM.exidx.text.QEP_CAP_Init) refers to plib035_qep.o(.text.QEP_CAP_Init) for [Anonymous Symbol]
plib035_qep.o(.ARM.exidx.text.QEP_CAP_StructInit) refers to plib035_qep.o(.text.QEP_CAP_StructInit) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetOSIClkFreq) refers to plib035_rcu.o(.text.RCU_GetOSIClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetOSEClkFreq) refers to plib035_rcu.o(.text.RCU_GetOSEClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetPLLClkFreq) refers to plib035_rcu.o(.text.RCU_GetPLLClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetPLLDivClkFreq) refers to plib035_rcu.o(.text.RCU_GetPLLDivClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetSysClkFreq) refers to plib035_rcu.o(.text.RCU_GetSysClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetUARTClkFreq) refers to plib035_rcu.o(.text.RCU_GetUARTClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetSPIClkFreq) refers to plib035_rcu.o(.text.RCU_GetSPIClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetADCClkFreq) refers to plib035_rcu.o(.text.RCU_GetADCClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetWDTClkFreq) refers to plib035_rcu.o(.text.RCU_GetWDTClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetTraceClkFreq) refers to plib035_rcu.o(.text.RCU_GetTraceClkFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_GetClkOutFreq) refers to plib035_rcu.o(.text.RCU_GetClkOutFreq) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_PLL_AutoConfig) refers to plib035_rcu.o(.text.RCU_PLL_AutoConfig) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_PLL_StructInit) refers to plib035_rcu.o(.text.RCU_PLL_StructInit) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_PLL_Init) refers to plib035_rcu.o(.text.RCU_PLL_Init) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_SysClkChangeCmd) refers to plib035_rcu.o(.text.RCU_SysClkChangeCmd) for [Anonymous Symbol]
plib035_rcu.o(.ARM.exidx.text.RCU_PLL_DeInit) refers to plib035_rcu.o(.text.RCU_PLL_DeInit) for [Anonymous Symbol]
plib035_spi.o(.ARM.exidx.text.SPI_DeInit) refers to plib035_spi.o(.text.SPI_DeInit) for [Anonymous Symbol]
plib035_spi.o(.ARM.exidx.text.SPI_Init) refers to plib035_spi.o(.text.SPI_Init) for [Anonymous Symbol]
plib035_spi.o(.ARM.exidx.text.SPI_StructInit) refers to plib035_spi.o(.text.SPI_StructInit) for [Anonymous Symbol]
plib035_tmr.o(.ARM.exidx.text.TMR_PeriodConfig) refers to plib035_tmr.o(.text.TMR_PeriodConfig) for [Anonymous Symbol]
plib035_tmr.o(.ARM.exidx.text.TMR_FreqConfig) refers to plib035_tmr.o(.text.TMR_FreqConfig) for [Anonymous Symbol]
plib035_uart.o(.text.UART_AutoBaudConfig) refers to plib035_rcu.o(.text.RCU_GetUARTClkFreq) for RCU_GetUARTClkFreq
plib035_uart.o(.ARM.exidx.text.UART_AutoBaudConfig) refers to plib035_uart.o(.text.UART_AutoBaudConfig) for [Anonymous Symbol]
plib035_uart.o(.ARM.exidx.text.UART_DeInit) refers to plib035_uart.o(.text.UART_DeInit) for [Anonymous Symbol]
plib035_uart.o(.text.UART_Init) refers to plib035_rcu.o(.text.RCU_GetUARTClkFreq) for RCU_GetUARTClkFreq
plib035_uart.o(.ARM.exidx.text.UART_Init) refers to plib035_uart.o(.text.UART_Init) for [Anonymous Symbol]
plib035_uart.o(.ARM.exidx.text.UART_StructInit) refers to plib035_uart.o(.text.UART_StructInit) for [Anonymous Symbol]
retarget_conf.o(.ARM.exidx.text.retarget_init) refers to retarget_conf.o(.text.retarget_init) for [Anonymous Symbol]
retarget_conf.o(.ARM.exidx.text.retarget_get_char) refers to retarget_conf.o(.text.retarget_get_char) for [Anonymous Symbol]
retarget_conf.o(.ARM.exidx.text.retarget_put_char) refers to retarget_conf.o(.text.retarget_put_char) for [Anonymous Symbol]
llsdiv.o(.text) refers to lludivv7m.o(.text) for __aeabi_uldivmod
rt_memcpy_v6.o(.text) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4
__main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry
ffltll_clz.o(x$fpl$ffltll) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
cosf.o(i.__hardfp_cosf) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
cosf.o(i.__hardfp_cosf) refers to rredf.o(i.__mathlib_rredf2) for __mathlib_rredf2
cosf.o(i.__hardfp_cosf) refers to _rserrno.o(.text) for __set_errno
cosf.o(i.__hardfp_cosf) refers to funder.o(i.__mathlib_flt_invalid) for __mathlib_flt_invalid
cosf.o(i.__hardfp_cosf) refers to funder.o(i.__mathlib_flt_infnan) for __mathlib_flt_infnan
cosf.o(i.__softfp_cosf) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
cosf.o(i.__softfp_cosf) refers to cosf.o(i.__hardfp_cosf) for __hardfp_cosf
cosf.o(i.cosf) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
cosf.o(i.cosf) refers to cosf.o(i.__hardfp_cosf) for __hardfp_cosf
sinf.o(i.__hardfp_sinf) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
sinf.o(i.__hardfp_sinf) refers to rredf.o(i.__mathlib_rredf2) for __mathlib_rredf2
sinf.o(i.__hardfp_sinf) refers to fpclassifyf.o(i.__ARM_fpclassifyf) for __ARM_fpclassifyf
sinf.o(i.__hardfp_sinf) refers to funder.o(i.__mathlib_flt_underflow) for __mathlib_flt_underflow
sinf.o(i.__hardfp_sinf) refers to _rserrno.o(.text) for __set_errno
sinf.o(i.__hardfp_sinf) refers to funder.o(i.__mathlib_flt_invalid) for __mathlib_flt_invalid
sinf.o(i.__hardfp_sinf) refers to funder.o(i.__mathlib_flt_infnan) for __mathlib_flt_infnan
sinf.o(i.__softfp_sinf) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
sinf.o(i.__softfp_sinf) refers to sinf.o(i.__hardfp_sinf) for __hardfp_sinf
sinf.o(i.sinf) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
sinf.o(i.sinf) refers to sinf.o(i.__hardfp_sinf) for __hardfp_sinf
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) for __rt_entry_postli_1
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000009) for __rt_entry_postsh_1
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000002) for __rt_entry_presh_1
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for __rt_entry_sh
aeabi_ldiv0_sigfpe.o(.text) refers to rt_div0.o(.text) for __rt_div0
_rserrno.o(.text) refers to rt_errno_addr_intlibspace.o(.text) for __aeabi_errno_addr
fpclassifyf.o(i.__ARM_fpclassifyf) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
rredf.o(i.__mathlib_rredf2) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
rredf.o(i.__mathlib_rredf2) refers to rredf.o(.constdata) for .constdata
rredf.o(.constdata) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
__rtentry2.o(.ARM.Collect$$rtentry$$00000008) refers to boardinit2.o(.text) for _platform_post_stackheap_init
__rtentry2.o(.ARM.Collect$$rtentry$$0000000A) refers to libinit.o(.ARM.Collect$$libinit$$00000000) for __rt_lib_init
__rtentry2.o(.ARM.Collect$$rtentry$$0000000B) refers to boardinit3.o(.text) for _platform_post_lib_init
__rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to main.o(.text.main) for main
__rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to exit.o(.text) for exit
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000001) for .ARM.Collect$$rtentry$$00000001
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000008) for .ARM.Collect$$rtentry$$00000008
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for .ARM.Collect$$rtentry$$0000000A
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000B) for .ARM.Collect$$rtentry$$0000000B
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for .ARM.Collect$$rtentry$$0000000D
__rtentry4.o(.ARM.Collect$$rtentry$$00000004) refers to sys_stackheap_outer.o(.text) for __user_setup_stackheap
__rtentry4.o(.ARM.exidx) refers to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for .ARM.Collect$$rtentry$$00000004
rt_div0.o(.text) refers to defsig_fpe_outer.o(.text) for __rt_SIGFPE
rt_errno_addr.o(.text) refers to rt_errno_addr.o(.bss) for __aeabi_errno_addr_data
rt_errno_addr_intlibspace.o(.text) refers to libspace.o(.bss) for __libspace_start
libspace.o(.text) refers to libspace.o(.bss) for __libspace_start
sys_stackheap_outer.o(.text) refers to libspace.o(.text) for __user_perproc_libspace
sys_stackheap_outer.o(.text) refers to startup_k1921vk035.o(.text) for __user_initial_stackheap
exit.o(.text) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for __rt_exit
defsig_fpe_outer.o(.text) refers to defsig_fpe_inner.o(.text) for __rt_SIGFPE_inner
defsig_fpe_outer.o(.text) refers to defsig_exit.o(.text) for __sig_exit
defsig_fpe_formal.o(.text) refers to rt_raise.o(.text) for __rt_raise
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000030) for __rt_lib_init_alloca_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002E) for __rt_lib_init_argv_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001D) for __rt_lib_init_atexit_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000023) for __rt_lib_init_clock_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000034) for __rt_lib_init_cpp_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000032) for __rt_lib_init_exceptions_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000001) for __rt_lib_init_fp_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000021) for __rt_lib_init_fp_trap_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000025) for __rt_lib_init_getenv_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000C) for __rt_lib_init_heap_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000013) for __rt_lib_init_lc_collate_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000015) for __rt_lib_init_lc_ctype_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000017) for __rt_lib_init_lc_monetary_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000019) for __rt_lib_init_lc_numeric_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001B) for __rt_lib_init_lc_time_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000006) for __rt_lib_init_preinit_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000010) for __rt_lib_init_rand_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000004) for __rt_lib_init_relocate_pie_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000035) for __rt_lib_init_return
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001F) for __rt_lib_init_signal_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000027) for __rt_lib_init_stdio_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000E) for __rt_lib_init_user_alloc_1
rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit
rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls
rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1
rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit
rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls
rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1
rtexit.o(.ARM.exidx) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for .ARM.Collect$$rtexit$$00000000
rt_raise.o(.text) refers to __raise.o(.text) for __raise
rt_raise.o(.text) refers to sys_exit.o(.text) for _sys_exit
defsig_exit.o(.text) refers to sys_exit.o(.text) for _sys_exit
defsig_fpe_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
libinit2.o(.ARM.Collect$$libinit$$00000001) refers to fpinit.o(x$fpl$fpinit) for _fp_init
libinit2.o(.ARM.Collect$$libinit$$00000012) refers to libinit2.o(.ARM.Collect$$libinit$$00000011) for .ARM.Collect$$libinit$$00000011
libinit2.o(.ARM.Collect$$libinit$$00000014) refers to libinit2.o(.ARM.Collect$$libinit$$00000011) for .ARM.Collect$$libinit$$00000011
libinit2.o(.ARM.Collect$$libinit$$00000016) refers to libinit2.o(.ARM.Collect$$libinit$$00000011) for .ARM.Collect$$libinit$$00000011
libinit2.o(.ARM.Collect$$libinit$$00000018) refers to libinit2.o(.ARM.Collect$$libinit$$00000011) for .ARM.Collect$$libinit$$00000011
libinit2.o(.ARM.Collect$$libinit$$0000001A) refers to libinit2.o(.ARM.Collect$$libinit$$00000011) for .ARM.Collect$$libinit$$00000011
libinit2.o(.ARM.Collect$$libinit$$00000028) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer
libinit2.o(.ARM.Collect$$libinit$$00000029) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer
sys_exit.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
sys_exit.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
sys_exit_hlt.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
sys_exit_hlt.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
rtexit2.o(.ARM.Collect$$rtexit$$00000003) refers to libshutdown.o(.ARM.Collect$$libshutdown$$00000000) for __rt_lib_shutdown
rtexit2.o(.ARM.Collect$$rtexit$$00000004) refers to sys_exit.o(.text) for _sys_exit
rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000001) for .ARM.Collect$$rtexit$$00000001
rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for .ARM.Collect$$rtexit$$00000003
rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for .ARM.Collect$$rtexit$$00000004
__raise.o(.text) refers to defsig.o(CL$$defsig) for __default_signal_handler
defsig_general.o(.text) refers to sys_wrch.o(.text) for _ttywrch
argv_veneer.o(.emb_text) refers to no_argv.o(.text) for __ARM_get_argv
sys_wrch.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
sys_wrch.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
sys_wrch_hlt.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
sys_wrch_hlt.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
defsig.o(CL$$defsig) refers to defsig_fpe_inner.o(.text) for __rt_SIGFPE_inner
defsig.o(CL$$defsig) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner
_get_argv_nomalloc.o(.text) refers (Special) to hrguard.o(.text) for __heap_region$guard
_get_argv_nomalloc.o(.text) refers to defsig_rtmem_outer.o(.text) for __rt_SIGRTMEM
_get_argv_nomalloc.o(.text) refers to sys_command.o(.text) for _sys_command_string
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) for __rt_lib_shutdown_cpp_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000007) for __rt_lib_shutdown_fp_trap_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F) for __rt_lib_shutdown_heap_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000010) for __rt_lib_shutdown_return
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A) for __rt_lib_shutdown_signal_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) for __rt_lib_shutdown_stdio_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) for __rt_lib_shutdown_user_alloc_1
sys_command.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
sys_command.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
sys_command_hlt.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
sys_command_hlt.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
defsig_abrt_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_rtred_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_rtmem_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_rtmem_outer.o(.text) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner
defsig_rtmem_outer.o(.text) refers to defsig_exit.o(.text) for __sig_exit
defsig_rtmem_formal.o(.text) refers to rt_raise.o(.text) for __rt_raise
defsig_stak_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_pvfn_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_cppl_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_segv_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_other.o(.text) refers to defsig_general.o(.text) for __default_signal_display
==============================================================================
Removing Unused input sections from the image.
Removing main.o(.text), (0 bytes).
Removing main.o(.ARM.exidx.text.periph_init), (8 bytes).
Removing main.o(.ARM.exidx.text.restart_receive), (8 bytes).
Removing main.o(.ARM.exidx.text.heartbit), (8 bytes).
Removing main.o(.ARM.exidx.text.main), (8 bytes).
Removing main.o(.ARM.exidx.text.Error_Handler), (8 bytes).
Removing main.o(.ARM.use_no_argv), (4 bytes).
Removing gpio.o(.text), (0 bytes).
Removing gpio.o(.ARM.exidx.text.gpio_init), (8 bytes).
Removing gpio.o(.ARM.exidx.text.gpio_get_init), (8 bytes).
Removing tmr.o(.text), (0 bytes).
Removing tmr.o(.ARM.exidx.text.tmr_init_first), (8 bytes).
Removing tmr.o(.text.tmr_init), (32 bytes).
Removing tmr.o(.ARM.exidx.text.tmr_init), (8 bytes).
Removing tmr.o(.ARM.exidx.text.TMR_Init), (8 bytes).
Removing tmr.o(.ARM.exidx.text.tmr_set_callback), (8 bytes).
Removing tmr.o(.ARM.exidx.text.tmr_start), (8 bytes).
Removing tmr.o(.text.tmr_stop), (22 bytes).
Removing tmr.o(.ARM.exidx.text.tmr_stop), (8 bytes).
Removing tmr.o(.ARM.exidx.text.tmr_delay), (8 bytes).
Removing tmr.o(.ARM.exidx.text.tmr_delay_start), (8 bytes).
Removing tmr.o(.ARM.exidx.text.tmr_delay_done), (8 bytes).
Removing tmr.o(.ARM.exidx.text.tmr_handler), (8 bytes).
Removing uart.o(.text), (0 bytes).
Removing uart.o(.ARM.exidx.text.uart_init_first), (8 bytes).
Removing uart.o(.ARM.exidx.text.uart1_gpio_init), (8 bytes).
Removing uart.o(.text.uart_init), (32 bytes).
Removing uart.o(.ARM.exidx.text.uart_init), (8 bytes).
Removing uart.o(.ARM.exidx.text.uart_start), (8 bytes).
Removing uart.o(.ARM.exidx.text.uart_transmit), (8 bytes).
Removing uart.o(.text.uart_receive), (160 bytes).
Removing uart.o(.ARM.exidx.text.uart_receive), (8 bytes).
Removing uart.o(.ARM.exidx.text.uart_transmit_it), (8 bytes).
Removing uart.o(.ARM.exidx.text.uart_receive_it), (8 bytes).
Removing uart.o(.ARM.exidx.text.uart_handler), (8 bytes).
Removing uart.o(.ARM.exidx.text.uart_set_callback), (8 bytes).
Removing uart.o(.text.uart0_gpio_init), (2 bytes).
Removing uart.o(.ARM.exidx.text.uart0_gpio_init), (8 bytes).
Removing uart.o(.text.uart0_gpio_deinit), (2 bytes).
Removing uart.o(.ARM.exidx.text.uart0_gpio_deinit), (8 bytes).
Removing uart.o(.text.uart1_gpio_deinit), (90 bytes).
Removing uart.o(.ARM.exidx.text.uart1_gpio_deinit), (8 bytes).
Removing adc.o(.text), (0 bytes).
Removing adc.o(.ARM.exidx.text.adc_init_first), (8 bytes).
Removing adc.o(.text.adc_seq_init), (46 bytes).
Removing adc.o(.ARM.exidx.text.adc_seq_init), (8 bytes).
Removing adc.o(.text.adc_seq_set_callback), (76 bytes).
Removing adc.o(.ARM.exidx.text.adc_seq_set_callback), (8 bytes).
Removing adc.o(.ARM.exidx.text.adc_seq_start), (8 bytes).
Removing adc.o(.text.adc_seq_stop), (86 bytes).
Removing adc.o(.ARM.exidx.text.adc_seq_stop), (8 bytes).
Removing adc.o(.text.adc_get_channel_value), (40 bytes).
Removing adc.o(.ARM.exidx.text.adc_get_channel_value), (8 bytes).
Removing adc.o(.ARM.exidx.text.adc_sw_start), (8 bytes).
Removing adc.o(.ARM.exidx.text.adc_seq_handler), (8 bytes).
Removing sysclk.o(.text), (0 bytes).
Removing sysclk.o(.ARM.exidx.text.sysclk_init), (8 bytes).
Removing sysclk.o(.ARM.exidx.text.millis), (8 bytes).
Removing sysclk.o(.ARM.exidx.text.millis_inc), (8 bytes).
Removing sysclk.o(.text.micros), (4 bytes).
Removing sysclk.o(.ARM.exidx.text.micros), (8 bytes).
Removing sysclk.o(.text.micros_inc), (16 bytes).
Removing sysclk.o(.ARM.exidx.text.micros_inc), (8 bytes).
Removing sysclk.o(.ARM.exidx.text.rcu_set_clock_adc), (8 bytes).
Removing vk035_it.o(.text), (0 bytes).
Removing vk035_it.o(.ARM.exidx.text.GPIOA_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.GPIOB_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.TMR0_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.TMR1_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.TMR2_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.TMR3_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.UART0_TD_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.UART0_RX_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.UART0_TX_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.UART0_E_RT_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.UART1_TD_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.UART1_RX_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.UART1_TX_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.UART1_E_RT_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.SPI_RO_RT_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.SPI_RX_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.SPI_TX_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.I2C_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.ECAP0_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.ECAP1_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.ECAP2_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PWM0_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PWM0_HD_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PWM0_TZ_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PWM1_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PWM1_HD_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PWM1_TZ_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PWM2_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PWM2_HD_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PWM2_TZ_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.QEP_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.ADC_SEQ0_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.ADC_SEQ1_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.ADC_DC_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN0_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN1_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN2_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN3_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN4_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN5_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN6_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN7_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN8_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN9_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN10_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN11_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN12_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN13_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN14_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.CAN15_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.FPU_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH0_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH1_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH2_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH3_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH4_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH5_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH6_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH7_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH8_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH9_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH10_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH11_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH12_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH13_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH14_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DMA_CH15_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.WDT_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.RCU_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.MFLASH_IRQHandler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.NMI_Handler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.HardFault_Handler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.MemManage_Handler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.BusFault_Handler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.UsageFault_Handler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.SVC_Handler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.DebugMon_Handler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.PendSV_Handler), (8 bytes).
Removing vk035_it.o(.ARM.exidx.text.SysTick_Handler), (8 bytes).
Removing segger_rtt.o(.text), (0 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_ReadUpBufferNoLock), (232 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ReadUpBufferNoLock), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_ReadNoLock), (232 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ReadNoLock), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_ReadUpBuffer), (28 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ReadUpBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_Read), (28 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_Read), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_WriteWithOverwriteNoLock), (206 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteWithOverwriteNoLock), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_WriteDownBufferNoLock), (352 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteDownBufferNoLock), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_WriteNoLock), (368 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteNoLock), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_WriteDownBuffer), (158 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteDownBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_Write), (158 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_Write), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_WriteString), (166 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WriteString), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_PutCharSkipNoLock), (66 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_PutCharSkipNoLock), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_PutCharSkip), (196 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_PutCharSkip), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_PutChar), (212 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_PutChar), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_GetKey), (288 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_GetKey), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_WaitKey), (14 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_WaitKey), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_HasKey), (132 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_HasKey), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_HasData), (24 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_HasData), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_HasDataUp), (24 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_HasDataUp), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_AllocDownBuffer), (220 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_AllocDownBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_AllocUpBuffer), (220 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_AllocUpBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_ConfigUpBuffer), (208 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ConfigUpBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_ConfigDownBuffer), (212 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_ConfigDownBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_SetNameUpBuffer), (172 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetNameUpBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_SetNameDownBuffer), (172 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetNameDownBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_SetFlagsUpBuffer), (172 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetFlagsUpBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_SetFlagsDownBuffer), (172 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetFlagsDownBuffer), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_Init), (118 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_Init), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_SetTerminal), (444 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_SetTerminal), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_TerminalOut), (1226 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_TerminalOut), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_GetAvailWriteSpace), (40 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_GetAvailWriteSpace), (8 bytes).
Removing segger_rtt.o(.text.SEGGER_RTT_GetBytesInBuffer), (34 bytes).
Removing segger_rtt.o(.ARM.exidx.text.SEGGER_RTT_GetBytesInBuffer), (8 bytes).
Removing segger_rtt.o(.bss._SEGGER_RTT), (168 bytes).
Removing segger_rtt.o(.rodata.cst16), (16 bytes).
Removing segger_rtt.o(.bss._ActiveTerminal), (1 bytes).
Removing segger_rtt.o(.rodata._DoInit._aInitStr), (17 bytes).
Removing segger_rtt.o(.rodata.str1.1), (9 bytes).
Removing segger_rtt.o(.bss._acUpBuffer), (4096 bytes).
Removing segger_rtt.o(.bss._acDownBuffer), (16 bytes).
Removing segger_rtt_printf.o(.text), (0 bytes).
Removing segger_rtt_printf.o(.text.SEGGER_RTT_vprintf), (1136 bytes).
Removing segger_rtt_printf.o(.ARM.exidx.text.SEGGER_RTT_vprintf), (8 bytes).
Removing segger_rtt_printf.o(.text._PrintUnsigned), (392 bytes).
Removing segger_rtt_printf.o(.ARM.exidx.text._PrintUnsigned), (8 bytes).
Removing segger_rtt_printf.o(.text.SEGGER_RTT_printf), (30 bytes).
Removing segger_rtt_printf.o(.ARM.exidx.text.SEGGER_RTT_printf), (8 bytes).
Removing filters.o(.text), (0 bytes).
Removing filters.o(.text.FilterMedian_Init), (78 bytes).
Removing filters.o(.ARM.exidx.text.FilterMedian_Init), (8 bytes).
Removing filters.o(.text.FilterMedian_Process), (124 bytes).
Removing filters.o(.ARM.exidx.text.FilterMedian_Process), (8 bytes).
Removing filters.o(.text.Filter_float_compare), (30 bytes).
Removing filters.o(.ARM.exidx.text.Filter_float_compare), (8 bytes).
Removing filters.o(.text.FilterExp_Init), (48 bytes).
Removing filters.o(.ARM.exidx.text.FilterExp_Init), (8 bytes).
Removing filters.o(.text.FilterExp_Process), (58 bytes).
Removing filters.o(.ARM.exidx.text.FilterExp_Process), (8 bytes).
Removing filters.o(.text.FilterAverage_Init), (66 bytes).
Removing filters.o(.ARM.exidx.text.FilterAverage_Init), (8 bytes).
Removing filters.o(.text.FilterAverage_Process), (76 bytes).
Removing filters.o(.ARM.exidx.text.FilterAverage_Process), (8 bytes).
Removing filters.o(.text.FilterPoly_Init), (70 bytes).
Removing filters.o(.ARM.exidx.text.FilterPoly_Init), (8 bytes).
Removing filters.o(.text.FilterPoly_Process), (64 bytes).
Removing filters.o(.ARM.exidx.text.FilterPoly_Process), (8 bytes).
Removing filters.o(.text.FilterLUT_Init), (80 bytes).
Removing filters.o(.ARM.exidx.text.FilterLUT_Init), (8 bytes).
Removing filters.o(.text.FilterLUT_Process), (232 bytes).
Removing filters.o(.ARM.exidx.text.FilterLUT_Process), (8 bytes).
Removing filters.o(.text.FilterRMS_Init), (74 bytes).
Removing filters.o(.ARM.exidx.text.FilterRMS_Init), (8 bytes).
Removing filters.o(.text.FilterRMS_Process), (164 bytes).
Removing filters.o(.ARM.exidx.text.FilterRMS_Process), (8 bytes).
Removing filters.o(.text.FilterMedianInt_Init), (84 bytes).
Removing filters.o(.ARM.exidx.text.FilterMedianInt_Init), (8 bytes).
Removing filters.o(.text.FilterMedianInt_Process), (238 bytes).
Removing filters.o(.ARM.exidx.text.FilterMedianInt_Process), (8 bytes).
Removing filters.o(.text.FilterExpInt_Init), (48 bytes).
Removing filters.o(.ARM.exidx.text.FilterExpInt_Init), (8 bytes).
Removing filters.o(.text.FilterExpInt_Process), (62 bytes).
Removing filters.o(.ARM.exidx.text.FilterExpInt_Process), (8 bytes).
Removing filters.o(.text.FilterAverageInt_Init), (70 bytes).
Removing filters.o(.ARM.exidx.text.FilterAverageInt_Init), (8 bytes).
Removing filters.o(.text.FilterAverageInt_Process), (68 bytes).
Removing filters.o(.ARM.exidx.text.FilterAverageInt_Process), (8 bytes).
Removing filters.o(.text.FilterPolyInt_Init), (72 bytes).
Removing filters.o(.ARM.exidx.text.FilterPolyInt_Init), (8 bytes).
Removing filters.o(.text.FilterPolyInt_Process), (104 bytes).
Removing filters.o(.ARM.exidx.text.FilterPolyInt_Process), (8 bytes).
Removing filters.o(.text.FilterLUTInt_Init), (80 bytes).
Removing filters.o(.ARM.exidx.text.FilterLUTInt_Init), (8 bytes).
Removing filters.o(.text.FilterLUTInt_Process), (208 bytes).
Removing filters.o(.ARM.exidx.text.FilterLUTInt_Process), (8 bytes).
Removing filters.o(.text.FilterRMSInt_Init), (92 bytes).
Removing filters.o(.ARM.exidx.text.FilterRMSInt_Init), (8 bytes).
Removing filters.o(.text.FilterRMSInt_Process), (206 bytes).
Removing filters.o(.ARM.exidx.text.FilterRMSInt_Process), (8 bytes).
Removing filters.o(.text.FilterBandPassDerivative_Init), (224 bytes).
Removing filters.o(.ARM.exidx.text.FilterBandPassDerivative_Init), (8 bytes).
Removing filters.o(.text.FilterBandPassDerivative_Process), (110 bytes).
Removing filters.o(.ARM.exidx.text.FilterBandPassDerivative_Process), (8 bytes).
Removing system_k1921vk035.o(.text), (0 bytes).
Removing system_k1921vk035.o(.ARM.exidx.text.SystemCoreClockUpdate), (8 bytes).
Removing system_k1921vk035.o(.text.ClkInit), (128 bytes).
Removing system_k1921vk035.o(.ARM.exidx.text.ClkInit), (8 bytes).
Removing system_k1921vk035.o(.text.FPUInit), (24 bytes).
Removing system_k1921vk035.o(.ARM.exidx.text.FPUInit), (8 bytes).
Removing system_k1921vk035.o(.ARM.exidx.text.SystemInit), (8 bytes).
Removing plib035_adc.o(.text), (0 bytes).
Removing plib035_adc.o(.text.ADC_DeInit), (26 bytes).
Removing plib035_adc.o(.ARM.exidx.text.ADC_DeInit), (8 bytes).
Removing plib035_adc.o(.ARM.exidx.text.ADC_SEQ_Init), (8 bytes).
Removing plib035_adc.o(.text.ADC_SEQ_StructInit), (26 bytes).
Removing plib035_adc.o(.ARM.exidx.text.ADC_SEQ_StructInit), (8 bytes).
Removing plib035_adc.o(.text.ADC_DC_Init), (136 bytes).
Removing plib035_adc.o(.ARM.exidx.text.ADC_DC_Init), (8 bytes).
Removing plib035_adc.o(.text.ADC_DC_StructInit), (12 bytes).
Removing plib035_adc.o(.ARM.exidx.text.ADC_DC_StructInit), (8 bytes).
Removing plib035_can.o(.text), (0 bytes).
Removing plib035_dma.o(.text), (0 bytes).
Removing plib035_dma.o(.text.DMA_ChannelDeInit), (10 bytes).
Removing plib035_dma.o(.ARM.exidx.text.DMA_ChannelDeInit), (8 bytes).
Removing plib035_dma.o(.text.DMA_ChannelInit), (246 bytes).
Removing plib035_dma.o(.ARM.exidx.text.DMA_ChannelInit), (8 bytes).
Removing plib035_dma.o(.text.DMA_ChannelStructInit), (30 bytes).
Removing plib035_dma.o(.ARM.exidx.text.DMA_ChannelStructInit), (8 bytes).
Removing plib035_dma.o(.text.DMA_DeInit), (30 bytes).
Removing plib035_dma.o(.ARM.exidx.text.DMA_DeInit), (8 bytes).
Removing plib035_dma.o(.text.DMA_Init), (122 bytes).
Removing plib035_dma.o(.ARM.exidx.text.DMA_Init), (8 bytes).
Removing plib035_dma.o(.text.DMA_StructInit), (14 bytes).
Removing plib035_dma.o(.ARM.exidx.text.DMA_StructInit), (8 bytes).
Removing plib035_ecap.o(.text), (0 bytes).
Removing plib035_ecap.o(.text.ECAP_DeInit), (54 bytes).
Removing plib035_ecap.o(.ARM.exidx.text.ECAP_DeInit), (8 bytes).
Removing plib035_ecap.o(.text.ECAP_Init), (66 bytes).
Removing plib035_ecap.o(.ARM.exidx.text.ECAP_Init), (8 bytes).
Removing plib035_ecap.o(.text.ECAP_StructInit), (6 bytes).
Removing plib035_ecap.o(.ARM.exidx.text.ECAP_StructInit), (8 bytes).
Removing plib035_ecap.o(.text.ECAP_PWM_Init), (28 bytes).
Removing plib035_ecap.o(.ARM.exidx.text.ECAP_PWM_Init), (8 bytes).
Removing plib035_ecap.o(.text.ECAP_PWM_StructInit), (18 bytes).
Removing plib035_ecap.o(.ARM.exidx.text.ECAP_PWM_StructInit), (8 bytes).
Removing plib035_ecap.o(.text.ECAP_Capture_Init), (120 bytes).
Removing plib035_ecap.o(.ARM.exidx.text.ECAP_Capture_Init), (8 bytes).
Removing plib035_ecap.o(.text.ECAP_Capture_StructInit), (16 bytes).
Removing plib035_ecap.o(.ARM.exidx.text.ECAP_Capture_StructInit), (8 bytes).
Removing plib035_gpio.o(.text), (0 bytes).
Removing plib035_gpio.o(.text.GPIO_OutModeConfig), (58 bytes).
Removing plib035_gpio.o(.ARM.exidx.text.GPIO_OutModeConfig), (8 bytes).
Removing plib035_gpio.o(.text.GPIO_InModeConfig), (58 bytes).
Removing plib035_gpio.o(.ARM.exidx.text.GPIO_InModeConfig), (8 bytes).
Removing plib035_gpio.o(.text.GPIO_PullModeConfig), (58 bytes).
Removing plib035_gpio.o(.ARM.exidx.text.GPIO_PullModeConfig), (8 bytes).
Removing plib035_gpio.o(.text.GPIO_DriveModeConfig), (58 bytes).
Removing plib035_gpio.o(.ARM.exidx.text.GPIO_DriveModeConfig), (8 bytes).
Removing plib035_gpio.o(.ARM.exidx.text.GPIO_DeInit), (8 bytes).
Removing plib035_gpio.o(.ARM.exidx.text.GPIO_Init), (8 bytes).
Removing plib035_gpio.o(.ARM.exidx.text.GPIO_StructInit), (8 bytes).
Removing plib035_i2c.o(.text), (0 bytes).
Removing plib035_i2c.o(.text.I2C_FSFreqConfig), (32 bytes).
Removing plib035_i2c.o(.ARM.exidx.text.I2C_FSFreqConfig), (8 bytes).
Removing plib035_i2c.o(.text.I2C_HSFreqConfig), (34 bytes).
Removing plib035_i2c.o(.ARM.exidx.text.I2C_HSFreqConfig), (8 bytes).
Removing plib035_mflash.o(.text), (0 bytes).
Removing plib035_mflash.o(.text.MFLASH_ReadData), (54 bytes).
Removing plib035_mflash.o(.ARM.exidx.text.MFLASH_ReadData), (8 bytes).
Removing plib035_mflash.o(.text.MFLASH_WriteData), (66 bytes).
Removing plib035_mflash.o(.ARM.exidx.text.MFLASH_WriteData), (8 bytes).
Removing plib035_mflash.o(.text.MFLASH_ErasePage), (36 bytes).
Removing plib035_mflash.o(.ARM.exidx.text.MFLASH_ErasePage), (8 bytes).
Removing plib035_mflash.o(.text.MFLASH_EraseFull), (36 bytes).
Removing plib035_mflash.o(.ARM.exidx.text.MFLASH_EraseFull), (8 bytes).
Removing plib035_pmu.o(.text), (0 bytes).
Removing plib035_pwm.o(.text), (0 bytes).
Removing plib035_pwm.o(.text.PWM_DeInit), (48 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_DeInit), (8 bytes).
Removing plib035_pwm.o(.text.PWM_TB_Init), (108 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_TB_Init), (8 bytes).
Removing plib035_pwm.o(.text.PWM_TB_StructInit), (14 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_TB_StructInit), (8 bytes).
Removing plib035_pwm.o(.text.PWM_AQ_Init), (166 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_AQ_Init), (8 bytes).
Removing plib035_pwm.o(.text.PWM_AQ_StructInit), (10 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_AQ_StructInit), (8 bytes).
Removing plib035_pwm.o(.text.PWM_CMP_Init), (62 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_CMP_Init), (8 bytes).
Removing plib035_pwm.o(.text.PWM_CMP_StructInit), (12 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_CMP_StructInit), (8 bytes).
Removing plib035_pwm.o(.text.PWM_HD_Init), (82 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_HD_Init), (8 bytes).
Removing plib035_pwm.o(.text.PWM_HD_StructInit), (14 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_HD_StructInit), (8 bytes).
Removing plib035_pwm.o(.text.PWM_DB_Init), (40 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_DB_Init), (8 bytes).
Removing plib035_pwm.o(.text.PWM_DB_StructInit), (12 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_DB_StructInit), (8 bytes).
Removing plib035_pwm.o(.text.PWM_TZ_Init), (50 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_TZ_Init), (8 bytes).
Removing plib035_pwm.o(.text.PWM_TZ_StructInit), (6 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_TZ_StructInit), (8 bytes).
Removing plib035_pwm.o(.text.PWM_ET_Init), (186 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_ET_Init), (8 bytes).
Removing plib035_pwm.o(.text.PWM_ET_StructInit), (24 bytes).
Removing plib035_pwm.o(.ARM.exidx.text.PWM_ET_StructInit), (8 bytes).
Removing plib035_qep.o(.text), (0 bytes).
Removing plib035_qep.o(.text.QEP_DeInit), (26 bytes).
Removing plib035_qep.o(.ARM.exidx.text.QEP_DeInit), (8 bytes).
Removing plib035_qep.o(.text.QEP_PC_Init), (146 bytes).
Removing plib035_qep.o(.ARM.exidx.text.QEP_PC_Init), (8 bytes).
Removing plib035_qep.o(.text.QEP_PC_StructInit), (16 bytes).
Removing plib035_qep.o(.ARM.exidx.text.QEP_PC_StructInit), (8 bytes).
Removing plib035_qep.o(.text.QEP_CMP_Init), (124 bytes).
Removing plib035_qep.o(.ARM.exidx.text.QEP_CMP_Init), (8 bytes).
Removing plib035_qep.o(.text.QEP_CMP_StructInit), (12 bytes).
Removing plib035_qep.o(.ARM.exidx.text.QEP_CMP_StructInit), (8 bytes).
Removing plib035_qep.o(.text.QEP_CAP_Init), (88 bytes).
Removing plib035_qep.o(.ARM.exidx.text.QEP_CAP_Init), (8 bytes).
Removing plib035_qep.o(.text.QEP_CAP_StructInit), (12 bytes).
Removing plib035_qep.o(.ARM.exidx.text.QEP_CAP_StructInit), (8 bytes).
Removing plib035_rcu.o(.text), (0 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetOSIClkFreq), (8 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetOSEClkFreq), (8 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetPLLClkFreq), (8 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetPLLDivClkFreq), (8 bytes).
Removing plib035_rcu.o(.text.RCU_GetSysClkFreq), (148 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetSysClkFreq), (8 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetUARTClkFreq), (8 bytes).
Removing plib035_rcu.o(.text.RCU_GetSPIClkFreq), (178 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetSPIClkFreq), (8 bytes).
Removing plib035_rcu.o(.text.RCU_GetADCClkFreq), (184 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetADCClkFreq), (8 bytes).
Removing plib035_rcu.o(.text.RCU_GetWDTClkFreq), (178 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetWDTClkFreq), (8 bytes).
Removing plib035_rcu.o(.text.RCU_GetTraceClkFreq), (178 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetTraceClkFreq), (8 bytes).
Removing plib035_rcu.o(.text.RCU_GetClkOutFreq), (178 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_GetClkOutFreq), (8 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_PLL_AutoConfig), (8 bytes).
Removing plib035_rcu.o(.text.RCU_PLL_StructInit), (14 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_PLL_StructInit), (8 bytes).
Removing plib035_rcu.o(.text.RCU_PLL_Init), (126 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_PLL_Init), (8 bytes).
Removing plib035_rcu.o(.text.RCU_SysClkChangeCmd), (54 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_SysClkChangeCmd), (8 bytes).
Removing plib035_rcu.o(.text.RCU_PLL_DeInit), (24 bytes).
Removing plib035_rcu.o(.ARM.exidx.text.RCU_PLL_DeInit), (8 bytes).
Removing plib035_spi.o(.text), (0 bytes).
Removing plib035_spi.o(.text.SPI_DeInit), (26 bytes).
Removing plib035_spi.o(.ARM.exidx.text.SPI_DeInit), (8 bytes).
Removing plib035_spi.o(.text.SPI_Init), (56 bytes).
Removing plib035_spi.o(.ARM.exidx.text.SPI_Init), (8 bytes).
Removing plib035_spi.o(.text.SPI_StructInit), (16 bytes).
Removing plib035_spi.o(.ARM.exidx.text.SPI_StructInit), (8 bytes).
Removing plib035_tmr.o(.text), (0 bytes).
Removing plib035_tmr.o(.ARM.exidx.text.TMR_PeriodConfig), (8 bytes).
Removing plib035_tmr.o(.ARM.exidx.text.TMR_FreqConfig), (8 bytes).
Removing plib035_uart.o(.text), (0 bytes).
Removing plib035_uart.o(.text.UART_AutoBaudConfig), (104 bytes).
Removing plib035_uart.o(.ARM.exidx.text.UART_AutoBaudConfig), (8 bytes).
Removing plib035_uart.o(.ARM.exidx.text.UART_DeInit), (8 bytes).
Removing plib035_uart.o(.ARM.exidx.text.UART_Init), (8 bytes).
Removing plib035_uart.o(.text.UART_StructInit), (22 bytes).
Removing plib035_uart.o(.ARM.exidx.text.UART_StructInit), (8 bytes).
Removing plib035_wdt.o(.text), (0 bytes).
Removing retarget.o(.text), (0 bytes).
Removing retarget_conf.o(.text), (0 bytes).
Removing retarget_conf.o(.text.retarget_init), (2 bytes).
Removing retarget_conf.o(.ARM.exidx.text.retarget_init), (8 bytes).
Removing retarget_conf.o(.text.retarget_get_char), (4 bytes).
Removing retarget_conf.o(.ARM.exidx.text.retarget_get_char), (8 bytes).
Removing retarget_conf.o(.text.retarget_put_char), (4 bytes).
Removing retarget_conf.o(.ARM.exidx.text.retarget_put_char), (8 bytes).
448 unused section(s) (total 22125 bytes) removed from the image.
==============================================================================
Image Symbol Table
Local Symbols
Symbol Name Value Ov Type Size Object(Section)
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE
../clib/angel/dczerorl2.s 0x00000000 Number 0 __dczerorl2.o ABSOLUTE
../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE
../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0.o ABSOLUTE
../clib/angel/rt.s 0x00000000 Number 0 aeabi_ldiv0_sigfpe.o ABSOLUTE
../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE
../clib/angel/rt.s 0x00000000 Number 0 rt_errno_addr.o ABSOLUTE
../clib/angel/rt.s 0x00000000 Number 0 rt_errno_addr_intlibspace.o ABSOLUTE
../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE
../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE
../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE
../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit.o ABSOLUTE
../clib/angel/sysapp.c 0x00000000 Number 0 sys_exit_hlt.o ABSOLUTE
../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch.o ABSOLUTE
../clib/angel/sysapp.c 0x00000000 Number 0 sys_wrch_hlt.o ABSOLUTE
../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE
../clib/angel/sysapp.c 0x00000000 Number 0 sys_command_hlt.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE
../clib/fenv.c 0x00000000 Number 0 _rserrno.o ABSOLUTE
../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE
../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE
../clib/longlong.s 0x00000000 Number 0 llsdiv.o ABSOLUTE
../clib/longlong.s 0x00000000 Number 0 lludivv7m.o ABSOLUTE
../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_v6.o ABSOLUTE
../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_w.o ABSOLUTE
../clib/memcpset.s 0x00000000 Number 0 rt_memclr_w.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_fpe_outer.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_fpe_formal.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE
../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE
../clib/stdlib.c 0x00000000 Number 0 qsortnoex.o ABSOLUTE
../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE
../clib/string.c 0x00000000 Number 0 strlen.o ABSOLUTE
../fplib/ffltll.s 0x00000000 Number 0 ffltll_clz.o ABSOLUTE
../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE
../fplib/usenofp.s 0x00000000 Number 0 usenofp.o ABSOLUTE
../mathlib/cosf.c 0x00000000 Number 0 cosf.o ABSOLUTE
../mathlib/fpclassifyf.c 0x00000000 Number 0 fpclassifyf.o ABSOLUTE
../mathlib/funder.c 0x00000000 Number 0 funder.o ABSOLUTE
../mathlib/rredf.c 0x00000000 Number 0 rredf.o ABSOLUTE
../mathlib/sinf.c 0x00000000 Number 0 sinf.o ABSOLUTE
SEGGER_RTT.c 0x00000000 Number 0 segger_rtt.o ABSOLUTE
SEGGER_RTT_printf.c 0x00000000 Number 0 segger_rtt_printf.o ABSOLUTE
adc.c 0x00000000 Number 0 adc.o ABSOLUTE
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
filters.c 0x00000000 Number 0 filters.o ABSOLUTE
gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE
main.c 0x00000000 Number 0 main.o ABSOLUTE
platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1921VK035.s 0x00000000 Number 0 startup_k1921vk035.o ABSOLUTE
plib035_adc.c 0x00000000 Number 0 plib035_adc.o ABSOLUTE
plib035_can.c 0x00000000 Number 0 plib035_can.o ABSOLUTE
plib035_dma.c 0x00000000 Number 0 plib035_dma.o ABSOLUTE
plib035_ecap.c 0x00000000 Number 0 plib035_ecap.o ABSOLUTE
plib035_gpio.c 0x00000000 Number 0 plib035_gpio.o ABSOLUTE
plib035_i2c.c 0x00000000 Number 0 plib035_i2c.o ABSOLUTE
plib035_mflash.c 0x00000000 Number 0 plib035_mflash.o ABSOLUTE
plib035_pmu.c 0x00000000 Number 0 plib035_pmu.o ABSOLUTE
plib035_pwm.c 0x00000000 Number 0 plib035_pwm.o ABSOLUTE
plib035_qep.c 0x00000000 Number 0 plib035_qep.o ABSOLUTE
plib035_rcu.c 0x00000000 Number 0 plib035_rcu.o ABSOLUTE
plib035_spi.c 0x00000000 Number 0 plib035_spi.o ABSOLUTE
plib035_tmr.c 0x00000000 Number 0 plib035_tmr.o ABSOLUTE
plib035_uart.c 0x00000000 Number 0 plib035_uart.o ABSOLUTE
plib035_wdt.c 0x00000000 Number 0 plib035_wdt.o ABSOLUTE
retarget.c 0x00000000 Number 0 retarget.o ABSOLUTE
retarget_conf.c 0x00000000 Number 0 retarget_conf.o ABSOLUTE
sysclk.c 0x00000000 Number 0 sysclk.o ABSOLUTE
system_K1921VK035.c 0x00000000 Number 0 system_k1921vk035.o ABSOLUTE
tmr.c 0x00000000 Number 0 tmr.o ABSOLUTE
uart.c 0x00000000 Number 0 uart.o ABSOLUTE
vk035_it.c 0x00000000 Number 0 vk035_it.o ABSOLUTE
RESET 0x00000000 Section 344 startup_k1921vk035.o(RESET)
!!!main 0x00000158 Section 8 __main.o(!!!main)
!!!scatter 0x00000160 Section 52 __scatter.o(!!!scatter)
!!dczerorl2 0x00000194 Section 90 __dczerorl2.o(!!dczerorl2)
!!handler_zi 0x000001f0 Section 28 __scatter_zi.o(!!handler_zi)
.ARM.Collect$$libinit$$00000000 0x0000020c Section 2 libinit.o(.ARM.Collect$$libinit$$00000000)
.ARM.Collect$$libinit$$00000001 0x0000020e Section 4 libinit2.o(.ARM.Collect$$libinit$$00000001)
.ARM.Collect$$libinit$$00000004 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000004)
.ARM.Collect$$libinit$$00000006 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000006)
.ARM.Collect$$libinit$$0000000C 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000C)
.ARM.Collect$$libinit$$0000000E 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000E)
.ARM.Collect$$libinit$$00000010 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000010)
.ARM.Collect$$libinit$$00000013 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000013)
.ARM.Collect$$libinit$$00000015 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000015)
.ARM.Collect$$libinit$$00000017 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000017)
.ARM.Collect$$libinit$$00000019 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000019)
.ARM.Collect$$libinit$$0000001B 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001B)
.ARM.Collect$$libinit$$0000001D 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001D)
.ARM.Collect$$libinit$$0000001F 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001F)
.ARM.Collect$$libinit$$00000021 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000021)
.ARM.Collect$$libinit$$00000023 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000023)
.ARM.Collect$$libinit$$00000025 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000025)
.ARM.Collect$$libinit$$00000027 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000027)
.ARM.Collect$$libinit$$0000002E 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002E)
.ARM.Collect$$libinit$$00000030 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000030)
.ARM.Collect$$libinit$$00000032 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000032)
.ARM.Collect$$libinit$$00000034 0x00000212 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000034)
.ARM.Collect$$libinit$$00000035 0x00000212 Section 2 libinit2.o(.ARM.Collect$$libinit$$00000035)
.ARM.Collect$$libshutdown$$00000000 0x00000214 Section 2 libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
.ARM.Collect$$libshutdown$$00000002 0x00000216 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)
.ARM.Collect$$libshutdown$$00000004 0x00000216 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)
.ARM.Collect$$libshutdown$$00000007 0x00000216 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)
.ARM.Collect$$libshutdown$$0000000A 0x00000216 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)
.ARM.Collect$$libshutdown$$0000000C 0x00000216 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)
.ARM.Collect$$libshutdown$$0000000F 0x00000216 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)
.ARM.Collect$$libshutdown$$00000010 0x00000216 Section 2 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)
.ARM.Collect$$rtentry$$00000000 0x00000218 Section 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000)
.ARM.Collect$$rtentry$$00000002 0x00000218 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002)
.ARM.Collect$$rtentry$$00000004 0x00000218 Section 6 __rtentry4.o(.ARM.Collect$$rtentry$$00000004)
.ARM.Collect$$rtentry$$00000009 0x0000021e Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009)
.ARM.Collect$$rtentry$$0000000A 0x0000021e Section 4 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
.ARM.Collect$$rtentry$$0000000C 0x00000222 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
.ARM.Collect$$rtentry$$0000000D 0x00000222 Section 8 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
.ARM.Collect$$rtexit$$00000000 0x0000022a Section 2 rtexit.o(.ARM.Collect$$rtexit$$00000000)
.ARM.Collect$$rtexit$$00000002 0x0000022c Section 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002)
.ARM.Collect$$rtexit$$00000003 0x0000022c Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003)
.ARM.Collect$$rtexit$$00000004 0x00000230 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004)
$v0 0x00000238 Number 0 startup_k1921vk035.o(.text)
.text 0x00000238 Section 64 startup_k1921vk035.o(.text)
.text 0x00000278 Section 0 heapauxi.o(.text)
.text 0x00000280 Section 8 libspace.o(.text)
.text 0x00000288 Section 74 sys_stackheap_outer.o(.text)
.text 0x000002d2 Section 0 exit.o(.text)
.text 0x000002e4 Section 0 sys_exit.o(.text)
.text 0x000002f0 Section 2 use_no_semi.o(.text)
.text 0x000002f2 Section 0 indicate_semi.o(.text)
[Anonymous Symbol] 0x000002f4 Section 0 vk035_it.o(.text.ADC_DC_IRQHandler)
[Anonymous Symbol] 0x000002f8 Section 0 vk035_it.o(.text.ADC_SEQ0_IRQHandler)
[Anonymous Symbol] 0x00000308 Section 0 vk035_it.o(.text.ADC_SEQ1_IRQHandler)
[Anonymous Symbol] 0x00000318 Section 0 plib035_adc.o(.text.ADC_SEQ_Init)
[Anonymous Symbol] 0x00000424 Section 0 vk035_it.o(.text.BusFault_Handler)
[Anonymous Symbol] 0x00000428 Section 0 vk035_it.o(.text.CAN0_IRQHandler)
[Anonymous Symbol] 0x0000042c Section 0 vk035_it.o(.text.CAN10_IRQHandler)
[Anonymous Symbol] 0x00000430 Section 0 vk035_it.o(.text.CAN11_IRQHandler)
[Anonymous Symbol] 0x00000434 Section 0 vk035_it.o(.text.CAN12_IRQHandler)
[Anonymous Symbol] 0x00000438 Section 0 vk035_it.o(.text.CAN13_IRQHandler)
[Anonymous Symbol] 0x0000043c Section 0 vk035_it.o(.text.CAN14_IRQHandler)
[Anonymous Symbol] 0x00000440 Section 0 vk035_it.o(.text.CAN15_IRQHandler)
[Anonymous Symbol] 0x00000444 Section 0 vk035_it.o(.text.CAN1_IRQHandler)
[Anonymous Symbol] 0x00000448 Section 0 vk035_it.o(.text.CAN2_IRQHandler)
[Anonymous Symbol] 0x0000044c Section 0 vk035_it.o(.text.CAN3_IRQHandler)
[Anonymous Symbol] 0x00000450 Section 0 vk035_it.o(.text.CAN4_IRQHandler)
[Anonymous Symbol] 0x00000454 Section 0 vk035_it.o(.text.CAN5_IRQHandler)
[Anonymous Symbol] 0x00000458 Section 0 vk035_it.o(.text.CAN6_IRQHandler)
[Anonymous Symbol] 0x0000045c Section 0 vk035_it.o(.text.CAN7_IRQHandler)
[Anonymous Symbol] 0x00000460 Section 0 vk035_it.o(.text.CAN8_IRQHandler)
[Anonymous Symbol] 0x00000464 Section 0 vk035_it.o(.text.CAN9_IRQHandler)
[Anonymous Symbol] 0x00000468 Section 0 vk035_it.o(.text.DMA_CH0_IRQHandler)
[Anonymous Symbol] 0x0000046c Section 0 vk035_it.o(.text.DMA_CH10_IRQHandler)
[Anonymous Symbol] 0x00000470 Section 0 vk035_it.o(.text.DMA_CH11_IRQHandler)
[Anonymous Symbol] 0x00000474 Section 0 vk035_it.o(.text.DMA_CH12_IRQHandler)
[Anonymous Symbol] 0x00000478 Section 0 vk035_it.o(.text.DMA_CH13_IRQHandler)
[Anonymous Symbol] 0x0000047c Section 0 vk035_it.o(.text.DMA_CH14_IRQHandler)
[Anonymous Symbol] 0x00000480 Section 0 vk035_it.o(.text.DMA_CH15_IRQHandler)
[Anonymous Symbol] 0x00000484 Section 0 vk035_it.o(.text.DMA_CH1_IRQHandler)
[Anonymous Symbol] 0x00000488 Section 0 vk035_it.o(.text.DMA_CH2_IRQHandler)
[Anonymous Symbol] 0x0000048c Section 0 vk035_it.o(.text.DMA_CH3_IRQHandler)
[Anonymous Symbol] 0x00000490 Section 0 vk035_it.o(.text.DMA_CH4_IRQHandler)
[Anonymous Symbol] 0x00000494 Section 0 vk035_it.o(.text.DMA_CH5_IRQHandler)
[Anonymous Symbol] 0x00000498 Section 0 vk035_it.o(.text.DMA_CH6_IRQHandler)
[Anonymous Symbol] 0x0000049c Section 0 vk035_it.o(.text.DMA_CH7_IRQHandler)
[Anonymous Symbol] 0x000004a0 Section 0 vk035_it.o(.text.DMA_CH8_IRQHandler)
[Anonymous Symbol] 0x000004a4 Section 0 vk035_it.o(.text.DMA_CH9_IRQHandler)
[Anonymous Symbol] 0x000004a8 Section 0 vk035_it.o(.text.DebugMon_Handler)
[Anonymous Symbol] 0x000004ac Section 0 vk035_it.o(.text.ECAP0_IRQHandler)
[Anonymous Symbol] 0x000004b0 Section 0 vk035_it.o(.text.ECAP1_IRQHandler)
[Anonymous Symbol] 0x000004b4 Section 0 vk035_it.o(.text.ECAP2_IRQHandler)
[Anonymous Symbol] 0x000004b8 Section 0 main.o(.text.Error_Handler)
[Anonymous Symbol] 0x000004c4 Section 0 vk035_it.o(.text.FPU_IRQHandler)
[Anonymous Symbol] 0x000004c8 Section 0 vk035_it.o(.text.GPIOA_IRQHandler)
[Anonymous Symbol] 0x000004cc Section 0 vk035_it.o(.text.GPIOB_IRQHandler)
[Anonymous Symbol] 0x000004d0 Section 0 plib035_gpio.o(.text.GPIO_DeInit)
[Anonymous Symbol] 0x000004f8 Section 0 plib035_gpio.o(.text.GPIO_Init)
[Anonymous Symbol] 0x000005f8 Section 0 plib035_gpio.o(.text.GPIO_StructInit)
[Anonymous Symbol] 0x00000608 Section 0 vk035_it.o(.text.HardFault_Handler)
[Anonymous Symbol] 0x0000060c Section 0 vk035_it.o(.text.I2C_IRQHandler)
[Anonymous Symbol] 0x00000610 Section 0 vk035_it.o(.text.MFLASH_IRQHandler)
[Anonymous Symbol] 0x00000614 Section 0 vk035_it.o(.text.MemManage_Handler)
[Anonymous Symbol] 0x00000618 Section 0 vk035_it.o(.text.NMI_Handler)
[Anonymous Symbol] 0x0000061c Section 0 vk035_it.o(.text.PWM0_HD_IRQHandler)
[Anonymous Symbol] 0x00000620 Section 0 vk035_it.o(.text.PWM0_IRQHandler)
[Anonymous Symbol] 0x00000624 Section 0 vk035_it.o(.text.PWM0_TZ_IRQHandler)
[Anonymous Symbol] 0x00000628 Section 0 vk035_it.o(.text.PWM1_HD_IRQHandler)
[Anonymous Symbol] 0x0000062c Section 0 vk035_it.o(.text.PWM1_IRQHandler)
[Anonymous Symbol] 0x00000630 Section 0 vk035_it.o(.text.PWM1_TZ_IRQHandler)
[Anonymous Symbol] 0x00000634 Section 0 vk035_it.o(.text.PWM2_HD_IRQHandler)
[Anonymous Symbol] 0x00000638 Section 0 vk035_it.o(.text.PWM2_IRQHandler)
[Anonymous Symbol] 0x0000063c Section 0 vk035_it.o(.text.PWM2_TZ_IRQHandler)
[Anonymous Symbol] 0x00000640 Section 0 vk035_it.o(.text.PendSV_Handler)
[Anonymous Symbol] 0x00000644 Section 0 vk035_it.o(.text.QEP_IRQHandler)
[Anonymous Symbol] 0x00000648 Section 0 plib035_rcu.o(.text.RCU_GetOSEClkFreq)
[Anonymous Symbol] 0x00000654 Section 0 plib035_rcu.o(.text.RCU_GetOSIClkFreq)
[Anonymous Symbol] 0x00000660 Section 0 plib035_rcu.o(.text.RCU_GetPLLClkFreq)
[Anonymous Symbol] 0x0000069c Section 0 plib035_rcu.o(.text.RCU_GetPLLDivClkFreq)
[Anonymous Symbol] 0x000006e8 Section 0 plib035_rcu.o(.text.RCU_GetUARTClkFreq)
[Anonymous Symbol] 0x000007b0 Section 0 vk035_it.o(.text.RCU_IRQHandler)
[Anonymous Symbol] 0x000007b4 Section 0 plib035_rcu.o(.text.RCU_PLL_AutoConfig)
[Anonymous Symbol] 0x000009d0 Section 0 vk035_it.o(.text.SPI_RO_RT_IRQHandler)
[Anonymous Symbol] 0x000009d4 Section 0 vk035_it.o(.text.SPI_RX_IRQHandler)
[Anonymous Symbol] 0x000009d8 Section 0 vk035_it.o(.text.SPI_TX_IRQHandler)
[Anonymous Symbol] 0x000009dc Section 0 vk035_it.o(.text.SVC_Handler)
[Anonymous Symbol] 0x000009e0 Section 0 vk035_it.o(.text.SysTick_Handler)
[Anonymous Symbol] 0x000009e4 Section 0 system_k1921vk035.o(.text.SystemCoreClockUpdate)
[Anonymous Symbol] 0x00000a58 Section 0 system_k1921vk035.o(.text.SystemInit)
[Anonymous Symbol] 0x00000af0 Section 0 vk035_it.o(.text.TMR0_IRQHandler)
[Anonymous Symbol] 0x00000afc Section 0 vk035_it.o(.text.TMR1_IRQHandler)
[Anonymous Symbol] 0x00000b08 Section 0 vk035_it.o(.text.TMR2_IRQHandler)
[Anonymous Symbol] 0x00000b14 Section 0 vk035_it.o(.text.TMR3_IRQHandler)
[Anonymous Symbol] 0x00000b20 Section 0 plib035_tmr.o(.text.TMR_FreqConfig)
[Anonymous Symbol] 0x00000b28 Section 0 tmr.o(.text.TMR_Init)
[Anonymous Symbol] 0x00000ba0 Section 0 plib035_tmr.o(.text.TMR_PeriodConfig)
[Anonymous Symbol] 0x00000bb4 Section 0 vk035_it.o(.text.UART0_E_RT_IRQHandler)
[Anonymous Symbol] 0x00000bc0 Section 0 vk035_it.o(.text.UART0_RX_IRQHandler)
[Anonymous Symbol] 0x00000bcc Section 0 vk035_it.o(.text.UART0_TD_IRQHandler)
[Anonymous Symbol] 0x00000bd8 Section 0 vk035_it.o(.text.UART0_TX_IRQHandler)
[Anonymous Symbol] 0x00000be4 Section 0 vk035_it.o(.text.UART1_E_RT_IRQHandler)
[Anonymous Symbol] 0x00000bf0 Section 0 vk035_it.o(.text.UART1_RX_IRQHandler)
[Anonymous Symbol] 0x00000bfc Section 0 vk035_it.o(.text.UART1_TD_IRQHandler)
[Anonymous Symbol] 0x00000c08 Section 0 vk035_it.o(.text.UART1_TX_IRQHandler)
[Anonymous Symbol] 0x00000c14 Section 0 plib035_uart.o(.text.UART_DeInit)
[Anonymous Symbol] 0x00000c44 Section 0 plib035_uart.o(.text.UART_Init)
[Anonymous Symbol] 0x00000cfc Section 0 vk035_it.o(.text.UsageFault_Handler)
[Anonymous Symbol] 0x00000d00 Section 0 vk035_it.o(.text.WDT_IRQHandler)
[Anonymous Symbol] 0x00000d04 Section 0 adc.o(.text.adc_init_first)
[Anonymous Symbol] 0x00000d98 Section 0 adc.o(.text.adc_seq_handler)
[Anonymous Symbol] 0x00000f1c Section 0 adc.o(.text.adc_seq_start)
[Anonymous Symbol] 0x00000fa0 Section 0 adc.o(.text.adc_sw_start)
[Anonymous Symbol] 0x00000fb0 Section 0 gpio.o(.text.gpio_get_init)
[Anonymous Symbol] 0x00001000 Section 0 gpio.o(.text.gpio_init)
[Anonymous Symbol] 0x00001078 Section 0 main.o(.text.heartbit)
[Anonymous Symbol] 0x0000109c Section 0 main.o(.text.main)
[Anonymous Symbol] 0x00001114 Section 0 sysclk.o(.text.millis)
[Anonymous Symbol] 0x00001120 Section 0 sysclk.o(.text.millis_inc)
[Anonymous Symbol] 0x00001130 Section 0 main.o(.text.periph_init)
[Anonymous Symbol] 0x000011bc Section 0 sysclk.o(.text.rcu_set_clock_adc)
[Anonymous Symbol] 0x00001258 Section 0 main.o(.text.restart_receive)
[Anonymous Symbol] 0x00001284 Section 0 sysclk.o(.text.sysclk_init)
[Anonymous Symbol] 0x000012fc Section 0 tmr.o(.text.tmr_delay)
[Anonymous Symbol] 0x00001324 Section 0 tmr.o(.text.tmr_delay_done)
[Anonymous Symbol] 0x00001354 Section 0 tmr.o(.text.tmr_delay_start)
[Anonymous Symbol] 0x00001368 Section 0 tmr.o(.text.tmr_handler)
[Anonymous Symbol] 0x00001394 Section 0 tmr.o(.text.tmr_init_first)
[Anonymous Symbol] 0x00001460 Section 0 tmr.o(.text.tmr_set_callback)
[Anonymous Symbol] 0x00001478 Section 0 tmr.o(.text.tmr_start)
[Anonymous Symbol] 0x00001490 Section 0 uart.o(.text.uart1_gpio_init)
[Anonymous Symbol] 0x00001510 Section 0 uart.o(.text.uart_handler)
[Anonymous Symbol] 0x00001600 Section 0 uart.o(.text.uart_init_first)
[Anonymous Symbol] 0x00001674 Section 0 uart.o(.text.uart_receive_it)
[Anonymous Symbol] 0x000016ac Section 0 uart.o(.text.uart_set_callback)
[Anonymous Symbol] 0x000016dc Section 0 uart.o(.text.uart_start)
[Anonymous Symbol] 0x00001724 Section 0 uart.o(.text.uart_transmit)
[Anonymous Symbol] 0x000017c4 Section 0 uart.o(.text.uart_transmit_it)
$v0 0x0000183c Number 0 fpinit.o(x$fpl$fpinit)
x$fpl$fpinit 0x0000183c Section 26 fpinit.o(x$fpl$fpinit)
adc_seq0_config 0x20000000 Data 56 adc.o(.data.adc_seq0_config)
[Anonymous Symbol] 0x20000000 Section 0 adc.o(.data.adc_seq0_config)
gpioa_config 0x20000038 Data 192 gpio.o(.data.gpioa_config)
[Anonymous Symbol] 0x20000038 Section 0 gpio.o(.data.gpioa_config)
gpiob_config 0x200000f8 Data 192 gpio.o(.data.gpiob_config)
[Anonymous Symbol] 0x200000f8 Section 0 gpio.o(.data.gpiob_config)
tmr0_config 0x200001b8 Data 28 tmr.o(.data.tmr0_config)
[Anonymous Symbol] 0x200001b8 Section 0 tmr.o(.data.tmr0_config)
tmr1_config 0x200001d4 Data 28 tmr.o(.data.tmr1_config)
[Anonymous Symbol] 0x200001d4 Section 0 tmr.o(.data.tmr1_config)
tmr2_config 0x200001f0 Data 28 tmr.o(.data.tmr2_config)
[Anonymous Symbol] 0x200001f0 Section 0 tmr.o(.data.tmr2_config)
uart1_config 0x2000020c Data 28 uart.o(.data.uart1_config)
[Anonymous Symbol] 0x2000020c Section 0 uart.o(.data.uart1_config)
.bss 0x20000228 Section 96 libspace.o(.bss)
Heap_Mem 0x20000538 Data 512 startup_k1921vk035.o(HEAP)
HEAP 0x20000538 Section 512 startup_k1921vk035.o(HEAP)
Stack_Mem 0x20000738 Data 1024 startup_k1921vk035.o(STACK)
STACK 0x20000738 Section 1024 startup_k1921vk035.o(STACK)
__initial_sp 0x20000b38 Data 0 startup_k1921vk035.o(STACK)
Global Symbols
Symbol Name Value Ov Type Size Object(Section)
BuildAttributes$$THM_ISAv4$E$P$D$K$B$S$7EM$VFPi3$EXTD16$VFPS$VFMA$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$~IW$USESV6$~STKCKD$USESV7$~SHL$OTIME$ROPI$IEEEX$EBA8$UX$STANDARDLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE
__Vectors 0x00000000 Data 4 startup_k1921vk035.o(RESET)
__ARM_exceptions_init - Undefined Weak Reference
__alloca_initialize - Undefined Weak Reference
__arm_preinit_ - Undefined Weak Reference
__arm_relocate_pie_ - Undefined Weak Reference
__cpp_initialize__aeabi_ - Undefined Weak Reference
__cxa_finalize - Undefined Weak Reference
__rt_locale - Undefined Weak Reference
__sigvec_lookup - Undefined Weak Reference
_atexit_init - Undefined Weak Reference
_call_atexit_fns - Undefined Weak Reference
_clock_init - Undefined Weak Reference
_fp_trap_init - Undefined Weak Reference
_fp_trap_shutdown - Undefined Weak Reference
_get_lc_collate - Undefined Weak Reference
_get_lc_ctype - Undefined Weak Reference
_get_lc_monetary - Undefined Weak Reference
_get_lc_numeric - Undefined Weak Reference
_get_lc_time - Undefined Weak Reference
_getenv_init - Undefined Weak Reference
_handle_redirection - Undefined Weak Reference
_init_alloc - Undefined Weak Reference
_init_user_alloc - Undefined Weak Reference
_initio - Undefined Weak Reference
_rand_init - Undefined Weak Reference
_signal_finish - Undefined Weak Reference
_signal_init - Undefined Weak Reference
_terminate_alloc - Undefined Weak Reference
_terminate_user_alloc - Undefined Weak Reference
_terminateio - Undefined Weak Reference
__Vectors_End 0x00000158 Data 0 startup_k1921vk035.o(RESET)
__Vectors_Size 0x00000158 Number 0 startup_k1921vk035.o ABSOLUTE
__main 0x00000159 Thumb Code 8 __main.o(!!!main)
__scatterload 0x00000161 Thumb Code 0 __scatter.o(!!!scatter)
__scatterload_rt2 0x00000161 Thumb Code 44 __scatter.o(!!!scatter)
__scatterload_rt2_thumb_only 0x00000161 Thumb Code 0 __scatter.o(!!!scatter)
__scatterload_null 0x0000016f Thumb Code 0 __scatter.o(!!!scatter)
__decompress 0x00000195 Thumb Code 90 __dczerorl2.o(!!dczerorl2)
__decompress1 0x00000195 Thumb Code 0 __dczerorl2.o(!!dczerorl2)
__scatterload_zeroinit 0x000001f1 Thumb Code 28 __scatter_zi.o(!!handler_zi)
__rt_lib_init 0x0000020d Thumb Code 0 libinit.o(.ARM.Collect$$libinit$$00000000)
__rt_lib_init_fp_1 0x0000020f Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000001)
__rt_lib_init_alloca_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000030)
__rt_lib_init_argv_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002E)
__rt_lib_init_atexit_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001D)
__rt_lib_init_clock_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000023)
__rt_lib_init_cpp_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000034)
__rt_lib_init_exceptions_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000032)
__rt_lib_init_fp_trap_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000021)
__rt_lib_init_getenv_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000025)
__rt_lib_init_heap_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000C)
__rt_lib_init_lc_collate_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000013)
__rt_lib_init_lc_ctype_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000015)
__rt_lib_init_lc_monetary_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000017)
__rt_lib_init_lc_numeric_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000019)
__rt_lib_init_lc_time_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001B)
__rt_lib_init_preinit_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000006)
__rt_lib_init_rand_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000010)
__rt_lib_init_relocate_pie_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000004)
__rt_lib_init_return 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000035)
__rt_lib_init_signal_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001F)
__rt_lib_init_stdio_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000027)
__rt_lib_init_user_alloc_1 0x00000213 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000E)
__rt_lib_shutdown 0x00000215 Thumb Code 0 libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
__rt_lib_shutdown_cpp_1 0x00000217 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)
__rt_lib_shutdown_fp_trap_1 0x00000217 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)
__rt_lib_shutdown_heap_1 0x00000217 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)
__rt_lib_shutdown_return 0x00000217 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)
__rt_lib_shutdown_signal_1 0x00000217 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)
__rt_lib_shutdown_stdio_1 0x00000217 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)
__rt_lib_shutdown_user_alloc_1 0x00000217 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)
__rt_entry 0x00000219 Thumb Code 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000)
__rt_entry_presh_1 0x00000219 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002)
__rt_entry_sh 0x00000219 Thumb Code 0 __rtentry4.o(.ARM.Collect$$rtentry$$00000004)
__rt_entry_li 0x0000021f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
__rt_entry_postsh_1 0x0000021f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009)
__rt_entry_main 0x00000223 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
__rt_entry_postli_1 0x00000223 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
__rt_exit 0x0000022b Thumb Code 0 rtexit.o(.ARM.Collect$$rtexit$$00000000)
__rt_exit_ls 0x0000022d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000003)
__rt_exit_prels_1 0x0000022d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002)
__rt_exit_exit 0x00000231 Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000004)
Reset_Handler 0x00000239 Thumb Code 8 startup_k1921vk035.o(.text)
__user_initial_stackheap 0x00000255 Thumb Code 0 startup_k1921vk035.o(.text)
__use_two_region_memory 0x00000279 Thumb Code 2 heapauxi.o(.text)
__rt_heap_escrow$2region 0x0000027b Thumb Code 2 heapauxi.o(.text)
__rt_heap_expand$2region 0x0000027d Thumb Code 2 heapauxi.o(.text)
__user_libspace 0x00000281 Thumb Code 8 libspace.o(.text)
__user_perproc_libspace 0x00000281 Thumb Code 0 libspace.o(.text)
__user_perthread_libspace 0x00000281 Thumb Code 0 libspace.o(.text)
__user_setup_stackheap 0x00000289 Thumb Code 74 sys_stackheap_outer.o(.text)
exit 0x000002d3 Thumb Code 18 exit.o(.text)
_sys_exit 0x000002e5 Thumb Code 8 sys_exit.o(.text)
__I$use$semihosting 0x000002f1 Thumb Code 0 use_no_semi.o(.text)
__use_no_semihosting_swi 0x000002f1 Thumb Code 2 use_no_semi.o(.text)
__semihosting_library_function 0x000002f3 Thumb Code 0 indicate_semi.o(.text)
ADC_DC_IRQHandler 0x000002f5 Thumb Code 2 vk035_it.o(.text.ADC_DC_IRQHandler)
ADC_SEQ0_IRQHandler 0x000002f9 Thumb Code 14 vk035_it.o(.text.ADC_SEQ0_IRQHandler)
ADC_SEQ1_IRQHandler 0x00000309 Thumb Code 14 vk035_it.o(.text.ADC_SEQ1_IRQHandler)
ADC_SEQ_Init 0x00000319 Thumb Code 266 plib035_adc.o(.text.ADC_SEQ_Init)
BusFault_Handler 0x00000425 Thumb Code 2 vk035_it.o(.text.BusFault_Handler)
CAN0_IRQHandler 0x00000429 Thumb Code 2 vk035_it.o(.text.CAN0_IRQHandler)
CAN10_IRQHandler 0x0000042d Thumb Code 2 vk035_it.o(.text.CAN10_IRQHandler)
CAN11_IRQHandler 0x00000431 Thumb Code 2 vk035_it.o(.text.CAN11_IRQHandler)
CAN12_IRQHandler 0x00000435 Thumb Code 2 vk035_it.o(.text.CAN12_IRQHandler)
CAN13_IRQHandler 0x00000439 Thumb Code 2 vk035_it.o(.text.CAN13_IRQHandler)
CAN14_IRQHandler 0x0000043d Thumb Code 2 vk035_it.o(.text.CAN14_IRQHandler)
CAN15_IRQHandler 0x00000441 Thumb Code 2 vk035_it.o(.text.CAN15_IRQHandler)
CAN1_IRQHandler 0x00000445 Thumb Code 2 vk035_it.o(.text.CAN1_IRQHandler)
CAN2_IRQHandler 0x00000449 Thumb Code 2 vk035_it.o(.text.CAN2_IRQHandler)
CAN3_IRQHandler 0x0000044d Thumb Code 2 vk035_it.o(.text.CAN3_IRQHandler)
CAN4_IRQHandler 0x00000451 Thumb Code 2 vk035_it.o(.text.CAN4_IRQHandler)
CAN5_IRQHandler 0x00000455 Thumb Code 2 vk035_it.o(.text.CAN5_IRQHandler)
CAN6_IRQHandler 0x00000459 Thumb Code 2 vk035_it.o(.text.CAN6_IRQHandler)
CAN7_IRQHandler 0x0000045d Thumb Code 2 vk035_it.o(.text.CAN7_IRQHandler)
CAN8_IRQHandler 0x00000461 Thumb Code 2 vk035_it.o(.text.CAN8_IRQHandler)
CAN9_IRQHandler 0x00000465 Thumb Code 2 vk035_it.o(.text.CAN9_IRQHandler)
DMA_CH0_IRQHandler 0x00000469 Thumb Code 2 vk035_it.o(.text.DMA_CH0_IRQHandler)
DMA_CH10_IRQHandler 0x0000046d Thumb Code 2 vk035_it.o(.text.DMA_CH10_IRQHandler)
DMA_CH11_IRQHandler 0x00000471 Thumb Code 2 vk035_it.o(.text.DMA_CH11_IRQHandler)
DMA_CH12_IRQHandler 0x00000475 Thumb Code 2 vk035_it.o(.text.DMA_CH12_IRQHandler)
DMA_CH13_IRQHandler 0x00000479 Thumb Code 2 vk035_it.o(.text.DMA_CH13_IRQHandler)
DMA_CH14_IRQHandler 0x0000047d Thumb Code 2 vk035_it.o(.text.DMA_CH14_IRQHandler)
DMA_CH15_IRQHandler 0x00000481 Thumb Code 2 vk035_it.o(.text.DMA_CH15_IRQHandler)
DMA_CH1_IRQHandler 0x00000485 Thumb Code 2 vk035_it.o(.text.DMA_CH1_IRQHandler)
DMA_CH2_IRQHandler 0x00000489 Thumb Code 2 vk035_it.o(.text.DMA_CH2_IRQHandler)
DMA_CH3_IRQHandler 0x0000048d Thumb Code 2 vk035_it.o(.text.DMA_CH3_IRQHandler)
DMA_CH4_IRQHandler 0x00000491 Thumb Code 2 vk035_it.o(.text.DMA_CH4_IRQHandler)
DMA_CH5_IRQHandler 0x00000495 Thumb Code 2 vk035_it.o(.text.DMA_CH5_IRQHandler)
DMA_CH6_IRQHandler 0x00000499 Thumb Code 2 vk035_it.o(.text.DMA_CH6_IRQHandler)
DMA_CH7_IRQHandler 0x0000049d Thumb Code 2 vk035_it.o(.text.DMA_CH7_IRQHandler)
DMA_CH8_IRQHandler 0x000004a1 Thumb Code 2 vk035_it.o(.text.DMA_CH8_IRQHandler)
DMA_CH9_IRQHandler 0x000004a5 Thumb Code 2 vk035_it.o(.text.DMA_CH9_IRQHandler)
DebugMon_Handler 0x000004a9 Thumb Code 2 vk035_it.o(.text.DebugMon_Handler)
ECAP0_IRQHandler 0x000004ad Thumb Code 2 vk035_it.o(.text.ECAP0_IRQHandler)
ECAP1_IRQHandler 0x000004b1 Thumb Code 2 vk035_it.o(.text.ECAP1_IRQHandler)
ECAP2_IRQHandler 0x000004b5 Thumb Code 2 vk035_it.o(.text.ECAP2_IRQHandler)
Error_Handler 0x000004b9 Thumb Code 10 main.o(.text.Error_Handler)
FPU_IRQHandler 0x000004c5 Thumb Code 2 vk035_it.o(.text.FPU_IRQHandler)
GPIOA_IRQHandler 0x000004c9 Thumb Code 2 vk035_it.o(.text.GPIOA_IRQHandler)
GPIOB_IRQHandler 0x000004cd Thumb Code 2 vk035_it.o(.text.GPIOB_IRQHandler)
GPIO_DeInit 0x000004d1 Thumb Code 38 plib035_gpio.o(.text.GPIO_DeInit)
GPIO_Init 0x000004f9 Thumb Code 254 plib035_gpio.o(.text.GPIO_Init)
GPIO_StructInit 0x000005f9 Thumb Code 16 plib035_gpio.o(.text.GPIO_StructInit)
HardFault_Handler 0x00000609 Thumb Code 2 vk035_it.o(.text.HardFault_Handler)
I2C_IRQHandler 0x0000060d Thumb Code 2 vk035_it.o(.text.I2C_IRQHandler)
MFLASH_IRQHandler 0x00000611 Thumb Code 2 vk035_it.o(.text.MFLASH_IRQHandler)
MemManage_Handler 0x00000615 Thumb Code 2 vk035_it.o(.text.MemManage_Handler)
NMI_Handler 0x00000619 Thumb Code 2 vk035_it.o(.text.NMI_Handler)
PWM0_HD_IRQHandler 0x0000061d Thumb Code 2 vk035_it.o(.text.PWM0_HD_IRQHandler)
PWM0_IRQHandler 0x00000621 Thumb Code 2 vk035_it.o(.text.PWM0_IRQHandler)
PWM0_TZ_IRQHandler 0x00000625 Thumb Code 2 vk035_it.o(.text.PWM0_TZ_IRQHandler)
PWM1_HD_IRQHandler 0x00000629 Thumb Code 2 vk035_it.o(.text.PWM1_HD_IRQHandler)
PWM1_IRQHandler 0x0000062d Thumb Code 2 vk035_it.o(.text.PWM1_IRQHandler)
PWM1_TZ_IRQHandler 0x00000631 Thumb Code 2 vk035_it.o(.text.PWM1_TZ_IRQHandler)
PWM2_HD_IRQHandler 0x00000635 Thumb Code 2 vk035_it.o(.text.PWM2_HD_IRQHandler)
PWM2_IRQHandler 0x00000639 Thumb Code 2 vk035_it.o(.text.PWM2_IRQHandler)
PWM2_TZ_IRQHandler 0x0000063d Thumb Code 2 vk035_it.o(.text.PWM2_TZ_IRQHandler)
PendSV_Handler 0x00000641 Thumb Code 2 vk035_it.o(.text.PendSV_Handler)
QEP_IRQHandler 0x00000645 Thumb Code 2 vk035_it.o(.text.QEP_IRQHandler)
RCU_GetOSEClkFreq 0x00000649 Thumb Code 10 plib035_rcu.o(.text.RCU_GetOSEClkFreq)
RCU_GetOSIClkFreq 0x00000655 Thumb Code 10 plib035_rcu.o(.text.RCU_GetOSIClkFreq)
RCU_GetPLLClkFreq 0x00000661 Thumb Code 58 plib035_rcu.o(.text.RCU_GetPLLClkFreq)
RCU_GetPLLDivClkFreq 0x0000069d Thumb Code 76 plib035_rcu.o(.text.RCU_GetPLLDivClkFreq)
RCU_GetUARTClkFreq 0x000006e9 Thumb Code 200 plib035_rcu.o(.text.RCU_GetUARTClkFreq)
RCU_IRQHandler 0x000007b1 Thumb Code 2 vk035_it.o(.text.RCU_IRQHandler)
RCU_PLL_AutoConfig 0x000007b5 Thumb Code 540 plib035_rcu.o(.text.RCU_PLL_AutoConfig)
SPI_RO_RT_IRQHandler 0x000009d1 Thumb Code 2 vk035_it.o(.text.SPI_RO_RT_IRQHandler)
SPI_RX_IRQHandler 0x000009d5 Thumb Code 2 vk035_it.o(.text.SPI_RX_IRQHandler)
SPI_TX_IRQHandler 0x000009d9 Thumb Code 2 vk035_it.o(.text.SPI_TX_IRQHandler)
SVC_Handler 0x000009dd Thumb Code 2 vk035_it.o(.text.SVC_Handler)
SysTick_Handler 0x000009e1 Thumb Code 4 vk035_it.o(.text.SysTick_Handler)
SystemCoreClockUpdate 0x000009e5 Thumb Code 114 system_k1921vk035.o(.text.SystemCoreClockUpdate)
SystemInit 0x00000a59 Thumb Code 150 system_k1921vk035.o(.text.SystemInit)
TMR0_IRQHandler 0x00000af1 Thumb Code 12 vk035_it.o(.text.TMR0_IRQHandler)
TMR1_IRQHandler 0x00000afd Thumb Code 12 vk035_it.o(.text.TMR1_IRQHandler)
TMR2_IRQHandler 0x00000b09 Thumb Code 12 vk035_it.o(.text.TMR2_IRQHandler)
TMR3_IRQHandler 0x00000b15 Thumb Code 12 vk035_it.o(.text.TMR3_IRQHandler)
TMR_FreqConfig 0x00000b21 Thumb Code 8 plib035_tmr.o(.text.TMR_FreqConfig)
TMR_Init 0x00000b29 Thumb Code 120 tmr.o(.text.TMR_Init)
TMR_PeriodConfig 0x00000ba1 Thumb Code 20 plib035_tmr.o(.text.TMR_PeriodConfig)
UART0_E_RT_IRQHandler 0x00000bb5 Thumb Code 12 vk035_it.o(.text.UART0_E_RT_IRQHandler)
UART0_RX_IRQHandler 0x00000bc1 Thumb Code 12 vk035_it.o(.text.UART0_RX_IRQHandler)
UART0_TD_IRQHandler 0x00000bcd Thumb Code 12 vk035_it.o(.text.UART0_TD_IRQHandler)
UART0_TX_IRQHandler 0x00000bd9 Thumb Code 12 vk035_it.o(.text.UART0_TX_IRQHandler)
UART1_E_RT_IRQHandler 0x00000be5 Thumb Code 12 vk035_it.o(.text.UART1_E_RT_IRQHandler)
UART1_RX_IRQHandler 0x00000bf1 Thumb Code 12 vk035_it.o(.text.UART1_RX_IRQHandler)
UART1_TD_IRQHandler 0x00000bfd Thumb Code 12 vk035_it.o(.text.UART1_TD_IRQHandler)
UART1_TX_IRQHandler 0x00000c09 Thumb Code 12 vk035_it.o(.text.UART1_TX_IRQHandler)
UART_DeInit 0x00000c15 Thumb Code 48 plib035_uart.o(.text.UART_DeInit)
UART_Init 0x00000c45 Thumb Code 184 plib035_uart.o(.text.UART_Init)
UsageFault_Handler 0x00000cfd Thumb Code 2 vk035_it.o(.text.UsageFault_Handler)
WDT_IRQHandler 0x00000d01 Thumb Code 2 vk035_it.o(.text.WDT_IRQHandler)
adc_init_first 0x00000d05 Thumb Code 148 adc.o(.text.adc_init_first)
adc_seq_handler 0x00000d99 Thumb Code 388 adc.o(.text.adc_seq_handler)
adc_seq_start 0x00000f1d Thumb Code 130 adc.o(.text.adc_seq_start)
adc_sw_start 0x00000fa1 Thumb Code 16 adc.o(.text.adc_sw_start)
gpio_get_init 0x00000fb1 Thumb Code 78 gpio.o(.text.gpio_get_init)
gpio_init 0x00001001 Thumb Code 118 gpio.o(.text.gpio_init)
heartbit 0x00001079 Thumb Code 20 main.o(.text.heartbit)
main 0x0000109d Thumb Code 118 main.o(.text.main)
millis 0x00001115 Thumb Code 12 sysclk.o(.text.millis)
millis_inc 0x00001121 Thumb Code 16 sysclk.o(.text.millis_inc)
periph_init 0x00001131 Thumb Code 138 main.o(.text.periph_init)
rcu_set_clock_adc 0x000011bd Thumb Code 156 sysclk.o(.text.rcu_set_clock_adc)
restart_receive 0x00001259 Thumb Code 42 main.o(.text.restart_receive)
sysclk_init 0x00001285 Thumb Code 120 sysclk.o(.text.sysclk_init)
tmr_delay 0x000012fd Thumb Code 40 tmr.o(.text.tmr_delay)
tmr_delay_done 0x00001325 Thumb Code 46 tmr.o(.text.tmr_delay_done)
tmr_delay_start 0x00001355 Thumb Code 18 tmr.o(.text.tmr_delay_start)
tmr_handler 0x00001369 Thumb Code 44 tmr.o(.text.tmr_handler)
tmr_init_first 0x00001395 Thumb Code 204 tmr.o(.text.tmr_init_first)
tmr_set_callback 0x00001461 Thumb Code 22 tmr.o(.text.tmr_set_callback)
tmr_start 0x00001479 Thumb Code 22 tmr.o(.text.tmr_start)
uart1_gpio_init 0x00001491 Thumb Code 126 uart.o(.text.uart1_gpio_init)
uart_handler 0x00001511 Thumb Code 240 uart.o(.text.uart_handler)
uart_init_first 0x00001601 Thumb Code 114 uart.o(.text.uart_init_first)
uart_receive_it 0x00001675 Thumb Code 56 uart.o(.text.uart_receive_it)
uart_set_callback 0x000016ad Thumb Code 46 uart.o(.text.uart_set_callback)
uart_start 0x000016dd Thumb Code 72 uart.o(.text.uart_start)
uart_transmit 0x00001725 Thumb Code 160 uart.o(.text.uart_transmit)
uart_transmit_it 0x000017c5 Thumb Code 120 uart.o(.text.uart_transmit_it)
_fp_init 0x0000183d Thumb Code 26 fpinit.o(x$fpl$fpinit)
__fplib_config_fpu_vfp 0x00001855 Thumb Code 0 fpinit.o(x$fpl$fpinit)
__fplib_config_pureend_doubles 0x00001855 Thumb Code 0 fpinit.o(x$fpl$fpinit)
Region$$Table$$Base 0x00001858 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x00001878 Number 0 anon$$obj.o(Region$$Table)
__libspace_start 0x20000228 Data 96 libspace.o(.bss)
SystemCoreClock 0x20000288 Data 4 system_k1921vk035.o(.bss.SystemCoreClock)
__temporary_stack_top$libspace 0x20000288 Data 0 libspace.o(.bss)
adc_buff 0x2000028c Data 400 main.o(.bss.adc_buff)
hadc 0x2000041c Data 168 adc.o(.bss.hadc)
htmr0 0x200004c4 Data 8 tmr.o(.bss.htmr0)
htmr1 0x200004cc Data 8 tmr.o(.bss.htmr1)
htmr2 0x200004d4 Data 8 tmr.o(.bss.htmr2)
htmr3 0x200004dc Data 8 tmr.o(.bss.htmr3)
huart0 0x200004e4 Data 32 uart.o(.bss.huart0)
huart1 0x20000504 Data 32 uart.o(.bss.huart1)
rxbuff 0x20000524 Data 10 main.o(.bss.rxbuff)
uwTick 0x20000530 Data 4 sysclk.o(.bss.uwTick)
==============================================================================
Memory Map of the image
Image Entry point : 0x00000239
Load Region LR_1 (Base: 0x00000000, Size: 0x00001aa0, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x000018c8])
Execution Region ER_RO (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x00001878, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x00000000 0x00000000 0x00000158 Data RO 492 RESET startup_k1921vk035.o
0x00000158 0x00000158 0x00000008 Code RO 785 * !!!main c_w.l(__main.o)
0x00000160 0x00000160 0x00000034 Code RO 1005 !!!scatter c_w.l(__scatter.o)
0x00000194 0x00000194 0x0000005a Code RO 1003 !!dczerorl2 c_w.l(__dczerorl2.o)
0x000001ee 0x000001ee 0x00000002 PAD
0x000001f0 0x000001f0 0x0000001c Code RO 1007 !!handler_zi c_w.l(__scatter_zi.o)
0x0000020c 0x0000020c 0x00000002 Code RO 868 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x0000020e 0x0000020e 0x00000004 Code RO 877 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 880 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 882 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 885 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 887 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 889 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 892 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 894 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 896 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 898 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 900 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 902 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 904 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 906 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 908 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 910 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 912 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 916 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 918 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 920 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000000 Code RO 922 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o)
0x00000212 0x00000212 0x00000002 Code RO 923 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o)
0x00000214 0x00000214 0x00000002 Code RO 958 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
0x00000216 0x00000216 0x00000000 Code RO 986 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
0x00000216 0x00000216 0x00000000 Code RO 988 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
0x00000216 0x00000216 0x00000000 Code RO 991 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o)
0x00000216 0x00000216 0x00000000 Code RO 994 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o)
0x00000216 0x00000216 0x00000000 Code RO 996 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
0x00000216 0x00000216 0x00000000 Code RO 999 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
0x00000216 0x00000216 0x00000002 Code RO 1000 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o)
0x00000218 0x00000218 0x00000000 Code RO 801 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
0x00000218 0x00000218 0x00000000 Code RO 831 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x00000218 0x00000218 0x00000006 Code RO 843 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
0x0000021e 0x0000021e 0x00000000 Code RO 833 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0000021e 0x0000021e 0x00000004 Code RO 834 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
0x00000222 0x00000222 0x00000000 Code RO 836 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
0x00000222 0x00000222 0x00000008 Code RO 837 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
0x0000022a 0x0000022a 0x00000002 Code RO 869 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
0x0000022c 0x0000022c 0x00000000 Code RO 929 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0000022c 0x0000022c 0x00000004 Code RO 930 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
0x00000230 0x00000230 0x00000006 Code RO 931 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x00000236 0x00000236 0x00000002 PAD
0x00000238 0x00000238 0x00000040 Code RO 493 * .text startup_k1921vk035.o
0x00000278 0x00000278 0x00000006 Code RO 783 .text c_w.l(heapauxi.o)
0x0000027e 0x0000027e 0x00000002 PAD
0x00000280 0x00000280 0x00000008 Code RO 852 .text c_w.l(libspace.o)
0x00000288 0x00000288 0x0000004a Code RO 855 .text c_w.l(sys_stackheap_outer.o)
0x000002d2 0x000002d2 0x00000012 Code RO 857 .text c_w.l(exit.o)
0x000002e4 0x000002e4 0x0000000c Code RO 924 .text c_w.l(sys_exit.o)
0x000002f0 0x000002f0 0x00000002 Code RO 947 .text c_w.l(use_no_semi.o)
0x000002f2 0x000002f2 0x00000000 Code RO 949 .text c_w.l(indicate_semi.o)
0x000002f2 0x000002f2 0x00000002 PAD
0x000002f4 0x000002f4 0x00000002 Code RO 222 .text.ADC_DC_IRQHandler vk035_it.o
0x000002f6 0x000002f6 0x00000002 PAD
0x000002f8 0x000002f8 0x0000000e Code RO 218 .text.ADC_SEQ0_IRQHandler vk035_it.o
0x00000306 0x00000306 0x00000002 PAD
0x00000308 0x00000308 0x0000000e Code RO 220 .text.ADC_SEQ1_IRQHandler vk035_it.o
0x00000316 0x00000316 0x00000002 PAD
0x00000318 0x00000318 0x0000010a Code RO 502 .text.ADC_SEQ_Init plib035_adc.o
0x00000422 0x00000422 0x00000002 PAD
0x00000424 0x00000424 0x00000002 Code RO 302 .text.BusFault_Handler vk035_it.o
0x00000426 0x00000426 0x00000002 PAD
0x00000428 0x00000428 0x00000002 Code RO 224 .text.CAN0_IRQHandler vk035_it.o
0x0000042a 0x0000042a 0x00000002 PAD
0x0000042c 0x0000042c 0x00000002 Code RO 244 .text.CAN10_IRQHandler vk035_it.o
0x0000042e 0x0000042e 0x00000002 PAD
0x00000430 0x00000430 0x00000002 Code RO 246 .text.CAN11_IRQHandler vk035_it.o
0x00000432 0x00000432 0x00000002 PAD
0x00000434 0x00000434 0x00000002 Code RO 248 .text.CAN12_IRQHandler vk035_it.o
0x00000436 0x00000436 0x00000002 PAD
0x00000438 0x00000438 0x00000002 Code RO 250 .text.CAN13_IRQHandler vk035_it.o
0x0000043a 0x0000043a 0x00000002 PAD
0x0000043c 0x0000043c 0x00000002 Code RO 252 .text.CAN14_IRQHandler vk035_it.o
0x0000043e 0x0000043e 0x00000002 PAD
0x00000440 0x00000440 0x00000002 Code RO 254 .text.CAN15_IRQHandler vk035_it.o
0x00000442 0x00000442 0x00000002 PAD
0x00000444 0x00000444 0x00000002 Code RO 226 .text.CAN1_IRQHandler vk035_it.o
0x00000446 0x00000446 0x00000002 PAD
0x00000448 0x00000448 0x00000002 Code RO 228 .text.CAN2_IRQHandler vk035_it.o
0x0000044a 0x0000044a 0x00000002 PAD
0x0000044c 0x0000044c 0x00000002 Code RO 230 .text.CAN3_IRQHandler vk035_it.o
0x0000044e 0x0000044e 0x00000002 PAD
0x00000450 0x00000450 0x00000002 Code RO 232 .text.CAN4_IRQHandler vk035_it.o
0x00000452 0x00000452 0x00000002 PAD
0x00000454 0x00000454 0x00000002 Code RO 234 .text.CAN5_IRQHandler vk035_it.o
0x00000456 0x00000456 0x00000002 PAD
0x00000458 0x00000458 0x00000002 Code RO 236 .text.CAN6_IRQHandler vk035_it.o
0x0000045a 0x0000045a 0x00000002 PAD
0x0000045c 0x0000045c 0x00000002 Code RO 238 .text.CAN7_IRQHandler vk035_it.o
0x0000045e 0x0000045e 0x00000002 PAD
0x00000460 0x00000460 0x00000002 Code RO 240 .text.CAN8_IRQHandler vk035_it.o
0x00000462 0x00000462 0x00000002 PAD
0x00000464 0x00000464 0x00000002 Code RO 242 .text.CAN9_IRQHandler vk035_it.o
0x00000466 0x00000466 0x00000002 PAD
0x00000468 0x00000468 0x00000002 Code RO 258 .text.DMA_CH0_IRQHandler vk035_it.o
0x0000046a 0x0000046a 0x00000002 PAD
0x0000046c 0x0000046c 0x00000002 Code RO 278 .text.DMA_CH10_IRQHandler vk035_it.o
0x0000046e 0x0000046e 0x00000002 PAD
0x00000470 0x00000470 0x00000002 Code RO 280 .text.DMA_CH11_IRQHandler vk035_it.o
0x00000472 0x00000472 0x00000002 PAD
0x00000474 0x00000474 0x00000002 Code RO 282 .text.DMA_CH12_IRQHandler vk035_it.o
0x00000476 0x00000476 0x00000002 PAD
0x00000478 0x00000478 0x00000002 Code RO 284 .text.DMA_CH13_IRQHandler vk035_it.o
0x0000047a 0x0000047a 0x00000002 PAD
0x0000047c 0x0000047c 0x00000002 Code RO 286 .text.DMA_CH14_IRQHandler vk035_it.o
0x0000047e 0x0000047e 0x00000002 PAD
0x00000480 0x00000480 0x00000002 Code RO 288 .text.DMA_CH15_IRQHandler vk035_it.o
0x00000482 0x00000482 0x00000002 PAD
0x00000484 0x00000484 0x00000002 Code RO 260 .text.DMA_CH1_IRQHandler vk035_it.o
0x00000486 0x00000486 0x00000002 PAD
0x00000488 0x00000488 0x00000002 Code RO 262 .text.DMA_CH2_IRQHandler vk035_it.o
0x0000048a 0x0000048a 0x00000002 PAD
0x0000048c 0x0000048c 0x00000002 Code RO 264 .text.DMA_CH3_IRQHandler vk035_it.o
0x0000048e 0x0000048e 0x00000002 PAD
0x00000490 0x00000490 0x00000002 Code RO 266 .text.DMA_CH4_IRQHandler vk035_it.o
0x00000492 0x00000492 0x00000002 PAD
0x00000494 0x00000494 0x00000002 Code RO 268 .text.DMA_CH5_IRQHandler vk035_it.o
0x00000496 0x00000496 0x00000002 PAD
0x00000498 0x00000498 0x00000002 Code RO 270 .text.DMA_CH6_IRQHandler vk035_it.o
0x0000049a 0x0000049a 0x00000002 PAD
0x0000049c 0x0000049c 0x00000002 Code RO 272 .text.DMA_CH7_IRQHandler vk035_it.o
0x0000049e 0x0000049e 0x00000002 PAD
0x000004a0 0x000004a0 0x00000002 Code RO 274 .text.DMA_CH8_IRQHandler vk035_it.o
0x000004a2 0x000004a2 0x00000002 PAD
0x000004a4 0x000004a4 0x00000002 Code RO 276 .text.DMA_CH9_IRQHandler vk035_it.o
0x000004a6 0x000004a6 0x00000002 PAD
0x000004a8 0x000004a8 0x00000002 Code RO 308 .text.DebugMon_Handler vk035_it.o
0x000004aa 0x000004aa 0x00000002 PAD
0x000004ac 0x000004ac 0x00000002 Code RO 192 .text.ECAP0_IRQHandler vk035_it.o
0x000004ae 0x000004ae 0x00000002 PAD
0x000004b0 0x000004b0 0x00000002 Code RO 194 .text.ECAP1_IRQHandler vk035_it.o
0x000004b2 0x000004b2 0x00000002 PAD
0x000004b4 0x000004b4 0x00000002 Code RO 196 .text.ECAP2_IRQHandler vk035_it.o
0x000004b6 0x000004b6 0x00000002 PAD
0x000004b8 0x000004b8 0x0000000a Code RO 10 .text.Error_Handler main.o
0x000004c2 0x000004c2 0x00000002 PAD
0x000004c4 0x000004c4 0x00000002 Code RO 256 .text.FPU_IRQHandler vk035_it.o
0x000004c6 0x000004c6 0x00000002 PAD
0x000004c8 0x000004c8 0x00000002 Code RO 156 .text.GPIOA_IRQHandler vk035_it.o
0x000004ca 0x000004ca 0x00000002 PAD
0x000004cc 0x000004cc 0x00000002 Code RO 158 .text.GPIOB_IRQHandler vk035_it.o
0x000004ce 0x000004ce 0x00000002 PAD
0x000004d0 0x000004d0 0x00000026 Code RO 569 .text.GPIO_DeInit plib035_gpio.o
0x000004f6 0x000004f6 0x00000002 PAD
0x000004f8 0x000004f8 0x000000fe Code RO 571 .text.GPIO_Init plib035_gpio.o
0x000005f6 0x000005f6 0x00000002 PAD
0x000005f8 0x000005f8 0x00000010 Code RO 573 .text.GPIO_StructInit plib035_gpio.o
0x00000608 0x00000608 0x00000002 Code RO 298 .text.HardFault_Handler vk035_it.o
0x0000060a 0x0000060a 0x00000002 PAD
0x0000060c 0x0000060c 0x00000002 Code RO 190 .text.I2C_IRQHandler vk035_it.o
0x0000060e 0x0000060e 0x00000002 PAD
0x00000610 0x00000610 0x00000002 Code RO 294 .text.MFLASH_IRQHandler vk035_it.o
0x00000612 0x00000612 0x00000002 PAD
0x00000614 0x00000614 0x00000002 Code RO 300 .text.MemManage_Handler vk035_it.o
0x00000616 0x00000616 0x00000002 PAD
0x00000618 0x00000618 0x00000002 Code RO 296 .text.NMI_Handler vk035_it.o
0x0000061a 0x0000061a 0x00000002 PAD
0x0000061c 0x0000061c 0x00000002 Code RO 200 .text.PWM0_HD_IRQHandler vk035_it.o
0x0000061e 0x0000061e 0x00000002 PAD
0x00000620 0x00000620 0x00000002 Code RO 198 .text.PWM0_IRQHandler vk035_it.o
0x00000622 0x00000622 0x00000002 PAD
0x00000624 0x00000624 0x00000002 Code RO 202 .text.PWM0_TZ_IRQHandler vk035_it.o
0x00000626 0x00000626 0x00000002 PAD
0x00000628 0x00000628 0x00000002 Code RO 206 .text.PWM1_HD_IRQHandler vk035_it.o
0x0000062a 0x0000062a 0x00000002 PAD
0x0000062c 0x0000062c 0x00000002 Code RO 204 .text.PWM1_IRQHandler vk035_it.o
0x0000062e 0x0000062e 0x00000002 PAD
0x00000630 0x00000630 0x00000002 Code RO 208 .text.PWM1_TZ_IRQHandler vk035_it.o
0x00000632 0x00000632 0x00000002 PAD
0x00000634 0x00000634 0x00000002 Code RO 212 .text.PWM2_HD_IRQHandler vk035_it.o
0x00000636 0x00000636 0x00000002 PAD
0x00000638 0x00000638 0x00000002 Code RO 210 .text.PWM2_IRQHandler vk035_it.o
0x0000063a 0x0000063a 0x00000002 PAD
0x0000063c 0x0000063c 0x00000002 Code RO 214 .text.PWM2_TZ_IRQHandler vk035_it.o
0x0000063e 0x0000063e 0x00000002 PAD
0x00000640 0x00000640 0x00000002 Code RO 310 .text.PendSV_Handler vk035_it.o
0x00000642 0x00000642 0x00000002 PAD
0x00000644 0x00000644 0x00000002 Code RO 216 .text.QEP_IRQHandler vk035_it.o
0x00000646 0x00000646 0x00000002 PAD
0x00000648 0x00000648 0x0000000a Code RO 674 .text.RCU_GetOSEClkFreq plib035_rcu.o
0x00000652 0x00000652 0x00000002 PAD
0x00000654 0x00000654 0x0000000a Code RO 672 .text.RCU_GetOSIClkFreq plib035_rcu.o
0x0000065e 0x0000065e 0x00000002 PAD
0x00000660 0x00000660 0x0000003a Code RO 676 .text.RCU_GetPLLClkFreq plib035_rcu.o
0x0000069a 0x0000069a 0x00000002 PAD
0x0000069c 0x0000069c 0x0000004c Code RO 678 .text.RCU_GetPLLDivClkFreq plib035_rcu.o
0x000006e8 0x000006e8 0x000000c8 Code RO 682 .text.RCU_GetUARTClkFreq plib035_rcu.o
0x000007b0 0x000007b0 0x00000002 Code RO 292 .text.RCU_IRQHandler vk035_it.o
0x000007b2 0x000007b2 0x00000002 PAD
0x000007b4 0x000007b4 0x0000021c Code RO 694 .text.RCU_PLL_AutoConfig plib035_rcu.o
0x000009d0 0x000009d0 0x00000002 Code RO 184 .text.SPI_RO_RT_IRQHandler vk035_it.o
0x000009d2 0x000009d2 0x00000002 PAD
0x000009d4 0x000009d4 0x00000002 Code RO 186 .text.SPI_RX_IRQHandler vk035_it.o
0x000009d6 0x000009d6 0x00000002 PAD
0x000009d8 0x000009d8 0x00000002 Code RO 188 .text.SPI_TX_IRQHandler vk035_it.o
0x000009da 0x000009da 0x00000002 PAD
0x000009dc 0x000009dc 0x00000002 Code RO 306 .text.SVC_Handler vk035_it.o
0x000009de 0x000009de 0x00000002 PAD
0x000009e0 0x000009e0 0x00000004 Code RO 312 .text.SysTick_Handler vk035_it.o
0x000009e4 0x000009e4 0x00000072 Code RO 474 .text.SystemCoreClockUpdate system_k1921vk035.o
0x00000a56 0x00000a56 0x00000002 PAD
0x00000a58 0x00000a58 0x00000096 Code RO 480 .text.SystemInit system_k1921vk035.o
0x00000aee 0x00000aee 0x00000002 PAD
0x00000af0 0x00000af0 0x0000000c Code RO 160 .text.TMR0_IRQHandler vk035_it.o
0x00000afc 0x00000afc 0x0000000c Code RO 162 .text.TMR1_IRQHandler vk035_it.o
0x00000b08 0x00000b08 0x0000000c Code RO 164 .text.TMR2_IRQHandler vk035_it.o
0x00000b14 0x00000b14 0x0000000c Code RO 166 .text.TMR3_IRQHandler vk035_it.o
0x00000b20 0x00000b20 0x00000008 Code RO 728 .text.TMR_FreqConfig plib035_tmr.o
0x00000b28 0x00000b28 0x00000078 Code RO 41 .text.TMR_Init tmr.o
0x00000ba0 0x00000ba0 0x00000014 Code RO 726 .text.TMR_PeriodConfig plib035_tmr.o
0x00000bb4 0x00000bb4 0x0000000c Code RO 174 .text.UART0_E_RT_IRQHandler vk035_it.o
0x00000bc0 0x00000bc0 0x0000000c Code RO 170 .text.UART0_RX_IRQHandler vk035_it.o
0x00000bcc 0x00000bcc 0x0000000c Code RO 168 .text.UART0_TD_IRQHandler vk035_it.o
0x00000bd8 0x00000bd8 0x0000000c Code RO 172 .text.UART0_TX_IRQHandler vk035_it.o
0x00000be4 0x00000be4 0x0000000c Code RO 182 .text.UART1_E_RT_IRQHandler vk035_it.o
0x00000bf0 0x00000bf0 0x0000000c Code RO 178 .text.UART1_RX_IRQHandler vk035_it.o
0x00000bfc 0x00000bfc 0x0000000c Code RO 176 .text.UART1_TD_IRQHandler vk035_it.o
0x00000c08 0x00000c08 0x0000000c Code RO 180 .text.UART1_TX_IRQHandler vk035_it.o
0x00000c14 0x00000c14 0x00000030 Code RO 740 .text.UART_DeInit plib035_uart.o
0x00000c44 0x00000c44 0x000000b8 Code RO 742 .text.UART_Init plib035_uart.o
0x00000cfc 0x00000cfc 0x00000002 Code RO 304 .text.UsageFault_Handler vk035_it.o
0x00000cfe 0x00000cfe 0x00000002 PAD
0x00000d00 0x00000d00 0x00000002 Code RO 290 .text.WDT_IRQHandler vk035_it.o
0x00000d02 0x00000d02 0x00000002 PAD
0x00000d04 0x00000d04 0x00000094 Code RO 109 .text.adc_init_first adc.o
0x00000d98 0x00000d98 0x00000184 Code RO 123 .text.adc_seq_handler adc.o
0x00000f1c 0x00000f1c 0x00000082 Code RO 115 .text.adc_seq_start adc.o
0x00000f9e 0x00000f9e 0x00000002 PAD
0x00000fa0 0x00000fa0 0x00000010 Code RO 121 .text.adc_sw_start adc.o
0x00000fb0 0x00000fb0 0x0000004e Code RO 25 .text.gpio_get_init gpio.o
0x00000ffe 0x00000ffe 0x00000002 PAD
0x00001000 0x00001000 0x00000076 Code RO 23 .text.gpio_init gpio.o
0x00001076 0x00001076 0x00000002 PAD
0x00001078 0x00001078 0x00000024 Code RO 6 .text.heartbit main.o
0x0000109c 0x0000109c 0x00000076 Code RO 8 .text.main main.o
0x00001112 0x00001112 0x00000002 PAD
0x00001114 0x00001114 0x0000000c Code RO 137 .text.millis sysclk.o
0x00001120 0x00001120 0x00000010 Code RO 139 .text.millis_inc sysclk.o
0x00001130 0x00001130 0x0000008a Code RO 2 .text.periph_init main.o
0x000011ba 0x000011ba 0x00000002 PAD
0x000011bc 0x000011bc 0x0000009c Code RO 145 .text.rcu_set_clock_adc sysclk.o
0x00001258 0x00001258 0x0000002a Code RO 4 .text.restart_receive main.o
0x00001282 0x00001282 0x00000002 PAD
0x00001284 0x00001284 0x00000078 Code RO 135 .text.sysclk_init sysclk.o
0x000012fc 0x000012fc 0x00000028 Code RO 49 .text.tmr_delay tmr.o
0x00001324 0x00001324 0x0000002e Code RO 53 .text.tmr_delay_done tmr.o
0x00001352 0x00001352 0x00000002 PAD
0x00001354 0x00001354 0x00000012 Code RO 51 .text.tmr_delay_start tmr.o
0x00001366 0x00001366 0x00000002 PAD
0x00001368 0x00001368 0x0000002c Code RO 55 .text.tmr_handler tmr.o
0x00001394 0x00001394 0x000000cc Code RO 37 .text.tmr_init_first tmr.o
0x00001460 0x00001460 0x00000016 Code RO 43 .text.tmr_set_callback tmr.o
0x00001476 0x00001476 0x00000002 PAD
0x00001478 0x00001478 0x00000016 Code RO 45 .text.tmr_start tmr.o
0x0000148e 0x0000148e 0x00000002 PAD
0x00001490 0x00001490 0x0000007e Code RO 74 .text.uart1_gpio_init uart.o
0x0000150e 0x0000150e 0x00000002 PAD
0x00001510 0x00001510 0x000000f0 Code RO 88 .text.uart_handler uart.o
0x00001600 0x00001600 0x00000072 Code RO 72 .text.uart_init_first uart.o
0x00001672 0x00001672 0x00000002 PAD
0x00001674 0x00001674 0x00000038 Code RO 86 .text.uart_receive_it uart.o
0x000016ac 0x000016ac 0x0000002e Code RO 90 .text.uart_set_callback uart.o
0x000016da 0x000016da 0x00000002 PAD
0x000016dc 0x000016dc 0x00000048 Code RO 78 .text.uart_start uart.o
0x00001724 0x00001724 0x000000a0 Code RO 80 .text.uart_transmit uart.o
0x000017c4 0x000017c4 0x00000078 Code RO 84 .text.uart_transmit_it uart.o
0x0000183c 0x0000183c 0x0000001a Code RO 941 x$fpl$fpinit fz_wm.l(fpinit.o)
0x00001856 0x00001856 0x00000002 PAD
0x00001858 0x00001858 0x00000020 Data RO 1002 Region$$Table anon$$obj.o
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x00001878, Size: 0x00000228, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000050])
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 COMPRESSED 0x00000038 Data RW 126 .data.adc_seq0_config adc.o
0x20000038 COMPRESSED 0x000000c0 Data RW 27 .data.gpioa_config gpio.o
0x200000f8 COMPRESSED 0x000000c0 Data RW 28 .data.gpiob_config gpio.o
0x200001b8 COMPRESSED 0x0000001c Data RW 58 .data.tmr0_config tmr.o
0x200001d4 COMPRESSED 0x0000001c Data RW 60 .data.tmr1_config tmr.o
0x200001f0 COMPRESSED 0x0000001c Data RW 62 .data.tmr2_config tmr.o
0x2000020c COMPRESSED 0x0000001c Data RW 99 .data.uart1_config uart.o
Execution Region ER_ZI (Exec base: 0x20000228, Load base: 0x000018c8, Size: 0x00000910, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000228 - 0x00000060 Zero RW 853 .bss c_w.l(libspace.o)
0x20000288 - 0x00000004 Zero RW 482 .bss.SystemCoreClock system_k1921vk035.o
0x2000028c - 0x00000190 Zero RW 13 .bss.adc_buff main.o
0x2000041c - 0x000000a8 Zero RW 125 .bss.hadc adc.o
0x200004c4 - 0x00000008 Zero RW 57 .bss.htmr0 tmr.o
0x200004cc - 0x00000008 Zero RW 59 .bss.htmr1 tmr.o
0x200004d4 - 0x00000008 Zero RW 61 .bss.htmr2 tmr.o
0x200004dc - 0x00000008 Zero RW 63 .bss.htmr3 tmr.o
0x200004e4 - 0x00000020 Zero RW 100 .bss.huart0 uart.o
0x20000504 - 0x00000020 Zero RW 98 .bss.huart1 uart.o
0x20000524 - 0x0000000a Zero RW 12 .bss.rxbuff main.o
0x2000052e 0x000018c8 0x00000002 PAD
0x20000530 - 0x00000004 Zero RW 147 .bss.uwTick sysclk.o
0x20000534 0x000018c8 0x00000004 PAD
0x20000538 - 0x00000200 Zero RW 491 HEAP startup_k1921vk035.o
0x20000738 - 0x00000400 Zero RW 490 STACK startup_k1921vk035.o
==============================================================================
Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
682 0 0 56 168 21004 adc.o
196 0 0 384 0 21442 gpio.o
344 16 0 0 410 28047 main.o
266 0 0 0 0 15568 plib035_adc.o
308 0 0 0 0 23684 plib035_gpio.o
894 4 0 0 0 19079 plib035_rcu.o
28 0 0 0 0 2018 plib035_tmr.o
232 4 0 0 0 10928 plib035_uart.o
64 26 344 0 1536 916 startup_k1921vk035.o
304 8 0 0 4 11618 sysclk.o
264 4 0 0 4 8950 system_k1921vk035.o
516 4 0 84 32 13684 tmr.o
934 4 0 28 64 33809 uart.o
304 0 0 0 0 20168 vk035_it.o
----------------------------------------------------------------------
5512 70 376 552 2224 230915 Object Totals
0 0 32 0 0 0 (incl. Generated)
176 0 0 0 6 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
90 0 0 0 0 0 __dczerorl2.o
8 0 0 0 0 68 __main.o
0 0 0 0 0 0 __rtentry.o
12 0 0 0 0 0 __rtentry2.o
6 0 0 0 0 0 __rtentry4.o
52 8 0 0 0 0 __scatter.o
28 0 0 0 0 0 __scatter_zi.o
18 0 0 0 0 80 exit.o
6 0 0 0 0 152 heapauxi.o
0 0 0 0 0 0 indicate_semi.o
2 0 0 0 0 0 libinit.o
6 0 0 0 0 0 libinit2.o
2 0 0 0 0 0 libshutdown.o
2 0 0 0 0 0 libshutdown2.o
8 4 0 0 96 68 libspace.o
2 0 0 0 0 0 rtexit.o
10 0 0 0 0 0 rtexit2.o
12 4 0 0 0 68 sys_exit.o
74 0 0 0 0 80 sys_stackheap_outer.o
2 0 0 0 0 68 use_no_semi.o
26 0 0 0 0 116 fpinit.o
----------------------------------------------------------------------
376 16 0 0 96 700 Library Totals
10 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
340 16 0 0 96 584 c_w.l
26 0 0 0 0 116 fz_wm.l
----------------------------------------------------------------------
376 16 0 0 96 700 Library Totals
----------------------------------------------------------------------
==============================================================================
Code (inc. data) RO Data RW Data ZI Data Debug
5888 86 376 552 2320 231219 Grand Totals
5888 86 376 80 2320 231219 ELF Image Totals (compressed)
5888 86 376 80 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 6264 ( 6.12kB)
Total RW Size (RW Data + ZI Data) 2872 ( 2.80kB)
Total ROM Size (Code + RO Data + RW Data) 6344 ( 6.20kB)
==============================================================================

View File

@@ -1,1961 +0,0 @@
ARM Macro Assembler Page 1
1 00000000 ;******************** (C) COPYRIGHT 2018 NIIET *********
***********
2 00000000 ;* File Name : startup_K1921VK035.s
3 00000000 ;* Author : NIIET
4 00000000 ;* Version : V1.7
5 00000000 ;* Date : 02.05.2018
6 00000000 ;* Description : K1921VK035 vector table for MDK-
ARM
7 00000000 ;* toolchain.
8 00000000 ;* This module performs:
9 00000000 ;* - Set the initial SP
10 00000000 ;* - Set the initial PC == Reset_Ha
ndler
11 00000000 ;* - Set the vector table entries w
ith the exceptions ISR address
12 00000000 ;* - Configure the clock system
13 00000000 ;* - Branches to __main in the C li
brary (which eventually
14 00000000 ;* calls main()).
15 00000000 ;* After Reset the CortexM4 process
or is in Thread mode,
16 00000000 ;* priority is Privileged, and the
Stack is set to Main.
17 00000000 ;* <<< Use Configuration Wizard in Context Menu >>>
18 00000000 ;*******************************************************
************************
19 00000000 ; THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS A
T PROVIDING CUSTOMERS
20 00000000 ; WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN OR
DER FOR THEM TO SAVE TIME.
21 00000000 ; AS A RESULT, NIIET SHALL NOT BE HELD LIABLE FOR ANY DI
RECT,
22 00000000 ; INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY
CLAIMS ARISING FROM THE
23 00000000 ; CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOM
ERS OF THE CODING
24 00000000 ; INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR
PRODUCTS.
25 00000000 ;*******************************************************
************************
26 00000000
27 00000000 ; Amount of memory (in bytes) allocated for Stack
28 00000000 ; Tailor this value to your application needs
29 00000000 ; <h> Stack Configuration
30 00000000 ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
31 00000000 ; </h>
32 00000000
33 00000000 00000400
Stack_Size
EQU 0x00000400
34 00000000
35 00000000 AREA STACK, NOINIT, READWRITE, ALIGN
=3
36 00000000 Stack_Mem
SPACE Stack_Size
37 00000400 __initial_sp
38 00000400
39 00000400
40 00000400 ; <h> Heap Configuration
ARM Macro Assembler Page 2
41 00000400 ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
42 00000400 ; </h>
43 00000400
44 00000400 00000200
Heap_Size
EQU 0x00000200
45 00000400
46 00000400 AREA HEAP, NOINIT, READWRITE, ALIGN=
3
47 00000000 __heap_base
48 00000000 Heap_Mem
SPACE Heap_Size
49 00000200 __heap_limit
50 00000200
51 00000200 PRESERVE8
52 00000200 THUMB
53 00000200
54 00000200
55 00000200 ; Vector Table Mapped to Address 0 at Reset
56 00000200 AREA RESET, DATA, READONLY
57 00000000 EXPORT __Vectors
58 00000000 EXPORT __Vectors_End
59 00000000 EXPORT __Vectors_Size
60 00000000
61 00000000 00000000
__Vectors
DCD __initial_sp ; Top of Stack
62 00000004 00000000 DCD Reset_Handler ; Reset Handler
63 00000008 00000000 DCD NMI_Handler ; NMI Handler
64 0000000C 00000000 DCD HardFault_Handler ; Hard Fault
Handler
65 00000010 00000000 DCD MemManage_Handler
; MPU Fault Handler
66 00000014 00000000 DCD BusFault_Handler
; Bus Fault Handler
67 00000018 00000000 DCD UsageFault_Handler ; Usage Faul
t Handler
68 0000001C 00000000 DCD 0 ; Reserved
69 00000020 00000000 DCD 0 ; Reserved
70 00000024 00000000 DCD 0 ; Reserved
71 00000028 00000000 DCD 0 ; Reserved
72 0000002C 00000000 DCD SVC_Handler ; SVCall Handler
73 00000030 00000000 DCD DebugMon_Handler ; Debug Monito
r Handler
74 00000034 00000000 DCD 0 ; Reserved
75 00000038 00000000 DCD PendSV_Handler ; PendSV Handler
76 0000003C 00000000 DCD SysTick_Handler
; SysTick Handler
77 00000040
78 00000040 ; External Interrupts
79 00000040 00000000 DCD WDT_IRQHandler ; Watchdog timer
interrupt
80 00000044 00000000 DCD RCU_IRQHandler ; Reset and cloc
k unit interrupt
81 00000048 00000000 DCD MFLASH_IRQHandler
; MFLASH interrupt
ARM Macro Assembler Page 3
82 0000004C 00000000 DCD GPIOA_IRQHandler
; GPIO A interrupt
83 00000050 00000000 DCD GPIOB_IRQHandler
; GPIO B interrupt
84 00000054 00000000 DCD DMA_CH0_IRQHandler ; DMA channe
l 0 interrupt
85 00000058 00000000 DCD DMA_CH1_IRQHandler ; DMA channe
l 1 interrupt
86 0000005C 00000000 DCD DMA_CH2_IRQHandler ; DMA channe
l 2 interrupt
87 00000060 00000000 DCD DMA_CH3_IRQHandler ; DMA channe
l 3 interrupt
88 00000064 00000000 DCD DMA_CH4_IRQHandler ; DMA channe
l 4 interrupt
89 00000068 00000000 DCD DMA_CH5_IRQHandler ; DMA channe
l 5 interrupt
90 0000006C 00000000 DCD DMA_CH6_IRQHandler ; DMA channe
l 6 interrupt
91 00000070 00000000 DCD DMA_CH7_IRQHandler ; DMA channe
l 7 interrupt
92 00000074 00000000 DCD DMA_CH8_IRQHandler ; DMA channe
l 8 interrupt
93 00000078 00000000 DCD DMA_CH9_IRQHandler ; DMA channe
l 9 interrupt
94 0000007C 00000000 DCD DMA_CH10_IRQHandler ; DMA chann
el 10 interrupt
95 00000080 00000000 DCD DMA_CH11_IRQHandler ; DMA chann
el 11 interrupt
96 00000084 00000000 DCD DMA_CH12_IRQHandler ; DMA chann
el 12 interrupt
97 00000088 00000000 DCD DMA_CH13_IRQHandler ; DMA chann
el 13 interrupt
98 0000008C 00000000 DCD DMA_CH14_IRQHandler ; DMA chann
el 14 interrupt
99 00000090 00000000 DCD DMA_CH15_IRQHandler ; DMA chann
el 15 interrupt
100 00000094 00000000 DCD TMR0_IRQHandler
; Timer 0 interrupt
101 00000098 00000000 DCD TMR1_IRQHandler
; Timer 1 interrupt
102 0000009C 00000000 DCD TMR2_IRQHandler
; Timer 2 interrupt
103 000000A0 00000000 DCD TMR3_IRQHandler
; Timer 3 interrupt
104 000000A4 00000000 DCD UART0_TD_IRQHandler ; UART0 Tra
nsmit Done interrup
t
105 000000A8 00000000 DCD UART0_RX_IRQHandler ; UART0 Rec
ieve interrupt
106 000000AC 00000000 DCD UART0_TX_IRQHandler ; UART0 Tra
nsmit interrupt
107 000000B0 00000000 DCD UART0_E_RT_IRQHandler ; UART0 E
rror and Receive Ti
meout interrupt
108 000000B4 00000000 DCD UART1_TD_IRQHandler ; UART1 Tra
ARM Macro Assembler Page 4
nsmit Done interrup
t
109 000000B8 00000000 DCD UART1_RX_IRQHandler ; UART1 Rec
ieve interrupt
110 000000BC 00000000 DCD UART1_TX_IRQHandler ; UART1 Tra
nsmit interrupt
111 000000C0 00000000 DCD UART1_E_RT_IRQHandler ; UART1 E
rror and Receive Ti
meout interrupt
112 000000C4 00000000 DCD SPI_RO_RT_IRQHandler ; SPI RX F
IFO overrun and Rec
eive Timeout interr
upt
113 000000C8 00000000 DCD SPI_RX_IRQHandler ; SPI Receive
interrupt
114 000000CC 00000000 DCD SPI_TX_IRQHandler ; SPI Transmi
t interrupt
115 000000D0 00000000 DCD I2C_IRQHandler ; I2C interrupt
116 000000D4 00000000 DCD ECAP0_IRQHandler
; ECAP0 interrupt
117 000000D8 00000000 DCD ECAP1_IRQHandler
; ECAP1 interrupt
118 000000DC 00000000 DCD ECAP2_IRQHandler
; ECAP2 interrupt
119 000000E0 00000000 DCD PWM0_IRQHandler
; PWM0 interrupt
120 000000E4 00000000 DCD PWM0_HD_IRQHandler
; PWM0 HD interrupt
121 000000E8 00000000 DCD PWM0_TZ_IRQHandler
; PWM0 TZ interrupt
122 000000EC 00000000 DCD PWM1_IRQHandler
; PWM1 interrupt
123 000000F0 00000000 DCD PWM1_HD_IRQHandler
; PWM1 HD interrupt
124 000000F4 00000000 DCD PWM1_TZ_IRQHandler
; PWM1 TZ interrupt
125 000000F8 00000000 DCD PWM2_IRQHandler
; PWM2 interrupt
126 000000FC 00000000 DCD PWM2_HD_IRQHandler
; PWM2 HD interrupt
127 00000100 00000000 DCD PWM2_TZ_IRQHandler
; PWM2 TZ interrupt
128 00000104 00000000 DCD QEP_IRQHandler ; QEP interrupt
129 00000108 00000000 DCD ADC_SEQ0_IRQHandler ; ADC Seque
ncer 0 interrupt
130 0000010C 00000000 DCD ADC_SEQ1_IRQHandler ; ADC Seque
ncer 1 interrupt
131 00000110 00000000 DCD ADC_DC_IRQHandler ; ADC Digital
Comparator interru
pt
132 00000114 00000000 DCD CAN0_IRQHandler
; CAN0 interrupt
133 00000118 00000000 DCD CAN1_IRQHandler
ARM Macro Assembler Page 5
; CAN1 interrupt
134 0000011C 00000000 DCD CAN2_IRQHandler
; CAN2 interrupt
135 00000120 00000000 DCD CAN3_IRQHandler
; CAN3 interrupt
136 00000124 00000000 DCD CAN4_IRQHandler
; CAN4 interrupt
137 00000128 00000000 DCD CAN5_IRQHandler
; CAN5 interrupt
138 0000012C 00000000 DCD CAN6_IRQHandler
; CAN6 interrupt
139 00000130 00000000 DCD CAN7_IRQHandler
; CAN7 interrupt
140 00000134 00000000 DCD CAN8_IRQHandler
; CAN8 interrupt
141 00000138 00000000 DCD CAN9_IRQHandler
; CAN9 interrupt
142 0000013C 00000000 DCD CAN10_IRQHandler
; CAN10 interrupt
143 00000140 00000000 DCD CAN11_IRQHandler
; CAN11 interrupt
144 00000144 00000000 DCD CAN12_IRQHandler
; CAN12 interrupt
145 00000148 00000000 DCD CAN13_IRQHandler
; CAN13 interrupt
146 0000014C 00000000 DCD CAN14_IRQHandler
; CAN14 interrupt
147 00000150 00000000 DCD CAN15_IRQHandler
; CAN15 interrupt
148 00000154 00000000 DCD FPU_IRQHandler ; FPU exception
interrupt
149 00000158
150 00000158 __Vectors_End
151 00000158
152 00000158 00000158
__Vectors_Size
EQU __Vectors_End - __Vectors
153 00000158
154 00000158 AREA |.text|, CODE, READONLY
155 00000000
156 00000000 ; Reset handler
157 00000000 Reset_Handler
PROC
158 00000000 EXPORT Reset_Handler [WEAK
]
159 00000000 IMPORT __main
160 00000000 IMPORT SystemInit
161 00000000 4809 LDR R0, =SystemInit
162 00000002 4780 BLX R0
163 00000004 4809 LDR R0, =__main
164 00000006 4700 BX R0
165 00000008 ENDP
166 00000008
167 00000008 ; Dummy Exception Handlers (infinite loops which can be
modified)
168 00000008
169 00000008 NMI_Handler
PROC
170 00000008 EXPORT NMI_Handler [WEA
ARM Macro Assembler Page 6
K]
171 00000008 E7FE B .
172 0000000A ENDP
174 0000000A HardFault_Handler
PROC
175 0000000A EXPORT HardFault_Handler [WEA
K]
176 0000000A E7FE B .
177 0000000C ENDP
179 0000000C MemManage_Handler
PROC
180 0000000C EXPORT MemManage_Handler [WEA
K]
181 0000000C E7FE B .
182 0000000E ENDP
184 0000000E BusFault_Handler
PROC
185 0000000E EXPORT BusFault_Handler [WEA
K]
186 0000000E E7FE B .
187 00000010 ENDP
189 00000010 UsageFault_Handler
PROC
190 00000010 EXPORT UsageFault_Handler [WEA
K]
191 00000010 E7FE B .
192 00000012 ENDP
193 00000012 SVC_Handler
PROC
194 00000012 EXPORT SVC_Handler [WEA
K]
195 00000012 E7FE B .
196 00000014 ENDP
198 00000014 DebugMon_Handler
PROC
199 00000014 EXPORT DebugMon_Handler [WEA
K]
200 00000014 E7FE B .
201 00000016 ENDP
202 00000016 PendSV_Handler
PROC
203 00000016 EXPORT PendSV_Handler [WEA
K]
204 00000016 E7FE B .
205 00000018 ENDP
206 00000018 SysTick_Handler
PROC
207 00000018 EXPORT SysTick_Handler [WEA
K]
208 00000018 E7FE B .
209 0000001A ENDP
210 0000001A
211 0000001A Default_Handler
PROC
212 0000001A
213 0000001A EXPORT WDT_IRQHandler [WEAK]
214 0000001A EXPORT RCU_IRQHandler [WEAK]
215 0000001A EXPORT MFLASH_IRQHandler [WE
AK]
ARM Macro Assembler Page 7
216 0000001A EXPORT GPIOA_IRQHandler [WEA
K]
217 0000001A EXPORT GPIOB_IRQHandler [WEA
K]
218 0000001A EXPORT DMA_CH0_IRQHandler [W
EAK]
219 0000001A EXPORT DMA_CH1_IRQHandler [W
EAK]
220 0000001A EXPORT DMA_CH2_IRQHandler [W
EAK]
221 0000001A EXPORT DMA_CH3_IRQHandler [W
EAK]
222 0000001A EXPORT DMA_CH4_IRQHandler [W
EAK]
223 0000001A EXPORT DMA_CH5_IRQHandler [W
EAK]
224 0000001A EXPORT DMA_CH6_IRQHandler [W
EAK]
225 0000001A EXPORT DMA_CH7_IRQHandler [W
EAK]
226 0000001A EXPORT DMA_CH8_IRQHandler [W
EAK]
227 0000001A EXPORT DMA_CH9_IRQHandler [W
EAK]
228 0000001A EXPORT DMA_CH10_IRQHandler [
WEAK]
229 0000001A EXPORT DMA_CH11_IRQHandler [
WEAK]
230 0000001A EXPORT DMA_CH12_IRQHandler [
WEAK]
231 0000001A EXPORT DMA_CH13_IRQHandler [
WEAK]
232 0000001A EXPORT DMA_CH14_IRQHandler [
WEAK]
233 0000001A EXPORT DMA_CH15_IRQHandler [
WEAK]
234 0000001A EXPORT TMR0_IRQHandler [WEAK
]
235 0000001A EXPORT TMR1_IRQHandler [WEAK
]
236 0000001A EXPORT TMR2_IRQHandler [WEAK
]
237 0000001A EXPORT TMR3_IRQHandler [WEAK
]
238 0000001A EXPORT UART0_TD_IRQHandler [
WEAK]
239 0000001A EXPORT UART0_RX_IRQHandler [
WEAK]
240 0000001A EXPORT UART0_TX_IRQHandler [
WEAK]
241 0000001A EXPORT UART0_E_RT_IRQHandler
[WEAK]
242 0000001A EXPORT UART1_TD_IRQHandler [
WEAK]
243 0000001A EXPORT UART1_RX_IRQHandler [
WEAK]
244 0000001A EXPORT UART1_TX_IRQHandler [
WEAK]
245 0000001A EXPORT UART1_E_RT_IRQHandler
ARM Macro Assembler Page 8
[WEAK]
246 0000001A EXPORT SPI_RO_RT_IRQHandler
[WEAK]
247 0000001A EXPORT SPI_RX_IRQHandler [WE
AK]
248 0000001A EXPORT SPI_TX_IRQHandler [WE
AK]
249 0000001A EXPORT I2C_IRQHandler [WEAK]
250 0000001A EXPORT ECAP0_IRQHandler [WEA
K]
251 0000001A EXPORT ECAP1_IRQHandler [WEA
K]
252 0000001A EXPORT ECAP2_IRQHandler [WEA
K]
253 0000001A EXPORT PWM0_IRQHandler [WEAK
]
254 0000001A EXPORT PWM0_HD_IRQHandler [W
EAK]
255 0000001A EXPORT PWM0_TZ_IRQHandler [W
EAK]
256 0000001A EXPORT PWM1_IRQHandler [WEAK
]
257 0000001A EXPORT PWM1_HD_IRQHandler [W
EAK]
258 0000001A EXPORT PWM1_TZ_IRQHandler [W
EAK]
259 0000001A EXPORT PWM2_IRQHandler [WEAK
]
260 0000001A EXPORT PWM2_HD_IRQHandler [W
EAK]
261 0000001A EXPORT PWM2_TZ_IRQHandler [W
EAK]
262 0000001A EXPORT QEP_IRQHandler [WEAK]
263 0000001A EXPORT ADC_SEQ0_IRQHandler [
WEAK]
264 0000001A EXPORT ADC_SEQ1_IRQHandler [
WEAK]
265 0000001A EXPORT ADC_DC_IRQHandler [WE
AK]
266 0000001A EXPORT CAN0_IRQHandler [WEAK
]
267 0000001A EXPORT CAN1_IRQHandler [WEAK
]
268 0000001A EXPORT CAN2_IRQHandler [WEAK
]
269 0000001A EXPORT CAN3_IRQHandler [WEAK
]
270 0000001A EXPORT CAN4_IRQHandler [WEAK
]
271 0000001A EXPORT CAN5_IRQHandler [WEAK
]
272 0000001A EXPORT CAN6_IRQHandler [WEAK
]
273 0000001A EXPORT CAN7_IRQHandler [WEAK
]
274 0000001A EXPORT CAN8_IRQHandler [WEAK
]
275 0000001A EXPORT CAN9_IRQHandler [WEAK
]
ARM Macro Assembler Page 9
276 0000001A EXPORT CAN10_IRQHandler [WEA
K]
277 0000001A EXPORT CAN11_IRQHandler [WEA
K]
278 0000001A EXPORT CAN12_IRQHandler [WEA
K]
279 0000001A EXPORT CAN13_IRQHandler [WEA
K]
280 0000001A EXPORT CAN14_IRQHandler [WEA
K]
281 0000001A EXPORT CAN15_IRQHandler [WEA
K]
282 0000001A EXPORT FPU_IRQHandler [WEAK]
283 0000001A
284 0000001A
285 0000001A
286 0000001A WDT_IRQHandler
287 0000001A RCU_IRQHandler
288 0000001A MFLASH_IRQHandler
289 0000001A GPIOA_IRQHandler
290 0000001A GPIOB_IRQHandler
291 0000001A DMA_CH0_IRQHandler
292 0000001A DMA_CH1_IRQHandler
293 0000001A DMA_CH2_IRQHandler
294 0000001A DMA_CH3_IRQHandler
295 0000001A DMA_CH4_IRQHandler
296 0000001A DMA_CH5_IRQHandler
297 0000001A DMA_CH6_IRQHandler
298 0000001A DMA_CH7_IRQHandler
299 0000001A DMA_CH8_IRQHandler
300 0000001A DMA_CH9_IRQHandler
301 0000001A DMA_CH10_IRQHandler
302 0000001A DMA_CH11_IRQHandler
303 0000001A DMA_CH12_IRQHandler
304 0000001A DMA_CH13_IRQHandler
305 0000001A DMA_CH14_IRQHandler
306 0000001A DMA_CH15_IRQHandler
307 0000001A TMR0_IRQHandler
308 0000001A TMR1_IRQHandler
309 0000001A TMR2_IRQHandler
310 0000001A TMR3_IRQHandler
311 0000001A UART0_TD_IRQHandler
312 0000001A UART0_RX_IRQHandler
313 0000001A UART0_TX_IRQHandler
314 0000001A UART0_E_RT_IRQHandler
315 0000001A UART1_TD_IRQHandler
316 0000001A UART1_RX_IRQHandler
317 0000001A UART1_TX_IRQHandler
318 0000001A UART1_E_RT_IRQHandler
319 0000001A SPI_RO_RT_IRQHandler
320 0000001A SPI_RX_IRQHandler
321 0000001A SPI_TX_IRQHandler
322 0000001A I2C_IRQHandler
323 0000001A ECAP0_IRQHandler
324 0000001A ECAP1_IRQHandler
325 0000001A ECAP2_IRQHandler
326 0000001A PWM0_IRQHandler
327 0000001A PWM0_HD_IRQHandler
328 0000001A PWM0_TZ_IRQHandler
ARM Macro Assembler Page 10
329 0000001A PWM1_IRQHandler
330 0000001A PWM1_HD_IRQHandler
331 0000001A PWM1_TZ_IRQHandler
332 0000001A PWM2_IRQHandler
333 0000001A PWM2_HD_IRQHandler
334 0000001A PWM2_TZ_IRQHandler
335 0000001A QEP_IRQHandler
336 0000001A ADC_SEQ0_IRQHandler
337 0000001A ADC_SEQ1_IRQHandler
338 0000001A ADC_DC_IRQHandler
339 0000001A CAN0_IRQHandler
340 0000001A CAN1_IRQHandler
341 0000001A CAN2_IRQHandler
342 0000001A CAN3_IRQHandler
343 0000001A CAN4_IRQHandler
344 0000001A CAN5_IRQHandler
345 0000001A CAN6_IRQHandler
346 0000001A CAN7_IRQHandler
347 0000001A CAN8_IRQHandler
348 0000001A CAN9_IRQHandler
349 0000001A CAN10_IRQHandler
350 0000001A CAN11_IRQHandler
351 0000001A CAN12_IRQHandler
352 0000001A CAN13_IRQHandler
353 0000001A CAN14_IRQHandler
354 0000001A CAN15_IRQHandler
355 0000001A FPU_IRQHandler
356 0000001A
357 0000001A
358 0000001A
359 0000001A E7FE B .
360 0000001C
361 0000001C ENDP
362 0000001C
363 0000001C ALIGN
364 0000001C
365 0000001C ;*******************************************************
************************
366 0000001C ; User Stack and Heap initialization
367 0000001C ;*******************************************************
************************
368 0000001C IF :DEF:__MICROLIB
375 0000001C
376 0000001C IMPORT __use_two_region_memory
377 0000001C EXPORT __user_initial_stackheap
378 0000001C
379 0000001C __user_initial_stackheap
380 0000001C
381 0000001C 4804 LDR R0, = Heap_Mem
382 0000001E 4905 LDR R1, =(Stack_Mem + Stack_Size)
383 00000020 4A05 LDR R2, = (Heap_Mem + Heap_Size)
384 00000022 4B06 LDR R3, = Stack_Mem
385 00000024 4770 BX LR
386 00000026
387 00000026 00 00 ALIGN
388 00000028
389 00000028 ENDIF
390 00000028
391 00000028 END
ARM Macro Assembler Page 11
00000000
00000000
00000000
00000400
00000200
00000000
Command Line: --debug --xref --diag_suppress=9931,A1950W --cpu=Cortex-M4.fp.sp
--depend=.\objects\startup_k1921vk035.d -o.\objects\startup_k1921vk035.o -IC:\U
sers\I\AppData\Local\Arm\Packs\NIIET\K1921VK035_DFP\2.0.6\Device\Include --pred
efine="__UVISION_VERSION SETA 538" --predefine="K1921VK035 SETA 1" --list=.\lis
tings\startup_k1921vk035.lst platform\Device\NIIET\K1921VK035\Source\ARM\startu
p_K1921VK035.s
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
STACK 00000000
Symbol: STACK
Definitions
At line 35 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
None
Comment: STACK unused
Stack_Mem 00000000
Symbol: Stack_Mem
Definitions
At line 36 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
At line 382 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 384 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
__initial_sp 00000400
Symbol: __initial_sp
Definitions
At line 37 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
At line 61 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Comment: __initial_sp used once
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
HEAP 00000000
Symbol: HEAP
Definitions
At line 46 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
None
Comment: HEAP unused
Heap_Mem 00000000
Symbol: Heap_Mem
Definitions
At line 48 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
At line 381 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 383 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
__heap_base 00000000
Symbol: __heap_base
Definitions
At line 47 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
None
Comment: __heap_base unused
__heap_limit 00000200
Symbol: __heap_limit
Definitions
At line 49 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
None
Comment: __heap_limit unused
4 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
RESET 00000000
Symbol: RESET
Definitions
At line 56 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
None
Comment: RESET unused
__Vectors 00000000
Symbol: __Vectors
Definitions
At line 61 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
At line 57 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 152 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
__Vectors_End 00000158
Symbol: __Vectors_End
Definitions
At line 150 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 58 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 152 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
.text 00000000
Symbol: .text
Definitions
At line 154 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
None
Comment: .text unused
ADC_DC_IRQHandler 0000001A
Symbol: ADC_DC_IRQHandler
Definitions
At line 338 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 131 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 265 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
ADC_SEQ0_IRQHandler 0000001A
Symbol: ADC_SEQ0_IRQHandler
Definitions
At line 336 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 129 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 263 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
ADC_SEQ1_IRQHandler 0000001A
Symbol: ADC_SEQ1_IRQHandler
Definitions
At line 337 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 130 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 264 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
BusFault_Handler 0000000E
Symbol: BusFault_Handler
Definitions
At line 184 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 66 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 185 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN0_IRQHandler 0000001A
ARM Macro Assembler Page 2 Alphabetic symbol ordering
Relocatable symbols
Symbol: CAN0_IRQHandler
Definitions
At line 339 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 132 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 266 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN10_IRQHandler 0000001A
Symbol: CAN10_IRQHandler
Definitions
At line 349 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 142 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 276 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN11_IRQHandler 0000001A
Symbol: CAN11_IRQHandler
Definitions
At line 350 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 143 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 277 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN12_IRQHandler 0000001A
Symbol: CAN12_IRQHandler
Definitions
At line 351 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 144 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 278 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN13_IRQHandler 0000001A
Symbol: CAN13_IRQHandler
Definitions
At line 352 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 145 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 279 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN14_IRQHandler 0000001A
ARM Macro Assembler Page 3 Alphabetic symbol ordering
Relocatable symbols
Symbol: CAN14_IRQHandler
Definitions
At line 353 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 146 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 280 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN15_IRQHandler 0000001A
Symbol: CAN15_IRQHandler
Definitions
At line 354 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 147 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 281 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN1_IRQHandler 0000001A
Symbol: CAN1_IRQHandler
Definitions
At line 340 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 133 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 267 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN2_IRQHandler 0000001A
Symbol: CAN2_IRQHandler
Definitions
At line 341 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 134 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 268 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN3_IRQHandler 0000001A
Symbol: CAN3_IRQHandler
Definitions
At line 342 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 135 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 269 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
ARM Macro Assembler Page 4 Alphabetic symbol ordering
Relocatable symbols
CAN4_IRQHandler 0000001A
Symbol: CAN4_IRQHandler
Definitions
At line 343 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 136 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 270 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN5_IRQHandler 0000001A
Symbol: CAN5_IRQHandler
Definitions
At line 344 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 137 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 271 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN6_IRQHandler 0000001A
Symbol: CAN6_IRQHandler
Definitions
At line 345 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 138 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 272 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN7_IRQHandler 0000001A
Symbol: CAN7_IRQHandler
Definitions
At line 346 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 139 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 273 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
CAN8_IRQHandler 0000001A
Symbol: CAN8_IRQHandler
Definitions
At line 347 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 140 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 274 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
ARM Macro Assembler Page 5 Alphabetic symbol ordering
Relocatable symbols
CAN9_IRQHandler 0000001A
Symbol: CAN9_IRQHandler
Definitions
At line 348 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 141 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 275 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH0_IRQHandler 0000001A
Symbol: DMA_CH0_IRQHandler
Definitions
At line 291 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 84 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 218 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH10_IRQHandler 0000001A
Symbol: DMA_CH10_IRQHandler
Definitions
At line 301 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 94 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 228 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH11_IRQHandler 0000001A
Symbol: DMA_CH11_IRQHandler
Definitions
At line 302 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 95 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 229 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH12_IRQHandler 0000001A
Symbol: DMA_CH12_IRQHandler
Definitions
At line 303 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 96 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 230 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
ARM Macro Assembler Page 6 Alphabetic symbol ordering
Relocatable symbols
1921VK035.s
DMA_CH13_IRQHandler 0000001A
Symbol: DMA_CH13_IRQHandler
Definitions
At line 304 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 97 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 231 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH14_IRQHandler 0000001A
Symbol: DMA_CH14_IRQHandler
Definitions
At line 305 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 98 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 232 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH15_IRQHandler 0000001A
Symbol: DMA_CH15_IRQHandler
Definitions
At line 306 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 99 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 233 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH1_IRQHandler 0000001A
Symbol: DMA_CH1_IRQHandler
Definitions
At line 292 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 85 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 219 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH2_IRQHandler 0000001A
Symbol: DMA_CH2_IRQHandler
Definitions
At line 293 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 86 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
ARM Macro Assembler Page 7 Alphabetic symbol ordering
Relocatable symbols
At line 220 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH3_IRQHandler 0000001A
Symbol: DMA_CH3_IRQHandler
Definitions
At line 294 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 87 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 221 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH4_IRQHandler 0000001A
Symbol: DMA_CH4_IRQHandler
Definitions
At line 295 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 88 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 222 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH5_IRQHandler 0000001A
Symbol: DMA_CH5_IRQHandler
Definitions
At line 296 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 89 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 223 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH6_IRQHandler 0000001A
Symbol: DMA_CH6_IRQHandler
Definitions
At line 297 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 90 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 224 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH7_IRQHandler 0000001A
Symbol: DMA_CH7_IRQHandler
Definitions
At line 298 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 91 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
ARM Macro Assembler Page 8 Alphabetic symbol ordering
Relocatable symbols
921VK035.s
At line 225 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH8_IRQHandler 0000001A
Symbol: DMA_CH8_IRQHandler
Definitions
At line 299 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 92 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 226 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DMA_CH9_IRQHandler 0000001A
Symbol: DMA_CH9_IRQHandler
Definitions
At line 300 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 93 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 227 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
DebugMon_Handler 00000014
Symbol: DebugMon_Handler
Definitions
At line 198 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 73 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 199 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Default_Handler 0000001A
Symbol: Default_Handler
Definitions
At line 211 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
None
Comment: Default_Handler unused
ECAP0_IRQHandler 0000001A
Symbol: ECAP0_IRQHandler
Definitions
At line 323 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 116 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 250 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
ARM Macro Assembler Page 9 Alphabetic symbol ordering
Relocatable symbols
1921VK035.s
ECAP1_IRQHandler 0000001A
Symbol: ECAP1_IRQHandler
Definitions
At line 324 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 117 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 251 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
ECAP2_IRQHandler 0000001A
Symbol: ECAP2_IRQHandler
Definitions
At line 325 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 118 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 252 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
FPU_IRQHandler 0000001A
Symbol: FPU_IRQHandler
Definitions
At line 355 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 148 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 282 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
GPIOA_IRQHandler 0000001A
Symbol: GPIOA_IRQHandler
Definitions
At line 289 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 82 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 216 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
GPIOB_IRQHandler 0000001A
Symbol: GPIOB_IRQHandler
Definitions
At line 290 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 83 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
ARM Macro Assembler Page 10 Alphabetic symbol ordering
Relocatable symbols
At line 217 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
HardFault_Handler 0000000A
Symbol: HardFault_Handler
Definitions
At line 174 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 64 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 175 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
I2C_IRQHandler 0000001A
Symbol: I2C_IRQHandler
Definitions
At line 322 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 115 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 249 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
MFLASH_IRQHandler 0000001A
Symbol: MFLASH_IRQHandler
Definitions
At line 288 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 81 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 215 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
MemManage_Handler 0000000C
Symbol: MemManage_Handler
Definitions
At line 179 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 65 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 180 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
NMI_Handler 00000008
Symbol: NMI_Handler
Definitions
At line 169 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 63 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
ARM Macro Assembler Page 11 Alphabetic symbol ordering
Relocatable symbols
921VK035.s
At line 170 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PWM0_HD_IRQHandler 0000001A
Symbol: PWM0_HD_IRQHandler
Definitions
At line 327 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 120 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 254 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PWM0_IRQHandler 0000001A
Symbol: PWM0_IRQHandler
Definitions
At line 326 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 119 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 253 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PWM0_TZ_IRQHandler 0000001A
Symbol: PWM0_TZ_IRQHandler
Definitions
At line 328 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 121 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 255 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PWM1_HD_IRQHandler 0000001A
Symbol: PWM1_HD_IRQHandler
Definitions
At line 330 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 123 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 257 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PWM1_IRQHandler 0000001A
Symbol: PWM1_IRQHandler
Definitions
At line 329 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
ARM Macro Assembler Page 12 Alphabetic symbol ordering
Relocatable symbols
At line 122 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 256 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PWM1_TZ_IRQHandler 0000001A
Symbol: PWM1_TZ_IRQHandler
Definitions
At line 331 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 124 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 258 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PWM2_HD_IRQHandler 0000001A
Symbol: PWM2_HD_IRQHandler
Definitions
At line 333 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 126 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 260 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PWM2_IRQHandler 0000001A
Symbol: PWM2_IRQHandler
Definitions
At line 332 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 125 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 259 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PWM2_TZ_IRQHandler 0000001A
Symbol: PWM2_TZ_IRQHandler
Definitions
At line 334 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 127 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 261 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
PendSV_Handler 00000016
Symbol: PendSV_Handler
Definitions
At line 202 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
ARM Macro Assembler Page 13 Alphabetic symbol ordering
Relocatable symbols
Uses
At line 75 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 203 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
QEP_IRQHandler 0000001A
Symbol: QEP_IRQHandler
Definitions
At line 335 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 128 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 262 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
RCU_IRQHandler 0000001A
Symbol: RCU_IRQHandler
Definitions
At line 287 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 80 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 214 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Reset_Handler 00000000
Symbol: Reset_Handler
Definitions
At line 157 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 62 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 158 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
SPI_RO_RT_IRQHandler 0000001A
Symbol: SPI_RO_RT_IRQHandler
Definitions
At line 319 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 112 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 246 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
SPI_RX_IRQHandler 0000001A
Symbol: SPI_RX_IRQHandler
Definitions
At line 320 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
ARM Macro Assembler Page 14 Alphabetic symbol ordering
Relocatable symbols
1921VK035.s
Uses
At line 113 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 247 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
SPI_TX_IRQHandler 0000001A
Symbol: SPI_TX_IRQHandler
Definitions
At line 321 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 114 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 248 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
SVC_Handler 00000012
Symbol: SVC_Handler
Definitions
At line 193 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 72 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 194 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
SysTick_Handler 00000018
Symbol: SysTick_Handler
Definitions
At line 206 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 76 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 207 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
TMR0_IRQHandler 0000001A
Symbol: TMR0_IRQHandler
Definitions
At line 307 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 100 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 234 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
TMR1_IRQHandler 0000001A
Symbol: TMR1_IRQHandler
Definitions
ARM Macro Assembler Page 15 Alphabetic symbol ordering
Relocatable symbols
At line 308 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 101 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 235 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
TMR2_IRQHandler 0000001A
Symbol: TMR2_IRQHandler
Definitions
At line 309 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 102 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 236 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
TMR3_IRQHandler 0000001A
Symbol: TMR3_IRQHandler
Definitions
At line 310 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 103 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 237 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
UART0_E_RT_IRQHandler 0000001A
Symbol: UART0_E_RT_IRQHandler
Definitions
At line 314 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 107 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 241 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
UART0_RX_IRQHandler 0000001A
Symbol: UART0_RX_IRQHandler
Definitions
At line 312 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 105 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 239 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
UART0_TD_IRQHandler 0000001A
Symbol: UART0_TD_IRQHandler
ARM Macro Assembler Page 16 Alphabetic symbol ordering
Relocatable symbols
Definitions
At line 311 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 104 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 238 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
UART0_TX_IRQHandler 0000001A
Symbol: UART0_TX_IRQHandler
Definitions
At line 313 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 106 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 240 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
UART1_E_RT_IRQHandler 0000001A
Symbol: UART1_E_RT_IRQHandler
Definitions
At line 318 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 111 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 245 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
UART1_RX_IRQHandler 0000001A
Symbol: UART1_RX_IRQHandler
Definitions
At line 316 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 109 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 243 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
UART1_TD_IRQHandler 0000001A
Symbol: UART1_TD_IRQHandler
Definitions
At line 315 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 108 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 242 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
UART1_TX_IRQHandler 0000001A
ARM Macro Assembler Page 17 Alphabetic symbol ordering
Relocatable symbols
Symbol: UART1_TX_IRQHandler
Definitions
At line 317 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 110 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
At line 244 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
UsageFault_Handler 00000010
Symbol: UsageFault_Handler
Definitions
At line 189 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 67 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 190 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
WDT_IRQHandler 0000001A
Symbol: WDT_IRQHandler
Definitions
At line 286 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 79 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 213 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
__user_initial_stackheap 0000001C
Symbol: __user_initial_stackheap
Definitions
At line 379 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 377 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Comment: __user_initial_stackheap used once
83 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Absolute symbols
Heap_Size 00000200
Symbol: Heap_Size
Definitions
At line 44 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
At line 48 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 383 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Stack_Size 00000400
Symbol: Stack_Size
Definitions
At line 33 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Uses
At line 36 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
At line 382 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
__Vectors_Size 00000158
Symbol: __Vectors_Size
Definitions
At line 152 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 59 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1
921VK035.s
Comment: __Vectors_Size used once
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
External symbols
SystemInit 00000000
Symbol: SystemInit
Definitions
At line 160 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 161 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Comment: SystemInit used once
__main 00000000
Symbol: __main
Definitions
At line 159 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
At line 163 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Comment: __main used once
__use_two_region_memory 00000000
Symbol: __use_two_region_memory
Definitions
At line 376 in file platform\Device\NIIET\K1921VK035\Source\ARM\startup_K
1921VK035.s
Uses
None
Comment: __use_two_region_memory unused
3 symbols
436 symbols in table

View File

@@ -1,1316 +0,0 @@
Component: ARM Compiler 5.06 update 7 (build 960) Tool: armlink [4d3601]
==============================================================================
Section Cross References
system_k1921vk035.o(i.SystemCoreClockUpdate) refers to system_k1921vk035.o(.data) for .data
system_k1921vk035.o(i.SystemInit) refers to system_k1921vk035.o(i.ClkInit) for ClkInit
system_k1921vk035.o(i.SystemInit) refers to system_k1921vk035.o(i.FPUInit) for FPUInit
startup_k1921vk035.o(STACK) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_k1921vk035.o(HEAP) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_k1921vk035.o(RESET) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_k1921vk035.o(RESET) refers to startup_k1921vk035.o(STACK) for __initial_sp
startup_k1921vk035.o(RESET) refers to startup_k1921vk035.o(.text) for Reset_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(i.NMI_Handler) for NMI_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(i.HardFault_Handler) for HardFault_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(i.MemManage_Handler) for MemManage_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(i.BusFault_Handler) for BusFault_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(i.UsageFault_Handler) for UsageFault_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(i.SVC_Handler) for SVC_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(i.DebugMon_Handler) for DebugMon_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(i.PendSV_Handler) for PendSV_Handler
startup_k1921vk035.o(RESET) refers to vk035_it.o(i.SysTick_Handler) for SysTick_Handler
startup_k1921vk035.o(.text) refers (Special) to heapauxi.o(.text) for __use_two_region_memory
startup_k1921vk035.o(.text) refers to system_k1921vk035.o(i.SystemInit) for SystemInit
startup_k1921vk035.o(.text) refers to __main.o(!!!main) for __main
startup_k1921vk035.o(.text) refers to startup_k1921vk035.o(HEAP) for Heap_Mem
startup_k1921vk035.o(.text) refers to startup_k1921vk035.o(STACK) for Stack_Mem
main.o(i.assert_failed) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
main.o(i.assert_failed) refers to _printf_d.o(.ARM.Collect$$_printf_percent$$00000009) for _printf_d
main.o(i.assert_failed) refers to _printf_s.o(.ARM.Collect$$_printf_percent$$00000014) for _printf_s
main.o(i.assert_failed) refers to _printf_dec.o(.text) for _printf_int_dec
main.o(i.assert_failed) refers to _printf_str.o(.text) for _printf_str
main.o(i.assert_failed) refers to noretval__2printf.o(.text) for __2printf
main.o(i.main) refers to main.o(i.periph_init) for periph_init
main.o(i.periph_init) refers to _printf_pad.o(.text) for _printf_pre_padding
main.o(i.periph_init) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
main.o(i.periph_init) refers to _printf_d.o(.ARM.Collect$$_printf_percent$$00000009) for _printf_d
main.o(i.periph_init) refers to _printf_dec.o(.text) for _printf_int_dec
main.o(i.periph_init) refers to system_k1921vk035.o(i.SystemCoreClockUpdate) for SystemCoreClockUpdate
main.o(i.periph_init) refers to rcu.o(i.sysclk_init) for sysclk_init
main.o(i.periph_init) refers to gpio.o(i.gpio_init) for gpio_init
main.o(i.periph_init) refers to retarget_conf.o(i.retarget_init) for retarget_init
main.o(i.periph_init) refers to dflt_clz.o(x$fpl$dfltu) for __aeabi_ui2d
main.o(i.periph_init) refers to ddiv.o(x$fpl$ddiv) for __aeabi_ddiv
main.o(i.periph_init) refers to dfix.o(x$fpl$dfix) for __aeabi_d2iz
main.o(i.periph_init) refers to noretval__2printf.o(.text) for __2printf
main.o(i.periph_init) refers to system_k1921vk035.o(.data) for SystemCoreClock
gpio.o(i.gpio_init) refers to plib035_gpio.o(i.GPIO_DeInit) for GPIO_DeInit
gpio.o(i.gpio_init) refers to plib035_gpio.o(i.GPIO_Init) for GPIO_Init
gpio.o(i.gpio_init) refers to gpio.o(.data) for .data
rcu.o(i.RCU_ClkOutConfig) refers to main.o(i.assert_failed) for assert_failed
rcu.o(i.sysclk_init) refers to plib035_rcu.o(i.RCU_PLL_AutoConfig) for RCU_PLL_AutoConfig
rcu.o(i.sysclk_init) refers to main.o(i.Error_Handler) for Error_Handler
rcu.o(i.sysclk_init) refers to system_k1921vk035.o(i.SystemCoreClockUpdate) for SystemCoreClockUpdate
rcu.o(i.sysclk_init) refers to rcu.o(i.RCU_ClkOutConfig) for RCU_ClkOutConfig
rcu.o(i.sysclk_init) refers to rcu.o(.data) for .data
vk035_it.o(i.SysTick_Handler) refers to system_k1921vk035.o(.data) for uwTick
plib035_adc.o(i.ADC_DC_Config) refers to main.o(i.assert_failed) for assert_failed
plib035_adc.o(i.ADC_DC_Config) refers to plib035_adc.o(i.ADC_SEQ_Init) for i.ADC_SEQ_Init
plib035_adc.o(i.ADC_DC_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_adc.o(i.ADC_DC_Init) refers to plib035_adc.o(i.ADC_DC_Config) for ADC_DC_Config
plib035_adc.o(i.ADC_DC_Init) refers to plib035_adc.o(i.ADC_SEQ_Init) for i.ADC_SEQ_Init
plib035_adc.o(i.ADC_DeInit) refers to plib035_adc.o(i.RCU_ADCRstCmd) for RCU_ADCRstCmd
plib035_adc.o(i.ADC_SEQ_DCEnableCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_adc.o(i.ADC_SEQ_DCEnableCmd) refers to plib035_adc.o(i.ADC_SEQ_Init) for i.ADC_SEQ_Init
plib035_adc.o(i.ADC_SEQ_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_adc.o(i.ADC_SEQ_Init) refers to plib035_adc.o(i.ADC_SEQ_ReqConfig) for ADC_SEQ_ReqConfig
plib035_adc.o(i.ADC_SEQ_Init) refers to plib035_adc.o(i.ADC_SEQ_DCEnableCmd) for ADC_SEQ_DCEnableCmd
plib035_adc.o(i.ADC_SEQ_ReqConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_adc.o(i.ADC_SEQ_ReqConfig) refers to plib035_adc.o(i.ADC_SEQ_Init) for i.ADC_SEQ_Init
plib035_adc.o(i.RCU_ADCRstCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_dma.o(i.DMA_ChannelInit) refers to main.o(i.assert_failed) for assert_failed
plib035_dma.o(i.DMA_Init) refers to plib035_dma.o(i.DMA_ProtectConfig) for DMA_ProtectConfig
plib035_dma.o(i.DMA_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_dma.o(i.DMA_ProtectConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_dma.o(i.DMA_ProtectConfig) refers to plib035_dma.o(i.DMA_Init) for i.DMA_Init
plib035_ecap.o(i.ECAP_Capture_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_ecap.o(i.ECAP_Capture_Init) refers to plib035_ecap.o(i.ECAP_Init) for i.ECAP_Init
plib035_ecap.o(i.ECAP_DeInit) refers to main.o(i.assert_failed) for assert_failed
plib035_ecap.o(i.ECAP_DeInit) refers to plib035_ecap.o(i.RCU_APBRstCmd) for RCU_APBRstCmd
plib035_ecap.o(i.ECAP_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_ecap.o(i.ECAP_PWM_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_ecap.o(i.ECAP_PWM_Init) refers to plib035_ecap.o(i.ECAP_Init) for i.ECAP_Init
plib035_ecap.o(i.RCU_APBRstCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_gpio.o(i.GPIO_AltFuncCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_gpio.o(i.GPIO_AltFuncCmd) refers to plib035_gpio.o(i.GPIO_DigitalCmd) for i.GPIO_DigitalCmd
plib035_gpio.o(i.GPIO_DeInit) refers to main.o(i.assert_failed) for assert_failed
plib035_gpio.o(i.GPIO_DeInit) refers to plib035_gpio.o(i.RCU_AHBRstCmd) for RCU_AHBRstCmd
plib035_gpio.o(i.GPIO_DigitalCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_gpio.o(i.GPIO_DriveModeConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_gpio.o(i.GPIO_DriveModeConfig) refers to plib035_gpio.o(i.GPIO_ModeConfig) for GPIO_ModeConfig
plib035_gpio.o(i.GPIO_InModeConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_gpio.o(i.GPIO_InModeConfig) refers to plib035_gpio.o(i.GPIO_ModeConfig) for GPIO_ModeConfig
plib035_gpio.o(i.GPIO_Init) refers to plib035_gpio.o(i.GPIO_OutCmd) for GPIO_OutCmd
plib035_gpio.o(i.GPIO_Init) refers to plib035_gpio.o(i.GPIO_AltFuncCmd) for GPIO_AltFuncCmd
plib035_gpio.o(i.GPIO_Init) refers to plib035_gpio.o(i.GPIO_OutModeConfig) for GPIO_OutModeConfig
plib035_gpio.o(i.GPIO_Init) refers to plib035_gpio.o(i.GPIO_InModeConfig) for GPIO_InModeConfig
plib035_gpio.o(i.GPIO_Init) refers to plib035_gpio.o(i.GPIO_PullModeConfig) for GPIO_PullModeConfig
plib035_gpio.o(i.GPIO_Init) refers to plib035_gpio.o(i.GPIO_DriveModeConfig) for GPIO_DriveModeConfig
plib035_gpio.o(i.GPIO_Init) refers to plib035_gpio.o(i.GPIO_DigitalCmd) for GPIO_DigitalCmd
plib035_gpio.o(i.GPIO_OutCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_gpio.o(i.GPIO_OutCmd) refers to plib035_gpio.o(i.GPIO_DigitalCmd) for i.GPIO_DigitalCmd
plib035_gpio.o(i.GPIO_OutModeConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_gpio.o(i.GPIO_OutModeConfig) refers to plib035_gpio.o(i.GPIO_ModeConfig) for GPIO_ModeConfig
plib035_gpio.o(i.GPIO_PullModeConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_gpio.o(i.GPIO_PullModeConfig) refers to plib035_gpio.o(i.GPIO_ModeConfig) for GPIO_ModeConfig
plib035_gpio.o(i.RCU_AHBRstCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_i2c.o(i.I2C_FSFreqConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_i2c.o(i.I2C_HSFreqConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_i2c.o(i.I2C_HSFreqConfig) refers to plib035_i2c.o(i.I2C_FSFreqConfig) for i.I2C_FSFreqConfig
plib035_mflash.o(i.MFLASH_EraseFull) refers to main.o(i.assert_failed) for assert_failed
plib035_mflash.o(i.MFLASH_EraseFull) refers to plib035_mflash.o(i.MFLASH_SetCmd) for MFLASH_SetCmd
plib035_mflash.o(i.MFLASH_EraseFull) refers to plib035_mflash.o(i.MFLASH_BusyStatus) for MFLASH_BusyStatus
plib035_mflash.o(i.MFLASH_ErasePage) refers to main.o(i.assert_failed) for assert_failed
plib035_mflash.o(i.MFLASH_ErasePage) refers to plib035_mflash.o(i.MFLASH_SetCmd) for MFLASH_SetCmd
plib035_mflash.o(i.MFLASH_ErasePage) refers to plib035_mflash.o(i.MFLASH_BusyStatus) for MFLASH_BusyStatus
plib035_mflash.o(i.MFLASH_ReadData) refers to main.o(i.assert_failed) for assert_failed
plib035_mflash.o(i.MFLASH_ReadData) refers to plib035_mflash.o(i.MFLASH_SetCmd) for MFLASH_SetCmd
plib035_mflash.o(i.MFLASH_ReadData) refers to plib035_mflash.o(i.MFLASH_BusyStatus) for MFLASH_BusyStatus
plib035_mflash.o(i.MFLASH_WriteData) refers to main.o(i.assert_failed) for assert_failed
plib035_mflash.o(i.MFLASH_WriteData) refers to plib035_mflash.o(i.MFLASH_SetCmd) for MFLASH_SetCmd
plib035_mflash.o(i.MFLASH_WriteData) refers to plib035_mflash.o(i.MFLASH_BusyStatus) for MFLASH_BusyStatus
plib035_mflash.o(i.MFLASH_WriteData) refers to plib035_mflash.o(i.MFLASH_ReadData) for i.MFLASH_ReadData
plib035_pwm.o(i.PWM_AQ_ActionAConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_AQ_ActionBConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_AQ_Init) refers to plib035_pwm.o(i.PWM_AQ_ActionAConfig) for PWM_AQ_ActionAConfig
plib035_pwm.o(i.PWM_AQ_Init) refers to plib035_pwm.o(i.PWM_AQ_ActionBConfig) for PWM_AQ_ActionBConfig
plib035_pwm.o(i.PWM_CMP_CmpADirectLoadCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_CMP_CmpALoadEventConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_CMP_Init) refers to plib035_pwm.o(i.PWM_CMP_CmpALoadEventConfig) for PWM_CMP_CmpALoadEventConfig
plib035_pwm.o(i.PWM_CMP_Init) refers to plib035_pwm.o(i.PWM_CMP_CmpADirectLoadCmd) for PWM_CMP_CmpADirectLoadCmd
plib035_pwm.o(i.PWM_CMP_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_CMP_Init) refers to plib035_pwm.o(i.PWM_TB_Init) for i.PWM_TB_Init
plib035_pwm.o(i.PWM_DB_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_DB_Init) refers to plib035_pwm.o(i.PWM_TB_Init) for i.PWM_TB_Init
plib035_pwm.o(i.PWM_DeInit) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_DeInit) refers to plib035_pwm.o(i.RCU_APBRstCmd) for RCU_APBRstCmd
plib035_pwm.o(i.PWM_ET_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_ET_Init) refers to plib035_pwm.o(i.PWM_TB_Init) for i.PWM_TB_Init
plib035_pwm.o(i.PWM_HD_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_HD_Init) refers to plib035_pwm.o(i.PWM_TB_Init) for i.PWM_TB_Init
plib035_pwm.o(i.PWM_TB_ClkDivConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_TB_ClkDivConfig) refers to plib035_pwm.o(i.PWM_TB_Init) for i.PWM_TB_Init
plib035_pwm.o(i.PWM_TB_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_TB_Init) refers to plib035_pwm.o(i.PWM_TB_ClkDivConfig) for PWM_TB_ClkDivConfig
plib035_pwm.o(i.PWM_TZ_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_pwm.o(i.PWM_TZ_Init) refers to plib035_pwm.o(i.PWM_TB_Init) for i.PWM_TB_Init
plib035_pwm.o(i.RCU_APBRstCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_qep.o(i.QEP_CAP_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_qep.o(i.QEP_CAP_Init) refers to plib035_qep.o(i.QEP_PC_Init) for i.QEP_PC_Init
plib035_qep.o(i.QEP_CMP_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_qep.o(i.QEP_CMP_Init) refers to plib035_qep.o(i.QEP_PC_Init) for i.QEP_PC_Init
plib035_qep.o(i.QEP_DeInit) refers to plib035_qep.o(i.RCU_APBRstCmd) for RCU_APBRstCmd
plib035_qep.o(i.QEP_PC_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_qep.o(i.RCU_APBRstCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_rcu.o(i.MFLASH_LatencyConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_rcu.o(i.RCU_GetADCClkFreq) refers to plib035_rcu.o(i.getPeriphClkFreq) for getPeriphClkFreq
plib035_rcu.o(i.RCU_GetClkOutFreq) refers to plib035_rcu.o(i.getSysPeriphClkFreq) for getSysPeriphClkFreq
plib035_rcu.o(i.RCU_GetPLLDivClkFreq) refers to plib035_rcu.o(i.RCU_GetPLLClkFreq) for RCU_GetPLLClkFreq
plib035_rcu.o(i.RCU_GetSPIClkFreq) refers to plib035_rcu.o(i.getPeriphClkFreq) for getPeriphClkFreq
plib035_rcu.o(i.RCU_GetSysClkFreq) refers to plib035_rcu.o(i.getSysClkFreq) for getSysClkFreq
plib035_rcu.o(i.RCU_GetTraceClkFreq) refers to plib035_rcu.o(i.getSysPeriphClkFreq) for getSysPeriphClkFreq
plib035_rcu.o(i.RCU_GetUARTClkFreq) refers to plib035_rcu.o(i.getPeriphClkFreq) for getPeriphClkFreq
plib035_rcu.o(i.RCU_GetWDTClkFreq) refers to plib035_rcu.o(i.getSysPeriphClkFreq) for getSysPeriphClkFreq
plib035_rcu.o(i.RCU_PLL_AutoConfig) refers to plib035_rcu.o(i.RCU_PLL_StructInit) for RCU_PLL_StructInit
plib035_rcu.o(i.RCU_PLL_AutoConfig) refers to plib035_rcu.o(i.RCU_PLL_Init) for RCU_PLL_Init
plib035_rcu.o(i.RCU_PLL_AutoConfig) refers to plib035_rcu.o(i.MFLASH_LatencyConfig) for MFLASH_LatencyConfig
plib035_rcu.o(i.RCU_PLL_AutoConfig) refers to plib035_rcu.o(i.RCU_SysClkChangeCmd) for RCU_SysClkChangeCmd
plib035_rcu.o(i.RCU_PLL_DeInit) refers to plib035_rcu.o(i.RCU_PLL_OutCmd) for RCU_PLL_OutCmd
plib035_rcu.o(i.RCU_PLL_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_rcu.o(i.RCU_PLL_Init) refers to plib035_rcu.o(i.RCU_PLL_OutCmd) for RCU_PLL_OutCmd
plib035_rcu.o(i.RCU_PLL_OutCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_rcu.o(i.RCU_SysClkChangeCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_rcu.o(i.getPeriphClkFreq) refers to plib035_rcu.o(i.RCU_GetOSIClkFreq) for RCU_GetOSIClkFreq
plib035_rcu.o(i.getPeriphClkFreq) refers to plib035_rcu.o(i.RCU_GetOSEClkFreq) for RCU_GetOSEClkFreq
plib035_rcu.o(i.getPeriphClkFreq) refers to plib035_rcu.o(i.RCU_GetPLLClkFreq) for RCU_GetPLLClkFreq
plib035_rcu.o(i.getPeriphClkFreq) refers to plib035_rcu.o(i.RCU_GetPLLDivClkFreq) for RCU_GetPLLDivClkFreq
plib035_rcu.o(i.getSysClkFreq) refers to plib035_rcu.o(i.RCU_GetPLLDivClkFreq) for RCU_GetPLLDivClkFreq
plib035_rcu.o(i.getSysClkFreq) refers to plib035_rcu.o(i.RCU_GetOSIClkFreq) for RCU_GetOSIClkFreq
plib035_rcu.o(i.getSysClkFreq) refers to plib035_rcu.o(i.RCU_GetOSEClkFreq) for RCU_GetOSEClkFreq
plib035_rcu.o(i.getSysClkFreq) refers to plib035_rcu.o(i.RCU_GetPLLClkFreq) for RCU_GetPLLClkFreq
plib035_rcu.o(i.getSysPeriphClkFreq) refers to plib035_rcu.o(i.RCU_GetPLLDivClkFreq) for RCU_GetPLLDivClkFreq
plib035_rcu.o(i.getSysPeriphClkFreq) refers to plib035_rcu.o(i.RCU_GetOSEClkFreq) for RCU_GetOSEClkFreq
plib035_rcu.o(i.getSysPeriphClkFreq) refers to plib035_rcu.o(i.RCU_GetPLLClkFreq) for RCU_GetPLLClkFreq
plib035_rcu.o(i.getSysPeriphClkFreq) refers to plib035_rcu.o(i.RCU_GetOSIClkFreq) for RCU_GetOSIClkFreq
plib035_spi.o(i.RCU_SPIRstCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_spi.o(i.SPI_DeInit) refers to plib035_spi.o(i.RCU_SPIRstCmd) for RCU_SPIRstCmd
plib035_spi.o(i.SPI_Init) refers to main.o(i.assert_failed) for assert_failed
plib035_tmr.o(i.TMR_FreqConfig) refers to plib035_tmr.o(i.TMR_SetLoad) for TMR_SetLoad
plib035_tmr.o(i.TMR_PeriodConfig) refers to plib035_tmr.o(i.TMR_SetLoad) for TMR_SetLoad
plib035_tmr.o(i.TMR_SetLoad) refers to main.o(i.assert_failed) for assert_failed
plib035_uart.o(i.RCU_UARTRstCmd) refers to main.o(i.assert_failed) for assert_failed
plib035_uart.o(i.UART_AutoBaudConfig) refers to main.o(i.assert_failed) for assert_failed
plib035_uart.o(i.UART_AutoBaudConfig) refers to plib035_rcu.o(i.RCU_GetUARTClkFreq) for RCU_GetUARTClkFreq
plib035_uart.o(i.UART_DeInit) refers to main.o(i.assert_failed) for assert_failed
plib035_uart.o(i.UART_DeInit) refers to plib035_uart.o(i.RCU_UARTRstCmd) for RCU_UARTRstCmd
plib035_uart.o(i.UART_Init) refers to plib035_uart.o(i.UART_AutoBaudConfig) for UART_AutoBaudConfig
plib035_uart.o(i.UART_Init) refers to main.o(i.assert_failed) for assert_failed
retarget.o(.rev16_text) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget.o(.revsh_text) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget.o(.rrx_text) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget.o(i._sys_exit) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget.o(i._ttywrch) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget.o(i._ttywrch) refers to retarget_conf.o(i.retarget_put_char) for retarget_put_char
retarget.o(i.ferror) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget.o(i.fgetc) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget.o(i.fgetc) refers to retarget_conf.o(i.retarget_get_char) for retarget_get_char
retarget.o(i.fputc) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget.o(i.fputc) refers to retarget_conf.o(i.retarget_put_char) for retarget_put_char
retarget.o(.data) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget.o(.data) refers (Special) to use_no_semi.o(.text) for __use_no_semihosting_swi
retarget_conf.o(i.retarget_init) refers to system_k1921vk035.o(.data) for SystemCoreClock
__2printf.o(.text) refers to _printf_char_file.o(.text) for _printf_char_file
__2printf.o(.text) refers to retarget.o(.data) for __stdout
noretval__2printf.o(.text) refers to _printf_char_file.o(.text) for _printf_char_file
noretval__2printf.o(.text) refers to retarget.o(.data) for __stdout
__printf.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
_printf_str.o(.text) refers (Special) to _printf_char.o(.text) for _printf_cs_common
_printf_str.o(.text) refers (Weak) to _printf_pad.o(.text) for _printf_pre_padding
_printf_str.o(.text) refers (Weak) to _printf_pad.o(.text) for _printf_post_padding
_printf_dec.o(.text) refers to _printf_intcommon.o(.text) for _printf_int_common
__printf_flags.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
__printf_flags.o(.text) refers to __printf_flags.o(.constdata) for .constdata
__printf_ss.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
__printf_flags_ss.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
__printf_flags_ss.o(.text) refers to __printf_flags_ss.o(.constdata) for .constdata
__printf_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit
__printf_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
__printf_flags_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit
__printf_flags_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
__printf_flags_wp.o(.text) refers to __printf_flags_wp.o(.constdata) for .constdata
__printf_ss_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit
__printf_ss_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
__printf_flags_ss_wp.o(.text) refers to __printf_wp.o(i._is_digit) for _is_digit
__printf_flags_ss_wp.o(.text) refers to _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) for _printf_percent
__printf_flags_ss_wp.o(.text) refers to __printf_flags_ss_wp.o(.constdata) for .constdata
_printf_s.o(.ARM.Collect$$_printf_percent$$00000014) refers (Weak) to _printf_char.o(.text) for _printf_string
_printf_d.o(.ARM.Collect$$_printf_percent$$00000009) refers (Weak) to _printf_dec.o(.text) for _printf_int_dec
_printf_percent.o(.ARM.Collect$$_printf_percent$$00000000) refers (Special) to _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017) for _printf_percent_end
__main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry
ddiv.o(x$fpl$drdiv) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
ddiv.o(x$fpl$drdiv) refers to ddiv.o(x$fpl$ddiv) for ddiv_entry
ddiv.o(x$fpl$ddiv) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
ddiv.o(x$fpl$ddiv) refers to dretinf.o(x$fpl$dretinf) for __fpl_dretinf
ddiv.o(x$fpl$ddiv) refers to dnaninf.o(x$fpl$dnaninf) for __fpl_dnaninf
dfix.o(x$fpl$dfix) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
dfix.o(x$fpl$dfix) refers to dnaninf.o(x$fpl$dnaninf) for __fpl_dnaninf
dfix.o(x$fpl$dfixr) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
dfix.o(x$fpl$dfixr) refers to dnaninf.o(x$fpl$dnaninf) for __fpl_dnaninf
dflt_clz.o(x$fpl$dfltu) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
dflt_clz.o(x$fpl$dflt) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
dflt_clz.o(x$fpl$dfltn) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000C) for __rt_entry_postli_1
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000009) for __rt_entry_postsh_1
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$00000002) for __rt_entry_presh_1
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for __rt_entry_sh
_printf_intcommon.o(.text) refers (Weak) to _printf_pad.o(.text) for _printf_pre_padding
_printf_intcommon.o(.text) refers (Weak) to _printf_pad.o(.text) for _printf_pre_padding
_printf_intcommon.o(.text) refers (Weak) to _printf_pad.o(.text) for _printf_post_padding
_printf_char.o(.text) refers (Weak) to _printf_str.o(.text) for _printf_str
_printf_char_file.o(.text) refers to _printf_char_common.o(.text) for _printf_char_common
_printf_char_file.o(.text) refers to retarget.o(i.ferror) for ferror
_printf_char_file.o(.text) refers to retarget.o(i.fputc) for fputc
dnaninf.o(x$fpl$dnaninf) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
dretinf.o(x$fpl$dretinf) refers (Special) to usenofp.o(x$fpl$usenofp) for __I$use$fp
__rtentry2.o(.ARM.Collect$$rtentry$$00000008) refers to boardinit2.o(.text) for _platform_post_stackheap_init
__rtentry2.o(.ARM.Collect$$rtentry$$0000000A) refers to libinit.o(.ARM.Collect$$libinit$$00000000) for __rt_lib_init
__rtentry2.o(.ARM.Collect$$rtentry$$0000000B) refers to boardinit3.o(.text) for _platform_post_lib_init
__rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to main.o(i.main) for main
__rtentry2.o(.ARM.Collect$$rtentry$$0000000D) refers to exit.o(.text) for exit
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000001) for .ARM.Collect$$rtentry$$00000001
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$00000008) for .ARM.Collect$$rtentry$$00000008
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for .ARM.Collect$$rtentry$$0000000A
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000B) for .ARM.Collect$$rtentry$$0000000B
__rtentry2.o(.ARM.exidx) refers to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for .ARM.Collect$$rtentry$$0000000D
__rtentry4.o(.ARM.Collect$$rtentry$$00000004) refers to sys_stackheap_outer.o(.text) for __user_setup_stackheap
__rtentry4.o(.ARM.exidx) refers to __rtentry4.o(.ARM.Collect$$rtentry$$00000004) for .ARM.Collect$$rtentry$$00000004
_printf_char_common.o(.text) refers to __printf_wp.o(.text) for __printf
sys_stackheap_outer.o(.text) refers to libspace.o(.text) for __user_perproc_libspace
sys_stackheap_outer.o(.text) refers to startup_k1921vk035.o(.text) for __user_initial_stackheap
exit.o(.text) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for __rt_exit
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002E) for __rt_lib_init_alloca_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000002C) for __rt_lib_init_argv_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001B) for __rt_lib_init_atexit_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000021) for __rt_lib_init_clock_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000032) for __rt_lib_init_cpp_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000030) for __rt_lib_init_exceptions_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000001) for __rt_lib_init_fp_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001F) for __rt_lib_init_fp_trap_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000023) for __rt_lib_init_getenv_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000A) for __rt_lib_init_heap_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000011) for __rt_lib_init_lc_collate_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000013) for __rt_lib_init_lc_ctype_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000015) for __rt_lib_init_lc_monetary_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000017) for __rt_lib_init_lc_numeric_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000019) for __rt_lib_init_lc_time_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000004) for __rt_lib_init_preinit_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000E) for __rt_lib_init_rand_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000033) for __rt_lib_init_return
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000001D) for __rt_lib_init_signal_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$00000025) for __rt_lib_init_stdio_1
libinit.o(.ARM.Collect$$libinit$$00000000) refers (Special) to libinit2.o(.ARM.Collect$$libinit$$0000000C) for __rt_lib_init_user_alloc_1
libspace.o(.text) refers to libspace.o(.bss) for __libspace_start
rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit
rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls
rtexit.o(.ARM.Collect$$rtexit$$00000000) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1
rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for __rt_exit_exit
rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for __rt_exit_ls
rtexit.o(.ARM.exidx) refers (Special) to rtexit2.o(.ARM.Collect$$rtexit$$00000002) for __rt_exit_prels_1
rtexit.o(.ARM.exidx) refers to rtexit.o(.ARM.Collect$$rtexit$$00000000) for .ARM.Collect$$rtexit$$00000000
libinit2.o(.ARM.Collect$$libinit$$00000001) refers to fpinit.o(x$fpl$fpinit) for _fp_init
libinit2.o(.ARM.Collect$$libinit$$00000010) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
libinit2.o(.ARM.Collect$$libinit$$00000012) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
libinit2.o(.ARM.Collect$$libinit$$00000014) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
libinit2.o(.ARM.Collect$$libinit$$00000016) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
libinit2.o(.ARM.Collect$$libinit$$00000018) refers to libinit2.o(.ARM.Collect$$libinit$$0000000F) for .ARM.Collect$$libinit$$0000000F
libinit2.o(.ARM.Collect$$libinit$$00000026) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer
libinit2.o(.ARM.Collect$$libinit$$00000027) refers to argv_veneer.o(.emb_text) for __ARM_argv_veneer
rtexit2.o(.ARM.Collect$$rtexit$$00000003) refers to libshutdown.o(.ARM.Collect$$libshutdown$$00000000) for __rt_lib_shutdown
rtexit2.o(.ARM.Collect$$rtexit$$00000004) refers to retarget.o(i._sys_exit) for _sys_exit
rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000001) for .ARM.Collect$$rtexit$$00000001
rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000003) for .ARM.Collect$$rtexit$$00000003
rtexit2.o(.ARM.exidx) refers to rtexit2.o(.ARM.Collect$$rtexit$$00000004) for .ARM.Collect$$rtexit$$00000004
argv_veneer.o(.emb_text) refers to no_argv.o(.text) for __ARM_get_argv
_get_argv_nomalloc.o(.text) refers (Special) to hrguard.o(.text) for __heap_region$guard
_get_argv_nomalloc.o(.text) refers to defsig_rtmem_outer.o(.text) for __rt_SIGRTMEM
_get_argv_nomalloc.o(.text) refers to sys_command.o(.text) for _sys_command_string
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000004) for __rt_lib_shutdown_cpp_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000002) for __rt_lib_shutdown_fini_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000009) for __rt_lib_shutdown_fp_trap_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000011) for __rt_lib_shutdown_heap_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000012) for __rt_lib_shutdown_return
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C) for __rt_lib_shutdown_signal_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$00000006) for __rt_lib_shutdown_stdio_1
libshutdown.o(.ARM.Collect$$libshutdown$$00000000) refers (Special) to libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E) for __rt_lib_shutdown_user_alloc_1
sys_command.o(.text) refers (Special) to use_no_semi.o(.text) for __I$use$semihosting
sys_command.o(.text) refers (Special) to indicate_semi.o(.text) for __semihosting_library_function
defsig_rtmem_outer.o(.text) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner
defsig_rtmem_outer.o(.text) refers to defsig_exit.o(.text) for __sig_exit
defsig_rtmem_formal.o(.text) refers to rt_raise.o(.text) for __rt_raise
rt_raise.o(.text) refers to __raise.o(.text) for __raise
rt_raise.o(.text) refers to retarget.o(i._sys_exit) for _sys_exit
defsig_exit.o(.text) refers to retarget.o(i._sys_exit) for _sys_exit
defsig_rtmem_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
__raise.o(.text) refers to defsig.o(CL$$defsig) for __default_signal_handler
defsig_general.o(.text) refers to retarget.o(i._ttywrch) for _ttywrch
defsig.o(CL$$defsig) refers to defsig_rtmem_inner.o(.text) for __rt_SIGRTMEM_inner
defsig_abrt_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_fpe_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_rtred_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_stak_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_pvfn_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_cppl_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_segv_inner.o(.text) refers to defsig_general.o(.text) for __default_signal_display
defsig_other.o(.text) refers to defsig_general.o(.text) for __default_signal_display
==============================================================================
Removing Unused input sections from the image.
Removing system_k1921vk035.o(.rev16_text), (4 bytes).
Removing system_k1921vk035.o(.revsh_text), (4 bytes).
Removing system_k1921vk035.o(.rrx_text), (6 bytes).
Removing main.o(.rev16_text), (4 bytes).
Removing main.o(.revsh_text), (4 bytes).
Removing main.o(.rrx_text), (6 bytes).
Removing gpio.o(.rev16_text), (4 bytes).
Removing gpio.o(.revsh_text), (4 bytes).
Removing gpio.o(.rrx_text), (6 bytes).
Removing rcu.o(.rev16_text), (4 bytes).
Removing rcu.o(.revsh_text), (4 bytes).
Removing rcu.o(.rrx_text), (6 bytes).
Removing vk035_it.o(.rev16_text), (4 bytes).
Removing vk035_it.o(.revsh_text), (4 bytes).
Removing vk035_it.o(.rrx_text), (6 bytes).
Removing plib035_adc.o(.rev16_text), (4 bytes).
Removing plib035_adc.o(.revsh_text), (4 bytes).
Removing plib035_adc.o(.rrx_text), (6 bytes).
Removing plib035_adc.o(i.ADC_DC_Config), (116 bytes).
Removing plib035_adc.o(i.ADC_DC_Init), (316 bytes).
Removing plib035_adc.o(i.ADC_DC_StructInit), (18 bytes).
Removing plib035_adc.o(i.ADC_DeInit), (18 bytes).
Removing plib035_adc.o(i.ADC_SEQ_DCEnableCmd), (96 bytes).
Removing plib035_adc.o(i.ADC_SEQ_Init), (568 bytes).
Removing plib035_adc.o(i.ADC_SEQ_ReqConfig), (104 bytes).
Removing plib035_adc.o(i.ADC_SEQ_StructInit), (52 bytes).
Removing plib035_adc.o(i.RCU_ADCRstCmd), (80 bytes).
Removing plib035_can.o(.rev16_text), (4 bytes).
Removing plib035_can.o(.revsh_text), (4 bytes).
Removing plib035_can.o(.rrx_text), (6 bytes).
Removing plib035_dma.o(.rev16_text), (4 bytes).
Removing plib035_dma.o(.revsh_text), (4 bytes).
Removing plib035_dma.o(.rrx_text), (6 bytes).
Removing plib035_dma.o(i.DMA_ChannelDeInit), (10 bytes).
Removing plib035_dma.o(i.DMA_ChannelInit), (492 bytes).
Removing plib035_dma.o(i.DMA_ChannelStructInit), (40 bytes).
Removing plib035_dma.o(i.DMA_DeInit), (28 bytes).
Removing plib035_dma.o(i.DMA_Init), (292 bytes).
Removing plib035_dma.o(i.DMA_ProtectConfig), (100 bytes).
Removing plib035_dma.o(i.DMA_StructInit), (26 bytes).
Removing plib035_ecap.o(.rev16_text), (4 bytes).
Removing plib035_ecap.o(.revsh_text), (4 bytes).
Removing plib035_ecap.o(.rrx_text), (6 bytes).
Removing plib035_ecap.o(i.ECAP_Capture_Init), (632 bytes).
Removing plib035_ecap.o(i.ECAP_Capture_StructInit), (28 bytes).
Removing plib035_ecap.o(i.ECAP_DeInit), (124 bytes).
Removing plib035_ecap.o(i.ECAP_Init), (276 bytes).
Removing plib035_ecap.o(i.ECAP_PWM_Init), (144 bytes).
Removing plib035_ecap.o(i.ECAP_PWM_StructInit), (18 bytes).
Removing plib035_ecap.o(i.ECAP_StructInit), (12 bytes).
Removing plib035_ecap.o(i.RCU_APBRstCmd), (152 bytes).
Removing plib035_gpio.o(.rev16_text), (4 bytes).
Removing plib035_gpio.o(.revsh_text), (4 bytes).
Removing plib035_gpio.o(.rrx_text), (6 bytes).
Removing plib035_gpio.o(i.GPIO_StructInit), (24 bytes).
Removing plib035_i2c.o(.rev16_text), (4 bytes).
Removing plib035_i2c.o(.revsh_text), (4 bytes).
Removing plib035_i2c.o(.rrx_text), (6 bytes).
Removing plib035_i2c.o(i.I2C_FSFreqConfig), (104 bytes).
Removing plib035_i2c.o(i.I2C_HSFreqConfig), (72 bytes).
Removing plib035_mflash.o(.rev16_text), (4 bytes).
Removing plib035_mflash.o(.revsh_text), (4 bytes).
Removing plib035_mflash.o(.rrx_text), (6 bytes).
Removing plib035_mflash.o(i.MFLASH_BusyStatus), (16 bytes).
Removing plib035_mflash.o(i.MFLASH_EraseFull), (92 bytes).
Removing plib035_mflash.o(i.MFLASH_ErasePage), (132 bytes).
Removing plib035_mflash.o(i.MFLASH_ReadData), (212 bytes).
Removing plib035_mflash.o(i.MFLASH_SetCmd), (20 bytes).
Removing plib035_mflash.o(i.MFLASH_WriteData), (180 bytes).
Removing plib035_pmu.o(.rev16_text), (4 bytes).
Removing plib035_pmu.o(.revsh_text), (4 bytes).
Removing plib035_pmu.o(.rrx_text), (6 bytes).
Removing plib035_pwm.o(.rev16_text), (4 bytes).
Removing plib035_pwm.o(.revsh_text), (4 bytes).
Removing plib035_pwm.o(.rrx_text), (6 bytes).
Removing plib035_pwm.o(i.PWM_AQ_ActionAConfig), (160 bytes).
Removing plib035_pwm.o(i.PWM_AQ_ActionBConfig), (160 bytes).
Removing plib035_pwm.o(i.PWM_AQ_Init), (130 bytes).
Removing plib035_pwm.o(i.PWM_AQ_StructInit), (28 bytes).
Removing plib035_pwm.o(i.PWM_CMP_CmpADirectLoadCmd), (112 bytes).
Removing plib035_pwm.o(i.PWM_CMP_CmpALoadEventConfig), (120 bytes).
Removing plib035_pwm.o(i.PWM_CMP_Init), (168 bytes).
Removing plib035_pwm.o(i.PWM_CMP_StructInit), (16 bytes).
Removing plib035_pwm.o(i.PWM_DB_Init), (292 bytes).
Removing plib035_pwm.o(i.PWM_DB_StructInit), (14 bytes).
Removing plib035_pwm.o(i.PWM_DeInit), (116 bytes).
Removing plib035_pwm.o(i.PWM_ET_Init), (680 bytes).
Removing plib035_pwm.o(i.PWM_ET_StructInit), (30 bytes).
Removing plib035_pwm.o(i.PWM_HD_Init), (336 bytes).
Removing plib035_pwm.o(i.PWM_HD_StructInit), (16 bytes).
Removing plib035_pwm.o(i.PWM_TB_ClkDivConfig), (152 bytes).
Removing plib035_pwm.o(i.PWM_TB_Init), (532 bytes).
Removing plib035_pwm.o(i.PWM_TB_StructInit), (24 bytes).
Removing plib035_pwm.o(i.PWM_TZ_Init), (248 bytes).
Removing plib035_pwm.o(i.PWM_TZ_StructInit), (12 bytes).
Removing plib035_pwm.o(i.RCU_APBRstCmd), (152 bytes).
Removing plib035_qep.o(.rev16_text), (4 bytes).
Removing plib035_qep.o(.revsh_text), (4 bytes).
Removing plib035_qep.o(.rrx_text), (6 bytes).
Removing plib035_qep.o(i.QEP_CAP_Init), (224 bytes).
Removing plib035_qep.o(i.QEP_CAP_StructInit), (18 bytes).
Removing plib035_qep.o(i.QEP_CMP_Init), (180 bytes).
Removing plib035_qep.o(i.QEP_CMP_StructInit), (18 bytes).
Removing plib035_qep.o(i.QEP_DeInit), (26 bytes).
Removing plib035_qep.o(i.QEP_PC_Init), (280 bytes).
Removing plib035_qep.o(i.QEP_PC_StructInit), (24 bytes).
Removing plib035_qep.o(i.RCU_APBRstCmd), (152 bytes).
Removing plib035_rcu.o(.rev16_text), (4 bytes).
Removing plib035_rcu.o(.revsh_text), (4 bytes).
Removing plib035_rcu.o(.rrx_text), (6 bytes).
Removing plib035_rcu.o(i.RCU_GetADCClkFreq), (48 bytes).
Removing plib035_rcu.o(i.RCU_GetClkOutFreq), (44 bytes).
Removing plib035_rcu.o(i.RCU_GetOSEClkFreq), (8 bytes).
Removing plib035_rcu.o(i.RCU_GetOSIClkFreq), (8 bytes).
Removing plib035_rcu.o(i.RCU_GetPLLClkFreq), (56 bytes).
Removing plib035_rcu.o(i.RCU_GetPLLDivClkFreq), (28 bytes).
Removing plib035_rcu.o(i.RCU_GetSPIClkFreq), (48 bytes).
Removing plib035_rcu.o(i.RCU_GetSysClkFreq), (16 bytes).
Removing plib035_rcu.o(i.RCU_GetTraceClkFreq), (44 bytes).
Removing plib035_rcu.o(i.RCU_GetUARTClkFreq), (48 bytes).
Removing plib035_rcu.o(i.RCU_GetWDTClkFreq), (44 bytes).
Removing plib035_rcu.o(i.RCU_PLL_DeInit), (24 bytes).
Removing plib035_rcu.o(i.getPeriphClkFreq), (38 bytes).
Removing plib035_rcu.o(i.getSysClkFreq), (38 bytes).
Removing plib035_rcu.o(i.getSysPeriphClkFreq), (38 bytes).
Removing plib035_spi.o(.rev16_text), (4 bytes).
Removing plib035_spi.o(.revsh_text), (4 bytes).
Removing plib035_spi.o(.rrx_text), (6 bytes).
Removing plib035_spi.o(i.RCU_SPIRstCmd), (80 bytes).
Removing plib035_spi.o(i.SPI_DeInit), (18 bytes).
Removing plib035_spi.o(i.SPI_Init), (228 bytes).
Removing plib035_spi.o(i.SPI_StructInit), (18 bytes).
Removing plib035_tmr.o(.rev16_text), (4 bytes).
Removing plib035_tmr.o(.revsh_text), (4 bytes).
Removing plib035_tmr.o(.rrx_text), (6 bytes).
Removing plib035_tmr.o(i.TMR_FreqConfig), (8 bytes).
Removing plib035_tmr.o(i.TMR_PeriodConfig), (16 bytes).
Removing plib035_tmr.o(i.TMR_SetLoad), (100 bytes).
Removing plib035_uart.o(.rev16_text), (4 bytes).
Removing plib035_uart.o(.revsh_text), (4 bytes).
Removing plib035_uart.o(.rrx_text), (6 bytes).
Removing plib035_uart.o(i.RCU_UARTRstCmd), (84 bytes).
Removing plib035_uart.o(i.UART_AutoBaudConfig), (260 bytes).
Removing plib035_uart.o(i.UART_DeInit), (100 bytes).
Removing plib035_uart.o(i.UART_Init), (316 bytes).
Removing plib035_uart.o(i.UART_StructInit), (24 bytes).
Removing plib035_wdt.o(.rev16_text), (4 bytes).
Removing plib035_wdt.o(.revsh_text), (4 bytes).
Removing plib035_wdt.o(.rrx_text), (6 bytes).
Removing retarget.o(.rev16_text), (4 bytes).
Removing retarget.o(.revsh_text), (4 bytes).
Removing retarget.o(.rrx_text), (6 bytes).
Removing retarget.o(i._ttywrch), (4 bytes).
Removing retarget.o(i.fgetc), (4 bytes).
Removing retarget.o(.data), (4 bytes).
Removing retarget_conf.o(.rev16_text), (4 bytes).
Removing retarget_conf.o(.revsh_text), (4 bytes).
Removing retarget_conf.o(.rrx_text), (6 bytes).
Removing retarget_conf.o(i.retarget_get_char), (20 bytes).
159 unused section(s) (total 11136 bytes) removed from the image.
==============================================================================
Image Symbol Table
Local Symbols
Symbol Name Value Ov Type Size Object(Section)
RESET 0x00000000 Section 344 startup_k1921vk035.o(RESET)
../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE
../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE
../clib/angel/dczerorl2.s 0x00000000 Number 0 __dczerorl2.o ABSOLUTE
../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE
../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE
../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE
../clib/angel/scatter.s 0x00000000 Number 0 __scatter.o ABSOLUTE
../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE
../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE
../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE
../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE
../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE
../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE
../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE
../clib/misc.s 0x00000000 Number 0 printf_stubs.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 _printf_dec.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 _printf_pad.o ABSOLUTE
../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE
../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE
../clib/printf_percent.s 0x00000000 Number 0 _printf_s.o ABSOLUTE
../clib/printf_percent.s 0x00000000 Number 0 _printf_d.o ABSOLUTE
../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE
../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE
../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE
../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE
../fplib/ddiv.s 0x00000000 Number 0 ddiv.o ABSOLUTE
../fplib/dfix.s 0x00000000 Number 0 dfix.o ABSOLUTE
../fplib/dflt.s 0x00000000 Number 0 dflt_clz.o ABSOLUTE
../fplib/dnaninf.s 0x00000000 Number 0 dnaninf.o ABSOLUTE
../fplib/dretinf.s 0x00000000 Number 0 dretinf.o ABSOLUTE
../fplib/fpinit.s 0x00000000 Number 0 fpinit.o ABSOLUTE
../fplib/usenofp.s 0x00000000 Number 0 usenofp.o ABSOLUTE
Core\App\gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE
Core\App\main.c 0x00000000 Number 0 main.o ABSOLUTE
Core\App\rcu.c 0x00000000 Number 0 rcu.o ABSOLUTE
Core\App\vk035_it.c 0x00000000 Number 0 vk035_it.o ABSOLUTE
Core\\App\\gpio.c 0x00000000 Number 0 gpio.o ABSOLUTE
Core\\App\\main.c 0x00000000 Number 0 main.o ABSOLUTE
Core\\App\\rcu.c 0x00000000 Number 0 rcu.o ABSOLUTE
Core\\App\\vk035_it.c 0x00000000 Number 0 vk035_it.o ABSOLUTE
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
platform\Device\NIIET\K1921VK035\Source\ARM\startup_K1921VK035.s 0x00000000 Number 0 startup_k1921vk035.o ABSOLUTE
platform\Device\NIIET\K1921VK035\Source\system_K1921VK035.c 0x00000000 Number 0 system_k1921vk035.o ABSOLUTE
platform\\Device\\NIIET\\K1921VK035\\Source\\system_K1921VK035.c 0x00000000 Number 0 system_k1921vk035.o ABSOLUTE
platform\\plib035\\src\\plib035_adc.c 0x00000000 Number 0 plib035_adc.o ABSOLUTE
platform\\plib035\\src\\plib035_can.c 0x00000000 Number 0 plib035_can.o ABSOLUTE
platform\\plib035\\src\\plib035_dma.c 0x00000000 Number 0 plib035_dma.o ABSOLUTE
platform\\plib035\\src\\plib035_ecap.c 0x00000000 Number 0 plib035_ecap.o ABSOLUTE
platform\\plib035\\src\\plib035_gpio.c 0x00000000 Number 0 plib035_gpio.o ABSOLUTE
platform\\plib035\\src\\plib035_i2c.c 0x00000000 Number 0 plib035_i2c.o ABSOLUTE
platform\\plib035\\src\\plib035_mflash.c 0x00000000 Number 0 plib035_mflash.o ABSOLUTE
platform\\plib035\\src\\plib035_pmu.c 0x00000000 Number 0 plib035_pmu.o ABSOLUTE
platform\\plib035\\src\\plib035_pwm.c 0x00000000 Number 0 plib035_pwm.o ABSOLUTE
platform\\plib035\\src\\plib035_qep.c 0x00000000 Number 0 plib035_qep.o ABSOLUTE
platform\\plib035\\src\\plib035_rcu.c 0x00000000 Number 0 plib035_rcu.o ABSOLUTE
platform\\plib035\\src\\plib035_spi.c 0x00000000 Number 0 plib035_spi.o ABSOLUTE
platform\\plib035\\src\\plib035_tmr.c 0x00000000 Number 0 plib035_tmr.o ABSOLUTE
platform\\plib035\\src\\plib035_uart.c 0x00000000 Number 0 plib035_uart.o ABSOLUTE
platform\\plib035\\src\\plib035_wdt.c 0x00000000 Number 0 plib035_wdt.o ABSOLUTE
platform\\retarget\\retarget.c 0x00000000 Number 0 retarget.o ABSOLUTE
platform\\retarget\\retarget_conf.c 0x00000000 Number 0 retarget_conf.o ABSOLUTE
platform\plib035\src\plib035_adc.c 0x00000000 Number 0 plib035_adc.o ABSOLUTE
platform\plib035\src\plib035_can.c 0x00000000 Number 0 plib035_can.o ABSOLUTE
platform\plib035\src\plib035_dma.c 0x00000000 Number 0 plib035_dma.o ABSOLUTE
platform\plib035\src\plib035_ecap.c 0x00000000 Number 0 plib035_ecap.o ABSOLUTE
platform\plib035\src\plib035_gpio.c 0x00000000 Number 0 plib035_gpio.o ABSOLUTE
platform\plib035\src\plib035_i2c.c 0x00000000 Number 0 plib035_i2c.o ABSOLUTE
platform\plib035\src\plib035_mflash.c 0x00000000 Number 0 plib035_mflash.o ABSOLUTE
platform\plib035\src\plib035_pmu.c 0x00000000 Number 0 plib035_pmu.o ABSOLUTE
platform\plib035\src\plib035_pwm.c 0x00000000 Number 0 plib035_pwm.o ABSOLUTE
platform\plib035\src\plib035_qep.c 0x00000000 Number 0 plib035_qep.o ABSOLUTE
platform\plib035\src\plib035_rcu.c 0x00000000 Number 0 plib035_rcu.o ABSOLUTE
platform\plib035\src\plib035_spi.c 0x00000000 Number 0 plib035_spi.o ABSOLUTE
platform\plib035\src\plib035_tmr.c 0x00000000 Number 0 plib035_tmr.o ABSOLUTE
platform\plib035\src\plib035_uart.c 0x00000000 Number 0 plib035_uart.o ABSOLUTE
platform\plib035\src\plib035_wdt.c 0x00000000 Number 0 plib035_wdt.o ABSOLUTE
platform\retarget\retarget.c 0x00000000 Number 0 retarget.o ABSOLUTE
platform\retarget\retarget_conf.c 0x00000000 Number 0 retarget_conf.o ABSOLUTE
!!!main 0x00000158 Section 8 __main.o(!!!main)
!!!scatter 0x00000160 Section 52 __scatter.o(!!!scatter)
!!dczerorl2 0x00000194 Section 90 __dczerorl2.o(!!dczerorl2)
!!handler_zi 0x000001f0 Section 28 __scatter_zi.o(!!handler_zi)
.ARM.Collect$$_printf_percent$$00000000 0x0000020c Section 0 _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000)
.ARM.Collect$$_printf_percent$$00000009 0x0000020c Section 6 _printf_d.o(.ARM.Collect$$_printf_percent$$00000009)
.ARM.Collect$$_printf_percent$$00000014 0x00000212 Section 6 _printf_s.o(.ARM.Collect$$_printf_percent$$00000014)
.ARM.Collect$$_printf_percent$$00000017 0x00000218 Section 4 _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017)
.ARM.Collect$$libinit$$00000000 0x0000021c Section 2 libinit.o(.ARM.Collect$$libinit$$00000000)
.ARM.Collect$$libinit$$00000001 0x0000021e Section 4 libinit2.o(.ARM.Collect$$libinit$$00000001)
.ARM.Collect$$libinit$$00000004 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000004)
.ARM.Collect$$libinit$$0000000A 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000A)
.ARM.Collect$$libinit$$0000000C 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000C)
.ARM.Collect$$libinit$$0000000E 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000000E)
.ARM.Collect$$libinit$$00000011 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000011)
.ARM.Collect$$libinit$$00000013 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000013)
.ARM.Collect$$libinit$$00000015 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000015)
.ARM.Collect$$libinit$$00000017 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000017)
.ARM.Collect$$libinit$$00000019 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000019)
.ARM.Collect$$libinit$$0000001B 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001B)
.ARM.Collect$$libinit$$0000001D 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001D)
.ARM.Collect$$libinit$$0000001F 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000001F)
.ARM.Collect$$libinit$$00000021 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000021)
.ARM.Collect$$libinit$$00000023 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000023)
.ARM.Collect$$libinit$$00000025 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000025)
.ARM.Collect$$libinit$$0000002C 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002C)
.ARM.Collect$$libinit$$0000002E 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$0000002E)
.ARM.Collect$$libinit$$00000030 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000030)
.ARM.Collect$$libinit$$00000032 0x00000222 Section 0 libinit2.o(.ARM.Collect$$libinit$$00000032)
.ARM.Collect$$libinit$$00000033 0x00000222 Section 2 libinit2.o(.ARM.Collect$$libinit$$00000033)
.ARM.Collect$$libshutdown$$00000000 0x00000224 Section 2 libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
.ARM.Collect$$libshutdown$$00000002 0x00000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)
.ARM.Collect$$libshutdown$$00000004 0x00000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)
.ARM.Collect$$libshutdown$$00000006 0x00000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)
.ARM.Collect$$libshutdown$$00000009 0x00000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)
.ARM.Collect$$libshutdown$$0000000C 0x00000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)
.ARM.Collect$$libshutdown$$0000000E 0x00000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)
.ARM.Collect$$libshutdown$$00000011 0x00000226 Section 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)
.ARM.Collect$$libshutdown$$00000012 0x00000226 Section 2 libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)
.ARM.Collect$$rtentry$$00000000 0x00000228 Section 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000)
.ARM.Collect$$rtentry$$00000002 0x00000228 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002)
.ARM.Collect$$rtentry$$00000004 0x00000228 Section 6 __rtentry4.o(.ARM.Collect$$rtentry$$00000004)
.ARM.Collect$$rtentry$$00000009 0x0000022e Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009)
.ARM.Collect$$rtentry$$0000000A 0x0000022e Section 4 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
.ARM.Collect$$rtentry$$0000000C 0x00000232 Section 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
.ARM.Collect$$rtentry$$0000000D 0x00000232 Section 8 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
.ARM.Collect$$rtexit$$00000000 0x0000023a Section 2 rtexit.o(.ARM.Collect$$rtexit$$00000000)
.ARM.Collect$$rtexit$$00000002 0x0000023c Section 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002)
.ARM.Collect$$rtexit$$00000003 0x0000023c Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003)
.ARM.Collect$$rtexit$$00000004 0x00000240 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004)
.text 0x00000248 Section 64 startup_k1921vk035.o(.text)
$v0 0x00000248 Number 0 startup_k1921vk035.o(.text)
.text 0x00000288 Section 2 use_no_semi.o(.text)
.text 0x0000028c Section 0 noretval__2printf.o(.text)
.text 0x000002a4 Section 0 _printf_pad.o(.text)
.text 0x000002f2 Section 0 _printf_str.o(.text)
.text 0x00000344 Section 0 _printf_dec.o(.text)
.text 0x000003bc Section 0 __printf_wp.o(.text)
.text 0x000004ca Section 0 heapauxi.o(.text)
.text 0x000004d0 Section 0 _printf_intcommon.o(.text)
.text 0x00000582 Section 0 _printf_char.o(.text)
.text 0x000005b0 Section 0 _printf_char_file.o(.text)
.text 0x000005d4 Section 0 _printf_char_common.o(.text)
_printf_input_char 0x000005d5 Thumb Code 10 _printf_char_common.o(.text)
.text 0x00000604 Section 74 sys_stackheap_outer.o(.text)
.text 0x0000064e Section 0 exit.o(.text)
.text 0x00000660 Section 8 libspace.o(.text)
i.BusFault_Handler 0x00000668 Section 0 vk035_it.o(i.BusFault_Handler)
i.ClkInit 0x0000066c Section 0 system_k1921vk035.o(i.ClkInit)
i.DebugMon_Handler 0x000006e0 Section 0 vk035_it.o(i.DebugMon_Handler)
i.Error_Handler 0x000006e2 Section 0 main.o(i.Error_Handler)
i.FPUInit 0x000006e8 Section 0 system_k1921vk035.o(i.FPUInit)
i.GPIO_AltFuncCmd 0x00000700 Section 0 plib035_gpio.o(i.GPIO_AltFuncCmd)
GPIO_AltFuncCmd 0x00000701 Thumb Code 74 plib035_gpio.o(i.GPIO_AltFuncCmd)
i.GPIO_DeInit 0x00000758 Section 0 plib035_gpio.o(i.GPIO_DeInit)
i.GPIO_DigitalCmd 0x000007bc Section 0 plib035_gpio.o(i.GPIO_DigitalCmd)
GPIO_DigitalCmd 0x000007bd Thumb Code 74 plib035_gpio.o(i.GPIO_DigitalCmd)
i.GPIO_DriveModeConfig 0x00000838 Section 0 plib035_gpio.o(i.GPIO_DriveModeConfig)
i.GPIO_InModeConfig 0x000008b4 Section 0 plib035_gpio.o(i.GPIO_InModeConfig)
i.GPIO_Init 0x0000092c Section 0 plib035_gpio.o(i.GPIO_Init)
i.GPIO_ModeConfig 0x0000097c Section 0 plib035_gpio.o(i.GPIO_ModeConfig)
GPIO_ModeConfig 0x0000097d Thumb Code 44 plib035_gpio.o(i.GPIO_ModeConfig)
i.GPIO_OutCmd 0x000009a8 Section 0 plib035_gpio.o(i.GPIO_OutCmd)
GPIO_OutCmd 0x000009a9 Thumb Code 74 plib035_gpio.o(i.GPIO_OutCmd)
i.GPIO_OutModeConfig 0x00000a00 Section 0 plib035_gpio.o(i.GPIO_OutModeConfig)
i.GPIO_PullModeConfig 0x00000a78 Section 0 plib035_gpio.o(i.GPIO_PullModeConfig)
i.HardFault_Handler 0x00000af0 Section 0 vk035_it.o(i.HardFault_Handler)
i.MFLASH_LatencyConfig 0x00000af4 Section 0 plib035_rcu.o(i.MFLASH_LatencyConfig)
MFLASH_LatencyConfig 0x00000af5 Thumb Code 28 plib035_rcu.o(i.MFLASH_LatencyConfig)
i.MemManage_Handler 0x00000b3c Section 0 vk035_it.o(i.MemManage_Handler)
i.NMI_Handler 0x00000b3e Section 0 vk035_it.o(i.NMI_Handler)
i.PendSV_Handler 0x00000b40 Section 0 vk035_it.o(i.PendSV_Handler)
i.RCU_AHBRstCmd 0x00000b44 Section 0 plib035_gpio.o(i.RCU_AHBRstCmd)
RCU_AHBRstCmd 0x00000b45 Thumb Code 64 plib035_gpio.o(i.RCU_AHBRstCmd)
i.RCU_ClkOutConfig 0x00000bb0 Section 0 rcu.o(i.RCU_ClkOutConfig)
RCU_ClkOutConfig 0x00000bb1 Thumb Code 86 rcu.o(i.RCU_ClkOutConfig)
i.RCU_PLL_AutoConfig 0x00000c38 Section 0 plib035_rcu.o(i.RCU_PLL_AutoConfig)
i.RCU_PLL_Init 0x00000d98 Section 0 plib035_rcu.o(i.RCU_PLL_Init)
i.RCU_PLL_OutCmd 0x00000e98 Section 0 plib035_rcu.o(i.RCU_PLL_OutCmd)
RCU_PLL_OutCmd 0x00000e99 Thumb Code 34 plib035_rcu.o(i.RCU_PLL_OutCmd)
i.RCU_PLL_StructInit 0x00000ee8 Section 0 plib035_rcu.o(i.RCU_PLL_StructInit)
i.RCU_SysClkChangeCmd 0x00000ef8 Section 0 plib035_rcu.o(i.RCU_SysClkChangeCmd)
i.SVC_Handler 0x00000fb0 Section 0 vk035_it.o(i.SVC_Handler)
i.SysTick_Handler 0x00000fb4 Section 0 vk035_it.o(i.SysTick_Handler)
i.SystemCoreClockUpdate 0x00000fc4 Section 0 system_k1921vk035.o(i.SystemCoreClockUpdate)
i.SystemInit 0x00001034 Section 0 system_k1921vk035.o(i.SystemInit)
i.UsageFault_Handler 0x00001042 Section 0 vk035_it.o(i.UsageFault_Handler)
i._is_digit 0x00001044 Section 0 __printf_wp.o(i._is_digit)
i._sys_exit 0x00001052 Section 0 retarget.o(i._sys_exit)
i.assert_failed 0x00001054 Section 0 main.o(i.assert_failed)
i.ferror 0x00001084 Section 0 retarget.o(i.ferror)
i.fputc 0x0000108a Section 0 retarget.o(i.fputc)
i.gpio_init 0x00001090 Section 0 gpio.o(i.gpio_init)
i.main 0x00001104 Section 0 main.o(i.main)
i.periph_init 0x0000110c Section 0 main.o(i.periph_init)
i.retarget_init 0x0000117c Section 0 retarget_conf.o(i.retarget_init)
i.retarget_put_char 0x0000123c Section 0 retarget_conf.o(i.retarget_put_char)
i.sysclk_init 0x00001250 Section 0 rcu.o(i.sysclk_init)
x$fpl$ddiv 0x000012b8 Section 688 ddiv.o(x$fpl$ddiv)
$v0 0x000012b8 Number 0 ddiv.o(x$fpl$ddiv)
ddiv_entry 0x000012bf Thumb Code 0 ddiv.o(x$fpl$ddiv)
x$fpl$dfix 0x00001568 Section 94 dfix.o(x$fpl$dfix)
$v0 0x00001568 Number 0 dfix.o(x$fpl$dfix)
x$fpl$dfltu 0x000015c6 Section 38 dflt_clz.o(x$fpl$dfltu)
$v0 0x000015c6 Number 0 dflt_clz.o(x$fpl$dfltu)
x$fpl$dnaninf 0x000015ec Section 156 dnaninf.o(x$fpl$dnaninf)
$v0 0x000015ec Number 0 dnaninf.o(x$fpl$dnaninf)
x$fpl$dretinf 0x00001688 Section 12 dretinf.o(x$fpl$dretinf)
$v0 0x00001688 Number 0 dretinf.o(x$fpl$dretinf)
x$fpl$fpinit 0x00001694 Section 10 fpinit.o(x$fpl$fpinit)
$v0 0x00001694 Number 0 fpinit.o(x$fpl$fpinit)
x$fpl$usenofp 0x0000169e Section 0 usenofp.o(x$fpl$usenofp)
.data 0x20000000 Section 4 system_k1921vk035.o(.data)
.data 0x20000004 Section 4 system_k1921vk035.o(.data)
.data 0x20000008 Section 384 gpio.o(.data)
gpioa_config 0x20000008 Data 192 gpio.o(.data)
gpiob_config 0x200000c8 Data 192 gpio.o(.data)
.data 0x20000188 Section 1 rcu.o(.data)
OS_Type 0x20000188 Data 1 rcu.o(.data)
.data 0x2000018c Section 4 retarget.o(.data)
.bss 0x20000190 Section 96 libspace.o(.bss)
HEAP 0x200001f0 Section 512 startup_k1921vk035.o(HEAP)
Heap_Mem 0x200001f0 Data 512 startup_k1921vk035.o(HEAP)
STACK 0x200003f0 Section 1024 startup_k1921vk035.o(STACK)
Stack_Mem 0x200003f0 Data 1024 startup_k1921vk035.o(STACK)
__initial_sp 0x200007f0 Data 0 startup_k1921vk035.o(STACK)
Global Symbols
Symbol Name Value Ov Type Size Object(Section)
BuildAttributes$$THM_ISAv4$E$P$D$K$B$S$7EM$VFPi3$EXTD16$VFPS$VFMA$PE$A:L22UL41UL21$X:L11$S22US41US21$IEEE1$IW$USESV6$~STKCKD$USESV7$~SHL$OSPACE$ROPI$EBA8$UX$STANDARDLIB$REQ8$PRES8$EABIv2 0x00000000 Number 0 anon$$obj.o ABSOLUTE
__ARM_use_no_argv 0x00000000 Number 0 main.o ABSOLUTE
__Vectors 0x00000000 Data 4 startup_k1921vk035.o(RESET)
_printf_flags 0x00000000 Number 0 printf_stubs.o ABSOLUTE
_printf_return_value 0x00000000 Number 0 printf_stubs.o ABSOLUTE
_printf_sizespec 0x00000000 Number 0 printf_stubs.o ABSOLUTE
_printf_widthprec 0x00000000 Number 0 printf_stubs.o ABSOLUTE
__ARM_exceptions_init - Undefined Weak Reference
__alloca_initialize - Undefined Weak Reference
__arm_fini_ - Undefined Weak Reference
__arm_preinit_ - Undefined Weak Reference
__cpp_initialize__aeabi_ - Undefined Weak Reference
__cxa_finalize - Undefined Weak Reference
__rt_locale - Undefined Weak Reference
__sigvec_lookup - Undefined Weak Reference
_atexit_init - Undefined Weak Reference
_call_atexit_fns - Undefined Weak Reference
_clock_init - Undefined Weak Reference
_fp_trap_init - Undefined Weak Reference
_fp_trap_shutdown - Undefined Weak Reference
_get_lc_collate - Undefined Weak Reference
_get_lc_ctype - Undefined Weak Reference
_get_lc_monetary - Undefined Weak Reference
_get_lc_numeric - Undefined Weak Reference
_get_lc_time - Undefined Weak Reference
_getenv_init - Undefined Weak Reference
_handle_redirection - Undefined Weak Reference
_init_alloc - Undefined Weak Reference
_init_user_alloc - Undefined Weak Reference
_initio - Undefined Weak Reference
_printf_mbtowc - Undefined Weak Reference
_printf_truncate_signed - Undefined Weak Reference
_printf_truncate_unsigned - Undefined Weak Reference
_rand_init - Undefined Weak Reference
_signal_finish - Undefined Weak Reference
_signal_init - Undefined Weak Reference
_terminate_alloc - Undefined Weak Reference
_terminate_user_alloc - Undefined Weak Reference
_terminateio - Undefined Weak Reference
__Vectors_End 0x00000158 Data 0 startup_k1921vk035.o(RESET)
__Vectors_Size 0x00000158 Number 0 startup_k1921vk035.o ABSOLUTE
__main 0x00000159 Thumb Code 8 __main.o(!!!main)
__scatterload 0x00000161 Thumb Code 0 __scatter.o(!!!scatter)
__scatterload_rt2 0x00000161 Thumb Code 44 __scatter.o(!!!scatter)
__scatterload_rt2_thumb_only 0x00000161 Thumb Code 0 __scatter.o(!!!scatter)
__scatterload_null 0x0000016f Thumb Code 0 __scatter.o(!!!scatter)
__decompress 0x00000195 Thumb Code 90 __dczerorl2.o(!!dczerorl2)
__decompress1 0x00000195 Thumb Code 0 __dczerorl2.o(!!dczerorl2)
__scatterload_zeroinit 0x000001f1 Thumb Code 28 __scatter_zi.o(!!handler_zi)
_printf_d 0x0000020d Thumb Code 0 _printf_d.o(.ARM.Collect$$_printf_percent$$00000009)
_printf_percent 0x0000020d Thumb Code 0 _printf_percent.o(.ARM.Collect$$_printf_percent$$00000000)
_printf_s 0x00000213 Thumb Code 0 _printf_s.o(.ARM.Collect$$_printf_percent$$00000014)
_printf_percent_end 0x00000219 Thumb Code 0 _printf_percent_end.o(.ARM.Collect$$_printf_percent$$00000017)
__rt_lib_init 0x0000021d Thumb Code 0 libinit.o(.ARM.Collect$$libinit$$00000000)
__rt_lib_init_fp_1 0x0000021f Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000001)
__rt_lib_init_alloca_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002E)
__rt_lib_init_argv_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000002C)
__rt_lib_init_atexit_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001B)
__rt_lib_init_clock_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000021)
__rt_lib_init_cpp_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000032)
__rt_lib_init_exceptions_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000030)
__rt_lib_init_fp_trap_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001F)
__rt_lib_init_getenv_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000023)
__rt_lib_init_heap_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000A)
__rt_lib_init_lc_collate_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000011)
__rt_lib_init_lc_ctype_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000013)
__rt_lib_init_lc_monetary_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000015)
__rt_lib_init_lc_numeric_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000017)
__rt_lib_init_lc_time_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000019)
__rt_lib_init_preinit_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000004)
__rt_lib_init_rand_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000E)
__rt_lib_init_return 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000033)
__rt_lib_init_signal_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000001D)
__rt_lib_init_stdio_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$00000025)
__rt_lib_init_user_alloc_1 0x00000223 Thumb Code 0 libinit2.o(.ARM.Collect$$libinit$$0000000C)
__rt_lib_shutdown 0x00000225 Thumb Code 0 libshutdown.o(.ARM.Collect$$libshutdown$$00000000)
__rt_lib_shutdown_cpp_1 0x00000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)
__rt_lib_shutdown_fini_1 0x00000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)
__rt_lib_shutdown_fp_trap_1 0x00000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000009)
__rt_lib_shutdown_heap_1 0x00000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000011)
__rt_lib_shutdown_return 0x00000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000012)
__rt_lib_shutdown_signal_1 0x00000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)
__rt_lib_shutdown_stdio_1 0x00000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$00000006)
__rt_lib_shutdown_user_alloc_1 0x00000227 Thumb Code 0 libshutdown2.o(.ARM.Collect$$libshutdown$$0000000E)
__rt_entry 0x00000229 Thumb Code 0 __rtentry.o(.ARM.Collect$$rtentry$$00000000)
__rt_entry_presh_1 0x00000229 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000002)
__rt_entry_sh 0x00000229 Thumb Code 0 __rtentry4.o(.ARM.Collect$$rtentry$$00000004)
__rt_entry_li 0x0000022f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000A)
__rt_entry_postsh_1 0x0000022f Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$00000009)
__rt_entry_main 0x00000233 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)
__rt_entry_postli_1 0x00000233 Thumb Code 0 __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)
__rt_exit 0x0000023b Thumb Code 0 rtexit.o(.ARM.Collect$$rtexit$$00000000)
__rt_exit_ls 0x0000023d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000003)
__rt_exit_prels_1 0x0000023d Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000002)
__rt_exit_exit 0x00000241 Thumb Code 0 rtexit2.o(.ARM.Collect$$rtexit$$00000004)
Reset_Handler 0x00000249 Thumb Code 8 startup_k1921vk035.o(.text)
ADC_DC_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
ADC_SEQ0_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
ADC_SEQ1_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN0_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN10_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN11_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN12_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN13_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN14_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN15_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN1_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN2_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN3_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN4_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN5_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN6_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN7_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN8_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
CAN9_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH0_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH10_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH11_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH12_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH13_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH14_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH15_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH1_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH2_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH3_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH4_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH5_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH6_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH7_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH8_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
DMA_CH9_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
ECAP0_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
ECAP1_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
ECAP2_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
FPU_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
GPIOA_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
GPIOB_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
I2C_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
MFLASH_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
PWM0_HD_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
PWM0_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
PWM0_TZ_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
PWM1_HD_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
PWM1_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
PWM1_TZ_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
PWM2_HD_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
PWM2_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
PWM2_TZ_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
QEP_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
RCU_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
SPI_RO_RT_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
SPI_RX_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
SPI_TX_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
TMR0_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
TMR1_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
TMR2_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
TMR3_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
UART0_E_RT_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
UART0_RX_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
UART0_TD_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
UART0_TX_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
UART1_E_RT_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
UART1_RX_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
UART1_TD_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
UART1_TX_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
WDT_IRQHandler 0x00000263 Thumb Code 0 startup_k1921vk035.o(.text)
__user_initial_stackheap 0x00000265 Thumb Code 0 startup_k1921vk035.o(.text)
__I$use$semihosting 0x00000289 Thumb Code 0 use_no_semi.o(.text)
__use_no_semihosting_swi 0x00000289 Thumb Code 2 use_no_semi.o(.text)
__2printf 0x0000028d Thumb Code 20 noretval__2printf.o(.text)
_printf_pre_padding 0x000002a5 Thumb Code 44 _printf_pad.o(.text)
_printf_post_padding 0x000002d1 Thumb Code 34 _printf_pad.o(.text)
_printf_str 0x000002f3 Thumb Code 82 _printf_str.o(.text)
_printf_int_dec 0x00000345 Thumb Code 104 _printf_dec.o(.text)
__printf 0x000003bd Thumb Code 270 __printf_wp.o(.text)
__use_two_region_memory 0x000004cb Thumb Code 2 heapauxi.o(.text)
__rt_heap_escrow$2region 0x000004cd Thumb Code 2 heapauxi.o(.text)
__rt_heap_expand$2region 0x000004cf Thumb Code 2 heapauxi.o(.text)
_printf_int_common 0x000004d1 Thumb Code 178 _printf_intcommon.o(.text)
_printf_cs_common 0x00000583 Thumb Code 20 _printf_char.o(.text)
_printf_char 0x00000597 Thumb Code 16 _printf_char.o(.text)
_printf_string 0x000005a7 Thumb Code 8 _printf_char.o(.text)
_printf_char_file 0x000005b1 Thumb Code 32 _printf_char_file.o(.text)
_printf_char_common 0x000005df Thumb Code 32 _printf_char_common.o(.text)
__user_setup_stackheap 0x00000605 Thumb Code 74 sys_stackheap_outer.o(.text)
exit 0x0000064f Thumb Code 18 exit.o(.text)
__user_libspace 0x00000661 Thumb Code 8 libspace.o(.text)
__user_perproc_libspace 0x00000661 Thumb Code 0 libspace.o(.text)
__user_perthread_libspace 0x00000661 Thumb Code 0 libspace.o(.text)
BusFault_Handler 0x00000669 Thumb Code 2 vk035_it.o(i.BusFault_Handler)
ClkInit 0x0000066d Thumb Code 106 system_k1921vk035.o(i.ClkInit)
DebugMon_Handler 0x000006e1 Thumb Code 2 vk035_it.o(i.DebugMon_Handler)
Error_Handler 0x000006e3 Thumb Code 4 main.o(i.Error_Handler)
FPUInit 0x000006e9 Thumb Code 18 system_k1921vk035.o(i.FPUInit)
GPIO_DeInit 0x00000759 Thumb Code 54 plib035_gpio.o(i.GPIO_DeInit)
GPIO_DriveModeConfig 0x00000839 Thumb Code 80 plib035_gpio.o(i.GPIO_DriveModeConfig)
GPIO_InModeConfig 0x000008b5 Thumb Code 76 plib035_gpio.o(i.GPIO_InModeConfig)
GPIO_Init 0x0000092d Thumb Code 80 plib035_gpio.o(i.GPIO_Init)
GPIO_OutModeConfig 0x00000a01 Thumb Code 76 plib035_gpio.o(i.GPIO_OutModeConfig)
GPIO_PullModeConfig 0x00000a79 Thumb Code 76 plib035_gpio.o(i.GPIO_PullModeConfig)
HardFault_Handler 0x00000af1 Thumb Code 2 vk035_it.o(i.HardFault_Handler)
MemManage_Handler 0x00000b3d Thumb Code 2 vk035_it.o(i.MemManage_Handler)
NMI_Handler 0x00000b3f Thumb Code 2 vk035_it.o(i.NMI_Handler)
PendSV_Handler 0x00000b41 Thumb Code 2 vk035_it.o(i.PendSV_Handler)
RCU_PLL_AutoConfig 0x00000c39 Thumb Code 304 plib035_rcu.o(i.RCU_PLL_AutoConfig)
RCU_PLL_Init 0x00000d99 Thumb Code 212 plib035_rcu.o(i.RCU_PLL_Init)
RCU_PLL_StructInit 0x00000ee9 Thumb Code 16 plib035_rcu.o(i.RCU_PLL_StructInit)
RCU_SysClkChangeCmd 0x00000ef9 Thumb Code 104 plib035_rcu.o(i.RCU_SysClkChangeCmd)
SVC_Handler 0x00000fb1 Thumb Code 2 vk035_it.o(i.SVC_Handler)
SysTick_Handler 0x00000fb5 Thumb Code 10 vk035_it.o(i.SysTick_Handler)
SystemCoreClockUpdate 0x00000fc5 Thumb Code 96 system_k1921vk035.o(i.SystemCoreClockUpdate)
SystemInit 0x00001035 Thumb Code 14 system_k1921vk035.o(i.SystemInit)
UsageFault_Handler 0x00001043 Thumb Code 2 vk035_it.o(i.UsageFault_Handler)
_is_digit 0x00001045 Thumb Code 14 __printf_wp.o(i._is_digit)
_sys_exit 0x00001053 Thumb Code 2 retarget.o(i._sys_exit)
assert_failed 0x00001055 Thumb Code 12 main.o(i.assert_failed)
ferror 0x00001085 Thumb Code 6 retarget.o(i.ferror)
fputc 0x0000108b Thumb Code 4 retarget.o(i.fputc)
gpio_init 0x00001091 Thumb Code 100 gpio.o(i.gpio_init)
main 0x00001105 Thumb Code 6 main.o(i.main)
periph_init 0x0000110d Thumb Code 54 main.o(i.periph_init)
retarget_init 0x0000117d Thumb Code 166 retarget_conf.o(i.retarget_init)
retarget_put_char 0x0000123d Thumb Code 14 retarget_conf.o(i.retarget_put_char)
sysclk_init 0x00001251 Thumb Code 80 rcu.o(i.sysclk_init)
__aeabi_ddiv 0x000012b9 Thumb Code 0 ddiv.o(x$fpl$ddiv)
_ddiv 0x000012b9 Thumb Code 552 ddiv.o(x$fpl$ddiv)
__aeabi_d2iz 0x00001569 Thumb Code 0 dfix.o(x$fpl$dfix)
_dfix 0x00001569 Thumb Code 94 dfix.o(x$fpl$dfix)
__aeabi_ui2d 0x000015c7 Thumb Code 0 dflt_clz.o(x$fpl$dfltu)
_dfltu 0x000015c7 Thumb Code 38 dflt_clz.o(x$fpl$dfltu)
__fpl_dnaninf 0x000015ed Thumb Code 156 dnaninf.o(x$fpl$dnaninf)
__fpl_dretinf 0x00001689 Thumb Code 12 dretinf.o(x$fpl$dretinf)
_fp_init 0x00001695 Thumb Code 10 fpinit.o(x$fpl$fpinit)
__fplib_config_fpu_vfp 0x0000169d Thumb Code 0 fpinit.o(x$fpl$fpinit)
__fplib_config_pureend_doubles 0x0000169d Thumb Code 0 fpinit.o(x$fpl$fpinit)
__I$use$fp 0x0000169e Number 0 usenofp.o(x$fpl$usenofp)
Region$$Table$$Base 0x000016a0 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x000016c0 Number 0 anon$$obj.o(Region$$Table)
SystemCoreClock 0x20000000 Data 4 system_k1921vk035.o(.data)
uwTick 0x20000004 Data 4 system_k1921vk035.o(.data)
__stdout 0x2000018c Data 4 retarget.o(.data)
__libspace_start 0x20000190 Data 96 libspace.o(.bss)
__temporary_stack_top$libspace 0x200001f0 Data 0 libspace.o(.bss)
==============================================================================
Memory Map of the image
Image Entry point : 0x00000249
Load Region LR_1 (Base: 0x00000000, Size: 0x00001850, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x000016e4])
Execution Region ER_RO (Exec base: 0x00000000, Load base: 0x00000000, Size: 0x000016c0, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x00000000 0x00000000 0x00000158 Data RO 77 RESET startup_k1921vk035.o
0x00000158 0x00000158 0x00000008 Code RO 1417 * !!!main c_w.l(__main.o)
0x00000160 0x00000160 0x00000034 Code RO 1602 !!!scatter c_w.l(__scatter.o)
0x00000194 0x00000194 0x0000005a Code RO 1600 !!dczerorl2 c_w.l(__dczerorl2.o)
0x000001ee 0x000001ee 0x00000002 PAD
0x000001f0 0x000001f0 0x0000001c Code RO 1604 !!handler_zi c_w.l(__scatter_zi.o)
0x0000020c 0x0000020c 0x00000000 Code RO 1414 .ARM.Collect$$_printf_percent$$00000000 c_w.l(_printf_percent.o)
0x0000020c 0x0000020c 0x00000006 Code RO 1413 .ARM.Collect$$_printf_percent$$00000009 c_w.l(_printf_d.o)
0x00000212 0x00000212 0x00000006 Code RO 1412 .ARM.Collect$$_printf_percent$$00000014 c_w.l(_printf_s.o)
0x00000218 0x00000218 0x00000004 Code RO 1440 .ARM.Collect$$_printf_percent$$00000017 c_w.l(_printf_percent_end.o)
0x0000021c 0x0000021c 0x00000002 Code RO 1474 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
0x0000021e 0x0000021e 0x00000004 Code RO 1480 .ARM.Collect$$libinit$$00000001 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1483 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1486 .ARM.Collect$$libinit$$0000000A c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1488 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1490 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1493 .ARM.Collect$$libinit$$00000011 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1495 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1497 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1499 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1501 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1503 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1505 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1507 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1509 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1511 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1513 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1517 .ARM.Collect$$libinit$$0000002C c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1519 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1521 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000000 Code RO 1523 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
0x00000222 0x00000222 0x00000002 Code RO 1524 .ARM.Collect$$libinit$$00000033 c_w.l(libinit2.o)
0x00000224 0x00000224 0x00000002 Code RO 1542 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
0x00000226 0x00000226 0x00000000 Code RO 1552 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
0x00000226 0x00000226 0x00000000 Code RO 1554 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
0x00000226 0x00000226 0x00000000 Code RO 1556 .ARM.Collect$$libshutdown$$00000006 c_w.l(libshutdown2.o)
0x00000226 0x00000226 0x00000000 Code RO 1559 .ARM.Collect$$libshutdown$$00000009 c_w.l(libshutdown2.o)
0x00000226 0x00000226 0x00000000 Code RO 1562 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
0x00000226 0x00000226 0x00000000 Code RO 1564 .ARM.Collect$$libshutdown$$0000000E c_w.l(libshutdown2.o)
0x00000226 0x00000226 0x00000000 Code RO 1567 .ARM.Collect$$libshutdown$$00000011 c_w.l(libshutdown2.o)
0x00000226 0x00000226 0x00000002 Code RO 1568 .ARM.Collect$$libshutdown$$00000012 c_w.l(libshutdown2.o)
0x00000228 0x00000228 0x00000000 Code RO 1433 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
0x00000228 0x00000228 0x00000000 Code RO 1447 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
0x00000228 0x00000228 0x00000006 Code RO 1459 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
0x0000022e 0x0000022e 0x00000000 Code RO 1449 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
0x0000022e 0x0000022e 0x00000004 Code RO 1450 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
0x00000232 0x00000232 0x00000000 Code RO 1452 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
0x00000232 0x00000232 0x00000008 Code RO 1453 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
0x0000023a 0x0000023a 0x00000002 Code RO 1478 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
0x0000023c 0x0000023c 0x00000000 Code RO 1526 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
0x0000023c 0x0000023c 0x00000004 Code RO 1527 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
0x00000240 0x00000240 0x00000006 Code RO 1528 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
0x00000246 0x00000246 0x00000002 PAD
0x00000248 0x00000248 0x00000040 Code RO 78 * .text startup_k1921vk035.o
0x00000288 0x00000288 0x00000002 Code RO 1378 .text c_w.l(use_no_semi.o)
0x0000028a 0x0000028a 0x00000002 PAD
0x0000028c 0x0000028c 0x00000018 Code RO 1382 .text c_w.l(noretval__2printf.o)
0x000002a4 0x000002a4 0x0000004e Code RO 1386 .text c_w.l(_printf_pad.o)
0x000002f2 0x000002f2 0x00000052 Code RO 1388 .text c_w.l(_printf_str.o)
0x00000344 0x00000344 0x00000078 Code RO 1390 .text c_w.l(_printf_dec.o)
0x000003bc 0x000003bc 0x0000010e Code RO 1400 .text c_w.l(__printf_wp.o)
0x000004ca 0x000004ca 0x00000006 Code RO 1415 .text c_w.l(heapauxi.o)
0x000004d0 0x000004d0 0x000000b2 Code RO 1434 .text c_w.l(_printf_intcommon.o)
0x00000582 0x00000582 0x0000002c Code RO 1436 .text c_w.l(_printf_char.o)
0x000005ae 0x000005ae 0x00000002 PAD
0x000005b0 0x000005b0 0x00000024 Code RO 1438 .text c_w.l(_printf_char_file.o)
0x000005d4 0x000005d4 0x00000030 Code RO 1461 .text c_w.l(_printf_char_common.o)
0x00000604 0x00000604 0x0000004a Code RO 1463 .text c_w.l(sys_stackheap_outer.o)
0x0000064e 0x0000064e 0x00000012 Code RO 1467 .text c_w.l(exit.o)
0x00000660 0x00000660 0x00000008 Code RO 1475 .text c_w.l(libspace.o)
0x00000668 0x00000668 0x00000002 Code RO 274 i.BusFault_Handler vk035_it.o
0x0000066a 0x0000066a 0x00000002 PAD
0x0000066c 0x0000066c 0x00000074 Code RO 4 i.ClkInit system_k1921vk035.o
0x000006e0 0x000006e0 0x00000002 Code RO 275 i.DebugMon_Handler vk035_it.o
0x000006e2 0x000006e2 0x00000004 Code RO 85 i.Error_Handler main.o
0x000006e6 0x000006e6 0x00000002 PAD
0x000006e8 0x000006e8 0x00000018 Code RO 5 i.FPUInit system_k1921vk035.o
0x00000700 0x00000700 0x00000058 Code RO 571 i.GPIO_AltFuncCmd plib035_gpio.o
0x00000758 0x00000758 0x00000064 Code RO 572 i.GPIO_DeInit plib035_gpio.o
0x000007bc 0x000007bc 0x0000007c Code RO 573 i.GPIO_DigitalCmd plib035_gpio.o
0x00000838 0x00000838 0x0000007c Code RO 574 i.GPIO_DriveModeConfig plib035_gpio.o
0x000008b4 0x000008b4 0x00000078 Code RO 575 i.GPIO_InModeConfig plib035_gpio.o
0x0000092c 0x0000092c 0x00000050 Code RO 576 i.GPIO_Init plib035_gpio.o
0x0000097c 0x0000097c 0x0000002c Code RO 577 i.GPIO_ModeConfig plib035_gpio.o
0x000009a8 0x000009a8 0x00000058 Code RO 578 i.GPIO_OutCmd plib035_gpio.o
0x00000a00 0x00000a00 0x00000078 Code RO 579 i.GPIO_OutModeConfig plib035_gpio.o
0x00000a78 0x00000a78 0x00000078 Code RO 580 i.GPIO_PullModeConfig plib035_gpio.o
0x00000af0 0x00000af0 0x00000002 Code RO 276 i.HardFault_Handler vk035_it.o
0x00000af2 0x00000af2 0x00000002 PAD
0x00000af4 0x00000af4 0x00000048 Code RO 977 i.MFLASH_LatencyConfig plib035_rcu.o
0x00000b3c 0x00000b3c 0x00000002 Code RO 277 i.MemManage_Handler vk035_it.o
0x00000b3e 0x00000b3e 0x00000002 Code RO 278 i.NMI_Handler vk035_it.o
0x00000b40 0x00000b40 0x00000002 Code RO 279 i.PendSV_Handler vk035_it.o
0x00000b42 0x00000b42 0x00000002 PAD
0x00000b44 0x00000b44 0x0000006c Code RO 582 i.RCU_AHBRstCmd plib035_gpio.o
0x00000bb0 0x00000bb0 0x00000088 Code RO 236 i.RCU_ClkOutConfig rcu.o
0x00000c38 0x00000c38 0x00000160 Code RO 989 i.RCU_PLL_AutoConfig plib035_rcu.o
0x00000d98 0x00000d98 0x00000100 Code RO 991 i.RCU_PLL_Init plib035_rcu.o
0x00000e98 0x00000e98 0x00000050 Code RO 992 i.RCU_PLL_OutCmd plib035_rcu.o
0x00000ee8 0x00000ee8 0x00000010 Code RO 993 i.RCU_PLL_StructInit plib035_rcu.o
0x00000ef8 0x00000ef8 0x000000b8 Code RO 994 i.RCU_SysClkChangeCmd plib035_rcu.o
0x00000fb0 0x00000fb0 0x00000002 Code RO 280 i.SVC_Handler vk035_it.o
0x00000fb2 0x00000fb2 0x00000002 PAD
0x00000fb4 0x00000fb4 0x00000010 Code RO 281 i.SysTick_Handler vk035_it.o
0x00000fc4 0x00000fc4 0x00000070 Code RO 6 i.SystemCoreClockUpdate system_k1921vk035.o
0x00001034 0x00001034 0x0000000e Code RO 7 i.SystemInit system_k1921vk035.o
0x00001042 0x00001042 0x00000002 Code RO 282 i.UsageFault_Handler vk035_it.o
0x00001044 0x00001044 0x0000000e Code RO 1402 i._is_digit c_w.l(__printf_wp.o)
0x00001052 0x00001052 0x00000002 Code RO 1278 i._sys_exit retarget.o
0x00001054 0x00001054 0x00000030 Code RO 86 i.assert_failed main.o
0x00001084 0x00001084 0x00000006 Code RO 1280 i.ferror retarget.o
0x0000108a 0x0000108a 0x00000004 Code RO 1282 i.fputc retarget.o
0x0000108e 0x0000108e 0x00000002 PAD
0x00001090 0x00001090 0x00000074 Code RO 204 i.gpio_init gpio.o
0x00001104 0x00001104 0x00000006 Code RO 87 i.main main.o
0x0000110a 0x0000110a 0x00000002 PAD
0x0000110c 0x0000110c 0x00000070 Code RO 88 i.periph_init main.o
0x0000117c 0x0000117c 0x000000c0 Code RO 1344 i.retarget_init retarget_conf.o
0x0000123c 0x0000123c 0x00000014 Code RO 1345 i.retarget_put_char retarget_conf.o
0x00001250 0x00001250 0x00000068 Code RO 237 i.sysclk_init rcu.o
0x000012b8 0x000012b8 0x000002b0 Code RO 1420 x$fpl$ddiv fz_wm.l(ddiv.o)
0x00001568 0x00001568 0x0000005e Code RO 1423 x$fpl$dfix fz_wm.l(dfix.o)
0x000015c6 0x000015c6 0x00000026 Code RO 1427 x$fpl$dfltu fz_wm.l(dflt_clz.o)
0x000015ec 0x000015ec 0x0000009c Code RO 1441 x$fpl$dnaninf fz_wm.l(dnaninf.o)
0x00001688 0x00001688 0x0000000c Code RO 1443 x$fpl$dretinf fz_wm.l(dretinf.o)
0x00001694 0x00001694 0x0000000a Code RO 1534 x$fpl$fpinit fz_wm.l(fpinit.o)
0x0000169e 0x0000169e 0x00000000 Code RO 1445 x$fpl$usenofp fz_wm.l(usenofp.o)
0x0000169e 0x0000169e 0x00000002 PAD
0x000016a0 0x000016a0 0x00000020 Data RO 1598 Region$$Table anon$$obj.o
Execution Region ER_RW (Exec base: 0x20000000, Load base: 0x000016c0, Size: 0x00000190, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000024])
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000000 COMPRESSED 0x00000004 Data RW 8 .data system_k1921vk035.o
0x20000004 COMPRESSED 0x00000004 Data RW 9 .data system_k1921vk035.o
0x20000008 COMPRESSED 0x00000180 Data RW 205 .data gpio.o
0x20000188 COMPRESSED 0x00000001 Data RW 238 .data rcu.o
0x20000189 COMPRESSED 0x00000003 PAD
0x2000018c COMPRESSED 0x00000004 Data RW 1283 .data retarget.o
Execution Region ER_ZI (Exec base: 0x20000190, Load base: 0x000016e4, Size: 0x00000660, Max: 0xffffffff, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
0x20000190 - 0x00000060 Zero RW 1476 .bss c_w.l(libspace.o)
0x200001f0 - 0x00000200 Zero RW 76 HEAP startup_k1921vk035.o
0x200003f0 - 0x00000400 Zero RW 75 STACK startup_k1921vk035.o
==============================================================================
Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
116 16 0 384 0 10416 gpio.o
170 94 0 0 0 8505 main.o
1116 344 0 0 0 12904 plib035_gpio.o
960 262 0 0 0 15871 plib035_rcu.o
240 74 0 1 0 40297 rcu.o
12 0 0 4 0 3303 retarget.o
212 32 0 0 0 1204 retarget_conf.o
64 26 344 0 1536 892 startup_k1921vk035.o
266 32 0 8 0 197926 system_k1921vk035.o
32 6 0 0 0 3974 vk035_it.o
----------------------------------------------------------------------
3202 886 376 400 1536 295292 Object Totals
0 0 32 0 0 0 (incl. Generated)
14 0 0 3 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Member Name
90 0 0 0 0 0 __dczerorl2.o
8 0 0 0 0 68 __main.o
284 0 0 0 0 156 __printf_wp.o
0 0 0 0 0 0 __rtentry.o
12 0 0 0 0 0 __rtentry2.o
6 0 0 0 0 0 __rtentry4.o
52 8 0 0 0 0 __scatter.o
28 0 0 0 0 0 __scatter_zi.o
44 0 0 0 0 108 _printf_char.o
48 6 0 0 0 96 _printf_char_common.o
36 4 0 0 0 80 _printf_char_file.o
6 0 0 0 0 0 _printf_d.o
120 16 0 0 0 92 _printf_dec.o
178 0 0 0 0 88 _printf_intcommon.o
78 0 0 0 0 108 _printf_pad.o
0 0 0 0 0 0 _printf_percent.o
4 0 0 0 0 0 _printf_percent_end.o
6 0 0 0 0 0 _printf_s.o
82 0 0 0 0 80 _printf_str.o
18 0 0 0 0 80 exit.o
6 0 0 0 0 152 heapauxi.o
2 0 0 0 0 0 libinit.o
6 0 0 0 0 0 libinit2.o
2 0 0 0 0 0 libshutdown.o
2 0 0 0 0 0 libshutdown2.o
8 4 0 0 96 68 libspace.o
24 4 0 0 0 84 noretval__2printf.o
2 0 0 0 0 0 rtexit.o
10 0 0 0 0 0 rtexit2.o
74 0 0 0 0 80 sys_stackheap_outer.o
2 0 0 0 0 68 use_no_semi.o
688 140 0 0 0 256 ddiv.o
94 4 0 0 0 140 dfix.o
38 0 0 0 0 116 dflt_clz.o
156 4 0 0 0 140 dnaninf.o
12 0 0 0 0 116 dretinf.o
10 0 0 0 0 116 fpinit.o
0 0 0 0 0 0 usenofp.o
----------------------------------------------------------------------
2246 190 0 0 96 2292 Library Totals
10 0 0 0 0 0 (incl. Padding)
----------------------------------------------------------------------
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
1238 42 0 0 96 1408 c_w.l
998 148 0 0 0 884 fz_wm.l
----------------------------------------------------------------------
2246 190 0 0 96 2292 Library Totals
----------------------------------------------------------------------
==============================================================================
Code (inc. data) RO Data RW Data ZI Data Debug
5448 1076 376 400 1632 292960 Grand Totals
5448 1076 376 36 1632 292960 ELF Image Totals (compressed)
5448 1076 376 36 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 5824 ( 5.69kB)
Total RW Size (RW Data + ZI Data) 2032 ( 1.98kB)
Total ROM Size (Code + RO Data + RW Data) 5860 ( 5.72kB)
==============================================================================

View File

@@ -77,7 +77,7 @@
<tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget>
</OPTFL>
<CpuCode>255</CpuCode>
<CpuCode>0</CpuCode>
<DebugOpt>
<uSim>0</uSim>
<uTrg>1</uTrg>
@@ -135,7 +135,7 @@
<SetRegEntry>
<Number>0</Number>
<Key>JL2CM3</Key>
<Name>-U-O14 -O14 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC1000 -FN1 -FF0K1921VK035.FLM -FS00 -FL010000 -FP0($$Device:K1921VK035$Flash\K1921VK035.FLM)</Name>
<Name>-U -O14 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight JTAG-DP") -D00(4BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC1000 -FN1 -FF0K1921VK035.FLM -FS00 -FL010000 -FP0($$Device:K1921VK035$Flash\K1921VK035.FLM)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@@ -153,82 +153,12 @@
<Ww>
<count>0</count>
<WinNumber>1</WinNumber>
<ItemText>hadc</ItemText>
<ItemText>msTick,0x0A</ItemText>
</Ww>
<Ww>
<count>1</count>
<WinNumber>1</WinNumber>
<ItemText>ADC</ItemText>
</Ww>
<Ww>
<count>2</count>
<WinNumber>1</WinNumber>
<ItemText>uwTick,0x0A</ItemText>
</Ww>
<Ww>
<count>3</count>
<WinNumber>1</WinNumber>
<ItemText>(uwTick-start) &lt; ms</ItemText>
</Ww>
<Ww>
<count>4</count>
<WinNumber>1</WinNumber>
<ItemText>ms,0x0A</ItemText>
</Ww>
<Ww>
<count>5</count>
<WinNumber>1</WinNumber>
<ItemText>local_time()</ItemText>
</Ww>
<Ww>
<count>6</count>
<WinNumber>1</WinNumber>
<ItemText>GPIOA</ItemText>
</Ww>
<Ww>
<count>7</count>
<WinNumber>1</WinNumber>
<ItemText>gpioa_config</ItemText>
</Ww>
<Ww>
<count>8</count>
<WinNumber>1</WinNumber>
<ItemText>gpiob_config</ItemText>
</Ww>
<Ww>
<count>9</count>
<WinNumber>1</WinNumber>
<ItemText>rxbuff</ItemText>
</Ww>
<Ww>
<count>10</count>
<WinNumber>1</WinNumber>
<ItemText>*var - htmr-&gt;TMR-&gt;VALUE,0x0A</ItemText>
</Ww>
<Ww>
<count>11</count>
<WinNumber>1</WinNumber>
<ItemText>delay_load,0x0A</ItemText>
</Ww>
<Ww>
<count>12</count>
<WinNumber>1</WinNumber>
<ItemText>adc_raw_clock,0x0A</ItemText>
</Ww>
<Ww>
<count>13</count>
<WinNumber>1</WinNumber>
<ItemText>adc_clock_div,0x0A</ItemText>
</Ww>
<Ww>
<count>14</count>
<WinNumber>1</WinNumber>
<ItemText>ClkMHz</ItemText>
</Ww>
<Ww>
<count>15</count>
<WinNumber>1</WinNumber>
<ItemText>adc_buff</ItemText>
<ItemText>seq0_buff</ItemText>
</Ww>
</WatchWindow1>
<Tracepoint>
@@ -273,36 +203,6 @@
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<SystemViewers>
<Entry>
<Name>System Viewer\ADC</Name>
<WinId>35899</WinId>
</Entry>
<Entry>
<Name>System Viewer\GPIOA</Name>
<WinId>35901</WinId>
</Entry>
<Entry>
<Name>System Viewer\GPIOB</Name>
<WinId>35903</WinId>
</Entry>
<Entry>
<Name>System Viewer\RCU</Name>
<WinId>35905</WinId>
</Entry>
<Entry>
<Name>System Viewer\TMR0</Name>
<WinId>35902</WinId>
</Entry>
<Entry>
<Name>System Viewer\TMR2</Name>
<WinId>35900</WinId>
</Entry>
<Entry>
<Name>System Viewer\UART1</Name>
<WinId>35904</WinId>
</Entry>
</SystemViewers>
</TargetOption>
</Target>
@@ -584,7 +484,7 @@
<Group>
<GroupName>startup</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@@ -616,7 +516,7 @@
<Group>
<GroupName>plib035</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>

View File

@@ -10,9 +10,8 @@
<TargetName>template</TargetName>
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<pArmCC>6190000::V6.19::ARMCLANG</pArmCC>
<pCCUsed>6190000::V6.19::ARMCLANG</pCCUsed>
<uAC6>1</uAC6>
<pCCUsed>5060960::V5.06 update 7 (build 960)::.\ARMCC</pCCUsed>
<uAC6>0</uAC6>
<TargetOption>
<TargetCommonOption>
<Device>K1921VK035</Device>
@@ -81,9 +80,9 @@
<nStopB2X>0</nStopB2X>
</BeforeMake>
<AfterMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg1>1</RunUserProg1>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg1Name>fromelf.exe --bin --output .\Listings\@L.bin !L</UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
@@ -315,7 +314,7 @@
</ArmAdsMisc>
<Cads>
<interw>1</interw>
<Optim>2</Optim>
<Optim>1</Optim>
<oTime>0</oTime>
<SplitLS>0</SplitLS>
<OneElfS>1</OneElfS>
@@ -324,7 +323,7 @@
<PlainCh>0</PlainCh>
<Ropi>0</Ropi>
<Rwpi>0</Rwpi>
<wLevel>3</wLevel>
<wLevel>2</wLevel>
<uThumb>0</uThumb>
<uSurpInc>0</uSurpInc>
<uC99>1</uC99>
@@ -339,7 +338,7 @@
<v6Rtti>0</v6Rtti>
<VariousControls>
<MiscControls></MiscControls>
<Define>SYSCLK_OSE, OSECLK_VAL=24000000</Define>
<Define></Define>
<Undefine></Undefine>
<IncludePath>.\platform\CMSIS\Core\Include;.\platform\Device\NIIET\K1921VK035\Include;.\platform\plib035\inc;.\platform\retarget;.\platform\retarget\Template\K1921VK035;.\Core\App;.\Core\Config;.\Core\ExtendedLibs;.\Core\ExtendedLibs\MyLibs\Inc;.\Core\ExtendedLibs\RTT</IncludePath>
</VariousControls>
@@ -632,6 +631,7 @@
<Layer>
<LayName>UKSI</LayName>
<LayPrjMark>1</LayPrjMark>
<LayTitle>Template</LayTitle>
</Layer>
</Layers>
</LayerInfo>

View File

@@ -29,10 +29,10 @@ extern "C" {
#include <stdint.h>
//-- Defines -------------------------------------------------------------------
#define OSICLK_VAL 8000000
#ifndef OSECLK_VAL
#define OSECLK_VAL 0
#endif
#define SYSCLK_OSI // Тактирование при старте системы
#define OSICLK_VAL 8000000 // Частота внутреннего кварца
#define OSECLK_VAL 24000000 // Частота внешнего кварца
#define OSECLK_STARTUP_TIMEOUT 0x100000
#define SYSCLK_SWITCH_TIMEOUT 0x100000