From f3e76e105aa0ecee7b85508d803bf1206a86d5ab Mon Sep 17 00:00:00 2001 From: Razvalyaev Date: Sat, 27 Dec 2025 23:20:03 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - рефакторинг названий: - маленькие буквы - инит периферии - ТакойСтильФункций - API для использования - сделаны шапки с инструкциями к функциями - доработан ацп секвенсора - доработан систем тики. можно настроить его на разные частоты и подключить коллбеки на разный период - в gpio добавлены функции для кнопок и диодов - генерация бинарника --- Core/App/adc.c | 487 ++-- Core/App/adc.h | 104 +- Core/App/gpio.c | 378 ++- Core/App/gpio.h | 155 +- Core/App/main.c | 50 +- Core/App/sysclk.c | 287 ++- Core/App/sysclk.h | 74 +- Core/App/tmr.c | 177 +- Core/App/tmr.h | 120 +- Core/App/uart.c | 377 ++- Core/App/uart.h | 186 +- Core/App/vk035_it.c | 142 +- Core/Config/mylibs_config.h | 2 +- Core/Config/periph_config.h | 197 +- Listings/Firmware.map | 2230 ----------------- Listings/startup_k1921vk035.lst | 1961 --------------- Listings/template.map | 1316 ---------- Template.uvoptx | 112 +- Template.uvprojx | 16 +- .../K1921VK035/Include/system_K1921VK035.h | 8 +- 20 files changed, 2105 insertions(+), 6274 deletions(-) delete mode 100644 Listings/Firmware.map delete mode 100644 Listings/startup_k1921vk035.lst delete mode 100644 Listings/template.map diff --git a/Core/App/adc.c b/Core/App/adc.c index 91751c7..3ac84ae 100644 --- a/Core/App/adc.c +++ b/Core/App/adc.c @@ -1,22 +1,115 @@ -/*============================================================================== - * Инициализация АЦП с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * ЦНИИ СЭТ - *============================================================================== - */ +/** + ****************************************************************************** + * @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,22 +286,19 @@ 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); // Выключаем прерывания 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) -//{ -//} \ No newline at end of file +//-- ADC Digital Comparators API functions ------------------------------------- diff --git a/Core/App/adc.h b/Core/App/adc.h index 73e5cd6..bb381e4 100644 --- a/Core/App/adc.h +++ b/Core/App/adc.h @@ -1,11 +1,15 @@ -/*============================================================================== - * Инициализация таймеров с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * ЦНИИ СЭТ - *============================================================================== - */ +/** + ****************************************************************************** + * @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,63 +48,84 @@ typedef struct void (*ErrorCallback)(); /*!< Вызывается при ошибке */ }ADC_SEQ_ExtInit_TypeDef; +/** + * @brief Расширенная конфигурация компаратора ADC + */ typedef struct { ADC_DC_Init_TypeDef DC_Init; FunctionalState IT; /*!< Включить прерывания */ void (*DC_TrigCallback); /*!< Вызывается при срабатывании компаратора */ - void (*ErrorCallback)(); /*!< Вызывается при ошибке */ - - + void (*ErrorCallback)(); /*!< Вызывается при ошибке */ }ADC_DC_ExtInit_TypeDef; +/** + * @brief Хендл секвенсора ADC + */ typedef struct { - ADC_SEQ_ExtInit_TypeDef *Config; /*!< Конфигурации секвенсоров */ - uint8_t running; + ADC_SEQ_ExtInit_TypeDef *Config; /*!< Конфигурации секвенсоров */ - - 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*/ diff --git a/Core/App/gpio.c b/Core/App/gpio.c index 8dbe86e..a806d9c 100644 --- a/Core/App/gpio.c +++ b/Core/App/gpio.c @@ -1,19 +1,65 @@ -/*============================================================================== - * Инициализация портов с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * Конфигурация портов настраивается в 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; +} diff --git a/Core/App/gpio.h b/Core/App/gpio.h index d654bbb..7d1db46 100644 --- a/Core/App/gpio.h +++ b/Core/App/gpio.h @@ -1,12 +1,16 @@ -/*============================================================================== - * Инициализация портов с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * Реализация функций инициализации портов находится в 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*/ diff --git a/Core/App/main.c b/Core/App/main.c index 204f970..3e1b17f 100644 --- a/Core/App/main.c +++ b/Core/App/main.c @@ -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,60 +23,29 @@ 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) { __disable_irq(); while (1) { - } + } } #if defined USE_FULL_ASSERT diff --git a/Core/App/sysclk.c b/Core/App/sysclk.c index 263e8d4..7601265 100644 --- a/Core/App/sysclk.c +++ b/Core/App/sysclk.c @@ -1,19 +1,96 @@ -/*============================================================================== - * Инициализация тактирования с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * ЦНИИ СЭТ - *============================================================================== - */ +/** + ****************************************************************************** + * @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 + ============================================================================== + ##### Как использовать этот драйвер ##### + ============================================================================== + + 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 и т.д.) -//-- Includes ------------------------------------------------------------------ + 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; -} \ No newline at end of file +} + + + + +/** + * @brief Инкремент счетчика миллисекунд. + */ +static inline void millis_inc(void) +{ + msTick+=msTickInc; +} +/** +* @brief Инкремент счетчика микросекунд. + */ +static inline void micros_inc(void) +{ + usTick+=usTickInc; +} diff --git a/Core/App/sysclk.h b/Core/App/sysclk.h index 707e8da..b9a07e4 100644 --- a/Core/App/sysclk.h +++ b/Core/App/sysclk.h @@ -1,11 +1,19 @@ -/*============================================================================== - * Инициализация тактирования с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * ЦНИИ СЭТ - *============================================================================== - */ +/** + ****************************************************************************** + * @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*/ diff --git a/Core/App/tmr.c b/Core/App/tmr.c index ad12290..132050b 100644 --- a/Core/App/tmr.c +++ b/Core/App/tmr.c @@ -1,22 +1,85 @@ -/*============================================================================== - * Инициализация таймеров с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * ЦНИИ СЭТ - *============================================================================== - */ +/** + ****************************************************************************** + * @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 diff --git a/Core/App/tmr.h b/Core/App/tmr.h index 8cdcba9..01f5771 100644 --- a/Core/App/tmr.h +++ b/Core/App/tmr.h @@ -1,11 +1,16 @@ -/*============================================================================== - * Инициализация таймеров с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * ЦНИИ СЭТ - *============================================================================== - */ +/** + ****************************************************************************** + * @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*/ diff --git a/Core/App/uart.c b/Core/App/uart.c index 0b24efc..fb7d6ea 100644 --- a/Core/App/uart.c +++ b/Core/App/uart.c @@ -1,28 +1,105 @@ -/*============================================================================== - * Инициализация Instance с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * ЦНИИ СЭТ - *============================================================================== - */ +/** + ****************************************************************************** + * @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) && @@ -499,4 +685,65 @@ static int __uart_fifo_transmit(UART_HandleTypeDef *huart, uint8_t it_mode) return 1; } return 0; -} \ No newline at end of file +} + +#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 diff --git a/Core/App/uart.h b/Core/App/uart.h index 1e6162f..5d2c766 100644 --- a/Core/App/uart.h +++ b/Core/App/uart.h @@ -1,11 +1,17 @@ -/*============================================================================== - * Инициализация UART с использованием бибилотеки PLIB035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * ЦНИИ СЭТ - *============================================================================== - */ +/** + ****************************************************************************** + * @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 */ - - // Callback функции - void (*RxCallback)(void); /* Вызывается при приеме полного сообщения */ - void (*TxCallback)(void); /* Вызывается при окончании передачи */ - void (*IdleCallback)(void); /* Вызывается при IDLE линии на RX */ - void (*ErrCallback)(void); /* Вызывается при ошибке */ - + UART_Init_TypeDef UART_Init; /*!< Стандартная конфигурация UART из PLIB */ + + /* 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*/ diff --git a/Core/App/vk035_it.c b/Core/App/vk035_it.c index 7a91d2a..c338780 100644 --- a/Core/App/vk035_it.c +++ b/Core/App/vk035_it.c @@ -1,11 +1,59 @@ -/*============================================================================== - * Прерывания микроконтроллера 1921ВК035 - *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * ЦНИИ СЭТ - *============================================================================== - */ +/** + ****************************************************************************** + * @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(); } diff --git a/Core/Config/mylibs_config.h b/Core/Config/mylibs_config.h index 02fd9e0..0ff6835 100644 --- a/Core/Config/mylibs_config.h +++ b/Core/Config/mylibs_config.h @@ -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 - логирование отключено (макрос пустой) diff --git a/Core/Config/periph_config.h b/Core/Config/periph_config.h index fafe4e9..eafc0a0 100644 --- a/Core/Config/periph_config.h +++ b/Core/Config/periph_config.h @@ -1,39 +1,67 @@ /*============================================================================== - * Конфигурация портов с использованием бибилотеки PLIB035 + * @file periph_config.h + * @author Разваляев Алексей *------------------------------------------------------------------------------ - * ЦНИИ СЭТ, Разваляев Алексей - *============================================================================== - * Реализация функций инициализации портов находится в 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,17 +200,17 @@ 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 #if USE_ADC_SEQ1==1 @@ -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 -------------------------------------------------------------------- + + diff --git a/Listings/Firmware.map b/Listings/Firmware.map deleted file mode 100644 index f5b2fc1..0000000 --- a/Listings/Firmware.map +++ /dev/null @@ -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) - -============================================================================== - diff --git a/Listings/startup_k1921vk035.lst b/Listings/startup_k1921vk035.lst deleted file mode 100644 index 11ffb5d..0000000 --- a/Listings/startup_k1921vk035.lst +++ /dev/null @@ -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 ; Stack Configuration - 30 00000000 ; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8> - 31 00000000 ; - 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 ; Heap Configuration - - - -ARM Macro Assembler Page 2 - - - 41 00000400 ; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8> - 42 00000400 ; - 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 diff --git a/Listings/template.map b/Listings/template.map deleted file mode 100644 index cdc10c8..0000000 --- a/Listings/template.map +++ /dev/null @@ -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) - -============================================================================== - diff --git a/Template.uvoptx b/Template.uvoptx index 50cd766..990bf76 100644 --- a/Template.uvoptx +++ b/Template.uvoptx @@ -77,7 +77,7 @@ 0 1 - 255 + 0 0 1 @@ -135,7 +135,7 @@ 0 JL2CM3 - -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) + -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) 0 @@ -153,82 +153,12 @@ 0 1 - hadc + msTick,0x0A 1 1 - ADC - - - 2 - 1 - uwTick,0x0A - - - 3 - 1 - (uwTick-start) < ms - - - 4 - 1 - ms,0x0A - - - 5 - 1 - local_time() - - - 6 - 1 - GPIOA - - - 7 - 1 - gpioa_config - - - 8 - 1 - gpiob_config - - - 9 - 1 - rxbuff - - - 10 - 1 - *var - htmr->TMR->VALUE,0x0A - - - 11 - 1 - delay_load,0x0A - - - 12 - 1 - adc_raw_clock,0x0A - - - 13 - 1 - adc_clock_div,0x0A - - - 14 - 1 - ClkMHz - - - 15 - 1 - adc_buff + seq0_buff @@ -273,36 +203,6 @@ - - - System Viewer\ADC - 35899 - - - System Viewer\GPIOA - 35901 - - - System Viewer\GPIOB - 35903 - - - System Viewer\RCU - 35905 - - - System Viewer\TMR0 - 35902 - - - System Viewer\TMR2 - 35900 - - - System Viewer\UART1 - 35904 - - @@ -584,7 +484,7 @@ startup - 1 + 0 0 0 0 @@ -616,7 +516,7 @@ plib035 - 1 + 0 0 0 0 diff --git a/Template.uvprojx b/Template.uvprojx index 744247d..4cdf21f 100644 --- a/Template.uvprojx +++ b/Template.uvprojx @@ -10,9 +10,8 @@ template 0x4 ARM-ADS - 6190000::V6.19::ARMCLANG - 6190000::V6.19::ARMCLANG - 1 + 5060960::V5.06 update 7 (build 960)::.\ARMCC + 0 K1921VK035 @@ -81,9 +80,9 @@ 0 - 0 + 1 0 - + fromelf.exe --bin --output .\Listings\@L.bin !L 0 0 @@ -315,7 +314,7 @@ 1 - 2 + 1 0 0 1 @@ -324,7 +323,7 @@ 0 0 0 - 3 + 2 0 0 1 @@ -339,7 +338,7 @@ 0 - SYSCLK_OSE, OSECLK_VAL=24000000 + .\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 @@ -632,6 +631,7 @@ UKSI 1 + Template diff --git a/platform/Device/NIIET/K1921VK035/Include/system_K1921VK035.h b/platform/Device/NIIET/K1921VK035/Include/system_K1921VK035.h index a0cd95b..3e52219 100644 --- a/platform/Device/NIIET/K1921VK035/Include/system_K1921VK035.h +++ b/platform/Device/NIIET/K1921VK035/Include/system_K1921VK035.h @@ -29,10 +29,10 @@ extern "C" { #include //-- 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