Compare commits
18 Commits
120ec1cd90
...
boot_test
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c61c438b8c | ||
|
|
0e834dfe3d | ||
|
|
fbd36705f1 | ||
|
|
320cce09ec | ||
|
|
05e069441c | ||
|
|
d82a525a82 | ||
| c46dde7c5c | |||
| f2b52210e9 | |||
| 9ff61f7825 | |||
| ed3ac12f75 | |||
|
|
d9c19bf743 | ||
| 327f65e16b | |||
| 0699aee653 | |||
| c2b7720886 | |||
| 072f042fe3 | |||
| b9db537db1 | |||
| a7d6faca8b | |||
| d6c3e5d7be |
143
.gitignore
vendored
Normal file
143
.gitignore
vendored
Normal file
@@ -0,0 +1,143 @@
|
||||
# ---> uVision
|
||||
# git ignore file for Keil µVision Project
|
||||
|
||||
# µVision 5 and µVision 4 Project screen layout file
|
||||
*.uvguix.*
|
||||
*.uvgui.*
|
||||
*.uvoptx.*
|
||||
|
||||
|
||||
# Listing Files
|
||||
*.i
|
||||
*.lst
|
||||
*.m51
|
||||
*.m66
|
||||
*.map
|
||||
|
||||
# Object Files
|
||||
*.axf
|
||||
*.b[0-2][0-9]
|
||||
*.b3[0-1]
|
||||
*.bak
|
||||
*.build_log.htm
|
||||
*.crf
|
||||
*.d
|
||||
*.dep
|
||||
*.elf
|
||||
*.htm
|
||||
*.iex
|
||||
*.lnp
|
||||
*.o
|
||||
*.obj
|
||||
*.sbr
|
||||
|
||||
# Firmware Files
|
||||
*.bin
|
||||
*.h86
|
||||
*.hex
|
||||
|
||||
# Build Files
|
||||
.bat
|
||||
|
||||
# Debugger Files
|
||||
.ini
|
||||
|
||||
# JLink Files
|
||||
JLinkLog.txt
|
||||
|
||||
# Other Files
|
||||
|
||||
# ---> Qt
|
||||
# C++ objects and libs
|
||||
*.slo
|
||||
*.lo
|
||||
*.o
|
||||
*.a
|
||||
*.la
|
||||
*.lai
|
||||
*.so
|
||||
*.so.*
|
||||
*.dll
|
||||
*.dylib
|
||||
|
||||
# Qt-es
|
||||
object_script.*.Release
|
||||
object_script.*.Debug
|
||||
*_plugin_import.cpp
|
||||
/.qmake.cache
|
||||
/.qmake.stash
|
||||
*.pro.user
|
||||
*.pro.user.*
|
||||
*.qbs.user
|
||||
*.qbs.user.*
|
||||
*.moc
|
||||
moc_*.cpp
|
||||
moc_*.h
|
||||
qrc_*.cpp
|
||||
ui_*.h
|
||||
*.qmlc
|
||||
*.jsc
|
||||
Makefile*
|
||||
*build-*
|
||||
*.qm
|
||||
*.prl
|
||||
|
||||
# Qt unit tests
|
||||
target_wrapper.*
|
||||
|
||||
# QtCreator
|
||||
*.autosave
|
||||
|
||||
# QtCreator Qml
|
||||
*.qmlproject.user
|
||||
*.qmlproject.user.*
|
||||
|
||||
# QtCreator CMake
|
||||
CMakeLists.txt.user*
|
||||
|
||||
# QtCreator 4.8< compilation database
|
||||
compile_commands.json
|
||||
|
||||
# QtCreator local machine specific files for imported projects
|
||||
*creator.user*
|
||||
|
||||
*_qmlcache.qrc
|
||||
|
||||
|
||||
|
||||
|
||||
# ---> MATLAB
|
||||
# Windows default autosave extension
|
||||
*.asv
|
||||
|
||||
# OSX / *nix default autosave extension
|
||||
*.m~
|
||||
|
||||
# Compiled MEX binaries (all platforms)
|
||||
*.mex*
|
||||
|
||||
# Packaged app and toolbox files
|
||||
*.mlappinstall
|
||||
*.mltbx
|
||||
|
||||
# Generated helpsearch folders
|
||||
helpsearch*/
|
||||
|
||||
# Simulink code generation folders
|
||||
slprj/
|
||||
sccprj/
|
||||
|
||||
# Matlab code generation folders
|
||||
codegen/
|
||||
|
||||
# Simulink autosave extension
|
||||
*.autosave
|
||||
|
||||
# Simulink cache files
|
||||
*.slxc
|
||||
|
||||
# Octave session info
|
||||
octave-workspace
|
||||
|
||||
/MDK-ARM/uksvep_2_2_v1/
|
||||
/MDK-ARM/JLinkSettings.ini
|
||||
20
Core/Bootloader/Inc/boot_can.h
Normal file
20
Core/Bootloader/Inc/boot_can.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef __BOOT_CAN_H
|
||||
#define __BOOT_CAN_H
|
||||
|
||||
#include "bootloader.h"
|
||||
|
||||
extern CAN_HandleTypeDef hcan_boot;
|
||||
|
||||
extern CAN_TxHeaderTypeDef TxHeaderBoot;
|
||||
extern CAN_RxHeaderTypeDef RxHeaderBoot;
|
||||
extern uint32_t TxMailBoxBoot;
|
||||
extern uint8_t TXDataBoot[8];
|
||||
|
||||
/* Инициализация CAN */
|
||||
void MX_BOOT_CAN_Init(void);
|
||||
/* Приём команды по CAN по протоколу */
|
||||
BootloaderCommand_t Bootloader_CAN_Receive(Bootloader_t *bl);
|
||||
/* Приём CAN: страница + CRC */
|
||||
void Bootloader_CAN_Receive_Page(Bootloader_t *bl);
|
||||
|
||||
#endif //__BOOT_CAN_H
|
||||
14
Core/Bootloader/Inc/boot_flash.h
Normal file
14
Core/Bootloader/Inc/boot_flash.h
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef __BOOT_FLASH_H
|
||||
#define __BOOT_FLASH_H
|
||||
|
||||
#include "bootloader.h"
|
||||
|
||||
|
||||
// FOR APP FLASHING
|
||||
HAL_StatusTypeDef FLASH_Erase_App(void);
|
||||
HAL_StatusTypeDef FLASH_Write_Page(uint32_t *Address, uint8_t *Data, int Data_size);
|
||||
|
||||
// SERVICE
|
||||
HAL_StatusTypeDef FLASH_Write_Word(uint32_t Address, uint64_t Data);
|
||||
|
||||
#endif //__BOOT_FLASH_H
|
||||
14
Core/Bootloader/Inc/boot_gpio.h
Normal file
14
Core/Bootloader/Inc/boot_gpio.h
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef __BOOT_GPIO_H
|
||||
#define __BOOT_GPIO_H
|
||||
|
||||
#include "bootloader.h"
|
||||
|
||||
|
||||
#define LED_BOOT_ON() CLEAR_BIT(LED_BOOT_GPIO_Port->ODR, LED_BOOT_Pin)
|
||||
#define LED_BOOT_OFF() SET_BIT(LED_BOOT_GPIO_Port->ODR, LED_BOOT_Pin)
|
||||
#define LED_BOOT_TOOGLE() LED_BOOT_GPIO_Port->ODR ^= LED_BOOT_Pin
|
||||
|
||||
|
||||
void MX_BOOT_GPIO_Init(void);
|
||||
|
||||
#endif //__BOOT_GPIO_H
|
||||
26
Core/Bootloader/Inc/boot_jump.h
Normal file
26
Core/Bootloader/Inc/boot_jump.h
Normal file
@@ -0,0 +1,26 @@
|
||||
#ifndef __BOOT_JUMP_H
|
||||
#define __BOOT_JUMP_H
|
||||
|
||||
#include "bootloader.h"
|
||||
|
||||
/* Инициализация приложения */
|
||||
void App_Init(void);
|
||||
/* Переход в бутлоадер */
|
||||
void JumpToBootloader(void);
|
||||
/* Переход к основному приложению */
|
||||
void JumpToApplocation(void);
|
||||
|
||||
/* Сброс ключа BOOT в Flash */
|
||||
void ResetKey(void);
|
||||
/* Установка ключа BOOT в Flash */
|
||||
void SetKey(void);
|
||||
/* Чтение ключа BOOT из Flash */
|
||||
uint32_t ReadKey(void);
|
||||
/* Стирание ключа BOOT в Flash */
|
||||
void EraseKey(void);
|
||||
|
||||
/* Проверка валидности прошивки перед переходом к приложению */
|
||||
HAL_StatusTypeDef Verify_Firmware(void);
|
||||
|
||||
|
||||
#endif //__BOOT_JUMP_H
|
||||
73
Core/Bootloader/Inc/boot_project_setup.h
Normal file
73
Core/Bootloader/Inc/boot_project_setup.h
Normal file
@@ -0,0 +1,73 @@
|
||||
#ifndef __BOOT_SETUP_H
|
||||
#define __BOOT_SETUP_H
|
||||
|
||||
#include "stm32f1xx_hal.h"
|
||||
|
||||
// ======================== BOOTLOADER CONFIG ========================
|
||||
|
||||
// ---------- MAIN APPLICATION defines ----------
|
||||
// Адрес и страницы Flash для основного приложения
|
||||
// MAIN_APP_START_ADR – начало кода основного приложения
|
||||
#define MAIN_APP_START_ADR (uint32_t)0x0800C000UL
|
||||
#define MAIN_APP_PAGE 21 // страница, с которой начинается приложение
|
||||
#define MAIN_APP_NUM_OF_PAGE 250-MAIN_APP_PAGE // количество страниц, отведённых под приложение
|
||||
|
||||
// ---------- KEY defines ----------
|
||||
// Адрес и страница Flash для хранения ключа бутлоадера
|
||||
// Ключ используется для проверки, записано ли приложение корректно
|
||||
#define BOOTLOADER_KEY_ADR (uint32_t)0x08009800UL // физический адрес ключа
|
||||
#define BOOTLOADER_KEY_PAGE 20 // страница флеш, на которой хранится ключ
|
||||
|
||||
// ---------- RECEIVE defines ----------
|
||||
// Настройки приёма прошивки
|
||||
#define FW_RECEIVE_TIMEOUT_MS 500 // таймаут приёма одного байта прошивки (мс)
|
||||
#define PAGE_SIZE 2048 // размер блока (страницы) прошивки для приёма и записи в Flash
|
||||
// должен быть таким, чтобы размер страниц Flash был кратен ему
|
||||
|
||||
// ---------- LED defines ----------
|
||||
#define LED_BOOT_Pin GPIO_PIN_5
|
||||
#define LED_BOOT_GPIO_Port GPIOB
|
||||
|
||||
// ======================== RCC (CLOCK) defines ========================
|
||||
|
||||
// Макросы для включения тактирования периферии бутлоадера
|
||||
#define __RCC_LED_BOOT_CLK_ENABLE() __HAL_RCC_GPIOB_CLK_ENABLE() // тактирование UART
|
||||
#define __RCC_UART_BOOT_CLK_ENABLE() __HAL_RCC_UART4_CLK_ENABLE() // тактирование UART
|
||||
#define __RCC_UART_PORT_CLK_ENABLE() __HAL_RCC_GPIOC_CLK_ENABLE() // тактирование порта UART
|
||||
#define __RCC_CAN_BOOT_CLK_ENABLE() __HAL_RCC_CAN1_CLK_ENABLE() // тактирование CAN
|
||||
#define __RCC_CAN_PORT_CLK_ENABLE() __HAL_RCC_GPIOA_CLK_ENABLE() // тактирование порта CAN
|
||||
|
||||
// ======================== UART defines ========================
|
||||
|
||||
// Аппаратный UART и скорость передачи
|
||||
#define UART_BOOT UART4
|
||||
#define UART_SPEED 115200
|
||||
|
||||
// Порт и пины UART
|
||||
#define UART_PORT GPIOC
|
||||
#define UART_PIN_TX GPIO_PIN_10
|
||||
#define UART_PIN_RX GPIO_PIN_11
|
||||
|
||||
// ======================== CAN defines ========================
|
||||
|
||||
// Аппаратный CAN и режим работы
|
||||
#define CAN_BOOT CAN1
|
||||
#define CAN_MODE CAN_MODE_NORMAL
|
||||
|
||||
// Настройка скорости CAN при 8 MHz
|
||||
// ------------|-----------|-----------|-----------
|
||||
// CAN speed | Prescaler | BS1 | BS2
|
||||
// ------------|-----------|-----------|-----------
|
||||
// 125 kbps | 4 | 13TQ | 2TQ
|
||||
// 250 kbps | 2 | 13TQ | 2TQ
|
||||
// 500 kbps | 1 | 13TQ | 2TQ
|
||||
#define CAN_SPEED_PRESCALER 4
|
||||
#define CAN_SPEED_BS1 CAN_BS1_13TQ
|
||||
#define CAN_SPEED_BS2 CAN_BS2_2TQ
|
||||
|
||||
// Порт и пины CAN
|
||||
#define CAN_PORT GPIOA
|
||||
#define CAN_PIN_RX GPIO_PIN_11
|
||||
#define CAN_PIN_TX GPIO_PIN_12
|
||||
|
||||
#endif //__BOOT_SETUP_H
|
||||
15
Core/Bootloader/Inc/boot_uart.h
Normal file
15
Core/Bootloader/Inc/boot_uart.h
Normal file
@@ -0,0 +1,15 @@
|
||||
#ifndef __BOOT_UART_H
|
||||
#define __BOOT_UART_H
|
||||
|
||||
#include "bootloader.h"
|
||||
|
||||
extern UART_HandleTypeDef huart_boot;
|
||||
|
||||
/* Инициализация UART */
|
||||
void MX_BOOT_UART_Init(void);
|
||||
/* Приём команды по UART по протоколу */
|
||||
BootloaderCommand_t Bootloader_UART_Receive(Bootloader_t *bl);
|
||||
/* Приём UART: страница + CRC */
|
||||
void Bootloader_UART_Receive_Page(Bootloader_t *bl);
|
||||
|
||||
#endif //__BOOT_UART_H
|
||||
150
Core/Bootloader/Inc/bootloader.h
Normal file
150
Core/Bootloader/Inc/bootloader.h
Normal file
@@ -0,0 +1,150 @@
|
||||
#ifndef __BOOTLOADER_H
|
||||
#define __BOOTLOADER_H
|
||||
|
||||
#include "boot_project_setup.h"
|
||||
#include "string.h"
|
||||
|
||||
/* --- Настройка: подставьте значения для вашей MCU --- */
|
||||
/* Адрес начала приложения (используется в вашем коде) */
|
||||
#ifndef MAIN_APP_START_ADR
|
||||
#error "MAIN_APP_START_ADR must be defined"
|
||||
#endif
|
||||
/* Flash boundaries: подставьте реальные границы флеш-памяти вашего MCU */
|
||||
#ifndef FLASH_START_ADR
|
||||
#define FLASH_START_ADR MAIN_APP_START_ADR
|
||||
#endif
|
||||
#ifndef FLASH_END_ADR
|
||||
#define FLASH_END_ADR FLASH_BASE + (*((uint16_t*)FLASHSIZE_BASE) * 1024U)
|
||||
#endif
|
||||
|
||||
/* SRAM boundaries: подставьте реальные адреса SRAM вашей MCU */
|
||||
#ifndef SRAM_START_ADR
|
||||
#define SRAM_START_ADR 0x20000000UL
|
||||
#endif
|
||||
#ifndef SRAM_END_ADR
|
||||
#define SRAM_END_ADR 0x2003FFFFUL
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Значение ключа, указывающее что основное приложение записано
|
||||
*/
|
||||
#define BL_KEY_APP_WRITTEN 0xAAAA5555
|
||||
|
||||
|
||||
|
||||
|
||||
/** @brief Получить сохранённый код ошибки из BKP */
|
||||
#define GetErrorCode() BKP->DR1
|
||||
/** @brief Получить счетчик ошибок из BKP */
|
||||
#define GetErrorCnt() BKP->DR2
|
||||
|
||||
|
||||
/**
|
||||
* @brief Сохранение кода ошибки и инкремент счетчика
|
||||
* @param code Код ошибки
|
||||
* @details
|
||||
* Включаем тактирование PWR и BKP (APB1) и разрешаем доступ к BKP domain
|
||||
* Записываем напрямую в регистры RCC/APB1ENR и PWR->CR
|
||||
* Записываем код ошибки и счётчик ошибок
|
||||
*/
|
||||
#define SaveErrorCode(code) do{ \
|
||||
RCC->APB1ENR |= (RCC_APB1ENR_PWREN | RCC_APB1ENR_BKPEN); \
|
||||
PWR->CR |= PWR_CR_DBP; \
|
||||
GetErrorCode() = code; \
|
||||
GetErrorCnt() = GetErrorCnt() + 1; \
|
||||
}while(0u);
|
||||
|
||||
/**
|
||||
* @brief Очистка кода ошибки и счетчика ошибок
|
||||
*/
|
||||
#define ClearErrorCode(code) do{ \
|
||||
RCC->APB1ENR |= (RCC_APB1ENR_PWREN | RCC_APB1ENR_BKPEN); \
|
||||
PWR->CR |= PWR_CR_DBP; \
|
||||
GetErrorCode() = 0; \
|
||||
GetErrorCnt() = 0; \
|
||||
}while(0u);
|
||||
|
||||
|
||||
/**
|
||||
* @brief Команды для управления бутлоадером
|
||||
*/
|
||||
typedef enum {
|
||||
NO_CMD = 0x00, ///< Нет комманды
|
||||
CMD_ERASE = 0x01, ///< Команда на стирание прошивки
|
||||
CMD_START_RECEIVE, ///< Команда на старт приема прошивки
|
||||
CMD_WRITE, ///< Команда на запись блока прошивки
|
||||
CMD_GOTOAPP, ///< Команда на переход в приложение
|
||||
CMD_RESET, ///< Команда на переход в приложение
|
||||
CMD_GOTOBOOT, ///< Команда на переход в приложение
|
||||
CMD_PING = 0xAA, ///< Команда на пинг
|
||||
}BootloaderCommand_t;
|
||||
|
||||
/**
|
||||
* @brief Состояния конечного автомата бутлоадера
|
||||
*/
|
||||
typedef enum {
|
||||
BL_STATE_INIT = 0, ///< Состояние: инициализация
|
||||
BL_STATE_JUMP_TO_APP, ///< Состояние: запуск приложения
|
||||
BL_STATE_IDLE, ///< Состояние: ожидание команд
|
||||
BL_STATE_ERASE, ///< Состояние: стирание флеша
|
||||
BL_STATE_RECEIVE_UART, ///< Состояние: прием прошивки по UART
|
||||
BL_STATE_RECEIVE_CAN, ///< Состояние: прием прошивки по CAN
|
||||
BL_STATE_WRITE, ///< Состояние: запись данных
|
||||
BL_STATE_ERROR, ///< Состояние: ошибка
|
||||
BL_STATE_RESET, ///< Состояние: сброс контролллера
|
||||
BL_STATE_JUMP_TO_BOOT, ///< Состояние: запуск приложения
|
||||
} BootloaderState_t;
|
||||
|
||||
/**
|
||||
* @brief Ошибки бутлоадера
|
||||
*/
|
||||
typedef union {
|
||||
uint16_t all; ///< Все ошибки одним числом
|
||||
struct {
|
||||
unsigned hardfault_cycle:1; ///< Прерывание HardFault
|
||||
unsigned memmanage_cycle:1; ///< Прерывание MemManage
|
||||
unsigned watchdog_reset:1; ///< Watchdog сброс
|
||||
unsigned unknown_cmd:1; ///< Неизвестная команда
|
||||
unsigned erase_err:1; ///< Ошибка стирания
|
||||
unsigned write_err:1; ///< Ошибка записи
|
||||
unsigned verify_err:1; ///< Ошибка проверки прошивки
|
||||
unsigned overflow:1; ///< Слишком много данных
|
||||
unsigned timeout_receive:1; ///< Таймаут приёма
|
||||
unsigned crc_err:1; ///< Ошибка CRC
|
||||
} bit;
|
||||
} BootloaderError_t;
|
||||
|
||||
|
||||
/**
|
||||
* @brief Дескриптор бутлоадера
|
||||
*/
|
||||
typedef struct {
|
||||
BootloaderState_t state; ///< текущее состояние бутлоадера
|
||||
BootloaderError_t error; ///< ошибки бутлоадера
|
||||
|
||||
uint32_t addr; ///< текущий адрес прошивки
|
||||
|
||||
uint8_t fw_size; ///< размер прошивки
|
||||
uint8_t fw_buffer[PAGE_SIZE]; ///< буфер для приема прошивки (UART/CAN)
|
||||
uint32_t fw_len; ///< длина принятого пакета
|
||||
uint32_t fw_crc; ///< контрольная сумма прошивки
|
||||
|
||||
UART_HandleTypeDef *huart; ///< хендлер UART
|
||||
CAN_HandleTypeDef *hcan; ///< хендер CAN
|
||||
CAN_TxHeaderTypeDef TxHeader; ///< Заголовок CAN сообщения для отправки
|
||||
BootloaderState_t prev_state; ///< предыдущее состояние бутлоадера
|
||||
} Bootloader_t;
|
||||
|
||||
/* Основная задача бутлоадера */
|
||||
void Bootloader_Task(Bootloader_t *bl);
|
||||
|
||||
/* Настройка тактирования */
|
||||
void Boot_SystemClock_Config(void);
|
||||
/* Хендлер ошибки */
|
||||
void Error_Handler(void);
|
||||
/* CRC */
|
||||
uint32_t CRC32_Compute(const uint8_t* data, uint32_t length);
|
||||
|
||||
#endif //__BOOTLOADER_H
|
||||
162
Core/Bootloader/Src/boot_can.c
Normal file
162
Core/Bootloader/Src/boot_can.c
Normal file
@@ -0,0 +1,162 @@
|
||||
#include "boot_can.h"
|
||||
#include "boot_gpio.h"
|
||||
|
||||
CAN_HandleTypeDef hcan_boot;
|
||||
|
||||
CAN_TxHeaderTypeDef TxHeaderBoot;
|
||||
CAN_RxHeaderTypeDef RxHeaderBoot;
|
||||
uint32_t TxMailBoxBoot = 0;
|
||||
uint8_t TXDataBoot[8] = {0};
|
||||
|
||||
|
||||
/**
|
||||
* @brief Инициализация CAN для бутлоадера
|
||||
*/
|
||||
void MX_BOOT_CAN_Init(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
CAN_FilterTypeDef sFilterConfig;
|
||||
|
||||
/* Включаем тактирование */
|
||||
__RCC_CAN_BOOT_CLK_ENABLE();
|
||||
__RCC_CAN_PORT_CLK_ENABLE();
|
||||
|
||||
/* Настройка пинов RX/TX */
|
||||
GPIO_InitStruct.Pin = CAN_PIN_RX;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(CAN_PORT, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = CAN_PIN_TX;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
HAL_GPIO_Init(CAN_PORT, &GPIO_InitStruct);
|
||||
|
||||
/* Настройка CAN */
|
||||
hcan_boot.Instance = CAN_BOOT;
|
||||
hcan_boot.Init.Prescaler = CAN_SPEED_PRESCALER;
|
||||
hcan_boot.Init.Mode = CAN_MODE;
|
||||
hcan_boot.Init.SyncJumpWidth = CAN_SJW_1TQ;
|
||||
hcan_boot.Init.TimeSeg1 = CAN_SPEED_BS1;
|
||||
hcan_boot.Init.TimeSeg2 = CAN_SPEED_BS2;
|
||||
hcan_boot.Init.TimeTriggeredMode = DISABLE;
|
||||
hcan_boot.Init.AutoBusOff = DISABLE;
|
||||
hcan_boot.Init.AutoWakeUp = DISABLE;
|
||||
hcan_boot.Init.AutoRetransmission = ENABLE;
|
||||
hcan_boot.Init.ReceiveFifoLocked = DISABLE;
|
||||
hcan_boot.Init.TransmitFifoPriority = DISABLE;
|
||||
|
||||
if (HAL_CAN_Init(&hcan_boot) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/* Настройка фильтра: пропускать все сообщения */
|
||||
sFilterConfig.FilterBank = 0;
|
||||
sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
|
||||
sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
|
||||
sFilterConfig.FilterIdHigh = 0x0000;
|
||||
sFilterConfig.FilterIdLow = 0x0000;
|
||||
sFilterConfig.FilterMaskIdHigh = 0x0000;
|
||||
sFilterConfig.FilterMaskIdLow = 0x0000;
|
||||
sFilterConfig.FilterFIFOAssignment = CAN_FILTER_FIFO0;
|
||||
sFilterConfig.FilterActivation = ENABLE;
|
||||
|
||||
if (HAL_CAN_ConfigFilter(&hcan_boot, &sFilterConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/* Запускаем CAN */
|
||||
if (HAL_CAN_Start(&hcan_boot) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Приём команды по CAN по протоколу:
|
||||
* @param bl: указатель на структуру бутлоадера
|
||||
* @retval BootloaderCommand_t — принятая команда или NO_CMD
|
||||
*/
|
||||
BootloaderCommand_t Bootloader_CAN_Receive(Bootloader_t *bl)
|
||||
{
|
||||
BootloaderCommand_t cmd = NO_CMD;
|
||||
uint8_t canData[8];
|
||||
if (HAL_CAN_GetRxFifoFillLevel(bl->hcan, CAN_RX_FIFO0) > 0)
|
||||
{
|
||||
if (HAL_CAN_GetRxMessage(bl->hcan, CAN_RX_FIFO0, &RxHeaderBoot, canData) == HAL_OK)
|
||||
{
|
||||
cmd = canData[0]; // предполагаем, что команда в первом байте
|
||||
}
|
||||
}
|
||||
return cmd;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Приём CAN: страница + CRC
|
||||
* @param bl: указатель на структуру бутлоадера
|
||||
*/
|
||||
void Bootloader_CAN_Receive_Page(Bootloader_t *bl)
|
||||
{
|
||||
uint16_t bytes_received = 0;
|
||||
CAN_RxHeaderTypeDef canHeader;
|
||||
uint8_t canData[8];
|
||||
uint32_t start_tick = HAL_GetTick();
|
||||
|
||||
// Приём страницы прошивки
|
||||
while(bytes_received < PAGE_SIZE)
|
||||
{
|
||||
if(HAL_CAN_GetRxFifoFillLevel(bl->hcan, CAN_RX_FIFO0) > 0)
|
||||
{
|
||||
if(HAL_CAN_GetRxMessage(bl->hcan, CAN_RX_FIFO0, &canHeader, canData) == HAL_OK)
|
||||
{
|
||||
uint8_t len = canHeader.DLC;
|
||||
if(bytes_received + len > PAGE_SIZE)
|
||||
len = PAGE_SIZE - bytes_received;
|
||||
|
||||
memcpy(&bl->fw_buffer[bytes_received], canData, len);
|
||||
bytes_received += len;
|
||||
start_tick = HAL_GetTick(); // сброс таймаута
|
||||
LED_BOOT_TOOGLE();
|
||||
}
|
||||
}
|
||||
|
||||
// проверка таймаута
|
||||
if(HAL_GetTick() - start_tick >= FW_RECEIVE_TIMEOUT_MS)
|
||||
{
|
||||
bl->error.bit.timeout_receive = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
return;
|
||||
}
|
||||
}
|
||||
// Приём CRC (4 байта)
|
||||
start_tick = HAL_GetTick(); // сброс таймаута
|
||||
while(1)
|
||||
{
|
||||
if(HAL_CAN_GetRxFifoFillLevel(bl->hcan, CAN_RX_FIFO0) > 0)
|
||||
{
|
||||
if(HAL_CAN_GetRxMessage(bl->hcan, CAN_RX_FIFO0, &canHeader, canData) == HAL_OK)
|
||||
{
|
||||
// CRC в первых 4 байтах пакета
|
||||
bl->fw_crc = (canData[0] << 24) |
|
||||
(canData[1] << 16) |
|
||||
(canData[2] << 8) |
|
||||
canData[3];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Таймаут
|
||||
if(HAL_GetTick() - start_tick >= FW_RECEIVE_TIMEOUT_MS)
|
||||
{
|
||||
bl->error.bit.timeout_receive = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
bl->fw_len = PAGE_SIZE;
|
||||
bl->state = BL_STATE_IDLE;
|
||||
}
|
||||
|
||||
92
Core/Bootloader/Src/boot_flash.c
Normal file
92
Core/Bootloader/Src/boot_flash.c
Normal file
@@ -0,0 +1,92 @@
|
||||
#include "boot_flash.h"
|
||||
uint32_t word_data;
|
||||
|
||||
|
||||
HAL_StatusTypeDef FLASH_Erase_App(void) //
|
||||
{
|
||||
HAL_StatusTypeDef res;
|
||||
uint32_t PageError = 0x00;
|
||||
|
||||
res = HAL_FLASH_Unlock();
|
||||
|
||||
if (res != HAL_OK) return res;
|
||||
|
||||
FLASH_EraseInitTypeDef EraseInitStruct;
|
||||
|
||||
EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;// erase pages
|
||||
EraseInitStruct.Banks = 1;
|
||||
EraseInitStruct.PageAddress = MAIN_APP_START_ADR; //address
|
||||
EraseInitStruct.NbPages = MAIN_APP_NUM_OF_PAGE;// num of erased pages
|
||||
|
||||
res = HAL_FLASHEx_Erase(&EraseInitStruct, &PageError);
|
||||
|
||||
if (res != HAL_OK) return res;
|
||||
|
||||
res = HAL_FLASH_Lock();
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
HAL_StatusTypeDef FLASH_Write_Page(uint32_t *Address, uint8_t *Data, int Data_size)
|
||||
{
|
||||
//GPIOB->ODR^=(0x2000);
|
||||
// GPIOB->ODR|=0x4000;
|
||||
|
||||
HAL_StatusTypeDef res;
|
||||
int data_cnt = 0;
|
||||
uint32_t adr;
|
||||
|
||||
|
||||
res = HAL_FLASH_Unlock();
|
||||
|
||||
if (res != HAL_OK) return res;
|
||||
|
||||
for (adr = *Address; adr < *Address + Data_size; adr = adr+4)
|
||||
{
|
||||
word_data = (
|
||||
Data[data_cnt]|
|
||||
Data[data_cnt+1]<<8|
|
||||
Data[data_cnt+2]<<16|
|
||||
Data[data_cnt+3]<<24);
|
||||
|
||||
res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, adr, word_data);
|
||||
|
||||
if (res != HAL_OK) return res;
|
||||
|
||||
data_cnt +=4;
|
||||
}
|
||||
|
||||
*Address += Data_size;
|
||||
res = HAL_FLASH_Lock();
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
HAL_StatusTypeDef FLASH_Write_Word(uint32_t Address, uint64_t Data) //Куда записывать
|
||||
{
|
||||
HAL_StatusTypeDef res;
|
||||
|
||||
res = HAL_FLASH_Unlock();
|
||||
|
||||
if (res != HAL_OK) return res;
|
||||
|
||||
res = HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, (uint32_t)(Data));
|
||||
|
||||
if (res != HAL_OK) return res;
|
||||
|
||||
res = HAL_FLASH_Lock();
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
24
Core/Bootloader/Src/boot_gpio.c
Normal file
24
Core/Bootloader/Src/boot_gpio.c
Normal file
@@ -0,0 +1,24 @@
|
||||
#include "boot_gpio.h"
|
||||
|
||||
/**
|
||||
* @brief Инициализация GPIO для бутлоадера
|
||||
*/
|
||||
void MX_BOOT_GPIO_Init(void)
|
||||
{
|
||||
__RCC_LED_BOOT_CLK_ENABLE();
|
||||
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
GPIO_InitStruct.Pin = LED_BOOT_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Push-Pull выход
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL; // Без подтяжки
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; // Низкая скорость
|
||||
HAL_GPIO_Init(LED_BOOT_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
for(int cnt = 0; cnt < 5; cnt++)
|
||||
{
|
||||
LED_BOOT_ON();
|
||||
for(int delay = 0; delay < 10000; delay++);
|
||||
LED_BOOT_OFF();
|
||||
for(int delay = 0; delay < 10000; delay++);
|
||||
}
|
||||
}
|
||||
150
Core/Bootloader/Src/boot_jump.c
Normal file
150
Core/Bootloader/Src/boot_jump.c
Normal file
@@ -0,0 +1,150 @@
|
||||
/**
|
||||
* @file boot_jump.c
|
||||
* @brief Функции для перехода между бутлоадером и основным приложением,
|
||||
* управление ключом BOOT и проверка прошивки.
|
||||
*
|
||||
* Основные возможности:
|
||||
* - Настройка вектора прерываний для запуска приложения
|
||||
* - Управление ключом BOOT в Flash
|
||||
* - Проверка корректности прошивки перед прыжком
|
||||
* - Функции прыжка: Bootloader <-> Application
|
||||
*/
|
||||
#include "boot_jump.h"
|
||||
|
||||
|
||||
/**
|
||||
* @brief Инициализация приложения.
|
||||
* Устанавливает вектор прерываний на начало основного приложения.
|
||||
*/
|
||||
void App_Init(void)
|
||||
{
|
||||
__disable_irq();
|
||||
SCB->VTOR = MAIN_APP_START_ADR;
|
||||
__enable_irq();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Переход в бутлоадер.
|
||||
* Сбрасывает ключ BOOT и выполняет системный сброс.
|
||||
*/
|
||||
void JumpToBootloader(void)
|
||||
{
|
||||
// jump to boot
|
||||
ResetKey(); // сброс ключа (не erase, просто битый ключ)
|
||||
NVIC_SystemReset(); // сброс и переход в бутлоадер (т.к. нет ключа)
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Переход к основному приложению.
|
||||
* Настраивает стек и переход к ResetHandler приложения.
|
||||
*/
|
||||
void JumpToApplocation(void)
|
||||
{
|
||||
//Деинициализация HAL
|
||||
HAL_DeInit();
|
||||
|
||||
//Перенос вектора прерываний на начало зашитой программы
|
||||
__disable_irq();
|
||||
__set_MSP(*((volatile uint32_t*)MAIN_APP_START_ADR));
|
||||
__enable_irq();
|
||||
|
||||
//Переход к выполнению зашитой программы
|
||||
__ASM volatile(
|
||||
"ldr r0, [%0, #4]\n" // r0 = *(MAIN_APP_START_ADR + 4)
|
||||
"bx r0\n" // переход по адресу в r0
|
||||
:
|
||||
: "r"(MAIN_APP_START_ADR)
|
||||
: "r0"
|
||||
);
|
||||
//Note: asm потому что при O0 компилятор делал локальные переменные,
|
||||
// из-за чего при смене стека он не мог получить адрес для прыжка
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Сброс ключа BOOT в Flash.
|
||||
* Делает ключ «битым», чтобы MCU остался в бутлоадере при следующем перезапуске.
|
||||
*/
|
||||
void ResetKey(void)
|
||||
{
|
||||
HAL_FLASH_Unlock();
|
||||
|
||||
HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, BOOTLOADER_KEY_ADR, 0);
|
||||
|
||||
HAL_FLASH_Lock();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Установка ключа BOOT в Flash.
|
||||
* Указывает, что прошивка записана корректно.
|
||||
*/
|
||||
void SetKey(void)
|
||||
{
|
||||
HAL_FLASH_Unlock();
|
||||
|
||||
HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, BOOTLOADER_KEY_ADR, BL_KEY_APP_WRITTEN);
|
||||
|
||||
HAL_FLASH_Lock();
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Чтение ключа BOOT из Flash.
|
||||
* @retval Значение ключа
|
||||
*/
|
||||
uint32_t ReadKey(void)
|
||||
{
|
||||
return (*(__IO uint32_t*)BOOTLOADER_KEY_ADR);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Стирание ключа BOOT в Flash (одна страница).
|
||||
*/
|
||||
void EraseKey(void)
|
||||
{
|
||||
FLASH_EraseInitTypeDef EraseInitStruct;
|
||||
HAL_FLASH_Unlock();
|
||||
uint32_t PageError = 0x00;
|
||||
EraseInitStruct.TypeErase = FLASH_TYPEERASE_PAGES;// erase pages
|
||||
EraseInitStruct.PageAddress = BOOTLOADER_KEY_ADR; //address
|
||||
EraseInitStruct.NbPages = 0x01;// num of erased pages
|
||||
|
||||
HAL_FLASHEx_Erase(&EraseInitStruct, &PageError);
|
||||
HAL_FLASH_Lock();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Проверка валидности прошивки перед переходом к приложению.
|
||||
* Проверяет MSP и ResetHandler.
|
||||
* @retval HAL_OK - прошивка валидна
|
||||
* HAL_ERROR - прошивка повреждена или некорректна
|
||||
*/
|
||||
HAL_StatusTypeDef Verify_Firmware(void)
|
||||
{
|
||||
uint32_t msp = *((volatile uint32_t*)(MAIN_APP_START_ADR));
|
||||
uint32_t reset = *((volatile uint32_t*)(MAIN_APP_START_ADR + 4));
|
||||
|
||||
/* 1) Проверка MSP: должен быть указателем в SRAM */
|
||||
if ((msp < SRAM_START_ADR) || (msp > SRAM_END_ADR))
|
||||
{
|
||||
/* Некорректный стек — прошивка невалидна */
|
||||
return HAL_ERROR;
|
||||
}
|
||||
|
||||
/* 2) Проверка reset handler:
|
||||
- бит0 должен быть 1 (Thumb)
|
||||
- адрес без бита0 должен лежать в пределах flash (MAIN_APP_START_ADR .. FLASH_END_ADR)
|
||||
*/
|
||||
if ((reset & 0x1) == 0)
|
||||
{
|
||||
/* Не Thumb-при-старте — подозрительно */
|
||||
return HAL_ERROR;
|
||||
}
|
||||
|
||||
uint32_t reset_addr = (reset & (~1U)); /* выравненный адрес */
|
||||
if ((reset_addr < FLASH_START_ADR) || (reset_addr > FLASH_END_ADR))
|
||||
{
|
||||
/* Reset handler вне flash */
|
||||
return HAL_ERROR;
|
||||
}
|
||||
return HAL_OK;
|
||||
}
|
||||
189
Core/Bootloader/Src/boot_main.c
Normal file
189
Core/Bootloader/Src/boot_main.c
Normal file
@@ -0,0 +1,189 @@
|
||||
#include "bootloader.h"
|
||||
Bootloader_t boot = {0};
|
||||
|
||||
int main()
|
||||
{
|
||||
__disable_irq();
|
||||
SCB->VTOR = FLASH_BASE;
|
||||
__enable_irq();
|
||||
|
||||
|
||||
boot.state = BL_STATE_INIT;
|
||||
while (1)
|
||||
{
|
||||
Bootloader_Task(&boot);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles System tick timer.
|
||||
*/
|
||||
void SysTick_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN SysTick_IRQn 0 */
|
||||
|
||||
/* USER CODE END SysTick_IRQn 0 */
|
||||
HAL_IncTick();
|
||||
/* USER CODE BEGIN SysTick_IRQn 1 */
|
||||
|
||||
/* USER CODE END SysTick_IRQn 1 */
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Boot_SystemClock_Config(void)
|
||||
{
|
||||
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
|
||||
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
|
||||
|
||||
/* Включаем внутренний генератор HSI */
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
|
||||
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
|
||||
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; // без PLL
|
||||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/* Настройка шин AHB/APB */
|
||||
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|
||||
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
|
||||
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; // HSI = 8 MHz
|
||||
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; // HCLK = 8 MHz
|
||||
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; // PCLK1 = 8 MHz
|
||||
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; // PCLK2 = 8 MHz
|
||||
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/******************************************************************************/
|
||||
/* Cortex-M3 Processor Interruption and Exception Handlers */
|
||||
/******************************************************************************/
|
||||
/**
|
||||
* @brief This function handles Non maskable interrupt.
|
||||
*/
|
||||
void NMI_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN NonMaskableInt_IRQn 0 */
|
||||
|
||||
/* USER CODE END NonMaskableInt_IRQn 0 */
|
||||
/* USER CODE BEGIN NonMaskableInt_IRQn 1 */
|
||||
while (1)
|
||||
{
|
||||
}
|
||||
/* USER CODE END NonMaskableInt_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles Hard fault interrupt.
|
||||
*/
|
||||
void HardFault_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN HardFault_IRQn 0 */
|
||||
|
||||
/* Включаем тактирование PWR и BKP (APB1) и разрешаем доступ к BKP domain */
|
||||
/* Записываем напрямую в регистры RCC/APB1ENR и PWR->CR */
|
||||
SaveErrorCode(0xDEAD);
|
||||
NVIC_SystemReset();
|
||||
/* USER CODE END HardFault_IRQn 0 */
|
||||
while (1)
|
||||
{
|
||||
/* USER CODE BEGIN W1_HardFault_IRQn 0 */
|
||||
/* USER CODE END W1_HardFault_IRQn 0 */
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles Memory management fault.
|
||||
*/
|
||||
void MemManage_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN MemoryManagement_IRQn 0 */
|
||||
SaveErrorCode(0xBEEF);
|
||||
NVIC_SystemReset();
|
||||
/* USER CODE END MemoryManagement_IRQn 0 */
|
||||
while (1)
|
||||
{
|
||||
/* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
|
||||
/* USER CODE END W1_MemoryManagement_IRQn 0 */
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles Prefetch fault, memory access fault.
|
||||
*/
|
||||
void BusFault_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN BusFault_IRQn 0 */
|
||||
|
||||
/* USER CODE END BusFault_IRQn 0 */
|
||||
while (1)
|
||||
{
|
||||
/* USER CODE BEGIN W1_BusFault_IRQn 0 */
|
||||
/* USER CODE END W1_BusFault_IRQn 0 */
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles Undefined instruction or illegal state.
|
||||
*/
|
||||
void UsageFault_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN UsageFault_IRQn 0 */
|
||||
|
||||
/* USER CODE END UsageFault_IRQn 0 */
|
||||
while (1)
|
||||
{
|
||||
/* USER CODE BEGIN W1_UsageFault_IRQn 0 */
|
||||
/* USER CODE END W1_UsageFault_IRQn 0 */
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles System service call via SWI instruction.
|
||||
*/
|
||||
void SVC_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN SVCall_IRQn 0 */
|
||||
|
||||
/* USER CODE END SVCall_IRQn 0 */
|
||||
/* USER CODE BEGIN SVCall_IRQn 1 */
|
||||
|
||||
/* USER CODE END SVCall_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles Debug monitor.
|
||||
*/
|
||||
void DebugMon_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN DebugMonitor_IRQn 0 */
|
||||
|
||||
/* USER CODE END DebugMonitor_IRQn 0 */
|
||||
/* USER CODE BEGIN DebugMonitor_IRQn 1 */
|
||||
|
||||
/* USER CODE END DebugMonitor_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles Pendable request for system service.
|
||||
*/
|
||||
void PendSV_Handler(void)
|
||||
{
|
||||
/* USER CODE BEGIN PendSV_IRQn 0 */
|
||||
|
||||
/* USER CODE END PendSV_IRQn 0 */
|
||||
/* USER CODE BEGIN PendSV_IRQn 1 */
|
||||
|
||||
/* USER CODE END PendSV_IRQn 1 */
|
||||
}
|
||||
|
||||
|
||||
void Error_Handler(void)
|
||||
{
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
182
Core/Bootloader/Src/boot_uart.c
Normal file
182
Core/Bootloader/Src/boot_uart.c
Normal file
@@ -0,0 +1,182 @@
|
||||
#include "boot_uart.h"
|
||||
#include "boot_gpio.h"
|
||||
|
||||
UART_HandleTypeDef huart_boot;
|
||||
|
||||
/**
|
||||
* @brief Инициализация UART для бутлоадера
|
||||
*/
|
||||
void MX_BOOT_UART_Init(void)
|
||||
{
|
||||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
|
||||
/* Включаем тактирование */
|
||||
__RCC_UART_BOOT_CLK_ENABLE();
|
||||
__RCC_UART_PORT_CLK_ENABLE();
|
||||
|
||||
/* Настройка GPIO TX/RX */
|
||||
GPIO_InitStruct.Pin = UART_PIN_TX;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
||||
HAL_GPIO_Init(UART_PORT, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = UART_PIN_RX;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(UART_PORT, &GPIO_InitStruct);
|
||||
|
||||
/* Настройка UART */
|
||||
huart_boot.Instance = UART_BOOT;
|
||||
huart_boot.Init.BaudRate = UART_SPEED;
|
||||
huart_boot.Init.WordLength = UART_WORDLENGTH_8B;
|
||||
huart_boot.Init.StopBits = UART_STOPBITS_1;
|
||||
huart_boot.Init.Parity = UART_PARITY_NONE;
|
||||
huart_boot.Init.Mode = UART_MODE_TX_RX;
|
||||
huart_boot.Init.HwFlowCtl = UART_HWCONTROL_NONE;
|
||||
huart_boot.Init.OverSampling = UART_OVERSAMPLING_16;
|
||||
|
||||
if (HAL_UART_Init(&huart_boot) != HAL_OK)
|
||||
{
|
||||
Error_Handler(); // твоя функция обработки ошибок
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Приём команды по UART по протоколу:
|
||||
* [SOH][CMD][LEN_H][LEN_L][DATA ...][CRC32_H..CRC32_L]
|
||||
* Idle — не блокируется до SOH
|
||||
* После SOH — блокирующий приём всего пакета
|
||||
* @param bl: указатель на структуру бутлоадера
|
||||
* @retval BootloaderCommand_t — принятая команда или NO_CMD
|
||||
*/
|
||||
BootloaderCommand_t Bootloader_UART_Receive(Bootloader_t *bl)
|
||||
{
|
||||
BootloaderCommand_t cmd;
|
||||
uint8_t byte = 0;
|
||||
HAL_StatusTypeDef res;
|
||||
|
||||
// -----------------------------
|
||||
// 1. Ждём SOH в неблокирующем режиме
|
||||
res = HAL_UART_Receive(bl->huart, &byte, 1, 1); // 1 ms таймаут
|
||||
if(res != HAL_OK)
|
||||
return NO_CMD; // пакета нет
|
||||
|
||||
if(byte != 0xAA)
|
||||
return NO_CMD; // игнорируем мусор
|
||||
|
||||
// -----------------------------
|
||||
// 2. Блокирующий приём CMD + LEN_H + LEN_L
|
||||
uint8_t header[3];
|
||||
res = HAL_UART_Receive(bl->huart, header, 3, FW_RECEIVE_TIMEOUT_MS);
|
||||
if(res != HAL_OK)
|
||||
{
|
||||
bl->error.bit.timeout_receive = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
return NO_CMD;
|
||||
}
|
||||
|
||||
cmd = (BootloaderCommand_t)header[0];
|
||||
bl->fw_len = ((uint16_t)header[1] << 8) | header[2];
|
||||
|
||||
if(bl->fw_len > PAGE_SIZE)
|
||||
{
|
||||
bl->error.bit.overflow = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
return NO_CMD;
|
||||
}
|
||||
|
||||
// -----------------------------
|
||||
// 3. Блокирующий приём DATA
|
||||
for(uint16_t i = 0; i < bl->fw_len; i++)
|
||||
{
|
||||
res = HAL_UART_Receive(bl->huart, &bl->fw_buffer[i], 1, FW_RECEIVE_TIMEOUT_MS);
|
||||
if(res != HAL_OK)
|
||||
{
|
||||
bl->error.bit.timeout_receive = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
return NO_CMD;
|
||||
}
|
||||
}
|
||||
|
||||
// -----------------------------
|
||||
// 4. Приём CRC32
|
||||
uint8_t crc_buf[4];
|
||||
res = HAL_UART_Receive(bl->huart, crc_buf, 4, FW_RECEIVE_TIMEOUT_MS);
|
||||
if(res != HAL_OK)
|
||||
{
|
||||
bl->error.bit.timeout_receive = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
return NO_CMD;
|
||||
}
|
||||
bl->fw_crc = (crc_buf[0]<<24) | (crc_buf[1]<<16) | (crc_buf[2]<<8) | crc_buf[3];
|
||||
|
||||
// -----------------------------
|
||||
// 5. Проверка CRC по всему пакету (CMD + LEN + DATA)
|
||||
uint32_t crc_calc = CRC32_Compute(header, 3); // CMD + LEN
|
||||
crc_calc = CRC32_Compute(bl->fw_buffer, bl->fw_len) ^ crc_calc; // DATA
|
||||
|
||||
if(crc_calc != bl->fw_crc)
|
||||
{
|
||||
bl->error.bit.crc_err = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
return NO_CMD;
|
||||
}
|
||||
|
||||
// -----------------------------
|
||||
// 6. Всё верно — возвращаем команду
|
||||
return cmd;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Приём UART: страница + CRC
|
||||
* @param bl: указатель на структуру бутлоадера
|
||||
*/
|
||||
void Bootloader_UART_Receive_Page(Bootloader_t *bl)
|
||||
{
|
||||
uint16_t bytes_received = 0;
|
||||
uint8_t crc_buf[4];
|
||||
HAL_StatusTypeDef res;
|
||||
uint32_t start_tick = HAL_GetTick(); // старт таймера
|
||||
|
||||
// Приём данных страницы
|
||||
while(bytes_received < PAGE_SIZE)
|
||||
{
|
||||
uint8_t byte = 0;
|
||||
res = HAL_UART_Receive(bl->huart, &byte, 1, FW_RECEIVE_TIMEOUT_MS); // блокирующий приём 100ms
|
||||
|
||||
if(res == HAL_OK)
|
||||
{
|
||||
bl->fw_buffer[bytes_received++] = byte;
|
||||
start_tick = HAL_GetTick(); // сброс таймера при успешном приёме
|
||||
LED_BOOT_TOOGLE();
|
||||
}
|
||||
else
|
||||
{
|
||||
bl->error.bit.timeout_receive = 1;
|
||||
bl->state = BL_STATE_ERROR; // превышен таймаут
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Приём CRC (4 байта)
|
||||
for(uint8_t i = 0; i < 4; i++)
|
||||
{
|
||||
res = HAL_UART_Receive(bl->huart, &crc_buf[i], 1, FW_RECEIVE_TIMEOUT_MS);
|
||||
if(res == HAL_OK)
|
||||
{
|
||||
start_tick = HAL_GetTick(); // сброс таймера
|
||||
}
|
||||
else
|
||||
{
|
||||
bl->error.bit.timeout_receive = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Сохраняем CRC в структуру
|
||||
bl->fw_crc = (crc_buf[0] << 24) | (crc_buf[1] << 16) | (crc_buf[2] << 8) | crc_buf[3];
|
||||
bl->fw_len = bytes_received;
|
||||
bl->state = BL_STATE_IDLE;
|
||||
}
|
||||
487
Core/Bootloader/Src/bootloader.c
Normal file
487
Core/Bootloader/Src/bootloader.c
Normal file
@@ -0,0 +1,487 @@
|
||||
/******************************************************************************
|
||||
* @file bootloader.c
|
||||
* @brief Бутлоадер STM32 — реализован как конечный автомат (state machine).
|
||||
*
|
||||
* @details
|
||||
* Логика работы:
|
||||
* - Структура Bootloader_t содержит текущее состояние и ошибки.
|
||||
* - После сброса проверяются предыдущие ошибки.
|
||||
* - Проверяется BOOT KEY, чтобы определить: запускать основное приложение или оставаться в бутлоадере.
|
||||
* - Основной цикл — state machine:
|
||||
* INIT — проверка ключа, инициализация периферии
|
||||
* IDLE — ожидание команд по UART/CAN
|
||||
* RECEIVE_UART/RECEIVE_CAN — приём страницы прошивки
|
||||
* WRITE — запись страницы во Flash
|
||||
* ERASE — стирание приложения
|
||||
* JUMP_TO_APP — проверка прошивки и переход к приложению
|
||||
* JUMP_TO_BOOT— возврат в бутлоадер
|
||||
* RESET — программный сброс
|
||||
* ERROR — обработка ошибок и уведомление внешнего интерфейса
|
||||
* - Команды прошивки (BootloaderCommand_t) обрабатываются через Receive_FW_Command().
|
||||
* - Проверка целостности данных осуществляется через CRC32.
|
||||
*
|
||||
* Подключение бутлоадера в основном приложении:
|
||||
* 0) Подключить boot_jump.h и boot_jump.c для взаимодействия с бутлоадером:
|
||||
* @code #include "boot_jump.h" @endcode
|
||||
* 1) В начале main() вызвать App_Init(), чтобы установить VTOR на
|
||||
* начало приложения:
|
||||
* @code App_Init(); @endcode
|
||||
* 2) Для перехода в бутлоадер (например, при ошибке или обновлении):
|
||||
* @code JumpToBootloader(); @endcode
|
||||
******************************************************************************/
|
||||
#include "bootloader.h"
|
||||
#include "boot_gpio.h"
|
||||
#include "boot_flash.h"
|
||||
#include "boot_uart.h"
|
||||
#include "boot_can.h"
|
||||
#include "boot_jump.h"
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Глобальные переменные для HAL-периферии
|
||||
// -----------------------------------------------------------------------------
|
||||
HAL_StatusTypeDef res_hal;
|
||||
uint32_t led_err_lasttick = 0;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// Локальные (static) функции
|
||||
// -----------------------------------------------------------------------------
|
||||
static uint8_t Receive_FW_Command(Bootloader_t *bl);
|
||||
|
||||
/**
|
||||
* @brief Проверка после сброса MCU.
|
||||
* Определяет причину предыдущего сброса, проверяет ошибки и при необходимости
|
||||
* выставляет соответствующие биты в структуре ошибок бутлоадера.
|
||||
*/
|
||||
void Bootloader_StartCheck(Bootloader_t *bl)
|
||||
{
|
||||
uint32_t ErrCodeBoot = 0;
|
||||
uint32_t ErrCntBoot = 0;
|
||||
|
||||
// Проверка watchdog reset (IWDGRSTF или WWDGRSTF в RCC->CSR)
|
||||
if (__HAL_RCC_GET_FLAG(RCC_FLAG_IWDGRST) || __HAL_RCC_GET_FLAG(RCC_FLAG_WWDGRST))
|
||||
{
|
||||
//SaveErrorCode(0x0D0D);
|
||||
__HAL_RCC_CLEAR_RESET_FLAGS(); // Очистить флаги сброса, чтобы не повторялось
|
||||
}
|
||||
|
||||
// Чтение сохранённого кода ошибки и количества сбоев
|
||||
ErrCodeBoot = GetErrorCode();
|
||||
ErrCntBoot = GetErrorCnt();
|
||||
// Если ошибок было больше 5, фиксируем тип ошибки и уходим в бутлоадер
|
||||
// Данные ошибки фиксируются только в прерываниях бутлоадера. Hardfault в прерывании приложения не считается
|
||||
if(ErrCntBoot > 5)
|
||||
{
|
||||
ClearErrorCode();
|
||||
if(ErrCodeBoot == 0xDEAD) // HardFault
|
||||
{
|
||||
ResetKey();
|
||||
bl->error.bit.hardfault_cycle = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
}
|
||||
else if(ErrCodeBoot == 0xBEEF) // MemManage
|
||||
{
|
||||
ResetKey();
|
||||
bl->error.bit.memmanage_cycle = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
}
|
||||
/*else if(ErrCodeBoot == 0x0D0D) пока хз надо ли
|
||||
{
|
||||
ResetKey();
|
||||
bl->error.bit.watchdog_reset = 1; // Добавь бит в структуру BootloaderError_
|
||||
bl->state = BL_STATE_ERROR;
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Инициализация периферии бутлоадера (UART, CAN, системный такт).
|
||||
* Привязывает дескрипторы HAL к структуре бутлоадера и задаёт
|
||||
* начальный адрес приложения.
|
||||
*/
|
||||
void Bootloader_Init(Bootloader_t *bl)
|
||||
{
|
||||
HAL_Init();
|
||||
|
||||
Boot_SystemClock_Config();
|
||||
MX_BOOT_UART_Init();
|
||||
MX_BOOT_CAN_Init();
|
||||
|
||||
// Привязка дескрипторов к структуре бутлоадера
|
||||
bl->huart = &huart_boot;
|
||||
bl->hcan = &hcan_boot;
|
||||
bl->TxHeader.DLC = 8;
|
||||
bl->TxHeader.StdId = 123;
|
||||
bl->addr = MAIN_APP_START_ADR; // адрес начала приложения
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Основной цикл работы бутлоадера (машина состояний).
|
||||
* Обрабатывает состояния INIT, IDLE, RECEIVE, WRITE, ERASE, JUMP и ERROR.
|
||||
*/
|
||||
void Bootloader_Task(Bootloader_t *bl)
|
||||
{
|
||||
int receive_uart_flag;
|
||||
|
||||
switch (bl->state)
|
||||
{
|
||||
case BL_STATE_INIT:
|
||||
/*
|
||||
* Состояние инициализации.
|
||||
* - включаем индикацию (LED),
|
||||
* - проверяем ошибки,
|
||||
* - читаем "ключ" (метку, что приложение уже записано).
|
||||
* Если ключ установлен -> сразу переход в приложение.
|
||||
* Иначе -> переходим в режим ожидания команд от хоста (IDLE),
|
||||
* инициализируем интерфейсы (CAN/UART, CRC и т.д.).
|
||||
*/
|
||||
bl->prev_state = bl->state;
|
||||
MX_BOOT_GPIO_Init();
|
||||
Bootloader_StartCheck(bl);
|
||||
|
||||
if ((ReadKey() == BL_KEY_APP_WRITTEN))
|
||||
{
|
||||
bl->state = BL_STATE_JUMP_TO_APP;
|
||||
}
|
||||
else
|
||||
{
|
||||
bl->state = BL_STATE_IDLE;
|
||||
Bootloader_Init(bl);
|
||||
}
|
||||
break;
|
||||
|
||||
case BL_STATE_IDLE:
|
||||
/*
|
||||
* Состояние ожидания команд.
|
||||
* - если ошибка уже зафиксирована -> переход в ERROR,
|
||||
* - если это первый вход в IDLE -> отправляем "готов" (0x00) по CAN/UART,
|
||||
* - далее слушаем команды от хоста (erase, write, jump и т.п.).
|
||||
* Неизвестная команда -> ошибка.
|
||||
*/
|
||||
if(bl->error.all)
|
||||
{
|
||||
bl->prev_state = bl->state;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
break;
|
||||
}
|
||||
|
||||
if((bl->state != bl->prev_state) && (bl->prev_state != BL_STATE_ERROR))
|
||||
{
|
||||
TXDataBoot[0] = 0x00;
|
||||
res_hal = HAL_CAN_AddTxMessage(bl->hcan, &bl->TxHeader, TXDataBoot, &TxMailBoxBoot);
|
||||
res_hal = HAL_UART_Transmit(bl->huart, TXDataBoot, 1, 100);
|
||||
}
|
||||
|
||||
bl->prev_state = bl->state;
|
||||
|
||||
if (Receive_FW_Command(bl) == 0xFF)
|
||||
{
|
||||
bl->error.bit.unknown_cmd = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
}
|
||||
break;
|
||||
|
||||
case BL_STATE_RESET:
|
||||
/*
|
||||
* Состояние сброса.
|
||||
* Вызывает системный reset через NVIC -> контроллер запускается заново.
|
||||
*/
|
||||
NVIC_SystemReset();
|
||||
break;
|
||||
|
||||
case BL_STATE_ERASE:
|
||||
/*
|
||||
* Состояние стирания Flash.
|
||||
* - сбрасываем "ключ" приложения,
|
||||
* - стираем область памяти под приложение,
|
||||
* - при успехе возвращаемся в IDLE,
|
||||
* - при ошибке отмечаем ошибку стирания и уходим в ERROR.
|
||||
* По завершению гасим LED.
|
||||
*/
|
||||
bl->prev_state = bl->state;
|
||||
EraseKey();
|
||||
if (FLASH_Erase_App() == HAL_OK)
|
||||
{
|
||||
HAL_Delay(50);
|
||||
bl->state = BL_STATE_IDLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
bl->error.bit.erase_err = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
}
|
||||
LED_BOOT_OFF();
|
||||
break;
|
||||
|
||||
case BL_STATE_RECEIVE_UART:
|
||||
case BL_STATE_RECEIVE_CAN:
|
||||
/*
|
||||
* Состояние приёма страницы прошивки от хоста.
|
||||
* - различаем, пришло ли по UART или CAN,
|
||||
* - отправляем ACK (0x00),
|
||||
* - читаем блок данных (страницу) в буфер,
|
||||
* - после приёма проверяем CRC полученного блока,
|
||||
* - если CRC не совпадает -> очищаем буфер, фиксируем ошибку и уходим в ERROR.
|
||||
* По завершению приёма гасим LED.
|
||||
*/
|
||||
receive_uart_flag = (bl->state == BL_STATE_RECEIVE_UART) ? 1 : 0;
|
||||
|
||||
TXDataBoot[0] = 0x00;
|
||||
bl->prev_state = bl->state;
|
||||
|
||||
if(receive_uart_flag)
|
||||
{
|
||||
res_hal = HAL_UART_Transmit(bl->huart, TXDataBoot, 1, 100);
|
||||
Bootloader_UART_Receive_Page(bl);
|
||||
}
|
||||
else
|
||||
{
|
||||
res_hal = HAL_CAN_AddTxMessage(bl->hcan, &bl->TxHeader, TXDataBoot, &TxMailBoxBoot);
|
||||
Bootloader_CAN_Receive_Page(bl);
|
||||
}
|
||||
|
||||
uint32_t crc_calculated = CRC32_Compute((uint8_t *)bl->fw_buffer, bl->fw_len);
|
||||
if(crc_calculated != bl->fw_crc)
|
||||
{
|
||||
for(int i = 0; i < bl->fw_len; i++)
|
||||
{
|
||||
bl->fw_buffer[i] = 0;
|
||||
}
|
||||
bl->error.bit.crc_err = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
}
|
||||
LED_BOOT_OFF();
|
||||
break;
|
||||
|
||||
case BL_STATE_WRITE:
|
||||
/*
|
||||
* Состояние записи страницы прошивки во Flash.
|
||||
* - пытаемся записать буфер в указанную область памяти,
|
||||
* - если успешно -> возвращаемся в IDLE (ждём следующего блока),
|
||||
* - если ошибка -> фиксируем ошибку записи и уходим в ERROR.
|
||||
* После завершения гасим LED.
|
||||
*/
|
||||
bl->prev_state = bl->state;
|
||||
if (FLASH_Write_Page(&bl->addr, bl->fw_buffer, bl->fw_len) == HAL_OK)
|
||||
{
|
||||
bl->state = BL_STATE_IDLE;
|
||||
}
|
||||
else
|
||||
{
|
||||
bl->error.bit.write_err = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
}
|
||||
LED_BOOT_OFF();
|
||||
break;
|
||||
|
||||
case BL_STATE_JUMP_TO_APP:
|
||||
/*
|
||||
* Состояние перехода в приложение.
|
||||
* - выполняем проверку корректности прошивки (Verify_Firmware),
|
||||
* - если проверка пройдена -> устанавливаем "ключ" приложения,
|
||||
* чтобы пометить прошивку как валидную,
|
||||
* - если проверка не пройдена -> ошибка verify и переход в ERROR.
|
||||
* В случае успеха вызываем JumpToApplication(), передавая управление основному коду.
|
||||
*/
|
||||
bl->prev_state = bl->state;
|
||||
if (Verify_Firmware() == HAL_OK)
|
||||
{
|
||||
EraseKey();
|
||||
SetKey();
|
||||
}
|
||||
else
|
||||
{
|
||||
bl->error.bit.verify_err = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
break;
|
||||
}
|
||||
JumpToApplocation();
|
||||
break;
|
||||
|
||||
case BL_STATE_JUMP_TO_BOOT:
|
||||
/*
|
||||
* Состояние возврата в bootloader.
|
||||
*/
|
||||
bl->prev_state = bl->state;
|
||||
JumpToBootloader();
|
||||
break;
|
||||
|
||||
case BL_STATE_ERROR:
|
||||
/*
|
||||
* Состояние ошибки.
|
||||
* - при первом входе в ERROR отправляем код ошибки (0xFF + код ошибки),
|
||||
* - продолжаем слушать команды, чтобы можно было сбросить или стереть Flash,
|
||||
* - мигаем LED раз в 500 мс для визуальной индикации ошибки.
|
||||
*/
|
||||
if(bl->state != bl->prev_state)
|
||||
{
|
||||
TXDataBoot[0] = 0xFF;
|
||||
TXDataBoot[1] = (bl->error.all >> 8) & (0xFF);
|
||||
TXDataBoot[2] = bl->error.all & (0xFF);
|
||||
res_hal = HAL_CAN_AddTxMessage(bl->hcan, &bl->TxHeader, TXDataBoot, &TxMailBoxBoot);
|
||||
res_hal = HAL_UART_Transmit(bl->huart, TXDataBoot, 1, 100);
|
||||
}
|
||||
bl->prev_state = bl->state;
|
||||
|
||||
if (Receive_FW_Command(bl) == 0xFF)
|
||||
{
|
||||
bl->error.bit.unknown_cmd = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
}
|
||||
|
||||
if(HAL_GetTick() - led_err_lasttick > 500)
|
||||
{
|
||||
led_err_lasttick = HAL_GetTick();
|
||||
LED_BOOT_TOOGLE();
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
/*
|
||||
* Попадание в неизвестное состояние.
|
||||
* Считается ошибкой: ставим unknown_cmd и переходим в ERROR.
|
||||
*/
|
||||
bl->error.bit.unknown_cmd = 1;
|
||||
bl->state = BL_STATE_ERROR;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Устанавливает новое состояние бутлоадера в зависимости от команды.
|
||||
* @param bl: указатель на структуру бутлоадера
|
||||
* @param cmd: команда бутлоадера (BootloaderCommand_t)
|
||||
* @param uart_flag: 1 — команда пришла по UART, 0 — по CAN
|
||||
* @retval 0x00 — команда успешно обработана, 0xFF — неизвестная команда
|
||||
*/
|
||||
static uint8_t SetBootState(Bootloader_t *bl, BootloaderCommand_t cmd, uint8_t uart_flag)
|
||||
{
|
||||
switch(cmd)
|
||||
{
|
||||
case CMD_ERASE: // команда: стереть Flash
|
||||
bl->state = BL_STATE_ERASE;
|
||||
return 0x00;
|
||||
case CMD_START_RECEIVE: // команда: принять блок
|
||||
if(uart_flag)
|
||||
bl->state = BL_STATE_RECEIVE_UART;
|
||||
else
|
||||
bl->state = BL_STATE_RECEIVE_CAN;
|
||||
return 0x00;
|
||||
case CMD_WRITE: // команда: записать блок
|
||||
bl->state = BL_STATE_WRITE;
|
||||
return 0x00;
|
||||
case CMD_GOTOAPP: // команда: прыжок в приложение
|
||||
bl->state = BL_STATE_JUMP_TO_APP;
|
||||
return 0x00;
|
||||
case CMD_RESET: // команда: прыжок в приложение
|
||||
bl->state = BL_STATE_RESET;
|
||||
return 0x00;
|
||||
case CMD_GOTOBOOT: // команда: прыжок в бутлоадер
|
||||
bl->state = BL_STATE_JUMP_TO_BOOT;
|
||||
case CMD_PING: // команда: пинг, отправка текущего состояния бутлоадера
|
||||
bl->prev_state = 0; // обнуляем предыдущее состоояние, чтобы снова отправить комманду с текущим состоянием
|
||||
return 0x00;
|
||||
|
||||
default:
|
||||
return 0xFF; // неизвестная команда
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Обработка команд прошивки по UART или CAN
|
||||
* @param bl: указатель на структуру бутлоадера
|
||||
* @retval 0x00 - команда принята и обработана, 0xFF - ошибка
|
||||
*/
|
||||
static uint8_t Receive_FW_Command(Bootloader_t *bl)
|
||||
{
|
||||
BootloaderCommand_t cmd = 0;
|
||||
HAL_StatusTypeDef res = HAL_ERROR;
|
||||
uint8_t ret_val = 0x00;
|
||||
|
||||
// ---------------------------
|
||||
// Чтение команды по UART
|
||||
// ---------------------------
|
||||
cmd = Bootloader_UART_Receive(bl); // таймаут 10 ms
|
||||
if (cmd != NO_CMD)
|
||||
{
|
||||
ret_val = SetBootState(bl, cmd, 1);
|
||||
}
|
||||
|
||||
// ---------------------------
|
||||
// Чтение команды по CAN
|
||||
// ---------------------------
|
||||
cmd = Bootloader_CAN_Receive(bl);
|
||||
if (cmd != NO_CMD)
|
||||
{
|
||||
ret_val = SetBootState(bl, cmd, 0);
|
||||
}
|
||||
|
||||
#ifdef TEST_CAN
|
||||
TxHeaderBoot.StdId = 0x200; // ID OF MESSAGE
|
||||
TxHeaderBoot.ExtId = 0; // STANDART FRAME (NOT EXTENTED)
|
||||
TxHeaderBoot.RTR = CAN_RTR_DATA; // TRANSMIT DATA OR
|
||||
TxHeaderBoot.IDE = CAN_ID_STD; // STANDART FRAME
|
||||
TxHeaderBoot.DLC = 8; // DATA SIZE
|
||||
TxHeaderBoot.TransmitGlobalTime = DISABLE; //THIS MODE IS NOT USED, SO DISABLE
|
||||
uint8_t asd[8] = "ABCDEFGL";
|
||||
res_hal = HAL_CAN_AddTxMessage(&hcan_boot, &TxHeaderBoot, asd, &TxMailBoxBoot); // add to mail for transmit
|
||||
HAL_Delay(1000);
|
||||
#endif
|
||||
if((bl->state != BL_STATE_IDLE) && (bl->state != BL_STATE_ERROR))
|
||||
{
|
||||
LED_BOOT_ON();
|
||||
}
|
||||
return ret_val;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Вычисление CRC32 блока данных.
|
||||
* @param data: указатель на массив данных
|
||||
* @param length: длина массива в байтах
|
||||
* @retval CRC32 вычисленное значение
|
||||
*/
|
||||
uint32_t CRC32_Compute(const uint8_t* data, uint32_t length)
|
||||
{
|
||||
const uint32_t polynomial = 0x04C11DB7;
|
||||
uint32_t crc = 0xFFFFFFFF;
|
||||
|
||||
for(uint32_t i = 0; i < length; i++)
|
||||
{
|
||||
crc ^= ((uint32_t)data[i] << 24);
|
||||
for(uint8_t j = 0; j < 8; j++)
|
||||
{
|
||||
if(crc & 0x80000000)
|
||||
crc = (crc << 1) ^ polynomial;
|
||||
else
|
||||
crc <<= 1;
|
||||
}
|
||||
}
|
||||
|
||||
return crc ^ 0xFFFFFFFF;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Конфигурация системного тактирования (должна быть переопределена пользователем).
|
||||
*/
|
||||
__WEAK void Boot_SystemClock_Config(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Обработчик ошибок (может быть переопределён пользователем).
|
||||
*/
|
||||
__WEAK void Error_Handler(void)
|
||||
{
|
||||
while(1);
|
||||
}
|
||||
|
||||
@@ -41,7 +41,9 @@ extern CAN_HandleTypeDef hcan;
|
||||
void MX_CAN_Init(void);
|
||||
|
||||
/* USER CODE BEGIN Prototypes */
|
||||
|
||||
int CAN_send(uint16_t data[], int Addr, int Qua);
|
||||
void Setup_CAN_addr(uint8_t mode);
|
||||
void CAN_filterConfig(void);
|
||||
/* USER CODE END Prototypes */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
10
Core/Inc/crc16.h
Normal file
10
Core/Inc/crc16.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#include "stdint.h"
|
||||
|
||||
typedef unsigned short WORD;
|
||||
typedef unsigned char byte;
|
||||
|
||||
|
||||
unsigned int get_crc_ccitt(unsigned int crc, unsigned int *buf, unsigned long size );
|
||||
unsigned int get_crc_16(unsigned int crc,unsigned int *buf,unsigned long size );
|
||||
unsigned int get_crc_16b(unsigned int crc,unsigned int *buf,unsigned long size );
|
||||
int get_crc16(uint16_t *buf, int size );
|
||||
20
Core/Inc/eeprom.h
Normal file
20
Core/Inc/eeprom.h
Normal file
@@ -0,0 +1,20 @@
|
||||
#ifndef __EEPROM_H
|
||||
#define __EEPROM_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "stm32f1xx_hal.h"
|
||||
|
||||
#define FLASH_EEPROM_BASE 0x0801F800
|
||||
#define FLASH_STARTO 0xBABEFACE
|
||||
|
||||
void putIntoEeprom(uint16_t, uint16_t*);
|
||||
uint16_t watInTheFlash(uint32_t);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __EEPROM_H */
|
||||
30
Core/Inc/lampa.h
Normal file
30
Core/Inc/lampa.h
Normal file
@@ -0,0 +1,30 @@
|
||||
#ifndef __LAMPA_H
|
||||
#define __LAMPA_H
|
||||
|
||||
/*
|
||||
* Применяется метод Слой аппаратных абстракции(HAL) так он последний(модный),
|
||||
* тут описано библиотечные вызовы
|
||||
*/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include "main.h"
|
||||
#include "stdbool.h"
|
||||
|
||||
|
||||
#define Delay 1000
|
||||
#define numUno 1
|
||||
#define numNul 0
|
||||
|
||||
void ReadEnteres(void);
|
||||
uint16_t ReadJumpers(void);
|
||||
uint16_t TestJumper(void);
|
||||
void ReadSeanus(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -101,6 +101,7 @@ void Error_Handler(void);
|
||||
#define IN_08_GPIO_Port GPIOB
|
||||
#define IN_07_Pin GPIO_PIN_15
|
||||
#define IN_07_GPIO_Port GPIOB
|
||||
#define IN_07_EXTI_IRQn EXTI15_10_IRQn
|
||||
#define PVT4_Pin GPIO_PIN_6
|
||||
#define PVT4_GPIO_Port GPIOC
|
||||
#define PVT3_Pin GPIO_PIN_7
|
||||
@@ -114,9 +115,83 @@ void Error_Handler(void);
|
||||
#define LED1_Pin GPIO_PIN_6
|
||||
#define LED1_GPIO_Port GPIOB
|
||||
|
||||
|
||||
/* USER CODE BEGIN Private defines */
|
||||
#define Jselect SELEKT_PCH
|
||||
|
||||
/////////// USER define /////////
|
||||
#define Jselect HAL_GPIO_ReadPin(Jselect_GPIO_Port, Jselect_Pin)
|
||||
#define Jselect_Pin GPIO_PIN_14
|
||||
#define Jselect_GPIO_Port GPIOC
|
||||
|
||||
#define LED_0_OFF HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
|
||||
#define LED_0_ON HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
|
||||
#define LED_0_TGL HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin)
|
||||
|
||||
#define LED_1_OFF HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
|
||||
#define LED_1_ON HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
|
||||
#define LED_1_TGL HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin)
|
||||
|
||||
#define LED_2_ON HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
|
||||
#define LED_2_OFF HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
|
||||
#define LED_2_TGL HAL_GPIO_TogglePin(LED2_GPIO_Port, LED2_Pin)
|
||||
|
||||
#define LED_3_ON HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
|
||||
#define LED_3_OFF HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
|
||||
#define LED_3_TGL HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin)
|
||||
|
||||
#define Pvt1_ON HAL_GPIO_WritePin(PVT1_GPIO_Port, PVT1_Pin, GPIO_PIN_SET) //Set or clear the selected data port bit
|
||||
#define Pvt1_OFF HAL_GPIO_WritePin(PVT1_GPIO_Port, PVT1_Pin, GPIO_PIN_RESET) //??? ?????? ?? ??????????
|
||||
#define Pvt1_TGL HAL_GPIO_TogglePin(PVT1_GPIO_Port, PVT1_Pin)
|
||||
|
||||
#define Pvt2_ON HAL_GPIO_WritePin(PVT2_GPIO_Port, PVT2_Pin, GPIO_PIN_SET) //set - ????????????? ???, reset - ??????? ???
|
||||
#define Pvt2_OFF HAL_GPIO_WritePin(PVT2_GPIO_Port, PVT2_Pin, GPIO_PIN_RESET) //????? ??????? ? main.h ??????? ?????? ?????????????
|
||||
#define Pvt2_TGL HAL_GPIO_TogglePin(PVT2_GPIO_Port, PVT2_Pin)
|
||||
|
||||
#define Pvt3_ON HAL_GPIO_WritePin(PVT3_GPIO_Port, PVT3_Pin, GPIO_PIN_SET)
|
||||
#define Pvt3_OFF HAL_GPIO_WritePin(PVT3_GPIO_Port, PVT3_Pin, GPIO_PIN_RESET)
|
||||
#define Pvt3_TGL HAL_GPIO_TogglePin(PVT3_GPIO_Port, PVT3_Pin)
|
||||
|
||||
#define Pvt4_ON HAL_GPIO_WritePin(PVT4_GPIO_Port, PVT4_Pin, GPIO_PIN_SET)
|
||||
#define Pvt4_OFF HAL_GPIO_WritePin(PVT4_GPIO_Port, PVT4_Pin, GPIO_PIN_RESET)
|
||||
#define Pvt4_TGL HAL_GPIO_TogglePin(PVT4_GPIO_Port, PVT4_Pin)
|
||||
|
||||
#define IN_01 HAL_GPIO_ReadPin(IN_01_GPIO_Port, IN_01_Pin) // ???????? ??1 (??????? ???????????? ???????????)
|
||||
#define IN_02 HAL_GPIO_ReadPin(IN_02_GPIO_Port, IN_02_Pin) // ???????? ??2 (??????? ???????????? ?????????)
|
||||
#define IN_03 HAL_GPIO_ReadPin(IN_03_GPIO_Port, IN_03_Pin) // ???????? ??3 (??????? ??. ??????, ???? ?????????, ????)
|
||||
#define IN_04 HAL_GPIO_ReadPin(IN_04_GPIO_Port, IN_04_Pin) // ???????? ??4 (??????? ???????? ???? ? ?????????? +)
|
||||
#define IN_05 HAL_GPIO_ReadPin(IN_05_GPIO_Port, IN_05_Pin) // ???????? ??5 (??????? ???????? ???? ? ?????????? –)
|
||||
#define IN_06 HAL_GPIO_ReadPin(IN_06_GPIO_Port, IN_06_Pin) // ???????? ??6 (??????? ?????????)
|
||||
#define IN_07 HAL_GPIO_ReadPin(IN_07_GPIO_Port, IN_07_Pin) // ???????? 3? ??????? 380 ?
|
||||
|
||||
#define IN_08 HAL_GPIO_ReadPin(IN_08_GPIO_Port, IN_08_Pin) // ????? ??????????
|
||||
#define IN_09 HAL_GPIO_ReadPin(IN_09_GPIO_Port, IN_09_Pin) // ?????? ??????????
|
||||
#define IN_10 HAL_GPIO_ReadPin(IN_10_GPIO_Port, IN_10_Pin) // ?????? ? ???? 24 ?
|
||||
|
||||
#define IN_11 HAL_GPIO_ReadPin(IN_11_GPIO_Port, IN_11_Pin) // ???????? ??????? ???
|
||||
#define IN_12 HAL_GPIO_ReadPin(IN_12_GPIO_Port, IN_12_Pin) // ??????
|
||||
#define IN_13 HAL_GPIO_ReadPin(IN_13_GPIO_Port, IN_13_Pin) // ??????
|
||||
#define IN_14 HAL_GPIO_ReadPin(IN_14_GPIO_Port, IN_14_Pin) // ???????? ??????? ???
|
||||
|
||||
#define J0 HAL_GPIO_ReadPin(J0_GPIO_Port, J0_Pin) //Read the specified input port pin
|
||||
#define J1 HAL_GPIO_ReadPin(J1_GPIO_Port, J1_Pin)
|
||||
#define J2 HAL_GPIO_ReadPin(J2_GPIO_Port, J2_Pin)
|
||||
#define J3 HAL_GPIO_ReadPin(J3_GPIO_Port, J3_Pin)
|
||||
|
||||
|
||||
/////////////////////////////////
|
||||
|
||||
|
||||
int Isit(int num, int i, int z);
|
||||
|
||||
|
||||
typedef struct // ñòðóêòóðà ôëàãîâ
|
||||
{
|
||||
uint8_t force_pause:1;
|
||||
uint32_t pause;
|
||||
|
||||
// uint8_t
|
||||
// uint16_t
|
||||
|
||||
}FLAG;
|
||||
/* USER CODE END Private defines */
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
25
Core/Inc/message.h
Normal file
25
Core/Inc/message.h
Normal file
@@ -0,0 +1,25 @@
|
||||
#ifndef MESSAGE_H
|
||||
#define MESSAGE_H
|
||||
|
||||
#include "stdint.h"
|
||||
#include "struc.h"
|
||||
|
||||
typedef unsigned char CHAR;
|
||||
|
||||
#define Modbus_LEN 0x000080
|
||||
#define Modbus ((WORDE *)modbus)
|
||||
#define Params ((WORDE *)params)
|
||||
|
||||
extern uint16_t Mode;
|
||||
|
||||
extern uint16_t modbus[],params[],archiv[],county[],espero[];
|
||||
|
||||
extern LONGE* outputs;
|
||||
|
||||
extern uint16_t Maska[][8];
|
||||
|
||||
void Save_params(void);
|
||||
void Load_params(void);
|
||||
void Default_params(void);
|
||||
|
||||
#endif //MESSAGE_H
|
||||
77
Core/Inc/package.h
Normal file
77
Core/Inc/package.h
Normal file
@@ -0,0 +1,77 @@
|
||||
#ifndef PACKAGE
|
||||
#define PACKAGE
|
||||
|
||||
#define PROTOKOL 3
|
||||
|
||||
#define m_FAST 0
|
||||
#define m_SLOW 1
|
||||
|
||||
|
||||
|
||||
#define keys 0x0 // адрес повтораемой посылки «keys»
|
||||
|
||||
#define Inputs Modbus[0x0]
|
||||
#define Alarms Modbus[0x1]
|
||||
#define Errors Modbus[0x2]
|
||||
|
||||
#define Alarm_mask Modbus[0x8]
|
||||
#define Error_mask Modbus[0x9]
|
||||
|
||||
#define Jumpers Modbus[0x10]
|
||||
#define Buttons Modbus[0x11]
|
||||
#define jumpers modbus[0x10]
|
||||
#define buttons modbus[0x11]
|
||||
|
||||
#define Squazh_U (modbus+0x18)
|
||||
|
||||
#define Sleep_time modbus[0x48]
|
||||
|
||||
#define Squazh_L (modbus+0x30)
|
||||
|
||||
#define Cancount (modbus+0x60) // пауза между посылками CAN
|
||||
#define CanWait (modbus+0x62) // пауза после прохождениа цикла
|
||||
#define CanRestart (modbus+0x64) // перезапуск посылки
|
||||
#define CanRptVez modbus[0x66] // кол-во повторений посылки «keys»
|
||||
#define CanRptLen modbus[0x67] // длина повтораемой посылки «keys»
|
||||
|
||||
#define Brightness modbus[0x68] // аркость сигнальной лампочки
|
||||
#define Lightness modbus[0x6A] // управление сигнальной лампочки
|
||||
|
||||
#define cancyclo 0x78 // его адрес
|
||||
#define CanCycle (modbus+0x78) // счетчик циклов CAN
|
||||
#define CanRound (modbus+0x7A) // счетчик еще более полных циклов CAN
|
||||
|
||||
#define Protokol modbus[125]
|
||||
#define LastMode modbus[126]
|
||||
#define Commands modbus[127]
|
||||
|
||||
#define command params[128]
|
||||
#define bit_command Params[128]
|
||||
|
||||
#define cTestLamp bit_command.bit.bit0
|
||||
#define cDefParam bit_command.bit.bit1
|
||||
#define cSaveParam bit_command.bit.bit2
|
||||
#define cLoadParam bit_command.bit.bit3
|
||||
#define cTermoCal bit_command.bit.bit4
|
||||
#define cKoefCalc bit_command.bit.bit5
|
||||
#define cSecretBt bit_command.bit.bit6
|
||||
#define cCanReset bit_command.bit.bit7
|
||||
#define cRawMeat bit_command.bit.bit8
|
||||
#define cCanReset bit_command.bit.bit7
|
||||
#define cReset bit_command.bit.bitF
|
||||
|
||||
/*
|
||||
#define cTestLamp Modbus[127].bit.bit0
|
||||
#define cDefParam Modbus[127].bit.bit1
|
||||
#define cSaveParam Modbus[127].bit.bit2
|
||||
#define cLoadParam Modbus[127].bit.bit3
|
||||
#define cTermoCal Modbus[127].bit.bit4
|
||||
#define cKoefCalc Modbus[127].bit.bit5
|
||||
#define cSecretBt Modbus[127].bit.bit6
|
||||
#define cCanReset Modbus[127].bit.bit7
|
||||
#define cRawMeat Modbus[127].bit.bit8
|
||||
#define cCanReset Modbus[127].bit.bit7
|
||||
#define cReset Modbus[127].bit.bitF
|
||||
*/
|
||||
#endif //PACKAGE
|
||||
|
||||
@@ -58,6 +58,7 @@ void SysTick_Handler(void);
|
||||
void USB_HP_CAN1_TX_IRQHandler(void);
|
||||
void USB_LP_CAN1_RX0_IRQHandler(void);
|
||||
void TIM4_IRQHandler(void);
|
||||
void EXTI15_10_IRQHandler(void);
|
||||
void TIM8_UP_IRQHandler(void);
|
||||
void UART4_IRQHandler(void);
|
||||
/* USER CODE BEGIN EFP */
|
||||
|
||||
153
Core/Inc/struc.h
Normal file
153
Core/Inc/struc.h
Normal file
@@ -0,0 +1,153 @@
|
||||
#ifndef __STRUC_H
|
||||
#define __STRUC_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
unsigned char bit0: 1;
|
||||
unsigned char bit1: 1;
|
||||
unsigned char bit2: 1;
|
||||
unsigned char bit3: 1;
|
||||
unsigned char bit4: 1;
|
||||
unsigned char bit5: 1;
|
||||
unsigned char bit6: 1;
|
||||
unsigned char bit7: 1;
|
||||
|
||||
} bit;
|
||||
|
||||
struct
|
||||
{
|
||||
unsigned char quad_0 :4;
|
||||
unsigned char quad_1 :4;
|
||||
|
||||
} qua;
|
||||
|
||||
unsigned char all;
|
||||
|
||||
} BAITE;
|
||||
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
unsigned short int bit0: 1;
|
||||
unsigned short int bit1: 1;
|
||||
unsigned short int bit2: 1;
|
||||
unsigned short int bit3: 1;
|
||||
unsigned short int bit4: 1;
|
||||
unsigned short int bit5: 1;
|
||||
unsigned short int bit6: 1;
|
||||
unsigned short int bit7: 1;
|
||||
unsigned short int bit8: 1;
|
||||
unsigned short int bit9: 1;
|
||||
unsigned short int bitA: 1;
|
||||
unsigned short int bitB: 1;
|
||||
unsigned short int bitC: 1;
|
||||
unsigned short int bitD: 1;
|
||||
unsigned short int bitE: 1;
|
||||
unsigned short int bitF: 1;
|
||||
|
||||
} bit;
|
||||
|
||||
struct
|
||||
{
|
||||
unsigned short int quad_0 :4;
|
||||
unsigned short int quad_1 :4;
|
||||
unsigned short int quad_2 :4;
|
||||
unsigned short int quad_3 :4;
|
||||
|
||||
} qua;
|
||||
|
||||
struct
|
||||
{
|
||||
unsigned short int byte_0 :8;
|
||||
unsigned short int byte_1 :8;
|
||||
|
||||
} byt;
|
||||
|
||||
unsigned short int all;
|
||||
|
||||
} WORDE;
|
||||
|
||||
typedef union
|
||||
{
|
||||
struct
|
||||
{
|
||||
unsigned int bit00: 1;
|
||||
unsigned int bit01: 1;
|
||||
unsigned int bit02: 1;
|
||||
unsigned int bit03: 1;
|
||||
unsigned int bit04: 1;
|
||||
unsigned int bit05: 1;
|
||||
unsigned int bit06: 1;
|
||||
unsigned int bit07: 1;
|
||||
unsigned int bit08: 1;
|
||||
unsigned int bit09: 1;
|
||||
unsigned int bit0A: 1;
|
||||
unsigned int bit0B: 1;
|
||||
unsigned int bit0C: 1;
|
||||
unsigned int bit0D: 1;
|
||||
unsigned int bit0E: 1;
|
||||
unsigned int bit0F: 1;
|
||||
unsigned int bit10: 1;
|
||||
unsigned int bit11: 1;
|
||||
unsigned int bit12: 1;
|
||||
unsigned int bit13: 1;
|
||||
unsigned int bit14: 1;
|
||||
unsigned int bit15: 1;
|
||||
unsigned int bit16: 1;
|
||||
unsigned int bit17: 1;
|
||||
unsigned int bit18: 1;
|
||||
unsigned int bit19: 1;
|
||||
unsigned int bit1A: 1;
|
||||
unsigned int bit1B: 1;
|
||||
unsigned int bit1C: 1;
|
||||
unsigned int bit1D: 1;
|
||||
unsigned int bit1E: 1;
|
||||
unsigned int bit1F: 1;
|
||||
|
||||
} bit;
|
||||
|
||||
struct
|
||||
{
|
||||
unsigned int quad_0 :4;
|
||||
unsigned int quad_1 :4;
|
||||
unsigned int quad_2 :4;
|
||||
unsigned int quad_3 :4;
|
||||
unsigned int quad_4 :4;
|
||||
unsigned int quad_5 :4;
|
||||
unsigned int quad_6 :4;
|
||||
unsigned int quad_7 :4;
|
||||
|
||||
} qua;
|
||||
|
||||
struct
|
||||
{
|
||||
unsigned int byte_0 :8;
|
||||
unsigned int byte_1 :8;
|
||||
unsigned int byte_2 :8;
|
||||
unsigned int byte_3 :8;
|
||||
|
||||
} byt;
|
||||
|
||||
struct
|
||||
{
|
||||
unsigned int word_0 :16;
|
||||
unsigned int word_1 :16;
|
||||
|
||||
} wrd;
|
||||
|
||||
unsigned int all;
|
||||
|
||||
} LONGE;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -32,12 +32,15 @@ extern "C" {
|
||||
|
||||
/* USER CODE END Includes */
|
||||
|
||||
extern TIM_HandleTypeDef htim2;
|
||||
|
||||
extern TIM_HandleTypeDef htim4;
|
||||
|
||||
/* USER CODE BEGIN Private defines */
|
||||
|
||||
/* USER CODE END Private defines */
|
||||
|
||||
void MX_TIM2_Init(void);
|
||||
void MX_TIM4_Init(void);
|
||||
|
||||
/* USER CODE BEGIN Prototypes */
|
||||
|
||||
181
Core/Src/can.c
181
Core/Src/can.c
@@ -21,6 +21,27 @@
|
||||
#include "can.h"
|
||||
|
||||
/* USER CODE BEGIN 0 */
|
||||
#include "message.h"
|
||||
#include "gpio.h"
|
||||
#include "boot_jump.h"
|
||||
void CAN_filterConfig(void);
|
||||
|
||||
CAN_TxHeaderTypeDef TxHeader;
|
||||
CAN_RxHeaderTypeDef RxHeader;
|
||||
|
||||
CAN_FilterTypeDef sFilterConfig;
|
||||
|
||||
CAN_TxHeaderTypeDef msgHeaderSend;
|
||||
uint8_t msgDataSend[8];
|
||||
uint32_t mailBoxNum = 0;
|
||||
|
||||
uint8_t TxData[8];
|
||||
uint8_t RxData[8];
|
||||
uint32_t TxMailbox;
|
||||
|
||||
uint32_t TX_box_ID = 0;
|
||||
uint32_t RX_box_ID = 0;
|
||||
uint32_t BC_box_ID = 0;
|
||||
|
||||
/* USER CODE END 0 */
|
||||
|
||||
@@ -54,6 +75,20 @@ void MX_CAN_Init(void)
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN CAN_Init 2 */
|
||||
|
||||
CAN_filterConfig();
|
||||
|
||||
// CAN start
|
||||
if (HAL_CAN_Start(&hcan) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
// CAN notifications (interrupts)
|
||||
if (HAL_CAN_ActivateNotification(&hcan, CAN_IT_RX_FIFO0_MSG_PENDING | CAN_IT_TX_MAILBOX_EMPTY) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
/* USER CODE END CAN_Init 2 */
|
||||
|
||||
@@ -124,5 +159,151 @@ void HAL_CAN_MspDeInit(CAN_HandleTypeDef* canHandle)
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
void CAN_filterConfig(void)
|
||||
{
|
||||
sFilterConfig.FilterBank = 0;
|
||||
sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
|
||||
sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
|
||||
sFilterConfig.FilterIdHigh = 0x0000;
|
||||
sFilterConfig.FilterIdLow = 0x0000;
|
||||
sFilterConfig.FilterMaskIdHigh = 0x0000;
|
||||
sFilterConfig.FilterMaskIdLow = 0x0000;
|
||||
sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
|
||||
sFilterConfig.FilterActivation = ENABLE;
|
||||
sFilterConfig.SlaveStartFilterBank = 14;
|
||||
|
||||
if (HAL_CAN_ConfigFilter(&hcan, &sFilterConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
} }
|
||||
|
||||
void HAL_CAN_RxFifo0MsgPendingCallback(CAN_HandleTypeDef *hcan_i)
|
||||
{
|
||||
CAN_RxHeaderTypeDef msgHeader;
|
||||
uint8_t msgData[8];
|
||||
|
||||
unsigned int adr,qua;
|
||||
unsigned short Data[4];
|
||||
|
||||
if (HAL_CAN_GetRxMessage(hcan_i, CAN_RX_FIFO0, &msgHeader, msgData) != HAL_OK)
|
||||
{
|
||||
/* Reception Error */
|
||||
Error_Handler();
|
||||
}
|
||||
|
||||
if(msgData[0] == CMD_GOTOBOOT)
|
||||
{
|
||||
JumpToBootloader();
|
||||
}
|
||||
else if(msgData[0] == CMD_RESET)
|
||||
{
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
|
||||
if((msgHeader.ExtId & 0xFF00000) != RX_box_ID)
|
||||
if((msgHeader.ExtId & 0xFF00000) != BC_box_ID) return;
|
||||
|
||||
adr = msgHeader.ExtId & 0xFFFF;
|
||||
qua = msgHeader.DLC/2;
|
||||
|
||||
Data[0] = msgData[0]; Data[0] = (Data[0]<<8) | msgData[1];
|
||||
Data[1] = msgData[2]; Data[1] = (Data[1]<<8) | msgData[3];
|
||||
Data[2] = msgData[4]; Data[2] = (Data[2]<<8) | msgData[5];
|
||||
Data[3] = msgData[6]; Data[3] = (Data[3]<<8) | msgData[7];
|
||||
|
||||
if(qua ) if(adr < Modbus_LEN) modbus[adr] = Data[0]; adr++;
|
||||
if(qua>1) if(adr < Modbus_LEN) modbus[adr] = Data[1]; adr++;
|
||||
if(qua>2) if(adr < Modbus_LEN) modbus[adr] = Data[2]; adr++;
|
||||
if(qua>3) if(adr < Modbus_LEN) modbus[adr] = Data[3];
|
||||
|
||||
LED_1_TGL;
|
||||
}
|
||||
|
||||
|
||||
int CAN_send(uint16_t data[], int Addr, int Qua)
|
||||
{
|
||||
uint16_t wait = 1000;
|
||||
static uint8_t att=0;
|
||||
uint8_t i;
|
||||
|
||||
while(wait-- && (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) == 0));
|
||||
|
||||
if (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) != 0)
|
||||
{
|
||||
msgHeaderSend.IDE = CAN_ID_EXT;
|
||||
msgHeaderSend.ExtId = TX_box_ID | (Addr & 0xFFFF);
|
||||
msgHeaderSend.DLC = Qua*2;
|
||||
|
||||
msgDataSend[0] = (data[Addr ]>>8) & 0x00ff;
|
||||
msgDataSend[1] = (data[Addr ] ) & 0x00ff;
|
||||
msgDataSend[2] = (data[Addr+1]>>8) & 0x00ff;
|
||||
msgDataSend[3] = (data[Addr+1] ) & 0x00ff;
|
||||
msgDataSend[4] = (data[Addr+2]>>8) & 0x00ff;
|
||||
msgDataSend[5] = (data[Addr+2] ) & 0x00ff;
|
||||
msgDataSend[6] = (data[Addr+3]>>8) & 0x00ff;
|
||||
msgDataSend[7] = (data[Addr+3] ) & 0x00ff;
|
||||
|
||||
HAL_CAN_AddTxMessage(&hcan, &msgHeaderSend, msgDataSend, &mailBoxNum);
|
||||
|
||||
att=0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(att>=3)
|
||||
{
|
||||
MX_CAN_Init();
|
||||
|
||||
LED_0_OFF;
|
||||
LED_1_OFF;
|
||||
for(i=0;i<8;i++)
|
||||
{
|
||||
LED_1_TGL; HAL_Delay(30);
|
||||
LED_1_TGL; HAL_Delay(30);
|
||||
LED_0_TGL; HAL_Delay(30);
|
||||
LED_0_TGL; HAL_Delay(30);
|
||||
} }
|
||||
else
|
||||
{
|
||||
att++;
|
||||
|
||||
HAL_CAN_Stop(&hcan);
|
||||
HAL_CAN_Start(&hcan);
|
||||
|
||||
LED_0_OFF;
|
||||
LED_1_OFF;
|
||||
for(i=0;i<10;i++)
|
||||
{
|
||||
LED_0_TGL;
|
||||
LED_1_TGL; HAL_Delay(30);
|
||||
} }
|
||||
|
||||
return 0;
|
||||
} }
|
||||
|
||||
void Setup_CAN_addr(uint8_t mode)
|
||||
{
|
||||
BC_box_ID = 0x9F<<20;
|
||||
RX_box_ID = (0x80+mode)<<20;
|
||||
TX_box_ID = RX_box_ID | (1L<<28);
|
||||
}
|
||||
// Успешная отправка - моргание диодом
|
||||
void HAL_CAN_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
|
||||
{
|
||||
LED_0_TGL;
|
||||
}
|
||||
void HAL_CAN_TxMailbox1CompleteCallback(CAN_HandleTypeDef *hcan)
|
||||
{
|
||||
LED_0_TGL;
|
||||
}
|
||||
void HAL_CAN_TxMailbox2CompleteCallback(CAN_HandleTypeDef *hcan)
|
||||
{
|
||||
LED_0_TGL;
|
||||
}
|
||||
// Ошибки: выключение диода
|
||||
void HAL_CAN_ErrorCallback(CAN_HandleTypeDef *hcan)
|
||||
{
|
||||
LED_0_OFF;
|
||||
}
|
||||
/* USER CODE END 1 */
|
||||
|
||||
196
Core/Src/crc16.c
Normal file
196
Core/Src/crc16.c
Normal file
@@ -0,0 +1,196 @@
|
||||
#include "crc16.h"
|
||||
#define MAKE_TABS 0 /* Builds tables below */
|
||||
#define FAST_CRC 1 /* If fast CRC should be used */
|
||||
#define ONLY_CRC16 1
|
||||
|
||||
#define Poln 0xA001
|
||||
|
||||
|
||||
#if FAST_CRC & !MAKE_TABS
|
||||
|
||||
#if !ONLY_CRC16
|
||||
|
||||
static WORD crc_ccitt_tab[] = {
|
||||
0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
|
||||
0x8108, 0x9129, 0xa14a, 0xb16b, 0xc18c, 0xd1ad, 0xe1ce, 0xf1ef,
|
||||
0x1231, 0x0210, 0x3273, 0x2252, 0x52b5, 0x4294, 0x72f7, 0x62d6,
|
||||
0x9339, 0x8318, 0xb37b, 0xa35a, 0xd3bd, 0xc39c, 0xf3ff, 0xe3de,
|
||||
0x2462, 0x3443, 0x0420, 0x1401, 0x64e6, 0x74c7, 0x44a4, 0x5485,
|
||||
0xa56a, 0xb54b, 0x8528, 0x9509, 0xe5ee, 0xf5cf, 0xc5ac, 0xd58d,
|
||||
0x3653, 0x2672, 0x1611, 0x0630, 0x76d7, 0x66f6, 0x5695, 0x46b4,
|
||||
0xb75b, 0xa77a, 0x9719, 0x8738, 0xf7df, 0xe7fe, 0xd79d, 0xc7bc,
|
||||
0x48c4, 0x58e5, 0x6886, 0x78a7, 0x0840, 0x1861, 0x2802, 0x3823,
|
||||
0xc9cc, 0xd9ed, 0xe98e, 0xf9af, 0x8948, 0x9969, 0xa90a, 0xb92b,
|
||||
0x5af5, 0x4ad4, 0x7ab7, 0x6a96, 0x1a71, 0x0a50, 0x3a33, 0x2a12,
|
||||
0xdbfd, 0xcbdc, 0xfbbf, 0xeb9e, 0x9b79, 0x8b58, 0xbb3b, 0xab1a,
|
||||
0x6ca6, 0x7c87, 0x4ce4, 0x5cc5, 0x2c22, 0x3c03, 0x0c60, 0x1c41,
|
||||
0xedae, 0xfd8f, 0xcdec, 0xddcd, 0xad2a, 0xbd0b, 0x8d68, 0x9d49,
|
||||
0x7e97, 0x6eb6, 0x5ed5, 0x4ef4, 0x3e13, 0x2e32, 0x1e51, 0x0e70,
|
||||
0xff9f, 0xefbe, 0xdfdd, 0xcffc, 0xbf1b, 0xaf3a, 0x9f59, 0x8f78,
|
||||
0x9188, 0x81a9, 0xb1ca, 0xa1eb, 0xd10c, 0xc12d, 0xf14e, 0xe16f,
|
||||
0x1080, 0x00a1, 0x30c2, 0x20e3, 0x5004, 0x4025, 0x7046, 0x6067,
|
||||
0x83b9, 0x9398, 0xa3fb, 0xb3da, 0xc33d, 0xd31c, 0xe37f, 0xf35e,
|
||||
0x02b1, 0x1290, 0x22f3, 0x32d2, 0x4235, 0x5214, 0x6277, 0x7256,
|
||||
0xb5ea, 0xa5cb, 0x95a8, 0x8589, 0xf56e, 0xe54f, 0xd52c, 0xc50d,
|
||||
0x34e2, 0x24c3, 0x14a0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
|
||||
0xa7db, 0xb7fa, 0x8799, 0x97b8, 0xe75f, 0xf77e, 0xc71d, 0xd73c,
|
||||
0x26d3, 0x36f2, 0x0691, 0x16b0, 0x6657, 0x7676, 0x4615, 0x5634,
|
||||
0xd94c, 0xc96d, 0xf90e, 0xe92f, 0x99c8, 0x89e9, 0xb98a, 0xa9ab,
|
||||
0x5844, 0x4865, 0x7806, 0x6827, 0x18c0, 0x08e1, 0x3882, 0x28a3,
|
||||
0xcb7d, 0xdb5c, 0xeb3f, 0xfb1e, 0x8bf9, 0x9bd8, 0xabbb, 0xbb9a,
|
||||
0x4a75, 0x5a54, 0x6a37, 0x7a16, 0x0af1, 0x1ad0, 0x2ab3, 0x3a92,
|
||||
0xfd2e, 0xed0f, 0xdd6c, 0xcd4d, 0xbdaa, 0xad8b, 0x9de8, 0x8dc9,
|
||||
0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
|
||||
0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
|
||||
0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
|
||||
};
|
||||
#endif
|
||||
|
||||
WORD crc_16_tab[] = {
|
||||
0x0000, 0xc0c1, 0xc181, 0x0140, 0xc301, 0x03c0, 0x0280, 0xc241,
|
||||
0xc601, 0x06c0, 0x0780, 0xc741, 0x0500, 0xc5c1, 0xc481, 0x0440,
|
||||
0xcc01, 0x0cc0, 0x0d80, 0xcd41, 0x0f00, 0xcfc1, 0xce81, 0x0e40,
|
||||
0x0a00, 0xcac1, 0xcb81, 0x0b40, 0xc901, 0x09c0, 0x0880, 0xc841,
|
||||
0xd801, 0x18c0, 0x1980, 0xd941, 0x1b00, 0xdbc1, 0xda81, 0x1a40,
|
||||
0x1e00, 0xdec1, 0xdf81, 0x1f40, 0xdd01, 0x1dc0, 0x1c80, 0xdc41,
|
||||
0x1400, 0xd4c1, 0xd581, 0x1540, 0xd701, 0x17c0, 0x1680, 0xd641,
|
||||
0xd201, 0x12c0, 0x1380, 0xd341, 0x1100, 0xd1c1, 0xd081, 0x1040,
|
||||
0xf001, 0x30c0, 0x3180, 0xf141, 0x3300, 0xf3c1, 0xf281, 0x3240,
|
||||
0x3600, 0xf6c1, 0xf781, 0x3740, 0xf501, 0x35c0, 0x3480, 0xf441,
|
||||
0x3c00, 0xfcc1, 0xfd81, 0x3d40, 0xff01, 0x3fc0, 0x3e80, 0xfe41,
|
||||
0xfa01, 0x3ac0, 0x3b80, 0xfb41, 0x3900, 0xf9c1, 0xf881, 0x3840,
|
||||
0x2800, 0xe8c1, 0xe981, 0x2940, 0xeb01, 0x2bc0, 0x2a80, 0xea41,
|
||||
0xee01, 0x2ec0, 0x2f80, 0xef41, 0x2d00, 0xedc1, 0xec81, 0x2c40,
|
||||
0xe401, 0x24c0, 0x2580, 0xe541, 0x2700, 0xe7c1, 0xe681, 0x2640,
|
||||
0x2200, 0xe2c1, 0xe381, 0x2340, 0xe101, 0x21c0, 0x2080, 0xe041,
|
||||
0xa001, 0x60c0, 0x6180, 0xa141, 0x6300, 0xa3c1, 0xa281, 0x6240,
|
||||
0x6600, 0xa6c1, 0xa781, 0x6740, 0xa501, 0x65c0, 0x6480, 0xa441,
|
||||
0x6c00, 0xacc1, 0xad81, 0x6d40, 0xaf01, 0x6fc0, 0x6e80, 0xae41,
|
||||
0xaa01, 0x6ac0, 0x6b80, 0xab41, 0x6900, 0xa9c1, 0xa881, 0x6840,
|
||||
0x7800, 0xb8c1, 0xb981, 0x7940, 0xbb01, 0x7bc0, 0x7a80, 0xba41,
|
||||
0xbe01, 0x7ec0, 0x7f80, 0xbf41, 0x7d00, 0xbdc1, 0xbc81, 0x7c40,
|
||||
0xb401, 0x74c0, 0x7580, 0xb541, 0x7700, 0xb7c1, 0xb681, 0x7640,
|
||||
0x7200, 0xb2c1, 0xb381, 0x7340, 0xb101, 0x71c0, 0x7080, 0xb041,
|
||||
0x5000, 0x90c1, 0x9181, 0x5140, 0x9301, 0x53c0, 0x5280, 0x9241,
|
||||
0x9601, 0x56c0, 0x5780, 0x9741, 0x5500, 0x95c1, 0x9481, 0x5440,
|
||||
0x9c01, 0x5cc0, 0x5d80, 0x9d41, 0x5f00, 0x9fc1, 0x9e81, 0x5e40,
|
||||
0x5a00, 0x9ac1, 0x9b81, 0x5b40, 0x9901, 0x59c0, 0x5880, 0x9841,
|
||||
0x8801, 0x48c0, 0x4980, 0x8941, 0x4b00, 0x8bc1, 0x8a81, 0x4a40,
|
||||
0x4e00, 0x8ec1, 0x8f81, 0x4f40, 0x8d01, 0x4dc0, 0x4c80, 0x8c41,
|
||||
0x4400, 0x84c1, 0x8581, 0x4540, 0x8701, 0x47c0, 0x4680, 0x8641,
|
||||
0x8201, 0x42c0, 0x4380, 0x8341, 0x4100, 0x81c1, 0x8081, 0x4040
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
#if !ONLY_CRC16
|
||||
|
||||
/* CRC-CCITT is based on the polynomial x^16 + x^12 + x^5 + 1. Bits */
|
||||
/* are sent MSB to LSB. */
|
||||
unsigned int get_crc_ccitt(unsigned int crc,unsigned int *buf,unsigned long size )
|
||||
{
|
||||
#if !(FAST_CRC & !MAKE_TABS)
|
||||
register int i;
|
||||
#endif
|
||||
|
||||
while (size--) {
|
||||
#if FAST_CRC & !MAKE_TABS
|
||||
crc = (crc << 8) ^ crc_ccitt_tab[ (crc >> 8) ^ *buf++ ];
|
||||
#else
|
||||
crc ^= (WORD)(*buf++) << 8;
|
||||
for (i = 0; i < 8; i++) {
|
||||
if (crc & 0x8000)
|
||||
crc = (crc << 1) ^ 0x1021;
|
||||
else
|
||||
crc <<= 1;
|
||||
}
|
||||
#endif
|
||||
} return crc;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
/* CRC-16 is based on the polynomial x^16 + x^15 + x^2 + 1. Bits are */
|
||||
/* sent LSB to MSB. */
|
||||
unsigned int get_crc_16(unsigned int crc,unsigned int *buf,unsigned long size )
|
||||
{
|
||||
#if !(FAST_CRC & !MAKE_TABS)
|
||||
register unsigned int i;
|
||||
register unsigned int ch;
|
||||
#endif
|
||||
|
||||
while (size--) {
|
||||
#if FAST_CRC & !MAKE_TABS
|
||||
|
||||
crc = (crc >> 8) ^ crc_16_tab[ (crc ^ *buf++) & 0xff ];
|
||||
crc = crc & 0xffff;
|
||||
#else
|
||||
ch = *buf++;
|
||||
for (i = 0; i < 8; i++) {
|
||||
if ((crc ^ ch) & 1)
|
||||
crc = (crc >> 1) ^ 0xa001;
|
||||
else
|
||||
crc >>= 1;
|
||||
ch >>= 1;
|
||||
}
|
||||
#endif
|
||||
} return (crc & 0xffff);
|
||||
}
|
||||
|
||||
|
||||
|
||||
unsigned int get_crc_16b(unsigned int crc,unsigned int *buf,unsigned long size )
|
||||
{
|
||||
|
||||
unsigned int x, dword, byte;
|
||||
unsigned long i;
|
||||
|
||||
|
||||
|
||||
for (i = 0; i < size; i++)
|
||||
{
|
||||
x = i % 2;
|
||||
|
||||
dword = buf[i/2];
|
||||
// dword = *buf;
|
||||
|
||||
|
||||
if (x == 0)
|
||||
{
|
||||
byte = ((dword >> 8)&0xFF);
|
||||
}
|
||||
|
||||
if (x == 1)
|
||||
{
|
||||
byte = (dword & 0xFF);
|
||||
}
|
||||
|
||||
crc = (crc >> 8) ^ crc_16_tab[ (crc ^ (byte) ) & 0xff ];
|
||||
crc = crc & 0xffff;
|
||||
|
||||
// crc = crc + ((byte) & 0xff);
|
||||
|
||||
}
|
||||
|
||||
return (crc & 0xffff);
|
||||
}
|
||||
|
||||
int get_crc16(uint16_t *buf, int size )
|
||||
{
|
||||
int crc16,i,j;
|
||||
|
||||
crc16=0xFFFF;
|
||||
for(i=0;i<size;i++)
|
||||
{
|
||||
crc16=crc16^(buf[i]&0xFF);
|
||||
for (j=0;j<8;j++)
|
||||
if(crc16&1) crc16=(crc16>>1)^Poln;
|
||||
else crc16=crc16>>1;
|
||||
|
||||
crc16=crc16^((buf[i]>>8)&0xFF);
|
||||
for (j=0;j<8;j++)
|
||||
if(crc16&1) crc16=(crc16>>1)^Poln;
|
||||
else crc16=crc16>>1;
|
||||
}
|
||||
return crc16;
|
||||
}
|
||||
49
Core/Src/eeprom.c
Normal file
49
Core/Src/eeprom.c
Normal file
@@ -0,0 +1,49 @@
|
||||
#include "eeprom.h"
|
||||
|
||||
|
||||
void putIntoEeprom(uint16_t lenght, uint16_t* param)
|
||||
{
|
||||
uint32_t adr = FLASH_EEPROM_BASE;
|
||||
//uint32_t p = FLASH_STARTO;
|
||||
HAL_StatusTypeDef flash_ok = HAL_ERROR;
|
||||
|
||||
while(flash_ok != HAL_OK)
|
||||
{flash_ok = HAL_FLASH_Unlock();}
|
||||
|
||||
FLASH_EraseInitTypeDef erase;
|
||||
uint32_t pageError = 0x0;
|
||||
erase.TypeErase = FLASH_TYPEERASE_PAGES;
|
||||
erase.PageAddress = FLASH_EEPROM_BASE;
|
||||
erase.NbPages = 0x01;
|
||||
flash_ok = HAL_FLASHEx_Erase(&erase, &pageError);
|
||||
|
||||
flash_ok = HAL_ERROR;
|
||||
while(flash_ok != HAL_OK)
|
||||
{flash_ok = HAL_FLASH_Lock();}
|
||||
|
||||
|
||||
flash_ok = HAL_ERROR;
|
||||
while(flash_ok != HAL_OK)
|
||||
{flash_ok = HAL_FLASH_Unlock();}
|
||||
|
||||
flash_ok = HAL_ERROR;
|
||||
while(flash_ok != HAL_OK)
|
||||
{
|
||||
for(int i=0; i<(lenght); i++)
|
||||
{
|
||||
flash_ok = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, adr, *param);
|
||||
param++;
|
||||
adr += 0x2;
|
||||
}
|
||||
}
|
||||
|
||||
flash_ok = HAL_ERROR;
|
||||
while(flash_ok != HAL_OK)
|
||||
{flash_ok = HAL_FLASH_Lock();}
|
||||
}
|
||||
|
||||
uint16_t watInTheFlash(uint32_t adress)
|
||||
{
|
||||
return (*(uint32_t*) adress);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#include "gpio.h"
|
||||
|
||||
/* USER CODE BEGIN 0 */
|
||||
|
||||
#include "tim.h"
|
||||
/* USER CODE END 0 */
|
||||
|
||||
/*----------------------------------------------------------------------------*/
|
||||
@@ -50,7 +50,7 @@ void MX_GPIO_Init(void)
|
||||
|PVT2_Pin|PVT1_Pin, GPIO_PIN_RESET);
|
||||
|
||||
/*Configure GPIO pin Output Level */
|
||||
HAL_GPIO_WritePin(GPIOB, LED0_Pin|LED1_Pin, GPIO_PIN_RESET);
|
||||
HAL_GPIO_WritePin(GPIOB, LED0_Pin|LED1_Pin, GPIO_PIN_SET);
|
||||
|
||||
/*Configure GPIO pins : PCPin PCPin PCPin PCPin
|
||||
PCPin */
|
||||
@@ -78,13 +78,19 @@ void MX_GPIO_Init(void)
|
||||
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pins : PBPin PBPin PBPin PBPin
|
||||
PBPin PBPin PBPin */
|
||||
PBPin PBPin */
|
||||
GPIO_InitStruct.Pin = IN_12_Pin|IN_11_Pin|BOOT1_Pin|IN_10_Pin
|
||||
|IN_09_Pin|IN_08_Pin|IN_07_Pin;
|
||||
|IN_09_Pin|IN_08_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PtPin */
|
||||
GPIO_InitStruct.Pin = IN_07_Pin;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING_FALLING;
|
||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||
HAL_GPIO_Init(IN_07_GPIO_Port, &GPIO_InitStruct);
|
||||
|
||||
/*Configure GPIO pin : PA8 */
|
||||
GPIO_InitStruct.Pin = GPIO_PIN_8;
|
||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||
@@ -98,8 +104,48 @@ void MX_GPIO_Init(void)
|
||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||||
|
||||
/* EXTI interrupt init*/
|
||||
HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
|
||||
HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
|
||||
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 2 */
|
||||
#define MEASURE_PIN IN_07_Pin
|
||||
#define MEASURE_PORT IN_07_GPIO_Port
|
||||
volatile uint32_t last_tick = 0;
|
||||
volatile uint32_t high_time = 0;
|
||||
volatile uint32_t period_time = 0;
|
||||
volatile uint8_t first_edge = 1;
|
||||
|
||||
float duty_cycle = 0.0f;
|
||||
float frequency = 0.0f;
|
||||
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
|
||||
{
|
||||
if (GPIO_Pin != MEASURE_PIN) return;
|
||||
|
||||
static uint16_t last_tick = 0;
|
||||
static uint16_t low_time = 0;
|
||||
static uint16_t high_time = 0;
|
||||
|
||||
uint16_t now = (uint16_t)__HAL_TIM_GET_COUNTER(&htim2);
|
||||
uint16_t delta = (now >= last_tick) ? (now - last_tick) : (uint16_t)(0x10000 + now - last_tick);
|
||||
last_tick = now;
|
||||
|
||||
if (HAL_GPIO_ReadPin(MEASURE_PORT, MEASURE_PIN) == GPIO_PIN_SET) {
|
||||
// RISING → закончился LOW
|
||||
low_time = delta;
|
||||
} else {
|
||||
// FALLING → закончился HIGH
|
||||
high_time = delta;
|
||||
uint32_t period = (uint32_t)high_time + (uint32_t)low_time;
|
||||
if (period > 0) {
|
||||
frequency = 1e6f / period; // Гц
|
||||
duty_cycle = (high_time * 100.0f) / period; // %
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* USER CODE END 2 */
|
||||
|
||||
104
Core/Src/lampa.c
Normal file
104
Core/Src/lampa.c
Normal file
@@ -0,0 +1,104 @@
|
||||
#include "main.h"
|
||||
#include "gpio.h"
|
||||
#include "lampa.h"
|
||||
#include "struc.h"
|
||||
#include "message.h"
|
||||
#include "package.h"
|
||||
|
||||
void ReadEnteres(void)
|
||||
{
|
||||
WORDE input, alarm, error;
|
||||
|
||||
input.all=0;
|
||||
|
||||
input.bit.bit0 = !IN_06; // Контроль ИП1 (питание управляющего контроллера)
|
||||
input.bit.bit1 = !IN_05; // Контроль ИП2 (питание периферийных устройств)
|
||||
input.bit.bit2 = !IN_04; // Контроль ИП3 (питание эл. замков, ламп освещения, УКСИ)
|
||||
input.bit.bit3 = !IN_03; // Контроль ИП4 (питание датчиков тока и напряжения +)
|
||||
input.bit.bit4 = !IN_02; // Контроль ИП5 (питание датчиков тока и напряжения –)
|
||||
input.bit.bit5 = !IN_01; // Контроль ИП6 (питание драйверов)
|
||||
|
||||
input.bit.bit6 = !IN_07; // Контроль 3х фазного 380 В
|
||||
input.bit.bit7 = !IN_08; // Заряд накопителя
|
||||
input.bit.bit8 = !IN_09; // Разряд накопителя
|
||||
input.bit.bit9 = IN_10; // Авария в сети 24 В, единственный нормально замкнутый сигнал
|
||||
|
||||
input.bit.bitA = (Squazh_U[0] > Squazh_L[0]); // Контроль питания ЛСУ
|
||||
input.bit.bitB = (Squazh_U[1] > Squazh_L[1]); // Контроль питания СВО
|
||||
input.bit.bitC = (Squazh_U[2] > Squazh_L[2]); // резерв
|
||||
input.bit.bitD = (Squazh_U[3] > Squazh_L[3]); // Контроль питания СКК
|
||||
/*
|
||||
input.bit.bitA = !IN_11; // Контроль питания ЛСУ
|
||||
input.bit.bitB = !IN_12; // Контроль питания СВО
|
||||
input.bit.bitC = !IN_13; // резерв
|
||||
input.bit.bitD = !IN_14; // Контроль питания СКК
|
||||
*/
|
||||
Inputs.all = input.all;
|
||||
|
||||
// Обычно неисправность это отсутствие сигнала, который есть в маске неисправностей
|
||||
alarm.all = ~Inputs.all & Alarm_mask.all;
|
||||
alarm.bit.bit7 = 0; // Заряд накопителя никогда не неисправность
|
||||
alarm.bit.bit8 = Inputs.bit.bit8; // Разряд накопителя всегда неисправность
|
||||
alarm.bit.bit9 = Inputs.bit.bit9; // Авария в сети 24 В всегда неисправность
|
||||
Alarms = alarm;
|
||||
|
||||
// Обычно авария это отсутствие сигнала, который есть в маске аварий
|
||||
error.all = ~Inputs.all & Error_mask.all;
|
||||
error.bit.bit9 = Inputs.bit.bit9; // Авария в сети 24 В всегда авария
|
||||
Errors = error;
|
||||
}
|
||||
|
||||
uint16_t ReadJumpers(void)
|
||||
{
|
||||
WORDE input;
|
||||
|
||||
input.all = 0;
|
||||
|
||||
input.bit.bit0 = !J0;
|
||||
input.bit.bit1 = !J1;
|
||||
input.bit.bit2 = !J2;
|
||||
input.bit.bit3 = !J3;
|
||||
|
||||
return input.all;
|
||||
}
|
||||
|
||||
uint16_t TestJumper(void)
|
||||
{
|
||||
return !Jselect;
|
||||
}
|
||||
|
||||
void ReadSeanus(void)
|
||||
{
|
||||
static uint32_t cownt=0;
|
||||
static uint32_t sum_u[4];
|
||||
static float flt_u[4];
|
||||
static uint8_t Ist=1;
|
||||
uint8_t i;
|
||||
|
||||
if(Ist)
|
||||
{
|
||||
Ist=0;
|
||||
for(i=0;i<4;i++)
|
||||
{
|
||||
Squazh_U[i]=100;
|
||||
flt_u[i]=10000.0;
|
||||
sum_u[i]=0;
|
||||
} }
|
||||
|
||||
sum_u[0] += !IN_11;
|
||||
sum_u[1] += !IN_12;
|
||||
sum_u[2] += !IN_13;
|
||||
sum_u[3] += !IN_14;
|
||||
|
||||
if(++cownt>=10000)
|
||||
{
|
||||
cownt=0;
|
||||
|
||||
for(i=0;i<4;i++)
|
||||
{
|
||||
flt_u[i] +=((float)sum_u[i]-flt_u[i])/3+1;
|
||||
Squazh_U[i]=flt_u[i]/100;
|
||||
sum_u[i] = 0;
|
||||
} } }
|
||||
|
||||
|
||||
456
Core/Src/main.c
456
Core/Src/main.c
@@ -26,7 +26,10 @@
|
||||
|
||||
/* Private includes ----------------------------------------------------------*/
|
||||
/* USER CODE BEGIN Includes */
|
||||
|
||||
#include "package.h"
|
||||
#include "message.h"
|
||||
#include "lampa.h"
|
||||
#include "boot_jump.h"
|
||||
/* USER CODE END Includes */
|
||||
|
||||
/* Private typedef -----------------------------------------------------------*/
|
||||
@@ -48,6 +51,16 @@
|
||||
|
||||
/* USER CODE BEGIN PV */
|
||||
|
||||
FLAG flag;
|
||||
|
||||
|
||||
static long Falling_asleep;
|
||||
uint8_t CanGO=0, timGo=0;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* USER CODE END PV */
|
||||
|
||||
/* Private function prototypes -----------------------------------------------*/
|
||||
@@ -69,7 +82,11 @@ int main(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN 1 */
|
||||
|
||||
static int i,j,n,z,mask,qua;
|
||||
static int cancount[2]={1,2},cancell[2]={0,0},candid[2]={0,0};
|
||||
static unsigned int masca[8];
|
||||
static uint16_t precom=0;
|
||||
App_Init();
|
||||
/* USER CODE END 1 */
|
||||
|
||||
/* MCU Configuration--------------------------------------------------------*/
|
||||
@@ -85,27 +102,275 @@ int main(void)
|
||||
SystemClock_Config();
|
||||
|
||||
/* USER CODE BEGIN SysInit */
|
||||
|
||||
MX_IWDG_Init();
|
||||
/* USER CODE END SysInit */
|
||||
|
||||
/* Initialize all configured peripherals */
|
||||
MX_GPIO_Init();
|
||||
MX_CAN_Init();
|
||||
MX_TIM2_Init();
|
||||
MX_TIM4_Init();
|
||||
MX_IWDG_Init();
|
||||
MX_UART4_Init();
|
||||
/* USER CODE BEGIN 2 */
|
||||
HAL_TIM_Base_Start(&htim2);
|
||||
LED_0_ON;
|
||||
LED_1_OFF;
|
||||
LED_2_ON;
|
||||
LED_3_OFF;
|
||||
|
||||
for(i=0;i<10;i++)
|
||||
{
|
||||
LED_0_TGL;
|
||||
LED_1_TGL;
|
||||
LED_2_TGL;
|
||||
LED_3_TGL;
|
||||
HAL_Delay(50);
|
||||
}
|
||||
|
||||
Mode = ReadJumpers()+1;
|
||||
Setup_CAN_addr(Mode-1);
|
||||
Load_params();
|
||||
LastMode = Mode;
|
||||
Protokol = PROTOKOL;
|
||||
|
||||
command=0;
|
||||
|
||||
for(i=0;i<0x80;i++)
|
||||
county[i]=1;
|
||||
for(i=0;i<8;i++)
|
||||
masca[i]=0;
|
||||
for(i=0;i<2;i++)
|
||||
CanRound[i]=
|
||||
CanCycle[i]=0;
|
||||
|
||||
timGo=1;
|
||||
|
||||
|
||||
|
||||
/* USER CODE END 2 */
|
||||
|
||||
/* Infinite loop */
|
||||
/* USER CODE BEGIN WHILE */
|
||||
while (1)
|
||||
{
|
||||
{
|
||||
//=== БЛОК ПРИНУДИТЕЛЬНОЙ ПАУЗЫ ===//
|
||||
if (flag.force_pause)
|
||||
{
|
||||
__disable_irq(); // Отключаем все прерывания
|
||||
for(int i = 0; i < flag.pause; i++); // Пустой цикл для задержки
|
||||
__enable_irq(); // Включаем прерывания обратно
|
||||
}
|
||||
|
||||
//=== ОБРАБОТКА CAN-ШИНЫ ===//
|
||||
if (CanGO) // Флаг разрешения работы с CAN-шиной
|
||||
{
|
||||
CanGO = 0; // Сбрасываем флаг
|
||||
|
||||
// Увеличиваем счетчики ожидания для всех элементов (ограничение 30000)
|
||||
for(i = 0; i < 0x80; i++)
|
||||
if(espero[i] < 30000)
|
||||
espero[i]++;
|
||||
|
||||
// Уменьшаем счетчики задержки для двух CAN-каналов
|
||||
for(i = 0; i < 2; i++)
|
||||
if(cancount[i])
|
||||
cancount[i]--;
|
||||
else
|
||||
cancell[i] = 0; // Сброс позиции, если счетчик обнулился
|
||||
}
|
||||
|
||||
//=== ОБРАБОТКА КАНАЛОВ CAN ===//
|
||||
for(i = 0; i < 2; i++) // Для каждого из двух CAN-каналов
|
||||
{
|
||||
if (Cancount[i] && !cancount[i]) // Если есть задержка и счетчик обнулился
|
||||
{
|
||||
// Поиск следующего элемента для обработки
|
||||
while(1)
|
||||
{
|
||||
if (cancell[i] >= 0x80) // Если достигли конца диапазона
|
||||
{
|
||||
cancell[i] = 0; // Сброс позиции
|
||||
|
||||
if (candid[i]) // Если есть кандидат для обработки
|
||||
{
|
||||
candid[i] = 0; // Сброс флага кандидата
|
||||
CanCycle[i]++; // Увеличиваем счетчик циклов
|
||||
cancount[i] = CanWait[i]; // Устанавливаем задержку
|
||||
goto Next; // Переход к следующей итерации
|
||||
}
|
||||
}
|
||||
|
||||
// Проверка маски для определения активных элементов
|
||||
mask = Maska[i][cancell[i] / 0x10] >> (cancell[i] & 0x0F);
|
||||
if (!mask) // Если маска пустая
|
||||
cancell[i] = (cancell[i] + 0x10) & 0xFFF0; // Переход к следующей группе
|
||||
else
|
||||
{
|
||||
// Поиск первого установленного бита в маске
|
||||
while (!(mask & 1))
|
||||
{
|
||||
cancell[i]++;
|
||||
mask >>= 1;
|
||||
}
|
||||
break; // Найден активный элемент
|
||||
}
|
||||
}
|
||||
|
||||
z = 1; // Флаг нормального состояния
|
||||
// Проверка превышения времени ожидания
|
||||
if (espero[cancell[i]] > CanRestart[i])
|
||||
{
|
||||
county[cancell[i]] = 1; // Установка флага необходимости отправки
|
||||
z = 0; // Флаг аварийного состояния
|
||||
}
|
||||
|
||||
// Проверка изменения данных для отправки
|
||||
if (modbus[cancell[i]] != archiv[cancell[i]])
|
||||
{
|
||||
if (cancell[i] == keys) // Если это ключевой элемент
|
||||
{
|
||||
// Установка флагов для группы элементов
|
||||
for(j = 0; j < CanRptLen; j++)
|
||||
county[cancell[i] + j] = CanRptVez;
|
||||
}
|
||||
else
|
||||
{
|
||||
county[cancell[i]] = 1; // Установка флага для одиночного элемента
|
||||
}
|
||||
}
|
||||
|
||||
// Обработка элементов, требующих отправки
|
||||
if (county[cancell[i]])
|
||||
{
|
||||
// Поиск границ группы измененных элементов
|
||||
for(j = 3; j > 0 && !Isit(cancell[i] + j, i, z); j--);
|
||||
for(n = j - 3; n < 0 && !Isit(cancell[i] + n, i, 1); n++);
|
||||
|
||||
qua = 1 + j - n; // Расчет количества элементов в группе
|
||||
cancell[i] += n; // Корректировка позиции
|
||||
|
||||
// Обработка каждого элемента в группе
|
||||
for(j = 0; j < qua; j++)
|
||||
{
|
||||
n = cancell[i] + j;
|
||||
archiv[n] = modbus[n]; // Сохранение текущего значения
|
||||
espero[n] = 0; // Сброс счетчика ожидания
|
||||
|
||||
if (county[n]) // Если элемент требует обработки
|
||||
{
|
||||
county[n]--; // Уменьшение счетчика
|
||||
// Если счетчик обнулился и это не циклический элемент
|
||||
if (!county[n] && n != cancyclo + i)
|
||||
candid[i] = 1; // Установка флага кандидата
|
||||
}
|
||||
// Обновление маски активных элементов
|
||||
if (!county[n])
|
||||
masca[n / 0x10] |= (1 << (n & 0x0F));
|
||||
}
|
||||
|
||||
// Отправка данных через CAN-шину
|
||||
CAN_send(archiv, cancell[i], qua);
|
||||
|
||||
cancount[i] = Cancount[i]; // Установка задержки
|
||||
cancell[i] += qua; // Переход к следующей позиции
|
||||
|
||||
// Проверка завершения обработки всех элементов
|
||||
for(j = 0; j < 8; j++)
|
||||
if ((masca[j] & Maska[i][j]) != Maska[i][j])
|
||||
break;
|
||||
|
||||
if (j == 8) // Если все элементы обработаны
|
||||
{
|
||||
// Сброс соответствующих битов маски
|
||||
for(j = 0; j < 8; j++)
|
||||
masca[j] &= ~Maska[i][j];
|
||||
CanRound[i]++; // Увеличение счетчика раундов
|
||||
}
|
||||
|
||||
// Управление параллельной обработкой каналов
|
||||
if (Cancount[i] > 1 && !cancount[!i])
|
||||
cancount[!i] = 1; // Запуск другого канала
|
||||
}
|
||||
else
|
||||
{
|
||||
cancell[i]++; // Переход к следующему элементу
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Next: // Метка для перехода к следующей части цикла
|
||||
|
||||
//=== ЧТЕНИЕ ВХОДНЫХ СИГНАЛОВ ===//
|
||||
ReadEnteres(); // Функция чтения дискретных входов
|
||||
|
||||
//=== УПРАВЛЕНИЕ ВЫХОДНЫМИ СИГНАЛАМИ ===//
|
||||
if (Errors.all | Alarms.all)
|
||||
Pvt4_OFF; // Выключение сигнала "Система ВЭП в норме"
|
||||
else
|
||||
Pvt4_ON; // Включение сигнала "Система ВЭП в норме"
|
||||
|
||||
if (Errors.all)
|
||||
Pvt3_ON; // Включение сигнала "Авария системы ВЭП"
|
||||
else
|
||||
Pvt3_OFF; // Выключение сигнала "Авария системы ВЭП"
|
||||
|
||||
if (Falling_asleep)
|
||||
Pvt2_ON; // Включение сигнала управления
|
||||
else
|
||||
Pvt2_OFF; // Выключение сигнала управления
|
||||
|
||||
//=== ОБРАБОТКА КОМАНД ===//
|
||||
if (Commands != precom) // Если команды изменились
|
||||
{
|
||||
command = (~precom | command) & Commands; // Обновление активных команд
|
||||
}
|
||||
precom = Commands; // Сохранение текущих команд для следующей итерации
|
||||
|
||||
//=== ОБРАБОТКА СИСТЕМНЫХ КОМАНД ===//
|
||||
if (cDefParam) // Команда сброса параметров по умолчанию
|
||||
{
|
||||
cDefParam = 0;
|
||||
Default_params(); // Вызов функции сброса параметров
|
||||
}
|
||||
|
||||
if (cSaveParam) // Команда сохранения параметров
|
||||
{
|
||||
cSaveParam = 0;
|
||||
Save_params(); // Вызов функции сохранения параметров
|
||||
}
|
||||
|
||||
if (cLoadParam) // Команда загрузки параметров
|
||||
{
|
||||
cLoadParam = 0;
|
||||
Load_params(); // Вызов функции загрузки параметров
|
||||
}
|
||||
|
||||
if (cCanReset) // Команда сброса CAN-системы
|
||||
{
|
||||
cCanReset = 0;
|
||||
|
||||
// Сброс всех счетчиков и состояний CAN-системы
|
||||
for(i = 0; i < 0x80; i++)
|
||||
county[i] = 1; // Установка флагов отправки для всех элементов
|
||||
|
||||
for(i = 0; i < 2; i++)
|
||||
{
|
||||
CanCycle[i] = 0; // Сброс счетчиков циклов
|
||||
CanRound[i] = 0; // Сброс счетчиков раундов
|
||||
cancount[i] = 0; // Сброс счетчиков задержки
|
||||
cancell[i] = 0; // Сброс позиций
|
||||
}
|
||||
|
||||
for(i = 0; i < 8; i++)
|
||||
masca[i] = 0; // Сброс масок
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* USER CODE END WHILE */
|
||||
|
||||
/* USER CODE BEGIN 3 */
|
||||
}
|
||||
}
|
||||
/* USER CODE END 3 */
|
||||
}
|
||||
|
||||
@@ -150,6 +415,178 @@ void SystemClock_Config(void)
|
||||
}
|
||||
|
||||
/* USER CODE BEGIN 4 */
|
||||
//////////////// USER FUNC ////////////////////
|
||||
/**
|
||||
* @brief Проверяет, активен ли указанный элемент для обработки в CAN-шине
|
||||
* @param num Номер элемента (0x00-0x7F)
|
||||
* @param i Номер CAN-канала (0 или 1)
|
||||
* @param z Флаг дополнительных проверок (1 - включить доп. проверки, 0 - только маска)
|
||||
* @return 1 - элемент активен, 0 - элемент не активен
|
||||
*/
|
||||
int Isit(int num, int i, int z)
|
||||
{
|
||||
int res, pls;
|
||||
|
||||
//=== ПРОВЕРКА ДИАПАЗОНА ===//
|
||||
// Если номер элемента вне допустимого диапазона (0x00-0x7F)
|
||||
if((num < 0) || (num >= 0x80))
|
||||
return 0; // Элемент не активен
|
||||
|
||||
//=== ПРОВЕРКА МАСКИ КАНАЛА ===//
|
||||
// Определяем битовую маску для данного элемента
|
||||
// num/0x10 - определяем индекс в массиве масок (0-7)
|
||||
// num&0x0F - определяем позицию бита в слове (0-15)
|
||||
res = Maska[i][num / 0x10]; // Получаем маску для группы элементов
|
||||
res &= (1 << (num & 0x0F)); // Проверяем конкретный бит в маске
|
||||
|
||||
//=== ДОПОЛНИТЕЛЬНЫЕ ПРОВЕРКИ (если z != 0) ===//
|
||||
if(z)
|
||||
{
|
||||
// Проверка времени ожидания: если превышена половина времени перезапуска
|
||||
pls = (espero[num] > CanRestart[i] / 2);
|
||||
|
||||
// ИЛИ проверка счетчика отправки (если county[num] != 0)
|
||||
pls = pls || county[num];
|
||||
|
||||
// Комбинированная проверка: должен быть установлен в маске И выполнять условия
|
||||
res = res && pls;
|
||||
}
|
||||
|
||||
return res; // Возвращаем результат проверки
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Функция обработки милисекундных событий системы
|
||||
* @note Вызывается каждую миллисекунду из SysTick_Handler
|
||||
*/
|
||||
void Millisecond()
|
||||
{
|
||||
// Статические переменные для хранения состояния между вызовами
|
||||
static int CanPowse; // Счетчик для управления CAN-шиной
|
||||
static unsigned int count_blink = 0, // Счетчик для мигания
|
||||
count_bright = 0, // Счетчик для управления яркостью
|
||||
count_mode, // Счетчик режимов мигания
|
||||
blink_over, // Флаг переключения состояния мигания
|
||||
blink_alarm, // Флаг мигания аварии
|
||||
power_lamp, // Состояние силовой лампы
|
||||
work_diod, // Состояние рабочего светодиода
|
||||
norm_diod; // Состояние нормального светодиода
|
||||
static int preTest; // Предыдущее состояние теста
|
||||
int TST; // Текущее состояние теста
|
||||
|
||||
// Константы времени
|
||||
#define CANPOWSE 10 // 10 msec - период обновления CAN
|
||||
#define BLINK_TIME 250 // 0.25 sec - период мигания
|
||||
|
||||
//=== ОБНОВЛЕНИЕ WATCHDOG ===//
|
||||
if(!cReset)
|
||||
IWDG->KR = 0xAAAA; // Сброс watchdog таймера
|
||||
|
||||
//=== ПРОВЕРКА АКТИВНОСТИ ТАЙМЕРА ===//
|
||||
if(!timGo) return; // Если таймер не активен - выход
|
||||
|
||||
//=== ЧТЕНИЕ ПЕРЕКЛЮЧАТЕЛЕЙ И КНОПОК ===//
|
||||
Jumpers.byt.byte_1 = ReadJumpers(); // Чтение состояния переключателей
|
||||
Jumpers.bit.bit0 = Buttons.bit.bit0 = TestJumper(); // Чтение состояния кнопки
|
||||
|
||||
//=== УПРАВЛЕНИЕ CAN-ШИНОЙ ===//
|
||||
if(++CanPowse >= CANPOWSE)
|
||||
{
|
||||
CanPowse = 0; // Сброс счетчика
|
||||
CanGO = 1; // Установка флага разрешения работы CAN
|
||||
}
|
||||
|
||||
//=== УПРАВЛЕНИЕ РЕЖИМОМ "ЗАСЫПАНИЯ" ===//
|
||||
if(Alarms.bit.bit8) // Разряд батареи
|
||||
{
|
||||
if (Falling_asleep) Falling_asleep--; // Уменьшение времени до "сна"
|
||||
}
|
||||
else
|
||||
Falling_asleep = 1000L * Sleep_time; // Установка времени до "сна"
|
||||
|
||||
//=== ОБРАБОТКА ТЕСТОВОГО РЕЖИМА ===//
|
||||
TST = TestJumper() | cTestLamp; // Текущее состояние теста (кнопка или команда)
|
||||
|
||||
if(TST & !preTest) // Обнаружение фронта нажатия кнопки
|
||||
{
|
||||
count_blink = BLINK_TIME; // Сброс счетчика мигания
|
||||
count_mode = 0; // Сброс счетчика режимов
|
||||
}
|
||||
preTest = TST; // Сохранение состояния для следующего вызова
|
||||
|
||||
//=== УПРАВЛЕНИЕ МИГАНИЕМ ИНДИКАТОРОВ ===//
|
||||
if(++count_blink >= BLINK_TIME)
|
||||
{
|
||||
count_blink = 0; // Сброс счетчика
|
||||
count_mode++; // Переключение режима
|
||||
blink_over = (count_mode & 1) ? 1 : 0; // Мигание 1:1 (50%)
|
||||
blink_alarm = (count_mode & 7) ? 1 : 0; // Мигание 1:7 (12.5%)
|
||||
}
|
||||
|
||||
//=== УСТАНОВКА СТАНДАРТНЫХ СОСТОЯНИЙ ИНДИКАТОРОВ ===//
|
||||
power_lamp = 1; // Силовая лампа включена
|
||||
norm_diod = 1; // Нормальный светодиод включен
|
||||
work_diod = !blink_over; // Рабочий светодиод синхронизирован с миганием
|
||||
|
||||
//=== РЕЖИМ ТЕСТИРОВАНИЯ ===//
|
||||
if(TST)
|
||||
{
|
||||
power_lamp = blink_over; // Мигание силовой лампы
|
||||
norm_diod = blink_over; // Мигание нормального светодиода
|
||||
work_diod = blink_over; // Мигание рабочего светодиода
|
||||
}
|
||||
//=== РЕЖИМ ОСВЕЩЕНИЯ ===//
|
||||
else if(Lightness)
|
||||
{
|
||||
power_lamp = norm_diod = 0; // Базовое состояние - выключено
|
||||
|
||||
// Уровень освещенности 2: постоянно включено
|
||||
if(Lightness == 2) power_lamp = norm_diod = 1;
|
||||
|
||||
// Уровень освещенности 3: медленное мигание (50%)
|
||||
if(Lightness == 3) power_lamp = norm_diod = blink_over;
|
||||
|
||||
// Уровень освещенности 4: быстрое мигание (12.5%)
|
||||
if(Lightness == 4) power_lamp = norm_diod = blink_alarm;
|
||||
|
||||
// Уровень освещенности 5: инверсное быстрое мигание (87.5%)
|
||||
if(Lightness == 5) power_lamp = norm_diod = !blink_alarm;
|
||||
}
|
||||
//=== РЕЖИМ ОШИБОК ===//
|
||||
else if(Errors.all)
|
||||
{
|
||||
power_lamp = blink_over; // Мигание при ошибках
|
||||
norm_diod = blink_over; // Мигание при ошибках
|
||||
}
|
||||
//=== РЕЖИМ ТРЕВОГ ===//
|
||||
else if(Alarms.all)
|
||||
{
|
||||
power_lamp = blink_alarm; // Быстрое мигание при тревогах
|
||||
norm_diod = blink_alarm; // Быстрое мигание при тревогах
|
||||
}
|
||||
|
||||
//=== ШИМ УПРАВЛЕНИЕ ЯРКОСТЬЮ СИЛОВОЙ ЛАМПЫ ===//
|
||||
if(++count_bright == 10) // maximum_bright (100%)
|
||||
{
|
||||
count_bright = 0;
|
||||
if(power_lamp) Pvt1_ON; // Включение на полную яркость
|
||||
else Pvt1_OFF; // Выключение
|
||||
}
|
||||
|
||||
//=== УПРАВЛЕНИЕ ЯРКОСТЬЮ ===//
|
||||
if(count_bright == Brightness)
|
||||
if(!TST) Pvt1_OFF; // Отключение лампочки с регулировкой яркости
|
||||
|
||||
//=== УПРАВЛЕНИЕ СВЕТОДИОДАМИ ===//
|
||||
if(work_diod) LED_2_ON; // Включение рабочего светодиода
|
||||
else LED_2_OFF; // Выключение рабочего светодиода
|
||||
|
||||
if(norm_diod) LED_3_ON; // Включение нормального светодиода
|
||||
else LED_3_OFF; // Выключение нормального светодиода
|
||||
}
|
||||
|
||||
|
||||
/////////////////////////////////////////////
|
||||
|
||||
/* USER CODE END 4 */
|
||||
|
||||
@@ -165,12 +602,15 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
||||
{
|
||||
/* USER CODE BEGIN Callback 0 */
|
||||
|
||||
if(htim->Instance == TIM4) //check if the interrupt comes from TIM4
|
||||
ReadSeanus();
|
||||
|
||||
/* USER CODE END Callback 0 */
|
||||
if (htim->Instance == TIM8) {
|
||||
HAL_IncTick();
|
||||
}
|
||||
Millisecond();
|
||||
}
|
||||
/* USER CODE BEGIN Callback 1 */
|
||||
|
||||
/* USER CODE END Callback 1 */
|
||||
}
|
||||
|
||||
|
||||
129
Core/Src/message.c
Normal file
129
Core/Src/message.c
Normal file
@@ -0,0 +1,129 @@
|
||||
#include "stm32f1xx_hal.h"
|
||||
|
||||
#include "struc.h"
|
||||
#include "crc16.h"
|
||||
#include "package.h"
|
||||
#include "message.h"
|
||||
#include "eeprom.h"
|
||||
|
||||
uint16_t params[Modbus_LEN+1],
|
||||
modbus[Modbus_LEN],
|
||||
archiv[Modbus_LEN],
|
||||
county[Modbus_LEN],
|
||||
espero[Modbus_LEN];
|
||||
|
||||
uint16_t Mode;
|
||||
|
||||
LONGE* outputs;
|
||||
|
||||
void Init_packMask(void);
|
||||
|
||||
uint16_t Maska[2][8];
|
||||
|
||||
|
||||
void Default_params()
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for(i=0;i<Modbus_LEN;i++)
|
||||
{
|
||||
modbus[i] = 0;
|
||||
}
|
||||
|
||||
Alarm_mask.all = 0x3FFF;
|
||||
Alarm_mask.bit.bit7 = 0; // Заряд накопителя
|
||||
Alarm_mask.bit.bitC = 0; // резерв
|
||||
|
||||
Error_mask.all = 0;
|
||||
Error_mask.bit.bit9 = 1; // Авария в сети 24 В
|
||||
|
||||
for(i=0;i<4;i++)
|
||||
Squazh_L[i] = 90;
|
||||
|
||||
LastMode = Mode;
|
||||
|
||||
Sleep_time = 60; // минута чтобы отключиться
|
||||
|
||||
Cancount[m_FAST] = 5; // * 10msec, пауза между посылками CAN
|
||||
Cancount[m_SLOW] = 100; // * 10msec, пауза между посылками CAN
|
||||
|
||||
CanWait[m_FAST] = 1; // * 10msec, пауза после цикла
|
||||
CanWait[m_SLOW] = 1; // * 10msec, пауза после цикла
|
||||
|
||||
CanRestart[m_FAST] = 500; // * 10msec, перезапуск посылки
|
||||
CanRestart[m_SLOW] = 1000; // * 10msec, перезапуск посылки
|
||||
|
||||
CanRptVez = 3; // кол-во повторений посылки «keys»
|
||||
CanRptLen = 3; // длина повтораемой посылки «keys»
|
||||
|
||||
Brightness = 10;
|
||||
|
||||
Protokol = PROTOKOL;
|
||||
}
|
||||
|
||||
void Load_params()
|
||||
{
|
||||
unsigned int i,crc;
|
||||
unsigned int adr = FLASH_EEPROM_BASE;
|
||||
|
||||
for(int j=0; j<Modbus_LEN+1; j+=1)
|
||||
{
|
||||
params[j] = watInTheFlash(adr) & 0xFFFF;
|
||||
adr += 0x2;
|
||||
}
|
||||
crc = get_crc16(params,Modbus_LEN);
|
||||
if( (crc==params[Modbus_LEN]) &&
|
||||
(crc !=0xFFFF) &&
|
||||
(Mode == params[126]))
|
||||
{
|
||||
for(i=0;i<Modbus_LEN;i++) modbus[i] = params[i];
|
||||
Commands=0;
|
||||
}
|
||||
else
|
||||
{
|
||||
Default_params();
|
||||
Save_params();
|
||||
}
|
||||
|
||||
Init_packMask();
|
||||
}
|
||||
|
||||
void Save_params()
|
||||
{
|
||||
unsigned int i,dif=0;
|
||||
|
||||
for(i=0;i<Modbus_LEN;i++)
|
||||
if(params[i] != modbus[i])
|
||||
{
|
||||
params[i] = modbus[i];
|
||||
dif=1;
|
||||
}
|
||||
if(dif)
|
||||
{
|
||||
params[Modbus_LEN] = get_crc16(params,Modbus_LEN);
|
||||
putIntoEeprom(Modbus_LEN+1, params);
|
||||
} }
|
||||
|
||||
void Init_packMask()
|
||||
{
|
||||
int i;
|
||||
|
||||
for(i=0;i<8;i++)
|
||||
{
|
||||
Maska[m_FAST][i] = 0;
|
||||
Maska[m_SLOW][i] = 0;
|
||||
}
|
||||
|
||||
Maska[m_FAST][0]|= 0x0007; // Дискретные входы, неисправности и аварии
|
||||
Maska[m_SLOW][0]|= 0x0300; // Маски на неисправности и аварии
|
||||
Maska[m_SLOW][1]|= 0x0003; // Состояние джамперов
|
||||
Maska[m_SLOW][1]|= 0x0F00; // Скважность датчика напряжения
|
||||
Maska[m_SLOW][3]|= 0x000F; // Аварийная уставка скважности
|
||||
Maska[m_SLOW][4]|= 0x0100; // Время автоматического отключения
|
||||
Maska[m_SLOW][6]|= 0x05FF; // Яркость лампы и периоды посылок
|
||||
Maska[m_FAST][7]|= 0x0100; // Счетчик посылок
|
||||
Maska[m_SLOW][7]|= 0x0E00; // Счетчик посылок
|
||||
Maska[m_SLOW][7]|= 0xE000; // Протокол, адрес, команды
|
||||
}
|
||||
|
||||
|
||||
@@ -244,6 +244,20 @@ void TIM4_IRQHandler(void)
|
||||
/* USER CODE END TIM4_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles EXTI line[15:10] interrupts.
|
||||
*/
|
||||
void EXTI15_10_IRQHandler(void)
|
||||
{
|
||||
/* USER CODE BEGIN EXTI15_10_IRQn 0 */
|
||||
|
||||
/* USER CODE END EXTI15_10_IRQn 0 */
|
||||
HAL_GPIO_EXTI_IRQHandler(IN_07_Pin);
|
||||
/* USER CODE BEGIN EXTI15_10_IRQn 1 */
|
||||
|
||||
/* USER CODE END EXTI15_10_IRQn 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief This function handles TIM8 update interrupt.
|
||||
*/
|
||||
|
||||
@@ -42,7 +42,8 @@
|
||||
*
|
||||
******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef SYSTEM_STM32F1XX_C
|
||||
#define SYSTEM_STM32F1XX_C
|
||||
/** @addtogroup CMSIS
|
||||
* @{
|
||||
*/
|
||||
@@ -404,3 +405,5 @@ void SystemInit_ExtMemCtl(void)
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
#endif /* SYSTEM_STM32F1XX_C */
|
||||
|
||||
@@ -24,8 +24,49 @@
|
||||
|
||||
/* USER CODE END 0 */
|
||||
|
||||
TIM_HandleTypeDef htim2;
|
||||
TIM_HandleTypeDef htim4;
|
||||
|
||||
/* TIM2 init function */
|
||||
void MX_TIM2_Init(void)
|
||||
{
|
||||
|
||||
/* USER CODE BEGIN TIM2_Init 0 */
|
||||
|
||||
/* USER CODE END TIM2_Init 0 */
|
||||
|
||||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||||
|
||||
/* USER CODE BEGIN TIM2_Init 1 */
|
||||
|
||||
/* USER CODE END TIM2_Init 1 */
|
||||
htim2.Instance = TIM2;
|
||||
htim2.Init.Prescaler = 64-1;
|
||||
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||||
htim2.Init.Period = 65535;
|
||||
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||||
htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||||
if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||||
if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
||||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||||
if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
|
||||
{
|
||||
Error_Handler();
|
||||
}
|
||||
/* USER CODE BEGIN TIM2_Init 2 */
|
||||
|
||||
/* USER CODE END TIM2_Init 2 */
|
||||
|
||||
}
|
||||
/* TIM4 init function */
|
||||
void MX_TIM4_Init(void)
|
||||
{
|
||||
@@ -63,6 +104,10 @@ void MX_TIM4_Init(void)
|
||||
}
|
||||
/* USER CODE BEGIN TIM4_Init 2 */
|
||||
|
||||
HAL_TIM_Base_MspInit(&htim4);
|
||||
|
||||
HAL_TIM_Base_Start_IT(&htim4);
|
||||
|
||||
/* USER CODE END TIM4_Init 2 */
|
||||
|
||||
}
|
||||
@@ -70,7 +115,18 @@ void MX_TIM4_Init(void)
|
||||
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
|
||||
{
|
||||
|
||||
if(tim_baseHandle->Instance==TIM4)
|
||||
if(tim_baseHandle->Instance==TIM2)
|
||||
{
|
||||
/* USER CODE BEGIN TIM2_MspInit 0 */
|
||||
|
||||
/* USER CODE END TIM2_MspInit 0 */
|
||||
/* TIM2 clock enable */
|
||||
__HAL_RCC_TIM2_CLK_ENABLE();
|
||||
/* USER CODE BEGIN TIM2_MspInit 1 */
|
||||
|
||||
/* USER CODE END TIM2_MspInit 1 */
|
||||
}
|
||||
else if(tim_baseHandle->Instance==TIM4)
|
||||
{
|
||||
/* USER CODE BEGIN TIM4_MspInit 0 */
|
||||
|
||||
@@ -90,7 +146,18 @@ void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
|
||||
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
|
||||
{
|
||||
|
||||
if(tim_baseHandle->Instance==TIM4)
|
||||
if(tim_baseHandle->Instance==TIM2)
|
||||
{
|
||||
/* USER CODE BEGIN TIM2_MspDeInit 0 */
|
||||
|
||||
/* USER CODE END TIM2_MspDeInit 0 */
|
||||
/* Peripheral clock disable */
|
||||
__HAL_RCC_TIM2_CLK_DISABLE();
|
||||
/* USER CODE BEGIN TIM2_MspDeInit 1 */
|
||||
|
||||
/* USER CODE END TIM2_MspDeInit 1 */
|
||||
}
|
||||
else if(tim_baseHandle->Instance==TIM4)
|
||||
{
|
||||
/* USER CODE BEGIN TIM4_MspDeInit 0 */
|
||||
|
||||
|
||||
36
MDK-ARM/DebugConfig/bootloader_STM32F103RC_1.0.0.dbgconf
Normal file
36
MDK-ARM/DebugConfig/bootloader_STM32F103RC_1.0.0.dbgconf
Normal file
@@ -0,0 +1,36 @@
|
||||
// File: STM32F101_102_103_105_107.dbgconf
|
||||
// Version: 1.0.0
|
||||
// Note: refer to STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx Reference manual (RM0008)
|
||||
// STM32F101xx STM32F102xx STM32F103xx STM32F105xx STM32F107xx datasheets
|
||||
|
||||
// <<< Use Configuration Wizard in Context Menu >>>
|
||||
|
||||
// <h> Debug MCU configuration register (DBGMCU_CR)
|
||||
// <i> Reserved bits must be kept at reset value
|
||||
// <o.30> DBG_TIM11_STOP <i> TIM11 counter stopped when core is halted
|
||||
// <o.29> DBG_TIM10_STOP <i> TIM10 counter stopped when core is halted
|
||||
// <o.28> DBG_TIM9_STOP <i> TIM9 counter stopped when core is halted
|
||||
// <o.27> DBG_TIM14_STOP <i> TIM14 counter stopped when core is halted
|
||||
// <o.26> DBG_TIM13_STOP <i> TIM13 counter stopped when core is halted
|
||||
// <o.25> DBG_TIM12_STOP <i> TIM12 counter stopped when core is halted
|
||||
// <o.21> DBG_CAN2_STOP <i> Debug CAN2 stopped when core is halted
|
||||
// <o.20> DBG_TIM7_STOP <i> TIM7 counter stopped when core is halted
|
||||
// <o.19> DBG_TIM6_STOP <i> TIM6 counter stopped when core is halted
|
||||
// <o.18> DBG_TIM5_STOP <i> TIM5 counter stopped when core is halted
|
||||
// <o.17> DBG_TIM8_STOP <i> TIM8 counter stopped when core is halted
|
||||
// <o.16> DBG_I2C2_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
|
||||
// <o.15> DBG_I2C1_SMBUS_TIMEOUT <i> SMBUS timeout mode stopped when core is halted
|
||||
// <o.14> DBG_CAN1_STOP <i> Debug CAN1 stopped when Core is halted
|
||||
// <o.13> DBG_TIM4_STOP <i> TIM4 counter stopped when core is halted
|
||||
// <o.12> DBG_TIM3_STOP <i> TIM3 counter stopped when core is halted
|
||||
// <o.11> DBG_TIM2_STOP <i> TIM2 counter stopped when core is halted
|
||||
// <o.10> DBG_TIM1_STOP <i> TIM1 counter stopped when core is halted
|
||||
// <o.9> DBG_WWDG_STOP <i> Debug window watchdog stopped when core is halted
|
||||
// <o.8> DBG_IWDG_STOP <i> Debug independent watchdog stopped when core is halted
|
||||
// <o.2> DBG_STANDBY <i> Debug standby mode
|
||||
// <o.1> DBG_STOP <i> Debug stop mode
|
||||
// <o.0> DBG_SLEEP <i> Debug sleep mode
|
||||
// </h>
|
||||
DbgMCU_CR = 0x00000007;
|
||||
|
||||
// <<< end of configuration section >>>
|
||||
3439
MDK-ARM/JLinkLog.txt
3439
MDK-ARM/JLinkLog.txt
@@ -1,3439 +0,0 @@
|
||||
T1658 000:005.620 SEGGER J-Link V8.10g Log File
|
||||
T1658 000:005.746 DLL Compiled: Nov 14 2024 08:38:33
|
||||
T1658 000:005.753 Logging started @ 2025-08-22 13:12
|
||||
T1658 000:005.760 Process: C:\Keil_v5\UV4\UV4.exe
|
||||
T1658 000:005.776 - 5.766ms
|
||||
T1658 000:005.786 JLINK_SetWarnOutHandler(...)
|
||||
T1658 000:005.793 - 0.008ms
|
||||
T1658 000:005.804 JLINK_OpenEx(...)
|
||||
T1658 000:009.414 Firmware: J-Link V9 compiled May 7 2021 16:26:12
|
||||
T1658 000:010.216 Firmware: J-Link V9 compiled May 7 2021 16:26:12
|
||||
T1658 000:010.402 Decompressing FW timestamp took 147 us
|
||||
T1658 000:016.199 Hardware: V9.10
|
||||
T1658 000:016.210 S/N: 60145543
|
||||
T1658 000:016.216 OEM: SEGGER
|
||||
T1658 000:016.223 Feature(s): RDI, FlashBP, FlashDL, JFlash, GDB
|
||||
T1658 000:016.772 Bootloader: (FW returned invalid version)
|
||||
T1658 000:017.442 TELNET listener socket opened on port 19021
|
||||
T1658 000:017.583 WEBSRV WEBSRV_Init(): Starting webserver thread(s)
|
||||
T1658 000:017.700 WEBSRV Webserver running on local port 19080
|
||||
T1658 000:017.791 Looking for J-Link GUI Server exe at: C:\Keil_v5\ARM\Segger\JLinkGUIServer.exe
|
||||
T1658 000:017.880 Looking for J-Link GUI Server exe at: C:\Program Files\SEGGER\JLink_V810g\JLinkGUIServer.exe
|
||||
T1658 000:017.916 Forking J-Link GUI Server: C:\Program Files\SEGGER\JLink_V810g\JLinkGUIServer.exe
|
||||
T1658 000:040.393 J-Link GUI Server info: "J-Link GUI server V8.10g "
|
||||
T1658 000:042.131 - 36.321ms returns "O.K."
|
||||
T1658 000:042.148 JLINK_GetEmuCaps()
|
||||
T1658 000:042.156 - 0.005ms returns 0xB9FF7BBF
|
||||
T1658 000:042.162 JLINK_TIF_GetAvailable(...)
|
||||
T1658 000:042.330 - 0.167ms
|
||||
T1658 000:042.339 JLINK_SetErrorOutHandler(...)
|
||||
T1658 000:042.344 - 0.004ms
|
||||
T1658 000:042.369 JLINK_ExecCommand("ProjectFile = "F:\set\from_Dima_Bog\UKSVEP_23550.2_WD\MDK-ARM\JLinkSettings.ini"", ...).
|
||||
T1658 000:053.779 Ref file found at: C:\Keil_v5\ARM\Segger\JLinkDevices.ref
|
||||
T1658 000:053.889 REF file references invalid XML file: C:\Program Files\SEGGER\JLink_V810g\JLinkDevices.xml
|
||||
T1658 000:055.392 - 13.024ms returns 0x00
|
||||
T1658 000:057.630 JLINK_ExecCommand("Device = STM32F103RC", ...).
|
||||
T1658 000:060.295 Device "STM32F103RC" selected.
|
||||
T1658 000:060.564 - 2.918ms returns 0x00
|
||||
T1658 000:060.576 JLINK_ExecCommand("DisableConnectionTimeout", ...).
|
||||
T1658 000:060.590 ERROR: Unknown command
|
||||
T1658 000:060.597 - 0.015ms returns 0x01
|
||||
T1658 000:060.603 JLINK_GetHardwareVersion()
|
||||
T1658 000:060.608 - 0.004ms returns 91000
|
||||
T1658 000:060.614 JLINK_GetDLLVersion()
|
||||
T1658 000:060.618 - 0.004ms returns 81007
|
||||
T1658 000:060.625 JLINK_GetOEMString(...)
|
||||
T1658 000:060.631 JLINK_GetFirmwareString(...)
|
||||
T1658 000:060.636 - 0.005ms
|
||||
T1658 000:065.091 JLINK_GetDLLVersion()
|
||||
T1658 000:065.103 - 0.012ms returns 81007
|
||||
T1658 000:065.109 JLINK_GetCompileDateTime()
|
||||
T1658 000:065.114 - 0.004ms
|
||||
T1658 000:066.568 JLINK_GetFirmwareString(...)
|
||||
T1658 000:066.578 - 0.010ms
|
||||
T1658 000:068.063 JLINK_GetHardwareVersion()
|
||||
T1658 000:068.073 - 0.009ms returns 91000
|
||||
T1658 000:069.746 JLINK_GetSN()
|
||||
T1658 000:069.765 - 0.019ms returns 60145543
|
||||
T1658 000:074.618 JLINK_GetOEMString(...)
|
||||
T1658 000:078.137 JLINK_TIF_Select(JLINKARM_TIF_JTAG)
|
||||
T1658 000:078.871 - 0.733ms returns 0x00
|
||||
T1658 000:078.882 JLINK_HasError()
|
||||
T1658 000:078.893 JLINK_SetSpeed(25000)
|
||||
T1658 000:078.943 - 0.049ms
|
||||
T1658 000:078.952 JLINK_GetIdData(pIdData)
|
||||
T1658 000:080.495 InitTarget() start
|
||||
T1658 000:080.508 J-Link Script File: Executing InitTarget()
|
||||
T1658 000:082.064 JTAG selected. Identifying JTAG Chain...
|
||||
T1658 000:084.272 TotalIRLen = 9, IRPrint = 0x0011
|
||||
T1658 000:086.160 JTAG chain detection found 2 devices:
|
||||
T1658 000:087.730 #0 Id: 0x3BA00477, IRLen: 04, CoreSight JTAG-DP
|
||||
T1658 000:089.214 #1 Id: 0x06414041, IRLen: 05, STM32 Boundary Scan
|
||||
T1658 000:090.699 JTAG Chain Identified. Connecting to DAP TAP...
|
||||
T1658 000:092.447 Successfully connected to selected DAP TAP.
|
||||
T1658 000:095.495 DAP initialized successfully.
|
||||
T1658 000:100.019 InitTarget() end - Took 17.9ms
|
||||
T1658 000:102.272 TotalIRLen = 9, IRPrint = 0x0011
|
||||
T1658 000:104.322 JTAG chain detection found 2 devices:
|
||||
T1658 000:111.474 #0 Id: 0x3BA00477, IRLen: 04, CoreSight JTAG-DP
|
||||
T1658 000:115.292 #1 Id: 0x06414041, IRLen: 05, STM32 Boundary Scan
|
||||
T1658 000:120.619 DPv0 detected
|
||||
T1658 000:123.298 Scanning AP map to find all available APs
|
||||
T1658 000:126.315 AP[1]: Stopped AP scan as end of AP map has been reached
|
||||
T1658 000:128.460 AP[0]: AHB-AP (IDR: 0x14770011, ADDR: 0x00000000)
|
||||
T1658 000:130.579 Iterating through AP map to find AHB-AP to use
|
||||
T1658 000:133.273 AP[0]: Core found
|
||||
T1658 000:135.121 AP[0]: AHB-AP ROM base: 0xE00FF000
|
||||
T1658 000:137.350 CPUID register: 0x411FC231. Implementer code: 0x41 (ARM)
|
||||
T1658 000:144.287 Found Cortex-M3 r1p1, Little endian.
|
||||
T1658 000:144.880 -- Max. mem block: 0x00010E60
|
||||
T1658 000:145.997 CPU_ReadMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 000:146.370 CPU_ReadMem(4 bytes @ 0xE0002000)
|
||||
T1658 000:150.506 FPUnit: 6 code (BP) slots and 2 literal slots
|
||||
T1658 000:150.540 CPU_ReadMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 000:150.849 CPU_WriteMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 000:151.164 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:151.451 CPU_WriteMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:151.754 CPU_ReadMem(4 bytes @ 0xE000ED88)
|
||||
T1658 000:151.983 CPU_WriteMem(4 bytes @ 0xE000ED88)
|
||||
T1658 000:152.227 CPU_ReadMem(4 bytes @ 0xE000ED88)
|
||||
T1658 000:152.534 CPU_WriteMem(4 bytes @ 0xE000ED88)
|
||||
T1658 000:155.898 CoreSight components:
|
||||
T1658 000:158.494 ROMTbl[0] @ E00FF000
|
||||
T1658 000:158.517 CPU_ReadMem(64 bytes @ 0xE00FF000)
|
||||
T1658 000:158.878 CPU_ReadMem(32 bytes @ 0xE000EFE0)
|
||||
T1658 000:161.628 [0][0]: E000E000 CID B105E00D PID 001BB000 SCS
|
||||
T1658 000:161.647 CPU_ReadMem(32 bytes @ 0xE0001FE0)
|
||||
T1658 000:164.275 [0][1]: E0001000 CID B105E00D PID 001BB002 DWT
|
||||
T1658 000:164.297 CPU_ReadMem(32 bytes @ 0xE0002FE0)
|
||||
T1658 000:166.680 [0][2]: E0002000 CID B105E00D PID 000BB003 FPB
|
||||
T1658 000:166.697 CPU_ReadMem(32 bytes @ 0xE0000FE0)
|
||||
T1658 000:168.988 [0][3]: E0000000 CID B105E00D PID 001BB001 ITM
|
||||
T1658 000:169.014 CPU_ReadMem(32 bytes @ 0xE0040FE0)
|
||||
T1658 000:171.260 [0][4]: E0040000 CID B105900D PID 001BB923 TPIU-Lite
|
||||
T1658 000:171.278 CPU_ReadMem(32 bytes @ 0xE0041FE0)
|
||||
T1658 000:173.217 [0][5]: E0041000 CID B105900D PID 101BB924 ETM-M3
|
||||
T1658 000:173.259 pIdData->ScanLen=9
|
||||
T1658 000:173.268 pIdData->NumDevices=2
|
||||
T1658 000:173.274 pIdData->aId[0]=0x3BA00477
|
||||
T1658 000:173.281 pIdData->aIrRead[0]=0
|
||||
T1658 000:173.288 pIdData->aScanLen[0]=0
|
||||
T1658 000:173.295 pIdData->aScanRead[0]=0
|
||||
T1658 000:173.302 - 94.350ms
|
||||
T1658 000:173.316 JLINK_JTAG_GetDeviceID(DeviceIndex = 0)
|
||||
T1658 000:173.321 - 0.007ms returns 1000342647
|
||||
T1658 000:173.327 JLINK_JTAG_GetDeviceInfo(DeviceIndex = 0)
|
||||
T1658 000:173.332 - 0.005ms returns 0
|
||||
T1658 000:173.338 JLINK_JTAG_GetDeviceID(DeviceIndex = 1)
|
||||
T1658 000:173.343 - 0.005ms returns 104939585
|
||||
T1658 000:173.350 JLINK_JTAG_GetDeviceInfo(DeviceIndex = 1)
|
||||
T1658 000:173.355 - 0.004ms returns 0
|
||||
T1658 000:173.362 JLINK_GetDLLVersion()
|
||||
T1658 000:173.367 - 0.004ms returns 81007
|
||||
T1658 000:173.374 JLINK_CORE_GetFound()
|
||||
T1658 000:173.379 - 0.005ms returns 0x30000FF
|
||||
T1658 000:173.386 JLINK_GetDebugInfo(0x100 = JLINKARM_ROM_TABLE_ADDR_INDEX)
|
||||
T1658 000:173.391 Value=0xE00FF000
|
||||
T1658 000:173.398 - 0.012ms returns 0
|
||||
T1658 000:175.011 JLINK_GetDebugInfo(0x100 = JLINKARM_ROM_TABLE_ADDR_INDEX)
|
||||
T1658 000:175.022 Value=0xE00FF000
|
||||
T1658 000:175.030 - 0.018ms returns 0
|
||||
T1658 000:175.036 JLINK_GetDebugInfo(0x101 = JLINKARM_DEBUG_INFO_ETM_ADDR_INDEX)
|
||||
T1658 000:175.041 Value=0xE0041000
|
||||
T1658 000:175.048 - 0.012ms returns 0
|
||||
T1658 000:175.054 JLINK_ReadMemEx(0xE0041FD0, 0x20 Bytes, Flags = 0x02000004)
|
||||
T1658 000:175.083 CPU_ReadMem(32 bytes @ 0xE0041FD0)
|
||||
T1658 000:175.399 Data: 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...
|
||||
T1658 000:175.409 - 0.355ms returns 32 (0x20)
|
||||
T1658 000:175.416 JLINK_GetDebugInfo(0x102 = JLINKARM_DEBUG_INFO_MTB_ADDR_INDEX)
|
||||
T1658 000:175.421 Value=0x00000000
|
||||
T1658 000:175.428 - 0.012ms returns 0
|
||||
T1658 000:175.434 JLINK_GetDebugInfo(0x103 = JLINKARM_DEBUG_INFO_TPIU_ADDR_INDEX)
|
||||
T1658 000:175.483 Value=0xE0040000
|
||||
T1658 000:175.492 - 0.058ms returns 0
|
||||
T1658 000:175.499 JLINK_GetDebugInfo(0x104 = JLINKARM_DEBUG_INFO_ITM_ADDR_INDEX)
|
||||
T1658 000:175.503 Value=0xE0000000
|
||||
T1658 000:175.510 - 0.012ms returns 0
|
||||
T1658 000:175.516 JLINK_GetDebugInfo(0x105 = JLINKARM_DEBUG_INFO_DWT_ADDR_INDEX)
|
||||
T1658 000:175.521 Value=0xE0001000
|
||||
T1658 000:175.528 - 0.011ms returns 0
|
||||
T1658 000:175.533 JLINK_GetDebugInfo(0x106 = JLINKARM_DEBUG_INFO_FPB_ADDR_INDEX)
|
||||
T1658 000:175.538 Value=0xE0002000
|
||||
T1658 000:175.545 - 0.011ms returns 0
|
||||
T1658 000:175.551 JLINK_GetDebugInfo(0x107 = JLINKARM_DEBUG_INFO_NVIC_ADDR_INDEX)
|
||||
T1658 000:175.555 Value=0xE000E000
|
||||
T1658 000:175.562 - 0.011ms returns 0
|
||||
T1658 000:175.568 JLINK_GetDebugInfo(0x10C = JLINKARM_DEBUG_INFO_DBG_ADDR_INDEX)
|
||||
T1658 000:175.573 Value=0xE000EDF0
|
||||
T1658 000:175.580 - 0.011ms returns 0
|
||||
T1658 000:175.585 JLINK_GetDebugInfo(0x01 = Unknown)
|
||||
T1658 000:175.590 Value=0x00000000
|
||||
T1658 000:175.597 - 0.012ms returns 0
|
||||
T1658 000:175.603 JLINK_ReadMemU32(0xE000ED00, 0x1 Items)
|
||||
T1658 000:175.611 CPU_ReadMem(4 bytes @ 0xE000ED00)
|
||||
T1658 000:175.840 Data: 31 C2 1F 41
|
||||
T1658 000:175.849 Debug reg: CPUID
|
||||
T1658 000:175.856 - 0.253ms returns 1 (0x1)
|
||||
T1658 000:175.863 JLINK_GetDebugInfo(0x10F = JLINKARM_DEBUG_INFO_HAS_CORTEX_M_SECURITY_EXT_INDEX)
|
||||
T1658 000:175.868 Value=0x00000000
|
||||
T1658 000:175.875 - 0.012ms returns 0
|
||||
T1658 000:175.881 JLINK_HasError()
|
||||
T1658 000:175.887 JLINK_SetResetType(JLINKARM_CM3_RESET_TYPE_NORMAL)
|
||||
T1658 000:175.892 - 0.005ms returns JLINKARM_CM3_RESET_TYPE_NORMAL
|
||||
T1658 000:175.898 JLINK_Reset()
|
||||
T1658 000:175.906 JLINK_GetResetTypeDesc
|
||||
T1658 000:175.911 - 0.005ms
|
||||
T1658 000:177.493 Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies)
|
||||
T1658 000:177.510 CPU is running
|
||||
T1658 000:177.518 CPU_WriteMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 000:177.714 CPU is running
|
||||
T1658 000:177.723 CPU_WriteMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 000:179.476 Reset: Halt core after reset via DEMCR.VC_CORERESET.
|
||||
T1658 000:181.504 Reset: Reset device via AIRCR.SYSRESETREQ.
|
||||
T1658 000:181.526 CPU is running
|
||||
T1658 000:181.537 CPU_WriteMem(4 bytes @ 0xE000ED0C)
|
||||
T1658 000:233.134 CPU_ReadMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 000:233.627 CPU_ReadMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 000:235.683 CPU_WriteMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 000:242.278 CPU_ReadMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 000:243.914 CPU_WriteMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 000:244.296 CPU_WriteMem(4 bytes @ 0xE0001028)
|
||||
T1658 000:244.737 CPU_WriteMem(4 bytes @ 0xE0001038)
|
||||
T1658 000:245.160 CPU_WriteMem(4 bytes @ 0xE0001048)
|
||||
T1658 000:245.582 CPU_WriteMem(4 bytes @ 0xE0001058)
|
||||
T1658 000:246.029 CPU_WriteMem(4 bytes @ 0xE0002000)
|
||||
T1658 000:246.456 CPU_ReadMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 000:246.880 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:247.332 - 71.430ms
|
||||
T1658 000:247.401 JLINK_Halt()
|
||||
T1658 000:247.426 - 0.024ms returns 0x00
|
||||
T1658 000:247.458 JLINK_ReadMemU32(0xE000EDF0, 0x1 Items)
|
||||
T1658 000:247.501 CPU_ReadMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 000:247.937 Data: 03 00 03 00
|
||||
T1658 000:248.004 Debug reg: DHCSR
|
||||
T1658 000:248.037 - 0.579ms returns 1 (0x1)
|
||||
T1658 000:248.075 JLINK_WriteU32(0xE000EDF0, 0xA05F0003)
|
||||
T1658 000:248.098 Debug reg: DHCSR
|
||||
T1658 000:249.145 CPU_WriteMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 000:249.593 - 1.517ms returns 0 (0x00000000)
|
||||
T1658 000:249.636 JLINK_WriteU32(0xE000EDFC, 0x01000000)
|
||||
T1658 000:249.660 Debug reg: DEMCR
|
||||
T1658 000:249.704 CPU_WriteMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 000:250.135 - 0.498ms returns 0 (0x00000000)
|
||||
T1658 000:271.785 JLINK_GetHWStatus(...)
|
||||
T1658 000:272.008 - 0.222ms returns 0
|
||||
T1658 000:279.765 JLINK_GetNumBPUnits(Type = 0xFFFFFF00)
|
||||
T1658 000:279.785 - 0.019ms returns 0x06
|
||||
T1658 000:279.794 JLINK_GetNumBPUnits(Type = 0xF0)
|
||||
T1658 000:279.802 - 0.007ms returns 0x2000
|
||||
T1658 000:279.810 JLINK_GetNumWPUnits()
|
||||
T1658 000:279.817 - 0.007ms returns 4
|
||||
T1658 000:285.862 JLINK_GetSpeed()
|
||||
T1658 000:285.882 - 0.019ms returns 15000
|
||||
T1658 000:289.552 JLINK_ReadMemU32(0xE000E004, 0x1 Items)
|
||||
T1658 000:289.587 CPU_ReadMem(4 bytes @ 0xE000E004)
|
||||
T1658 000:289.882 Data: 01 00 00 00
|
||||
T1658 000:289.898 - 0.345ms returns 1 (0x1)
|
||||
T1658 000:289.907 JLINK_ReadMemU32(0xE000E004, 0x1 Items)
|
||||
T1658 000:289.917 CPU_ReadMem(4 bytes @ 0xE000E004)
|
||||
T1658 000:290.169 Data: 01 00 00 00
|
||||
T1658 000:290.184 - 0.277ms returns 1 (0x1)
|
||||
T1658 000:290.193 JLINK_WriteMemEx(0xE0001000, 0x0000001C Bytes, Flags = 0x02000004)
|
||||
T1658 000:290.199 Data: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ...
|
||||
T1658 000:290.214 CPU_WriteMem(28 bytes @ 0xE0001000)
|
||||
T1658 000:290.556 - 0.363ms returns 0x1C
|
||||
T1658 000:290.574 JLINK_Halt()
|
||||
T1658 000:290.580 - 0.006ms returns 0x00
|
||||
T1658 000:290.587 JLINK_IsHalted()
|
||||
T1658 000:290.593 - 0.006ms returns TRUE
|
||||
T1658 000:292.802 JLINK_WriteMem(0x20000000, 0x164 Bytes, ...)
|
||||
T1658 000:292.811 Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ...
|
||||
T1658 000:293.031 CPU_WriteMem(356 bytes @ 0x20000000)
|
||||
T1658 000:294.024 - 1.222ms returns 0x164
|
||||
T1658 000:294.051 JLINK_HasError()
|
||||
T1658 000:294.059 JLINK_WriteReg(R0, 0x08000000)
|
||||
T1658 000:294.066 - 0.007ms returns 0
|
||||
T1658 000:294.072 JLINK_WriteReg(R1, 0x007A1200)
|
||||
T1658 000:294.077 - 0.005ms returns 0
|
||||
T1658 000:294.083 JLINK_WriteReg(R2, 0x00000001)
|
||||
T1658 000:294.088 - 0.005ms returns 0
|
||||
T1658 000:294.094 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:294.099 - 0.005ms returns 0
|
||||
T1658 000:294.104 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:294.109 - 0.005ms returns 0
|
||||
T1658 000:294.119 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:294.124 - 0.005ms returns 0
|
||||
T1658 000:294.130 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:294.135 - 0.005ms returns 0
|
||||
T1658 000:294.141 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:294.146 - 0.005ms returns 0
|
||||
T1658 000:294.161 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:294.167 - 0.015ms returns 0
|
||||
T1658 000:294.173 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:294.178 - 0.005ms returns 0
|
||||
T1658 000:294.184 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:294.189 - 0.005ms returns 0
|
||||
T1658 000:294.195 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:294.200 - 0.005ms returns 0
|
||||
T1658 000:294.206 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:294.211 - 0.005ms returns 0
|
||||
T1658 000:294.217 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:294.222 - 0.005ms returns 0
|
||||
T1658 000:294.228 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:294.233 - 0.005ms returns 0
|
||||
T1658 000:294.243 JLINK_WriteReg(R15 (PC), 0x20000038)
|
||||
T1658 000:294.249 - 0.010ms returns 0
|
||||
T1658 000:294.255 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:294.260 - 0.005ms returns 0
|
||||
T1658 000:294.265 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:294.270 - 0.005ms returns 0
|
||||
T1658 000:294.276 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:294.281 - 0.005ms returns 0
|
||||
T1658 000:294.287 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:294.292 - 0.005ms returns 0
|
||||
T1658 000:294.298 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:294.306 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:294.559 - 0.260ms returns 0x00000001
|
||||
T1658 000:294.567 JLINK_Go()
|
||||
T1658 000:294.574 CPU_WriteMem(2 bytes @ 0x20000000)
|
||||
T1658 000:294.802 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:295.041 CPU_WriteMem(4 bytes @ 0xE0002008)
|
||||
T1658 000:295.050 CPU_WriteMem(4 bytes @ 0xE000200C)
|
||||
T1658 000:295.057 CPU_WriteMem(4 bytes @ 0xE0002010)
|
||||
T1658 000:295.064 CPU_WriteMem(4 bytes @ 0xE0002014)
|
||||
T1658 000:295.071 CPU_WriteMem(4 bytes @ 0xE0002018)
|
||||
T1658 000:295.082 CPU_WriteMem(4 bytes @ 0xE000201C)
|
||||
T1658 000:295.781 CPU_WriteMem(4 bytes @ 0xE0001004)
|
||||
T1658 000:298.522 Memory map 'after startup completion point' is active
|
||||
T1658 000:298.534 - 3.966ms
|
||||
T1658 000:298.541 JLINK_IsHalted()
|
||||
T1658 000:299.467 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:299.641 - 1.099ms returns TRUE
|
||||
T1658 000:299.648 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:299.654 - 0.005ms returns 0x20000000
|
||||
T1658 000:299.660 JLINK_ClrBPEx(BPHandle = 0x00000001)
|
||||
T1658 000:299.665 - 0.005ms returns 0x00
|
||||
T1658 000:299.670 JLINK_ReadReg(R0)
|
||||
T1658 000:299.675 - 0.004ms returns 0x00000000
|
||||
T1658 000:299.870 JLINK_HasError()
|
||||
T1658 000:299.882 JLINK_WriteReg(R0, 0x08000000)
|
||||
T1658 000:299.888 - 0.005ms returns 0
|
||||
T1658 000:299.894 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:299.899 - 0.004ms returns 0
|
||||
T1658 000:299.904 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:299.909 - 0.004ms returns 0
|
||||
T1658 000:299.914 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:299.919 - 0.004ms returns 0
|
||||
T1658 000:299.924 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:299.929 - 0.004ms returns 0
|
||||
T1658 000:299.934 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:299.938 - 0.004ms returns 0
|
||||
T1658 000:299.944 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:299.948 - 0.004ms returns 0
|
||||
T1658 000:299.954 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:299.958 - 0.004ms returns 0
|
||||
T1658 000:299.964 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:299.968 - 0.004ms returns 0
|
||||
T1658 000:299.973 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:299.978 - 0.004ms returns 0
|
||||
T1658 000:299.983 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:299.988 - 0.004ms returns 0
|
||||
T1658 000:299.993 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:299.998 - 0.004ms returns 0
|
||||
T1658 000:300.003 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:300.008 - 0.004ms returns 0
|
||||
T1658 000:300.013 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:300.018 - 0.005ms returns 0
|
||||
T1658 000:300.023 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:300.028 - 0.004ms returns 0
|
||||
T1658 000:300.033 JLINK_WriteReg(R15 (PC), 0x20000020)
|
||||
T1658 000:300.038 - 0.004ms returns 0
|
||||
T1658 000:300.044 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:300.048 - 0.004ms returns 0
|
||||
T1658 000:300.053 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:300.058 - 0.004ms returns 0
|
||||
T1658 000:300.063 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:300.068 - 0.004ms returns 0
|
||||
T1658 000:300.073 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:300.078 - 0.004ms returns 0
|
||||
T1658 000:300.084 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:300.089 - 0.005ms returns 0x00000002
|
||||
T1658 000:300.094 JLINK_Go()
|
||||
T1658 000:300.104 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:301.237 - 1.142ms
|
||||
T1658 000:301.245 JLINK_IsHalted()
|
||||
T1658 000:302.221 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:302.459 - 1.213ms returns TRUE
|
||||
T1658 000:302.473 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:302.481 - 0.007ms returns 0x20000000
|
||||
T1658 000:302.487 JLINK_ClrBPEx(BPHandle = 0x00000002)
|
||||
T1658 000:302.492 - 0.005ms returns 0x00
|
||||
T1658 000:302.498 JLINK_ReadReg(R0)
|
||||
T1658 000:302.503 - 0.004ms returns 0x00000001
|
||||
T1658 000:302.509 JLINK_HasError()
|
||||
T1658 000:302.546 JLINK_WriteReg(R0, 0x08000000)
|
||||
T1658 000:302.558 - 0.011ms returns 0
|
||||
T1658 000:302.564 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:302.569 - 0.005ms returns 0
|
||||
T1658 000:302.574 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:302.579 - 0.004ms returns 0
|
||||
T1658 000:302.584 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:302.589 - 0.004ms returns 0
|
||||
T1658 000:302.594 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:302.599 - 0.004ms returns 0
|
||||
T1658 000:302.604 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:302.609 - 0.004ms returns 0
|
||||
T1658 000:302.614 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:302.619 - 0.004ms returns 0
|
||||
T1658 000:302.624 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:302.628 - 0.004ms returns 0
|
||||
T1658 000:302.634 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:302.638 - 0.004ms returns 0
|
||||
T1658 000:302.644 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:302.648 - 0.004ms returns 0
|
||||
T1658 000:302.654 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:302.658 - 0.004ms returns 0
|
||||
T1658 000:302.664 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:302.668 - 0.004ms returns 0
|
||||
T1658 000:302.673 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:302.678 - 0.004ms returns 0
|
||||
T1658 000:302.683 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:302.688 - 0.005ms returns 0
|
||||
T1658 000:302.694 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:302.698 - 0.004ms returns 0
|
||||
T1658 000:302.704 JLINK_WriteReg(R15 (PC), 0x200000B6)
|
||||
T1658 000:302.708 - 0.004ms returns 0
|
||||
T1658 000:302.714 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:302.719 - 0.004ms returns 0
|
||||
T1658 000:302.724 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:302.732 - 0.008ms returns 0
|
||||
T1658 000:302.740 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:302.745 - 0.004ms returns 0
|
||||
T1658 000:302.750 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:302.755 - 0.004ms returns 0
|
||||
T1658 000:302.761 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:302.766 - 0.006ms returns 0x00000003
|
||||
T1658 000:302.772 JLINK_Go()
|
||||
T1658 000:302.782 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:303.959 - 1.187ms
|
||||
T1658 000:303.967 JLINK_IsHalted()
|
||||
T1658 000:304.118 - 0.150ms returns FALSE
|
||||
T1658 000:304.126 JLINK_HasError()
|
||||
T1658 000:315.374 JLINK_IsHalted()
|
||||
T1658 000:315.649 - 0.277ms returns FALSE
|
||||
T1658 000:315.658 JLINK_HasError()
|
||||
T1658 000:317.709 JLINK_IsHalted()
|
||||
T1658 000:318.031 - 0.321ms returns FALSE
|
||||
T1658 000:318.056 JLINK_HasError()
|
||||
T1658 000:319.690 JLINK_IsHalted()
|
||||
T1658 000:320.070 - 0.379ms returns FALSE
|
||||
T1658 000:320.111 JLINK_HasError()
|
||||
T1658 000:321.699 JLINK_IsHalted()
|
||||
T1658 000:322.046 - 0.345ms returns FALSE
|
||||
T1658 000:322.071 JLINK_HasError()
|
||||
T1658 000:323.683 JLINK_IsHalted()
|
||||
T1658 000:324.032 - 0.349ms returns FALSE
|
||||
T1658 000:324.058 JLINK_HasError()
|
||||
T1658 000:325.675 JLINK_IsHalted()
|
||||
T1658 000:325.935 - 0.258ms returns FALSE
|
||||
T1658 000:325.959 JLINK_HasError()
|
||||
T1658 000:327.897 JLINK_IsHalted()
|
||||
T1658 000:329.082 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:329.376 - 1.478ms returns TRUE
|
||||
T1658 000:329.402 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:329.423 - 0.020ms returns 0x20000000
|
||||
T1658 000:329.441 JLINK_ClrBPEx(BPHandle = 0x00000003)
|
||||
T1658 000:329.457 - 0.016ms returns 0x00
|
||||
T1658 000:329.475 JLINK_ReadReg(R0)
|
||||
T1658 000:329.491 - 0.015ms returns 0x00000000
|
||||
T1658 000:330.724 JLINK_HasError()
|
||||
T1658 000:330.759 JLINK_WriteReg(R0, 0x08000800)
|
||||
T1658 000:330.779 - 0.019ms returns 0
|
||||
T1658 000:330.797 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:330.813 - 0.015ms returns 0
|
||||
T1658 000:330.830 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:330.846 - 0.015ms returns 0
|
||||
T1658 000:330.862 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:330.878 - 0.015ms returns 0
|
||||
T1658 000:330.895 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:330.910 - 0.015ms returns 0
|
||||
T1658 000:330.928 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:330.943 - 0.015ms returns 0
|
||||
T1658 000:330.960 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:330.976 - 0.015ms returns 0
|
||||
T1658 000:330.993 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:331.008 - 0.015ms returns 0
|
||||
T1658 000:331.025 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:331.040 - 0.015ms returns 0
|
||||
T1658 000:331.057 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:331.072 - 0.015ms returns 0
|
||||
T1658 000:331.090 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:331.105 - 0.016ms returns 0
|
||||
T1658 000:331.122 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:331.138 - 0.015ms returns 0
|
||||
T1658 000:331.155 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:331.170 - 0.015ms returns 0
|
||||
T1658 000:331.188 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:331.204 - 0.017ms returns 0
|
||||
T1658 000:331.221 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:331.237 - 0.015ms returns 0
|
||||
T1658 000:331.254 JLINK_WriteReg(R15 (PC), 0x20000020)
|
||||
T1658 000:331.270 - 0.016ms returns 0
|
||||
T1658 000:331.287 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:331.305 - 0.018ms returns 0
|
||||
T1658 000:331.323 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:331.339 - 0.015ms returns 0
|
||||
T1658 000:331.356 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:331.372 - 0.016ms returns 0
|
||||
T1658 000:331.389 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:331.405 - 0.015ms returns 0
|
||||
T1658 000:331.424 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:331.441 - 0.018ms returns 0x00000004
|
||||
T1658 000:331.471 JLINK_Go()
|
||||
T1658 000:331.497 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:332.937 - 1.466ms
|
||||
T1658 000:332.957 JLINK_IsHalted()
|
||||
T1658 000:334.018 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:334.185 - 1.228ms returns TRUE
|
||||
T1658 000:334.193 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:334.198 - 0.005ms returns 0x20000000
|
||||
T1658 000:334.204 JLINK_ClrBPEx(BPHandle = 0x00000004)
|
||||
T1658 000:334.209 - 0.005ms returns 0x00
|
||||
T1658 000:334.214 JLINK_ReadReg(R0)
|
||||
T1658 000:334.222 - 0.008ms returns 0x00000001
|
||||
T1658 000:334.230 JLINK_HasError()
|
||||
T1658 000:334.236 JLINK_WriteReg(R0, 0x08000800)
|
||||
T1658 000:334.241 - 0.005ms returns 0
|
||||
T1658 000:334.246 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:334.251 - 0.004ms returns 0
|
||||
T1658 000:334.256 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:334.261 - 0.004ms returns 0
|
||||
T1658 000:334.266 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:334.271 - 0.004ms returns 0
|
||||
T1658 000:334.276 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:334.281 - 0.004ms returns 0
|
||||
T1658 000:334.286 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:334.291 - 0.004ms returns 0
|
||||
T1658 000:334.296 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:334.300 - 0.004ms returns 0
|
||||
T1658 000:334.306 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:334.310 - 0.004ms returns 0
|
||||
T1658 000:334.316 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:334.320 - 0.004ms returns 0
|
||||
T1658 000:334.325 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:334.330 - 0.004ms returns 0
|
||||
T1658 000:334.335 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:334.340 - 0.004ms returns 0
|
||||
T1658 000:334.345 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:334.350 - 0.004ms returns 0
|
||||
T1658 000:334.355 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:334.360 - 0.004ms returns 0
|
||||
T1658 000:334.365 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:334.370 - 0.005ms returns 0
|
||||
T1658 000:334.375 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:334.380 - 0.004ms returns 0
|
||||
T1658 000:334.385 JLINK_WriteReg(R15 (PC), 0x200000B6)
|
||||
T1658 000:334.390 - 0.004ms returns 0
|
||||
T1658 000:334.395 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:334.400 - 0.004ms returns 0
|
||||
T1658 000:334.405 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:334.410 - 0.004ms returns 0
|
||||
T1658 000:334.415 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:334.420 - 0.004ms returns 0
|
||||
T1658 000:334.425 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:334.430 - 0.004ms returns 0
|
||||
T1658 000:334.435 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:334.440 - 0.005ms returns 0x00000005
|
||||
T1658 000:334.445 JLINK_Go()
|
||||
T1658 000:334.454 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:335.685 - 1.239ms
|
||||
T1658 000:335.702 JLINK_IsHalted()
|
||||
T1658 000:335.886 - 0.184ms returns FALSE
|
||||
T1658 000:335.898 JLINK_HasError()
|
||||
T1658 000:337.934 JLINK_IsHalted()
|
||||
T1658 000:338.116 - 0.182ms returns FALSE
|
||||
T1658 000:338.127 JLINK_HasError()
|
||||
T1658 000:339.182 JLINK_IsHalted()
|
||||
T1658 000:339.363 - 0.182ms returns FALSE
|
||||
T1658 000:339.375 JLINK_HasError()
|
||||
T1658 000:341.379 JLINK_IsHalted()
|
||||
T1658 000:341.623 - 0.244ms returns FALSE
|
||||
T1658 000:341.631 JLINK_HasError()
|
||||
T1658 000:343.350 JLINK_IsHalted()
|
||||
T1658 000:343.623 - 0.272ms returns FALSE
|
||||
T1658 000:343.630 JLINK_HasError()
|
||||
T1658 000:345.668 JLINK_IsHalted()
|
||||
T1658 000:345.915 - 0.247ms returns FALSE
|
||||
T1658 000:345.922 JLINK_HasError()
|
||||
T1658 000:348.006 JLINK_IsHalted()
|
||||
T1658 000:348.433 - 0.426ms returns FALSE
|
||||
T1658 000:348.480 JLINK_HasError()
|
||||
T1658 000:350.431 JLINK_IsHalted()
|
||||
T1658 000:350.770 - 0.337ms returns FALSE
|
||||
T1658 000:350.820 JLINK_HasError()
|
||||
T1658 000:352.543 JLINK_IsHalted()
|
||||
T1658 000:352.915 - 0.371ms returns FALSE
|
||||
T1658 000:352.964 JLINK_HasError()
|
||||
T1658 000:354.422 JLINK_IsHalted()
|
||||
T1658 000:354.837 - 0.414ms returns FALSE
|
||||
T1658 000:354.870 JLINK_HasError()
|
||||
T1658 000:356.803 JLINK_IsHalted()
|
||||
T1658 000:357.178 - 0.375ms returns FALSE
|
||||
T1658 000:357.211 JLINK_HasError()
|
||||
T1658 000:358.833 JLINK_IsHalted()
|
||||
T1658 000:360.262 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:360.682 - 1.848ms returns TRUE
|
||||
T1658 000:360.720 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:360.749 - 0.028ms returns 0x20000000
|
||||
T1658 000:360.775 JLINK_ClrBPEx(BPHandle = 0x00000005)
|
||||
T1658 000:360.799 - 0.023ms returns 0x00
|
||||
T1658 000:360.826 JLINK_ReadReg(R0)
|
||||
T1658 000:360.849 - 0.023ms returns 0x00000000
|
||||
T1658 000:362.577 JLINK_HasError()
|
||||
T1658 000:362.626 JLINK_WriteReg(R0, 0x08001000)
|
||||
T1658 000:362.655 - 0.029ms returns 0
|
||||
T1658 000:362.682 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:362.706 - 0.023ms returns 0
|
||||
T1658 000:362.731 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:362.754 - 0.023ms returns 0
|
||||
T1658 000:362.791 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:362.823 - 0.032ms returns 0
|
||||
T1658 000:362.849 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:362.871 - 0.022ms returns 0
|
||||
T1658 000:362.897 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:362.919 - 0.022ms returns 0
|
||||
T1658 000:362.945 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:362.967 - 0.022ms returns 0
|
||||
T1658 000:362.992 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:363.015 - 0.023ms returns 0
|
||||
T1658 000:363.040 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:363.062 - 0.022ms returns 0
|
||||
T1658 000:363.088 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:363.111 - 0.023ms returns 0
|
||||
T1658 000:363.137 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:363.160 - 0.023ms returns 0
|
||||
T1658 000:363.185 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:363.213 - 0.028ms returns 0
|
||||
T1658 000:363.238 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:363.261 - 0.023ms returns 0
|
||||
T1658 000:363.288 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:363.312 - 0.025ms returns 0
|
||||
T1658 000:363.337 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:363.361 - 0.023ms returns 0
|
||||
T1658 000:363.387 JLINK_WriteReg(R15 (PC), 0x20000020)
|
||||
T1658 000:363.410 - 0.023ms returns 0
|
||||
T1658 000:363.435 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:363.458 - 0.023ms returns 0
|
||||
T1658 000:363.483 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:363.506 - 0.022ms returns 0
|
||||
T1658 000:363.531 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:363.554 - 0.022ms returns 0
|
||||
T1658 000:363.579 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:363.602 - 0.022ms returns 0
|
||||
T1658 000:363.629 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:363.655 - 0.027ms returns 0x00000006
|
||||
T1658 000:363.680 JLINK_Go()
|
||||
T1658 000:363.729 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:365.426 - 1.744ms
|
||||
T1658 000:365.464 JLINK_IsHalted()
|
||||
T1658 000:366.930 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:367.432 - 1.966ms returns TRUE
|
||||
T1658 000:367.487 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:367.520 - 0.031ms returns 0x20000000
|
||||
T1658 000:367.547 JLINK_ClrBPEx(BPHandle = 0x00000006)
|
||||
T1658 000:367.572 - 0.025ms returns 0x00
|
||||
T1658 000:367.598 JLINK_ReadReg(R0)
|
||||
T1658 000:367.622 - 0.023ms returns 0x00000001
|
||||
T1658 000:367.648 JLINK_HasError()
|
||||
T1658 000:367.676 JLINK_WriteReg(R0, 0x08001000)
|
||||
T1658 000:367.702 - 0.026ms returns 0
|
||||
T1658 000:367.728 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:367.751 - 0.023ms returns 0
|
||||
T1658 000:367.777 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:367.800 - 0.023ms returns 0
|
||||
T1658 000:367.826 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:367.849 - 0.022ms returns 0
|
||||
T1658 000:367.874 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:367.898 - 0.023ms returns 0
|
||||
T1658 000:367.923 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:367.946 - 0.023ms returns 0
|
||||
T1658 000:367.972 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:367.995 - 0.023ms returns 0
|
||||
T1658 000:368.021 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:368.043 - 0.022ms returns 0
|
||||
T1658 000:368.069 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:368.092 - 0.023ms returns 0
|
||||
T1658 000:368.118 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:368.141 - 0.023ms returns 0
|
||||
T1658 000:368.166 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:368.189 - 0.023ms returns 0
|
||||
T1658 000:368.221 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:368.245 - 0.023ms returns 0
|
||||
T1658 000:368.271 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:368.294 - 0.023ms returns 0
|
||||
T1658 000:368.320 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:368.344 - 0.024ms returns 0
|
||||
T1658 000:368.370 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:368.393 - 0.023ms returns 0
|
||||
T1658 000:368.419 JLINK_WriteReg(R15 (PC), 0x200000B6)
|
||||
T1658 000:368.441 - 0.022ms returns 0
|
||||
T1658 000:368.468 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:368.491 - 0.023ms returns 0
|
||||
T1658 000:368.517 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:368.540 - 0.023ms returns 0
|
||||
T1658 000:368.566 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:368.589 - 0.023ms returns 0
|
||||
T1658 000:368.615 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:368.637 - 0.022ms returns 0
|
||||
T1658 000:368.665 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:368.692 - 0.028ms returns 0x00000007
|
||||
T1658 000:368.885 JLINK_Go()
|
||||
T1658 000:368.940 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:370.687 - 1.800ms
|
||||
T1658 000:370.741 JLINK_IsHalted()
|
||||
T1658 000:371.068 - 0.325ms returns FALSE
|
||||
T1658 000:371.103 JLINK_HasError()
|
||||
T1658 000:373.221 JLINK_IsHalted()
|
||||
T1658 000:373.677 - 0.454ms returns FALSE
|
||||
T1658 000:373.733 JLINK_HasError()
|
||||
T1658 000:375.201 JLINK_IsHalted()
|
||||
T1658 000:375.671 - 0.468ms returns FALSE
|
||||
T1658 000:375.726 JLINK_HasError()
|
||||
T1658 000:377.210 JLINK_IsHalted()
|
||||
T1658 000:377.570 - 0.358ms returns FALSE
|
||||
T1658 000:377.625 JLINK_HasError()
|
||||
T1658 000:379.186 JLINK_IsHalted()
|
||||
T1658 000:379.597 - 0.409ms returns FALSE
|
||||
T1658 000:379.652 JLINK_HasError()
|
||||
T1658 000:381.179 JLINK_IsHalted()
|
||||
T1658 000:381.596 - 0.416ms returns FALSE
|
||||
T1658 000:381.636 JLINK_HasError()
|
||||
T1658 000:383.192 JLINK_IsHalted()
|
||||
T1658 000:383.626 - 0.432ms returns FALSE
|
||||
T1658 000:383.666 JLINK_HasError()
|
||||
T1658 000:385.287 JLINK_IsHalted()
|
||||
T1658 000:385.672 - 0.384ms returns FALSE
|
||||
T1658 000:385.712 JLINK_HasError()
|
||||
T1658 000:387.208 JLINK_IsHalted()
|
||||
T1658 000:387.562 - 0.353ms returns FALSE
|
||||
T1658 000:387.591 JLINK_HasError()
|
||||
T1658 000:389.198 JLINK_IsHalted()
|
||||
T1658 000:389.607 - 0.408ms returns FALSE
|
||||
T1658 000:389.636 JLINK_HasError()
|
||||
T1658 000:391.649 JLINK_IsHalted()
|
||||
T1658 000:392.012 - 0.362ms returns FALSE
|
||||
T1658 000:392.041 JLINK_HasError()
|
||||
T1658 000:393.650 JLINK_IsHalted()
|
||||
T1658 000:394.944 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:395.320 - 1.668ms returns TRUE
|
||||
T1658 000:395.349 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:395.366 - 0.016ms returns 0x20000000
|
||||
T1658 000:395.380 JLINK_ClrBPEx(BPHandle = 0x00000007)
|
||||
T1658 000:395.393 - 0.012ms returns 0x00
|
||||
T1658 000:395.406 JLINK_ReadReg(R0)
|
||||
T1658 000:395.418 - 0.011ms returns 0x00000000
|
||||
T1658 000:396.392 JLINK_HasError()
|
||||
T1658 000:396.420 JLINK_WriteReg(R0, 0x08001800)
|
||||
T1658 000:396.436 - 0.016ms returns 0
|
||||
T1658 000:396.450 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:396.462 - 0.012ms returns 0
|
||||
T1658 000:396.475 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:396.487 - 0.011ms returns 0
|
||||
T1658 000:396.499 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:396.511 - 0.012ms returns 0
|
||||
T1658 000:396.524 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:396.536 - 0.011ms returns 0
|
||||
T1658 000:396.548 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:396.560 - 0.011ms returns 0
|
||||
T1658 000:396.573 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:396.585 - 0.011ms returns 0
|
||||
T1658 000:396.597 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:396.609 - 0.011ms returns 0
|
||||
T1658 000:396.622 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:396.634 - 0.011ms returns 0
|
||||
T1658 000:396.646 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:396.657 - 0.011ms returns 0
|
||||
T1658 000:396.670 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:396.682 - 0.012ms returns 0
|
||||
T1658 000:396.695 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:396.707 - 0.011ms returns 0
|
||||
T1658 000:396.719 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:396.731 - 0.011ms returns 0
|
||||
T1658 000:396.744 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:396.756 - 0.012ms returns 0
|
||||
T1658 000:396.769 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:396.781 - 0.011ms returns 0
|
||||
T1658 000:396.794 JLINK_WriteReg(R15 (PC), 0x20000020)
|
||||
T1658 000:396.806 - 0.012ms returns 0
|
||||
T1658 000:396.819 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:396.831 - 0.012ms returns 0
|
||||
T1658 000:396.843 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:396.855 - 0.011ms returns 0
|
||||
T1658 000:396.868 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:396.879 - 0.011ms returns 0
|
||||
T1658 000:396.892 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:396.904 - 0.011ms returns 0
|
||||
T1658 000:396.918 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:396.931 - 0.013ms returns 0x00000008
|
||||
T1658 000:396.944 JLINK_Go()
|
||||
T1658 000:396.970 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:398.455 - 1.509ms
|
||||
T1658 000:398.488 JLINK_IsHalted()
|
||||
T1658 000:399.638 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:399.990 - 1.501ms returns TRUE
|
||||
T1658 000:400.019 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:400.036 - 0.016ms returns 0x20000000
|
||||
T1658 000:400.061 JLINK_ClrBPEx(BPHandle = 0x00000008)
|
||||
T1658 000:400.074 - 0.013ms returns 0x00
|
||||
T1658 000:400.087 JLINK_ReadReg(R0)
|
||||
T1658 000:400.099 - 0.011ms returns 0x00000001
|
||||
T1658 000:400.113 JLINK_HasError()
|
||||
T1658 000:400.127 JLINK_WriteReg(R0, 0x08001800)
|
||||
T1658 000:400.140 - 0.013ms returns 0
|
||||
T1658 000:400.153 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:400.165 - 0.011ms returns 0
|
||||
T1658 000:400.177 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:400.189 - 0.011ms returns 0
|
||||
T1658 000:400.201 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:400.213 - 0.011ms returns 0
|
||||
T1658 000:400.226 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:400.237 - 0.011ms returns 0
|
||||
T1658 000:400.250 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:400.262 - 0.011ms returns 0
|
||||
T1658 000:400.277 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:400.288 - 0.011ms returns 0
|
||||
T1658 000:400.301 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:400.313 - 0.011ms returns 0
|
||||
T1658 000:400.325 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:400.337 - 0.011ms returns 0
|
||||
T1658 000:400.350 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:400.361 - 0.011ms returns 0
|
||||
T1658 000:400.374 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:400.387 - 0.013ms returns 0
|
||||
T1658 000:400.400 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:400.412 - 0.011ms returns 0
|
||||
T1658 000:400.424 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:400.436 - 0.011ms returns 0
|
||||
T1658 000:400.449 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:400.461 - 0.012ms returns 0
|
||||
T1658 000:400.474 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:400.485 - 0.011ms returns 0
|
||||
T1658 000:400.498 JLINK_WriteReg(R15 (PC), 0x200000B6)
|
||||
T1658 000:400.510 - 0.011ms returns 0
|
||||
T1658 000:400.523 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:400.534 - 0.011ms returns 0
|
||||
T1658 000:400.547 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:400.559 - 0.011ms returns 0
|
||||
T1658 000:400.571 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:400.583 - 0.011ms returns 0
|
||||
T1658 000:400.595 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:400.607 - 0.011ms returns 0
|
||||
T1658 000:400.621 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:400.634 - 0.013ms returns 0x00000009
|
||||
T1658 000:400.647 JLINK_Go()
|
||||
T1658 000:400.672 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:402.333 - 1.684ms
|
||||
T1658 000:402.367 JLINK_IsHalted()
|
||||
T1658 000:402.685 - 0.316ms returns FALSE
|
||||
T1658 000:402.718 JLINK_HasError()
|
||||
T1658 000:406.307 JLINK_IsHalted()
|
||||
T1658 000:406.680 - 0.372ms returns FALSE
|
||||
T1658 000:406.709 JLINK_HasError()
|
||||
T1658 000:408.308 JLINK_IsHalted()
|
||||
T1658 000:408.677 - 0.368ms returns FALSE
|
||||
T1658 000:408.706 JLINK_HasError()
|
||||
T1658 000:410.719 JLINK_IsHalted()
|
||||
T1658 000:411.032 - 0.311ms returns FALSE
|
||||
T1658 000:411.061 JLINK_HasError()
|
||||
T1658 000:412.731 JLINK_IsHalted()
|
||||
T1658 000:413.050 - 0.317ms returns FALSE
|
||||
T1658 000:413.079 JLINK_HasError()
|
||||
T1658 000:414.716 JLINK_IsHalted()
|
||||
T1658 000:415.065 - 0.347ms returns FALSE
|
||||
T1658 000:415.093 JLINK_HasError()
|
||||
T1658 000:417.061 JLINK_IsHalted()
|
||||
T1658 000:417.401 - 0.339ms returns FALSE
|
||||
T1658 000:417.430 JLINK_HasError()
|
||||
T1658 000:419.060 JLINK_IsHalted()
|
||||
T1658 000:419.349 - 0.287ms returns FALSE
|
||||
T1658 000:419.380 JLINK_HasError()
|
||||
T1658 000:421.089 JLINK_IsHalted()
|
||||
T1658 000:421.453 - 0.362ms returns FALSE
|
||||
T1658 000:421.482 JLINK_HasError()
|
||||
T1658 000:423.094 JLINK_IsHalted()
|
||||
T1658 000:423.456 - 0.360ms returns FALSE
|
||||
T1658 000:423.485 JLINK_HasError()
|
||||
T1658 000:425.505 JLINK_IsHalted()
|
||||
T1658 000:426.793 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:427.138 - 1.632ms returns TRUE
|
||||
T1658 000:427.168 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:427.185 - 0.017ms returns 0x20000000
|
||||
T1658 000:427.199 JLINK_ClrBPEx(BPHandle = 0x00000009)
|
||||
T1658 000:427.212 - 0.013ms returns 0x00
|
||||
T1658 000:427.226 JLINK_ReadReg(R0)
|
||||
T1658 000:427.238 - 0.011ms returns 0x00000000
|
||||
T1658 000:428.182 JLINK_HasError()
|
||||
T1658 000:428.208 JLINK_WriteReg(R0, 0x08002000)
|
||||
T1658 000:428.224 - 0.015ms returns 0
|
||||
T1658 000:428.237 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:428.249 - 0.011ms returns 0
|
||||
T1658 000:428.262 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:428.282 - 0.019ms returns 0
|
||||
T1658 000:428.300 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:428.312 - 0.012ms returns 0
|
||||
T1658 000:428.325 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:428.337 - 0.011ms returns 0
|
||||
T1658 000:428.349 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:428.361 - 0.011ms returns 0
|
||||
T1658 000:428.374 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:428.385 - 0.011ms returns 0
|
||||
T1658 000:428.398 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:428.410 - 0.011ms returns 0
|
||||
T1658 000:428.422 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:428.434 - 0.011ms returns 0
|
||||
T1658 000:428.447 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:428.458 - 0.011ms returns 0
|
||||
T1658 000:428.471 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:428.483 - 0.011ms returns 0
|
||||
T1658 000:428.495 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:428.507 - 0.011ms returns 0
|
||||
T1658 000:428.519 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:428.531 - 0.011ms returns 0
|
||||
T1658 000:428.544 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:428.556 - 0.012ms returns 0
|
||||
T1658 000:428.569 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:428.581 - 0.011ms returns 0
|
||||
T1658 000:428.594 JLINK_WriteReg(R15 (PC), 0x20000020)
|
||||
T1658 000:428.605 - 0.011ms returns 0
|
||||
T1658 000:428.618 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:428.630 - 0.012ms returns 0
|
||||
T1658 000:428.643 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:428.654 - 0.011ms returns 0
|
||||
T1658 000:428.667 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:428.679 - 0.011ms returns 0
|
||||
T1658 000:428.691 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:428.703 - 0.011ms returns 0
|
||||
T1658 000:428.717 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:428.730 - 0.014ms returns 0x0000000A
|
||||
T1658 000:428.743 JLINK_Go()
|
||||
T1658 000:428.769 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:430.447 - 1.702ms
|
||||
T1658 000:430.480 JLINK_IsHalted()
|
||||
T1658 000:431.732 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:432.023 - 1.542ms returns TRUE
|
||||
T1658 000:432.058 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:432.075 - 0.016ms returns 0x20000000
|
||||
T1658 000:432.173 JLINK_ClrBPEx(BPHandle = 0x0000000A)
|
||||
T1658 000:432.191 - 0.018ms returns 0x00
|
||||
T1658 000:432.205 JLINK_ReadReg(R0)
|
||||
T1658 000:432.217 - 0.012ms returns 0x00000001
|
||||
T1658 000:432.231 JLINK_HasError()
|
||||
T1658 000:432.245 JLINK_WriteReg(R0, 0x08002000)
|
||||
T1658 000:432.258 - 0.013ms returns 0
|
||||
T1658 000:432.271 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:432.283 - 0.011ms returns 0
|
||||
T1658 000:432.296 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:432.307 - 0.011ms returns 0
|
||||
T1658 000:432.320 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:432.332 - 0.011ms returns 0
|
||||
T1658 000:432.345 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:432.357 - 0.012ms returns 0
|
||||
T1658 000:432.370 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:432.382 - 0.011ms returns 0
|
||||
T1658 000:432.395 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:432.406 - 0.011ms returns 0
|
||||
T1658 000:432.420 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:432.431 - 0.011ms returns 0
|
||||
T1658 000:432.444 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:432.455 - 0.011ms returns 0
|
||||
T1658 000:432.468 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:432.480 - 0.011ms returns 0
|
||||
T1658 000:432.493 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:432.504 - 0.011ms returns 0
|
||||
T1658 000:432.517 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:432.529 - 0.011ms returns 0
|
||||
T1658 000:432.541 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:432.553 - 0.011ms returns 0
|
||||
T1658 000:432.566 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:432.578 - 0.012ms returns 0
|
||||
T1658 000:432.590 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:432.602 - 0.011ms returns 0
|
||||
T1658 000:432.615 JLINK_WriteReg(R15 (PC), 0x200000B6)
|
||||
T1658 000:432.627 - 0.011ms returns 0
|
||||
T1658 000:432.640 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:432.651 - 0.011ms returns 0
|
||||
T1658 000:432.664 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:432.676 - 0.011ms returns 0
|
||||
T1658 000:432.688 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:432.699 - 0.011ms returns 0
|
||||
T1658 000:432.713 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:432.724 - 0.011ms returns 0
|
||||
T1658 000:432.738 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:432.756 - 0.018ms returns 0x0000000B
|
||||
T1658 000:432.774 JLINK_Go()
|
||||
T1658 000:432.799 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:434.298 - 1.523ms
|
||||
T1658 000:434.327 JLINK_IsHalted()
|
||||
T1658 000:434.596 - 0.268ms returns FALSE
|
||||
T1658 000:434.618 JLINK_HasError()
|
||||
T1658 000:436.066 JLINK_IsHalted()
|
||||
T1658 000:436.243 - 0.177ms returns FALSE
|
||||
T1658 000:436.251 JLINK_HasError()
|
||||
T1658 000:438.102 JLINK_IsHalted()
|
||||
T1658 000:438.284 - 0.181ms returns FALSE
|
||||
T1658 000:438.292 JLINK_HasError()
|
||||
T1658 000:440.392 JLINK_IsHalted()
|
||||
T1658 000:440.644 - 0.251ms returns FALSE
|
||||
T1658 000:440.656 JLINK_HasError()
|
||||
T1658 000:441.754 JLINK_IsHalted()
|
||||
T1658 000:442.010 - 0.255ms returns FALSE
|
||||
T1658 000:442.021 JLINK_HasError()
|
||||
T1658 000:443.748 JLINK_IsHalted()
|
||||
T1658 000:444.031 - 0.282ms returns FALSE
|
||||
T1658 000:444.042 JLINK_HasError()
|
||||
T1658 000:445.131 JLINK_IsHalted()
|
||||
T1658 000:445.382 - 0.251ms returns FALSE
|
||||
T1658 000:445.394 JLINK_HasError()
|
||||
T1658 000:447.141 JLINK_IsHalted()
|
||||
T1658 000:447.420 - 0.278ms returns FALSE
|
||||
T1658 000:447.432 JLINK_HasError()
|
||||
T1658 000:449.115 JLINK_IsHalted()
|
||||
T1658 000:449.367 - 0.250ms returns FALSE
|
||||
T1658 000:449.378 JLINK_HasError()
|
||||
T1658 000:451.473 JLINK_IsHalted()
|
||||
T1658 000:451.733 - 0.259ms returns FALSE
|
||||
T1658 000:451.744 JLINK_HasError()
|
||||
T1658 000:453.466 JLINK_IsHalted()
|
||||
T1658 000:453.741 - 0.275ms returns FALSE
|
||||
T1658 000:453.753 JLINK_HasError()
|
||||
T1658 000:454.854 JLINK_IsHalted()
|
||||
T1658 000:455.124 - 0.269ms returns FALSE
|
||||
T1658 000:455.135 JLINK_HasError()
|
||||
T1658 000:456.268 JLINK_IsHalted()
|
||||
T1658 000:457.408 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:457.656 - 1.387ms returns TRUE
|
||||
T1658 000:457.669 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:457.676 - 0.007ms returns 0x20000000
|
||||
T1658 000:457.682 JLINK_ClrBPEx(BPHandle = 0x0000000B)
|
||||
T1658 000:457.687 - 0.005ms returns 0x00
|
||||
T1658 000:457.693 JLINK_ReadReg(R0)
|
||||
T1658 000:457.698 - 0.005ms returns 0x00000000
|
||||
T1658 000:458.096 JLINK_HasError()
|
||||
T1658 000:458.106 JLINK_WriteReg(R0, 0x08002800)
|
||||
T1658 000:458.112 - 0.006ms returns 0
|
||||
T1658 000:458.117 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:458.122 - 0.004ms returns 0
|
||||
T1658 000:458.127 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:458.132 - 0.004ms returns 0
|
||||
T1658 000:458.137 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:458.142 - 0.004ms returns 0
|
||||
T1658 000:458.147 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:458.152 - 0.004ms returns 0
|
||||
T1658 000:458.157 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:458.162 - 0.004ms returns 0
|
||||
T1658 000:458.167 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:458.172 - 0.004ms returns 0
|
||||
T1658 000:458.177 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:458.181 - 0.004ms returns 0
|
||||
T1658 000:458.187 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:458.192 - 0.004ms returns 0
|
||||
T1658 000:458.197 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:458.203 - 0.006ms returns 0
|
||||
T1658 000:458.208 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:458.213 - 0.004ms returns 0
|
||||
T1658 000:458.218 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:458.223 - 0.004ms returns 0
|
||||
T1658 000:458.228 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:458.233 - 0.004ms returns 0
|
||||
T1658 000:458.238 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:458.243 - 0.005ms returns 0
|
||||
T1658 000:458.249 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:458.253 - 0.004ms returns 0
|
||||
T1658 000:458.259 JLINK_WriteReg(R15 (PC), 0x20000020)
|
||||
T1658 000:458.264 - 0.004ms returns 0
|
||||
T1658 000:458.269 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:458.274 - 0.004ms returns 0
|
||||
T1658 000:458.279 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:458.284 - 0.004ms returns 0
|
||||
T1658 000:458.289 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:458.294 - 0.004ms returns 0
|
||||
T1658 000:458.299 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:458.304 - 0.004ms returns 0
|
||||
T1658 000:458.309 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:458.315 - 0.005ms returns 0x0000000C
|
||||
T1658 000:458.320 JLINK_Go()
|
||||
T1658 000:458.331 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:459.690 - 1.369ms
|
||||
T1658 000:459.701 JLINK_IsHalted()
|
||||
T1658 000:460.741 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:460.950 - 1.248ms returns TRUE
|
||||
T1658 000:460.962 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:460.969 - 0.006ms returns 0x20000000
|
||||
T1658 000:460.974 JLINK_ClrBPEx(BPHandle = 0x0000000C)
|
||||
T1658 000:460.980 - 0.005ms returns 0x00
|
||||
T1658 000:460.985 JLINK_ReadReg(R0)
|
||||
T1658 000:460.990 - 0.004ms returns 0x00000001
|
||||
T1658 000:460.995 JLINK_HasError()
|
||||
T1658 000:461.001 JLINK_WriteReg(R0, 0x08002800)
|
||||
T1658 000:461.006 - 0.005ms returns 0
|
||||
T1658 000:461.012 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:461.016 - 0.004ms returns 0
|
||||
T1658 000:461.022 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:461.026 - 0.004ms returns 0
|
||||
T1658 000:461.032 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:461.037 - 0.004ms returns 0
|
||||
T1658 000:461.042 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:461.046 - 0.004ms returns 0
|
||||
T1658 000:461.052 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:461.056 - 0.004ms returns 0
|
||||
T1658 000:461.062 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:461.066 - 0.004ms returns 0
|
||||
T1658 000:461.072 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:461.076 - 0.004ms returns 0
|
||||
T1658 000:461.081 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:461.086 - 0.004ms returns 0
|
||||
T1658 000:461.092 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:461.096 - 0.004ms returns 0
|
||||
T1658 000:461.102 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:461.106 - 0.004ms returns 0
|
||||
T1658 000:461.111 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:461.116 - 0.004ms returns 0
|
||||
T1658 000:461.121 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:461.126 - 0.004ms returns 0
|
||||
T1658 000:461.131 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:461.136 - 0.004ms returns 0
|
||||
T1658 000:461.142 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:461.146 - 0.004ms returns 0
|
||||
T1658 000:461.151 JLINK_WriteReg(R15 (PC), 0x200000B6)
|
||||
T1658 000:461.156 - 0.004ms returns 0
|
||||
T1658 000:461.161 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:461.166 - 0.004ms returns 0
|
||||
T1658 000:461.171 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:461.176 - 0.004ms returns 0
|
||||
T1658 000:461.181 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:461.186 - 0.004ms returns 0
|
||||
T1658 000:461.191 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:461.196 - 0.004ms returns 0
|
||||
T1658 000:461.202 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:461.207 - 0.005ms returns 0x0000000D
|
||||
T1658 000:461.212 JLINK_Go()
|
||||
T1658 000:461.222 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:462.517 - 1.304ms
|
||||
T1658 000:462.529 JLINK_IsHalted()
|
||||
T1658 000:462.690 - 0.161ms returns FALSE
|
||||
T1658 000:462.699 JLINK_HasError()
|
||||
T1658 000:464.796 JLINK_IsHalted()
|
||||
T1658 000:465.070 - 0.273ms returns FALSE
|
||||
T1658 000:465.081 JLINK_HasError()
|
||||
T1658 000:466.179 JLINK_IsHalted()
|
||||
T1658 000:466.443 - 0.263ms returns FALSE
|
||||
T1658 000:466.476 JLINK_HasError()
|
||||
T1658 000:468.184 JLINK_IsHalted()
|
||||
T1658 000:468.438 - 0.252ms returns FALSE
|
||||
T1658 000:468.450 JLINK_HasError()
|
||||
T1658 000:469.539 JLINK_IsHalted()
|
||||
T1658 000:469.786 - 0.246ms returns FALSE
|
||||
T1658 000:469.799 JLINK_HasError()
|
||||
T1658 000:470.890 JLINK_IsHalted()
|
||||
T1658 000:471.135 - 0.244ms returns FALSE
|
||||
T1658 000:471.147 JLINK_HasError()
|
||||
T1658 000:472.230 JLINK_IsHalted()
|
||||
T1658 000:472.484 - 0.254ms returns FALSE
|
||||
T1658 000:472.498 JLINK_HasError()
|
||||
T1658 000:474.225 JLINK_IsHalted()
|
||||
T1658 000:474.479 - 0.253ms returns FALSE
|
||||
T1658 000:474.492 JLINK_HasError()
|
||||
T1658 000:475.573 JLINK_IsHalted()
|
||||
T1658 000:475.828 - 0.255ms returns FALSE
|
||||
T1658 000:475.842 JLINK_HasError()
|
||||
T1658 000:477.579 JLINK_IsHalted()
|
||||
T1658 000:477.875 - 0.295ms returns FALSE
|
||||
T1658 000:477.889 JLINK_HasError()
|
||||
T1658 000:479.555 JLINK_IsHalted()
|
||||
T1658 000:479.835 - 0.279ms returns FALSE
|
||||
T1658 000:479.850 JLINK_HasError()
|
||||
T1658 000:480.921 JLINK_IsHalted()
|
||||
T1658 000:481.184 - 0.262ms returns FALSE
|
||||
T1658 000:481.198 JLINK_HasError()
|
||||
T1658 000:482.285 JLINK_IsHalted()
|
||||
T1658 000:482.566 - 0.280ms returns FALSE
|
||||
T1658 000:482.582 JLINK_HasError()
|
||||
T1658 000:484.258 JLINK_IsHalted()
|
||||
T1658 000:484.599 - 0.340ms returns FALSE
|
||||
T1658 000:484.615 JLINK_HasError()
|
||||
T1658 000:486.678 JLINK_IsHalted()
|
||||
T1658 000:487.818 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:488.133 - 1.454ms returns TRUE
|
||||
T1658 000:488.152 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:488.164 - 0.011ms returns 0x20000000
|
||||
T1658 000:488.173 JLINK_ClrBPEx(BPHandle = 0x0000000D)
|
||||
T1658 000:488.182 - 0.008ms returns 0x00
|
||||
T1658 000:488.191 JLINK_ReadReg(R0)
|
||||
T1658 000:488.199 - 0.007ms returns 0x00000000
|
||||
T1658 000:488.679 JLINK_HasError()
|
||||
T1658 000:488.690 JLINK_WriteReg(R0, 0x08003000)
|
||||
T1658 000:488.696 - 0.006ms returns 0
|
||||
T1658 000:488.701 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:488.706 - 0.004ms returns 0
|
||||
T1658 000:488.711 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:488.716 - 0.004ms returns 0
|
||||
T1658 000:488.721 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:488.726 - 0.004ms returns 0
|
||||
T1658 000:488.731 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:488.736 - 0.004ms returns 0
|
||||
T1658 000:488.741 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:488.746 - 0.004ms returns 0
|
||||
T1658 000:488.751 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:488.756 - 0.004ms returns 0
|
||||
T1658 000:488.761 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:488.765 - 0.004ms returns 0
|
||||
T1658 000:488.771 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:488.775 - 0.004ms returns 0
|
||||
T1658 000:488.781 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:488.785 - 0.004ms returns 0
|
||||
T1658 000:488.790 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:488.795 - 0.004ms returns 0
|
||||
T1658 000:488.800 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:488.805 - 0.004ms returns 0
|
||||
T1658 000:488.810 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:488.815 - 0.004ms returns 0
|
||||
T1658 000:488.820 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:488.825 - 0.005ms returns 0
|
||||
T1658 000:488.830 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:488.835 - 0.004ms returns 0
|
||||
T1658 000:488.840 JLINK_WriteReg(R15 (PC), 0x20000020)
|
||||
T1658 000:488.845 - 0.004ms returns 0
|
||||
T1658 000:488.850 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:488.855 - 0.004ms returns 0
|
||||
T1658 000:488.860 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:488.865 - 0.004ms returns 0
|
||||
T1658 000:488.870 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:488.875 - 0.004ms returns 0
|
||||
T1658 000:488.880 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:488.885 - 0.004ms returns 0
|
||||
T1658 000:488.890 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:488.896 - 0.005ms returns 0x0000000E
|
||||
T1658 000:488.901 JLINK_Go()
|
||||
T1658 000:488.912 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:490.320 - 1.418ms
|
||||
T1658 000:490.332 JLINK_IsHalted()
|
||||
T1658 000:491.351 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:491.547 - 1.215ms returns TRUE
|
||||
T1658 000:491.559 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:491.566 - 0.006ms returns 0x20000000
|
||||
T1658 000:491.571 JLINK_ClrBPEx(BPHandle = 0x0000000E)
|
||||
T1658 000:491.577 - 0.005ms returns 0x00
|
||||
T1658 000:491.582 JLINK_ReadReg(R0)
|
||||
T1658 000:491.587 - 0.004ms returns 0x00000001
|
||||
T1658 000:491.593 JLINK_HasError()
|
||||
T1658 000:491.598 JLINK_WriteReg(R0, 0x08003000)
|
||||
T1658 000:491.603 - 0.005ms returns 0
|
||||
T1658 000:491.609 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:491.614 - 0.004ms returns 0
|
||||
T1658 000:491.619 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:491.624 - 0.004ms returns 0
|
||||
T1658 000:491.629 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:491.634 - 0.004ms returns 0
|
||||
T1658 000:491.639 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:491.644 - 0.004ms returns 0
|
||||
T1658 000:491.649 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:491.654 - 0.004ms returns 0
|
||||
T1658 000:491.659 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:491.664 - 0.004ms returns 0
|
||||
T1658 000:491.669 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:491.674 - 0.004ms returns 0
|
||||
T1658 000:491.680 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:491.684 - 0.004ms returns 0
|
||||
T1658 000:491.690 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:491.694 - 0.004ms returns 0
|
||||
T1658 000:491.700 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:491.705 - 0.005ms returns 0
|
||||
T1658 000:491.710 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:491.715 - 0.004ms returns 0
|
||||
T1658 000:491.720 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:491.725 - 0.005ms returns 0
|
||||
T1658 000:491.730 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:491.735 - 0.005ms returns 0
|
||||
T1658 000:491.745 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:491.750 - 0.005ms returns 0
|
||||
T1658 000:491.755 JLINK_WriteReg(R15 (PC), 0x200000B6)
|
||||
T1658 000:491.760 - 0.004ms returns 0
|
||||
T1658 000:491.765 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:491.770 - 0.004ms returns 0
|
||||
T1658 000:491.775 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:491.780 - 0.004ms returns 0
|
||||
T1658 000:491.785 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:491.790 - 0.004ms returns 0
|
||||
T1658 000:491.795 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:491.800 - 0.004ms returns 0
|
||||
T1658 000:491.806 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:491.811 - 0.005ms returns 0x0000000F
|
||||
T1658 000:491.816 JLINK_Go()
|
||||
T1658 000:491.826 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:493.064 - 1.247ms
|
||||
T1658 000:493.076 JLINK_IsHalted()
|
||||
T1658 000:493.257 - 0.181ms returns FALSE
|
||||
T1658 000:493.265 JLINK_HasError()
|
||||
T1658 000:495.282 JLINK_IsHalted()
|
||||
T1658 000:495.624 - 0.341ms returns FALSE
|
||||
T1658 000:495.635 JLINK_HasError()
|
||||
T1658 000:496.724 JLINK_IsHalted()
|
||||
T1658 000:496.982 - 0.256ms returns FALSE
|
||||
T1658 000:496.994 JLINK_HasError()
|
||||
T1658 000:498.720 JLINK_IsHalted()
|
||||
T1658 000:498.998 - 0.277ms returns FALSE
|
||||
T1658 000:499.010 JLINK_HasError()
|
||||
T1658 000:500.099 JLINK_IsHalted()
|
||||
T1658 000:500.383 - 0.283ms returns FALSE
|
||||
T1658 000:500.395 JLINK_HasError()
|
||||
T1658 000:501.488 JLINK_IsHalted()
|
||||
T1658 000:501.741 - 0.252ms returns FALSE
|
||||
T1658 000:501.754 JLINK_HasError()
|
||||
T1658 000:503.470 JLINK_IsHalted()
|
||||
T1658 000:503.754 - 0.283ms returns FALSE
|
||||
T1658 000:503.768 JLINK_HasError()
|
||||
T1658 000:505.765 JLINK_IsHalted()
|
||||
T1658 000:506.027 - 0.261ms returns FALSE
|
||||
T1658 000:506.041 JLINK_HasError()
|
||||
T1658 000:508.865 JLINK_IsHalted()
|
||||
T1658 000:509.133 - 0.268ms returns FALSE
|
||||
T1658 000:509.148 JLINK_HasError()
|
||||
T1658 000:510.192 JLINK_IsHalted()
|
||||
T1658 000:510.464 - 0.270ms returns FALSE
|
||||
T1658 000:510.479 JLINK_HasError()
|
||||
T1658 000:511.548 JLINK_IsHalted()
|
||||
T1658 000:511.847 - 0.299ms returns FALSE
|
||||
T1658 000:511.864 JLINK_HasError()
|
||||
T1658 000:513.545 JLINK_IsHalted()
|
||||
T1658 000:513.818 - 0.272ms returns FALSE
|
||||
T1658 000:513.834 JLINK_HasError()
|
||||
T1658 000:514.902 JLINK_IsHalted()
|
||||
T1658 000:515.200 - 0.297ms returns FALSE
|
||||
T1658 000:515.216 JLINK_HasError()
|
||||
T1658 000:517.183 JLINK_IsHalted()
|
||||
T1658 000:518.352 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:518.700 - 1.515ms returns TRUE
|
||||
T1658 000:518.719 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:518.731 - 0.011ms returns 0x20000000
|
||||
T1658 000:518.740 JLINK_ClrBPEx(BPHandle = 0x0000000F)
|
||||
T1658 000:518.748 - 0.008ms returns 0x00
|
||||
T1658 000:518.757 JLINK_ReadReg(R0)
|
||||
T1658 000:518.765 - 0.008ms returns 0x00000000
|
||||
T1658 000:519.177 JLINK_HasError()
|
||||
T1658 000:519.196 JLINK_WriteReg(R0, 0x00000001)
|
||||
T1658 000:519.206 - 0.010ms returns 0
|
||||
T1658 000:519.215 JLINK_WriteReg(R1, 0x00000800)
|
||||
T1658 000:519.223 - 0.007ms returns 0
|
||||
T1658 000:519.232 JLINK_WriteReg(R2, 0x000000FF)
|
||||
T1658 000:519.240 - 0.008ms returns 0
|
||||
T1658 000:519.249 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:519.257 - 0.008ms returns 0
|
||||
T1658 000:519.266 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:519.273 - 0.007ms returns 0
|
||||
T1658 000:519.282 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:519.289 - 0.007ms returns 0
|
||||
T1658 000:519.298 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:519.306 - 0.007ms returns 0
|
||||
T1658 000:519.315 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:519.323 - 0.007ms returns 0
|
||||
T1658 000:519.331 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:519.339 - 0.008ms returns 0
|
||||
T1658 000:519.348 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:519.355 - 0.007ms returns 0
|
||||
T1658 000:519.364 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:519.372 - 0.008ms returns 0
|
||||
T1658 000:519.381 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:519.389 - 0.007ms returns 0
|
||||
T1658 000:519.397 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:519.405 - 0.008ms returns 0
|
||||
T1658 000:519.414 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:519.422 - 0.008ms returns 0
|
||||
T1658 000:519.431 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:519.439 - 0.007ms returns 0
|
||||
T1658 000:519.453 JLINK_WriteReg(R15 (PC), 0x2000006A)
|
||||
T1658 000:519.465 - 0.012ms returns 0
|
||||
T1658 000:519.474 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:519.481 - 0.008ms returns 0
|
||||
T1658 000:519.490 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:519.497 - 0.007ms returns 0
|
||||
T1658 000:519.506 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:519.514 - 0.007ms returns 0
|
||||
T1658 000:519.523 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:519.530 - 0.007ms returns 0
|
||||
T1658 000:519.540 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:519.549 - 0.009ms returns 0x00000010
|
||||
T1658 000:519.557 JLINK_Go()
|
||||
T1658 000:519.576 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:520.943 - 1.384ms
|
||||
T1658 000:520.955 JLINK_IsHalted()
|
||||
T1658 000:521.970 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:522.278 - 1.322ms returns TRUE
|
||||
T1658 000:522.291 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:522.299 - 0.007ms returns 0x20000000
|
||||
T1658 000:522.305 JLINK_ClrBPEx(BPHandle = 0x00000010)
|
||||
T1658 000:522.311 - 0.005ms returns 0x00
|
||||
T1658 000:522.317 JLINK_ReadReg(R0)
|
||||
T1658 000:522.322 - 0.005ms returns 0x00000000
|
||||
T1658 000:583.455 JLINK_WriteMem(0x20000000, 0x164 Bytes, ...)
|
||||
T1658 000:583.483 Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ...
|
||||
T1658 000:583.529 CPU_WriteMem(356 bytes @ 0x20000000)
|
||||
T1658 000:584.704 - 1.249ms returns 0x164
|
||||
T1658 000:584.778 JLINK_HasError()
|
||||
T1658 000:584.798 JLINK_WriteReg(R0, 0x08000000)
|
||||
T1658 000:584.816 - 0.017ms returns 0
|
||||
T1658 000:584.830 JLINK_WriteReg(R1, 0x007A1200)
|
||||
T1658 000:584.843 - 0.012ms returns 0
|
||||
T1658 000:584.857 JLINK_WriteReg(R2, 0x00000002)
|
||||
T1658 000:584.869 - 0.012ms returns 0
|
||||
T1658 000:584.883 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:584.895 - 0.012ms returns 0
|
||||
T1658 000:584.909 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:584.921 - 0.012ms returns 0
|
||||
T1658 000:584.935 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:584.947 - 0.012ms returns 0
|
||||
T1658 000:584.961 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:584.973 - 0.012ms returns 0
|
||||
T1658 000:584.987 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:584.999 - 0.012ms returns 0
|
||||
T1658 000:585.013 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:585.025 - 0.012ms returns 0
|
||||
T1658 000:585.039 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:585.051 - 0.012ms returns 0
|
||||
T1658 000:585.075 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:585.088 - 0.013ms returns 0
|
||||
T1658 000:585.195 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:585.227 - 0.032ms returns 0
|
||||
T1658 000:585.244 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:585.257 - 0.013ms returns 0
|
||||
T1658 000:585.271 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:585.285 - 0.014ms returns 0
|
||||
T1658 000:585.299 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:585.311 - 0.012ms returns 0
|
||||
T1658 000:585.326 JLINK_WriteReg(R15 (PC), 0x20000038)
|
||||
T1658 000:585.338 - 0.012ms returns 0
|
||||
T1658 000:585.352 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:585.365 - 0.012ms returns 0
|
||||
T1658 000:585.379 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:585.392 - 0.012ms returns 0
|
||||
T1658 000:585.405 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:585.417 - 0.012ms returns 0
|
||||
T1658 000:585.431 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:585.444 - 0.012ms returns 0
|
||||
T1658 000:585.459 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:585.483 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:585.798 - 0.338ms returns 0x00000011
|
||||
T1658 000:585.829 JLINK_Go()
|
||||
T1658 000:585.850 CPU_WriteMem(2 bytes @ 0x20000000)
|
||||
T1658 000:586.161 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:587.968 - 2.138ms
|
||||
T1658 000:588.000 JLINK_IsHalted()
|
||||
T1658 000:589.302 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:589.519 - 1.519ms returns TRUE
|
||||
T1658 000:589.528 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:589.534 - 0.006ms returns 0x20000000
|
||||
T1658 000:589.539 JLINK_ClrBPEx(BPHandle = 0x00000011)
|
||||
T1658 000:589.544 - 0.005ms returns 0x00
|
||||
T1658 000:589.550 JLINK_ReadReg(R0)
|
||||
T1658 000:589.555 - 0.004ms returns 0x00000000
|
||||
T1658 000:589.798 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:589.807 Data: 80 09 00 20 CD 01 00 08 E5 2C 00 08 6D 2A 00 08 ...
|
||||
T1658 000:589.822 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:591.397 - 1.599ms returns 0x29C
|
||||
T1658 000:591.409 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:591.414 Data: C0 09 AC E8 C0 09 21 F0 07 01 8D 46 70 47 10 B5 ...
|
||||
T1658 000:591.428 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:592.405 - 0.996ms returns 0x164
|
||||
T1658 000:592.417 JLINK_HasError()
|
||||
T1658 000:592.423 JLINK_WriteReg(R0, 0x08000000)
|
||||
T1658 000:592.430 - 0.006ms returns 0
|
||||
T1658 000:592.436 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:592.440 - 0.004ms returns 0
|
||||
T1658 000:592.446 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:592.451 - 0.004ms returns 0
|
||||
T1658 000:592.456 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:592.461 - 0.004ms returns 0
|
||||
T1658 000:592.466 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:592.471 - 0.004ms returns 0
|
||||
T1658 000:592.476 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:592.481 - 0.004ms returns 0
|
||||
T1658 000:592.486 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:592.491 - 0.004ms returns 0
|
||||
T1658 000:592.497 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:592.501 - 0.004ms returns 0
|
||||
T1658 000:592.507 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:592.512 - 0.004ms returns 0
|
||||
T1658 000:592.517 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:592.522 - 0.004ms returns 0
|
||||
T1658 000:592.527 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:592.532 - 0.004ms returns 0
|
||||
T1658 000:592.537 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:592.542 - 0.004ms returns 0
|
||||
T1658 000:592.548 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:592.553 - 0.004ms returns 0
|
||||
T1658 000:592.558 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:592.563 - 0.005ms returns 0
|
||||
T1658 000:592.569 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:592.573 - 0.004ms returns 0
|
||||
T1658 000:592.579 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:592.584 - 0.005ms returns 0
|
||||
T1658 000:592.590 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:592.594 - 0.005ms returns 0
|
||||
T1658 000:592.600 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:592.605 - 0.004ms returns 0
|
||||
T1658 000:592.610 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:592.615 - 0.004ms returns 0
|
||||
T1658 000:592.620 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:592.625 - 0.004ms returns 0
|
||||
T1658 000:592.630 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:592.636 - 0.005ms returns 0x00000012
|
||||
T1658 000:592.641 JLINK_Go()
|
||||
T1658 000:592.651 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:594.144 - 1.502ms
|
||||
T1658 000:594.152 JLINK_IsHalted()
|
||||
T1658 000:594.418 - 0.265ms returns FALSE
|
||||
T1658 000:594.426 JLINK_HasError()
|
||||
T1658 000:596.493 JLINK_IsHalted()
|
||||
T1658 000:596.731 - 0.237ms returns FALSE
|
||||
T1658 000:596.739 JLINK_HasError()
|
||||
T1658 000:598.486 JLINK_IsHalted()
|
||||
T1658 000:598.730 - 0.243ms returns FALSE
|
||||
T1658 000:598.738 JLINK_HasError()
|
||||
T1658 000:600.434 JLINK_IsHalted()
|
||||
T1658 000:600.691 - 0.256ms returns FALSE
|
||||
T1658 000:600.702 JLINK_HasError()
|
||||
T1658 000:602.434 JLINK_IsHalted()
|
||||
T1658 000:602.721 - 0.287ms returns FALSE
|
||||
T1658 000:602.734 JLINK_HasError()
|
||||
T1658 000:604.419 JLINK_IsHalted()
|
||||
T1658 000:604.671 - 0.251ms returns FALSE
|
||||
T1658 000:604.683 JLINK_HasError()
|
||||
T1658 000:605.777 JLINK_IsHalted()
|
||||
T1658 000:605.999 - 0.221ms returns FALSE
|
||||
T1658 000:606.010 JLINK_HasError()
|
||||
T1658 000:608.052 JLINK_IsHalted()
|
||||
T1658 000:608.310 - 0.258ms returns FALSE
|
||||
T1658 000:608.322 JLINK_HasError()
|
||||
T1658 000:609.416 JLINK_IsHalted()
|
||||
T1658 000:609.657 - 0.240ms returns FALSE
|
||||
T1658 000:609.669 JLINK_HasError()
|
||||
T1658 000:611.414 JLINK_IsHalted()
|
||||
T1658 000:611.660 - 0.246ms returns FALSE
|
||||
T1658 000:611.672 JLINK_HasError()
|
||||
T1658 000:613.597 JLINK_IsHalted()
|
||||
T1658 000:613.812 - 0.214ms returns FALSE
|
||||
T1658 000:613.824 JLINK_HasError()
|
||||
T1658 000:615.650 JLINK_IsHalted()
|
||||
T1658 000:615.868 - 0.217ms returns FALSE
|
||||
T1658 000:615.880 JLINK_HasError()
|
||||
T1658 000:617.699 JLINK_IsHalted()
|
||||
T1658 000:617.965 - 0.265ms returns FALSE
|
||||
T1658 000:617.976 JLINK_HasError()
|
||||
T1658 000:619.643 JLINK_IsHalted()
|
||||
T1658 000:619.894 - 0.250ms returns FALSE
|
||||
T1658 000:619.908 JLINK_HasError()
|
||||
T1658 000:621.695 JLINK_IsHalted()
|
||||
T1658 000:621.941 - 0.245ms returns FALSE
|
||||
T1658 000:621.952 JLINK_HasError()
|
||||
T1658 000:623.681 JLINK_IsHalted()
|
||||
T1658 000:623.944 - 0.262ms returns FALSE
|
||||
T1658 000:623.955 JLINK_HasError()
|
||||
T1658 000:625.052 JLINK_IsHalted()
|
||||
T1658 000:626.197 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:626.478 - 1.425ms returns TRUE
|
||||
T1658 000:626.489 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:626.496 - 0.007ms returns 0x20000000
|
||||
T1658 000:626.502 JLINK_ClrBPEx(BPHandle = 0x00000012)
|
||||
T1658 000:626.507 - 0.005ms returns 0x00
|
||||
T1658 000:626.513 JLINK_ReadReg(R0)
|
||||
T1658 000:626.518 - 0.004ms returns 0x00000000
|
||||
T1658 000:626.933 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:626.941 Data: 16 00 C0 07 60 B3 FF E7 09 98 01 68 4F F4 80 30 ...
|
||||
T1658 000:626.954 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:628.613 - 1.680ms returns 0x29C
|
||||
T1658 000:628.625 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:628.630 Data: 40 F0 80 00 08 90 05 E0 08 98 40 F4 80 70 08 90 ...
|
||||
T1658 000:628.641 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:629.649 - 1.024ms returns 0x164
|
||||
T1658 000:629.661 JLINK_HasError()
|
||||
T1658 000:629.668 JLINK_WriteReg(R0, 0x08000400)
|
||||
T1658 000:629.674 - 0.006ms returns 0
|
||||
T1658 000:629.680 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:629.685 - 0.004ms returns 0
|
||||
T1658 000:629.690 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:629.695 - 0.004ms returns 0
|
||||
T1658 000:629.700 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:629.705 - 0.004ms returns 0
|
||||
T1658 000:629.710 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:629.714 - 0.004ms returns 0
|
||||
T1658 000:629.720 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:629.724 - 0.004ms returns 0
|
||||
T1658 000:629.730 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:629.735 - 0.004ms returns 0
|
||||
T1658 000:629.740 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:629.745 - 0.005ms returns 0
|
||||
T1658 000:629.750 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:629.755 - 0.004ms returns 0
|
||||
T1658 000:629.760 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:629.765 - 0.004ms returns 0
|
||||
T1658 000:629.770 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:629.775 - 0.004ms returns 0
|
||||
T1658 000:629.780 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:629.785 - 0.004ms returns 0
|
||||
T1658 000:629.790 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:629.795 - 0.004ms returns 0
|
||||
T1658 000:629.800 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:629.805 - 0.005ms returns 0
|
||||
T1658 000:629.811 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:629.815 - 0.004ms returns 0
|
||||
T1658 000:629.821 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:629.825 - 0.004ms returns 0
|
||||
T1658 000:629.831 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:629.836 - 0.004ms returns 0
|
||||
T1658 000:629.841 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:629.845 - 0.004ms returns 0
|
||||
T1658 000:629.851 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:629.856 - 0.004ms returns 0
|
||||
T1658 000:629.861 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:629.866 - 0.004ms returns 0
|
||||
T1658 000:629.871 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:629.877 - 0.005ms returns 0x00000013
|
||||
T1658 000:629.882 JLINK_Go()
|
||||
T1658 000:629.892 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:631.325 - 1.442ms
|
||||
T1658 000:631.336 JLINK_IsHalted()
|
||||
T1658 000:631.549 - 0.212ms returns FALSE
|
||||
T1658 000:631.561 JLINK_HasError()
|
||||
T1658 000:632.774 JLINK_IsHalted()
|
||||
T1658 000:633.020 - 0.245ms returns FALSE
|
||||
T1658 000:633.031 JLINK_HasError()
|
||||
T1658 000:634.132 JLINK_IsHalted()
|
||||
T1658 000:634.383 - 0.249ms returns FALSE
|
||||
T1658 000:634.394 JLINK_HasError()
|
||||
T1658 000:636.493 JLINK_IsHalted()
|
||||
T1658 000:636.745 - 0.251ms returns FALSE
|
||||
T1658 000:636.757 JLINK_HasError()
|
||||
T1658 000:638.478 JLINK_IsHalted()
|
||||
T1658 000:638.731 - 0.253ms returns FALSE
|
||||
T1658 000:638.743 JLINK_HasError()
|
||||
T1658 000:640.469 JLINK_IsHalted()
|
||||
T1658 000:640.716 - 0.247ms returns FALSE
|
||||
T1658 000:640.728 JLINK_HasError()
|
||||
T1658 000:642.828 JLINK_IsHalted()
|
||||
T1658 000:643.084 - 0.255ms returns FALSE
|
||||
T1658 000:643.097 JLINK_HasError()
|
||||
T1658 000:644.179 JLINK_IsHalted()
|
||||
T1658 000:644.435 - 0.255ms returns FALSE
|
||||
T1658 000:644.449 JLINK_HasError()
|
||||
T1658 000:645.531 JLINK_IsHalted()
|
||||
T1658 000:645.826 - 0.294ms returns FALSE
|
||||
T1658 000:645.885 JLINK_HasError()
|
||||
T1658 000:647.934 JLINK_IsHalted()
|
||||
T1658 000:648.234 - 0.299ms returns FALSE
|
||||
T1658 000:648.249 JLINK_HasError()
|
||||
T1658 000:649.320 JLINK_IsHalted()
|
||||
T1658 000:649.613 - 0.292ms returns FALSE
|
||||
T1658 000:649.628 JLINK_HasError()
|
||||
T1658 000:651.682 JLINK_IsHalted()
|
||||
T1658 000:651.973 - 0.291ms returns FALSE
|
||||
T1658 000:651.990 JLINK_HasError()
|
||||
T1658 000:653.612 JLINK_IsHalted()
|
||||
T1658 000:653.852 - 0.239ms returns FALSE
|
||||
T1658 000:653.868 JLINK_HasError()
|
||||
T1658 000:655.946 JLINK_IsHalted()
|
||||
T1658 000:656.217 - 0.270ms returns FALSE
|
||||
T1658 000:656.233 JLINK_HasError()
|
||||
T1658 000:657.943 JLINK_IsHalted()
|
||||
T1658 000:658.245 - 0.301ms returns FALSE
|
||||
T1658 000:658.264 JLINK_HasError()
|
||||
T1658 000:659.931 JLINK_IsHalted()
|
||||
T1658 000:660.195 - 0.263ms returns FALSE
|
||||
T1658 000:660.206 JLINK_HasError()
|
||||
T1658 000:661.926 JLINK_IsHalted()
|
||||
T1658 000:662.184 - 0.257ms returns FALSE
|
||||
T1658 000:662.195 JLINK_HasError()
|
||||
T1658 000:663.300 JLINK_IsHalted()
|
||||
T1658 000:664.344 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:664.618 - 1.317ms returns TRUE
|
||||
T1658 000:664.630 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:664.638 - 0.007ms returns 0x20000000
|
||||
T1658 000:664.643 JLINK_ClrBPEx(BPHandle = 0x00000013)
|
||||
T1658 000:664.649 - 0.005ms returns 0x00
|
||||
T1658 000:664.654 JLINK_ReadReg(R0)
|
||||
T1658 000:664.659 - 0.004ms returns 0x00000000
|
||||
T1658 000:665.077 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:665.086 Data: 40 F0 20 00 08 60 06 E0 02 98 01 68 08 68 20 F0 ...
|
||||
T1658 000:665.098 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:666.599 - 1.522ms returns 0x29C
|
||||
T1658 000:666.612 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:666.618 Data: 20 F0 01 00 08 60 15 98 00 68 81 21 C4 F2 02 01 ...
|
||||
T1658 000:666.629 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:667.615 - 1.002ms returns 0x164
|
||||
T1658 000:667.628 JLINK_HasError()
|
||||
T1658 000:667.635 JLINK_WriteReg(R0, 0x08000800)
|
||||
T1658 000:667.642 - 0.007ms returns 0
|
||||
T1658 000:667.648 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:667.653 - 0.005ms returns 0
|
||||
T1658 000:667.659 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:667.664 - 0.005ms returns 0
|
||||
T1658 000:667.670 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:667.675 - 0.005ms returns 0
|
||||
T1658 000:667.681 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:667.686 - 0.005ms returns 0
|
||||
T1658 000:667.692 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:667.697 - 0.005ms returns 0
|
||||
T1658 000:667.703 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:667.708 - 0.005ms returns 0
|
||||
T1658 000:667.714 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:667.718 - 0.005ms returns 0
|
||||
T1658 000:667.724 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:667.729 - 0.005ms returns 0
|
||||
T1658 000:667.735 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:667.740 - 0.005ms returns 0
|
||||
T1658 000:667.746 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:667.751 - 0.005ms returns 0
|
||||
T1658 000:667.757 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:667.762 - 0.004ms returns 0
|
||||
T1658 000:667.767 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:667.772 - 0.005ms returns 0
|
||||
T1658 000:667.778 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:667.784 - 0.005ms returns 0
|
||||
T1658 000:667.789 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:667.795 - 0.005ms returns 0
|
||||
T1658 000:667.801 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:667.806 - 0.005ms returns 0
|
||||
T1658 000:667.812 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:667.817 - 0.005ms returns 0
|
||||
T1658 000:667.823 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:667.829 - 0.006ms returns 0
|
||||
T1658 000:667.835 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:667.840 - 0.005ms returns 0
|
||||
T1658 000:667.846 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:667.851 - 0.005ms returns 0
|
||||
T1658 000:667.857 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:667.863 - 0.006ms returns 0x00000014
|
||||
T1658 000:667.870 JLINK_Go()
|
||||
T1658 000:667.881 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:669.295 - 1.425ms
|
||||
T1658 000:669.309 JLINK_IsHalted()
|
||||
T1658 000:669.521 - 0.212ms returns FALSE
|
||||
T1658 000:669.533 JLINK_HasError()
|
||||
T1658 000:671.628 JLINK_IsHalted()
|
||||
T1658 000:672.104 - 0.473ms returns FALSE
|
||||
T1658 000:672.166 JLINK_HasError()
|
||||
T1658 000:673.570 JLINK_IsHalted()
|
||||
T1658 000:673.961 - 0.389ms returns FALSE
|
||||
T1658 000:674.015 JLINK_HasError()
|
||||
T1658 000:675.550 JLINK_IsHalted()
|
||||
T1658 000:675.988 - 0.436ms returns FALSE
|
||||
T1658 000:676.028 JLINK_HasError()
|
||||
T1658 000:677.546 JLINK_IsHalted()
|
||||
T1658 000:677.952 - 0.405ms returns FALSE
|
||||
T1658 000:677.991 JLINK_HasError()
|
||||
T1658 000:679.528 JLINK_IsHalted()
|
||||
T1658 000:679.985 - 0.456ms returns FALSE
|
||||
T1658 000:680.023 JLINK_HasError()
|
||||
T1658 000:682.030 JLINK_IsHalted()
|
||||
T1658 000:682.469 - 0.437ms returns FALSE
|
||||
T1658 000:682.506 JLINK_HasError()
|
||||
T1658 000:684.483 JLINK_IsHalted()
|
||||
T1658 000:684.926 - 0.442ms returns FALSE
|
||||
T1658 000:684.963 JLINK_HasError()
|
||||
T1658 000:686.471 JLINK_IsHalted()
|
||||
T1658 000:686.904 - 0.431ms returns FALSE
|
||||
T1658 000:686.949 JLINK_HasError()
|
||||
T1658 000:688.475 JLINK_IsHalted()
|
||||
T1658 000:688.895 - 0.419ms returns FALSE
|
||||
T1658 000:688.933 JLINK_HasError()
|
||||
T1658 000:690.909 JLINK_IsHalted()
|
||||
T1658 000:691.354 - 0.444ms returns FALSE
|
||||
T1658 000:691.392 JLINK_HasError()
|
||||
T1658 000:692.942 JLINK_IsHalted()
|
||||
T1658 000:693.402 - 0.458ms returns FALSE
|
||||
T1658 000:693.457 JLINK_HasError()
|
||||
T1658 000:698.889 JLINK_IsHalted()
|
||||
T1658 000:699.141 - 0.251ms returns FALSE
|
||||
T1658 000:699.153 JLINK_HasError()
|
||||
T1658 000:700.848 JLINK_IsHalted()
|
||||
T1658 000:702.006 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:702.347 - 1.498ms returns TRUE
|
||||
T1658 000:702.359 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:702.367 - 0.007ms returns 0x20000000
|
||||
T1658 000:702.372 JLINK_ClrBPEx(BPHandle = 0x00000014)
|
||||
T1658 000:702.378 - 0.005ms returns 0x00
|
||||
T1658 000:702.383 JLINK_ReadReg(R0)
|
||||
T1658 000:702.388 - 0.005ms returns 0x00000000
|
||||
T1658 000:702.834 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:702.845 Data: A5 E0 15 98 00 68 08 21 C4 F2 02 01 88 42 03 D1 ...
|
||||
T1658 000:702.858 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:704.405 - 1.571ms returns 0x29C
|
||||
T1658 000:704.417 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:704.423 Data: 0B 90 00 E0 FF E7 0D 98 FF 28 03 D8 FF E7 11 98 ...
|
||||
T1658 000:704.433 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:705.453 - 1.035ms returns 0x164
|
||||
T1658 000:705.465 JLINK_HasError()
|
||||
T1658 000:705.472 JLINK_WriteReg(R0, 0x08000C00)
|
||||
T1658 000:705.478 - 0.006ms returns 0
|
||||
T1658 000:705.484 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:705.489 - 0.005ms returns 0
|
||||
T1658 000:705.494 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:705.499 - 0.004ms returns 0
|
||||
T1658 000:705.504 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:705.509 - 0.004ms returns 0
|
||||
T1658 000:705.514 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:705.519 - 0.004ms returns 0
|
||||
T1658 000:705.524 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:705.529 - 0.004ms returns 0
|
||||
T1658 000:705.535 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:705.539 - 0.004ms returns 0
|
||||
T1658 000:705.545 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:705.549 - 0.004ms returns 0
|
||||
T1658 000:705.555 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:705.559 - 0.004ms returns 0
|
||||
T1658 000:705.565 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:705.569 - 0.004ms returns 0
|
||||
T1658 000:705.575 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:705.579 - 0.004ms returns 0
|
||||
T1658 000:705.585 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:705.589 - 0.004ms returns 0
|
||||
T1658 000:705.595 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:705.599 - 0.004ms returns 0
|
||||
T1658 000:705.605 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:705.610 - 0.005ms returns 0
|
||||
T1658 000:705.615 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:705.620 - 0.004ms returns 0
|
||||
T1658 000:705.625 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:705.630 - 0.004ms returns 0
|
||||
T1658 000:705.636 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:705.640 - 0.004ms returns 0
|
||||
T1658 000:705.646 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:705.650 - 0.004ms returns 0
|
||||
T1658 000:705.656 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:705.660 - 0.004ms returns 0
|
||||
T1658 000:705.666 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:705.670 - 0.004ms returns 0
|
||||
T1658 000:705.676 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:705.729 - 0.052ms returns 0x00000015
|
||||
T1658 000:705.735 JLINK_Go()
|
||||
T1658 000:705.746 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:707.237 - 1.501ms
|
||||
T1658 000:707.249 JLINK_IsHalted()
|
||||
T1658 000:707.461 - 0.211ms returns FALSE
|
||||
T1658 000:707.472 JLINK_HasError()
|
||||
T1658 000:708.908 JLINK_IsHalted()
|
||||
T1658 000:709.137 - 0.228ms returns FALSE
|
||||
T1658 000:709.149 JLINK_HasError()
|
||||
T1658 000:710.907 JLINK_IsHalted()
|
||||
T1658 000:711.137 - 0.229ms returns FALSE
|
||||
T1658 000:711.145 JLINK_HasError()
|
||||
T1658 000:712.952 JLINK_IsHalted()
|
||||
T1658 000:713.202 - 0.250ms returns FALSE
|
||||
T1658 000:713.210 JLINK_HasError()
|
||||
T1658 000:714.311 JLINK_IsHalted()
|
||||
T1658 000:714.571 - 0.260ms returns FALSE
|
||||
T1658 000:714.582 JLINK_HasError()
|
||||
T1658 000:715.679 JLINK_IsHalted()
|
||||
T1658 000:715.954 - 0.274ms returns FALSE
|
||||
T1658 000:715.965 JLINK_HasError()
|
||||
T1658 000:717.674 JLINK_IsHalted()
|
||||
T1658 000:717.952 - 0.277ms returns FALSE
|
||||
T1658 000:717.963 JLINK_HasError()
|
||||
T1658 000:719.590 JLINK_IsHalted()
|
||||
T1658 000:719.818 - 0.227ms returns FALSE
|
||||
T1658 000:719.830 JLINK_HasError()
|
||||
T1658 000:720.927 JLINK_IsHalted()
|
||||
T1658 000:721.187 - 0.259ms returns FALSE
|
||||
T1658 000:721.199 JLINK_HasError()
|
||||
T1658 000:723.054 JLINK_IsHalted()
|
||||
T1658 000:723.272 - 0.217ms returns FALSE
|
||||
T1658 000:723.283 JLINK_HasError()
|
||||
T1658 000:725.509 JLINK_IsHalted()
|
||||
T1658 000:725.768 - 0.259ms returns FALSE
|
||||
T1658 000:725.779 JLINK_HasError()
|
||||
T1658 000:727.524 JLINK_IsHalted()
|
||||
T1658 000:727.789 - 0.265ms returns FALSE
|
||||
T1658 000:727.800 JLINK_HasError()
|
||||
T1658 000:729.537 JLINK_IsHalted()
|
||||
T1658 000:729.780 - 0.242ms returns FALSE
|
||||
T1658 000:729.791 JLINK_HasError()
|
||||
T1658 000:730.895 JLINK_IsHalted()
|
||||
T1658 000:731.143 - 0.247ms returns FALSE
|
||||
T1658 000:731.154 JLINK_HasError()
|
||||
T1658 000:733.193 JLINK_IsHalted()
|
||||
T1658 000:733.438 - 0.244ms returns FALSE
|
||||
T1658 000:733.450 JLINK_HasError()
|
||||
T1658 000:734.539 JLINK_IsHalted()
|
||||
T1658 000:734.823 - 0.283ms returns FALSE
|
||||
T1658 000:734.835 JLINK_HasError()
|
||||
T1658 000:736.960 JLINK_IsHalted()
|
||||
T1658 000:737.251 - 0.290ms returns FALSE
|
||||
T1658 000:737.264 JLINK_HasError()
|
||||
T1658 000:738.934 JLINK_IsHalted()
|
||||
T1658 000:740.038 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:740.323 - 1.388ms returns TRUE
|
||||
T1658 000:740.337 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:740.346 - 0.008ms returns 0x20000000
|
||||
T1658 000:740.353 JLINK_ClrBPEx(BPHandle = 0x00000015)
|
||||
T1658 000:740.359 - 0.006ms returns 0x00
|
||||
T1658 000:740.366 JLINK_ReadReg(R0)
|
||||
T1658 000:740.371 - 0.005ms returns 0x00000000
|
||||
T1658 000:740.847 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:740.857 Data: 01 02 88 50 10 98 80 79 C0 06 00 28 09 D5 FF E7 ...
|
||||
T1658 000:740.871 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:742.391 - 1.544ms returns 0x29C
|
||||
T1658 000:742.407 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:742.414 Data: 4D F8 0B 98 40 F2 08 01 C2 F2 00 01 08 60 03 E0 ...
|
||||
T1658 000:742.428 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:743.390 - 0.982ms returns 0x164
|
||||
T1658 000:743.405 JLINK_HasError()
|
||||
T1658 000:743.413 JLINK_WriteReg(R0, 0x08001000)
|
||||
T1658 000:743.422 - 0.008ms returns 0
|
||||
T1658 000:743.429 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:743.436 - 0.006ms returns 0
|
||||
T1658 000:743.443 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:743.449 - 0.006ms returns 0
|
||||
T1658 000:743.456 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:743.462 - 0.006ms returns 0
|
||||
T1658 000:743.469 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:743.475 - 0.006ms returns 0
|
||||
T1658 000:743.482 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:743.489 - 0.006ms returns 0
|
||||
T1658 000:743.496 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:743.502 - 0.006ms returns 0
|
||||
T1658 000:743.509 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:743.515 - 0.006ms returns 0
|
||||
T1658 000:743.522 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:743.528 - 0.006ms returns 0
|
||||
T1658 000:743.535 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:743.541 - 0.006ms returns 0
|
||||
T1658 000:743.548 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:743.554 - 0.006ms returns 0
|
||||
T1658 000:743.561 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:743.621 - 0.059ms returns 0
|
||||
T1658 000:743.629 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:743.635 - 0.006ms returns 0
|
||||
T1658 000:743.642 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:743.648 - 0.007ms returns 0
|
||||
T1658 000:743.655 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:743.661 - 0.006ms returns 0
|
||||
T1658 000:743.669 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:743.675 - 0.006ms returns 0
|
||||
T1658 000:743.682 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:743.688 - 0.006ms returns 0
|
||||
T1658 000:743.695 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:743.701 - 0.006ms returns 0
|
||||
T1658 000:743.708 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:743.714 - 0.006ms returns 0
|
||||
T1658 000:743.721 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:743.727 - 0.006ms returns 0
|
||||
T1658 000:743.734 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:743.742 - 0.008ms returns 0x00000016
|
||||
T1658 000:743.749 JLINK_Go()
|
||||
T1658 000:743.763 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:745.233 - 1.483ms
|
||||
T1658 000:745.248 JLINK_IsHalted()
|
||||
T1658 000:745.580 - 0.331ms returns FALSE
|
||||
T1658 000:745.595 JLINK_HasError()
|
||||
T1658 000:749.630 JLINK_IsHalted()
|
||||
T1658 000:749.881 - 0.250ms returns FALSE
|
||||
T1658 000:749.896 JLINK_HasError()
|
||||
T1658 000:750.938 JLINK_IsHalted()
|
||||
T1658 000:751.189 - 0.250ms returns FALSE
|
||||
T1658 000:751.204 JLINK_HasError()
|
||||
T1658 000:753.246 JLINK_IsHalted()
|
||||
T1658 000:753.587 - 0.341ms returns FALSE
|
||||
T1658 000:753.603 JLINK_HasError()
|
||||
T1658 000:755.239 JLINK_IsHalted()
|
||||
T1658 000:755.583 - 0.344ms returns FALSE
|
||||
T1658 000:755.598 JLINK_HasError()
|
||||
T1658 000:756.668 JLINK_IsHalted()
|
||||
T1658 000:756.953 - 0.284ms returns FALSE
|
||||
T1658 000:756.968 JLINK_HasError()
|
||||
T1658 000:758.661 JLINK_IsHalted()
|
||||
T1658 000:758.891 - 0.229ms returns FALSE
|
||||
T1658 000:758.905 JLINK_HasError()
|
||||
T1658 000:760.657 JLINK_IsHalted()
|
||||
T1658 000:760.940 - 0.283ms returns FALSE
|
||||
T1658 000:760.955 JLINK_HasError()
|
||||
T1658 000:763.040 JLINK_IsHalted()
|
||||
T1658 000:763.321 - 0.280ms returns FALSE
|
||||
T1658 000:763.336 JLINK_HasError()
|
||||
T1658 000:764.411 JLINK_IsHalted()
|
||||
T1658 000:764.630 - 0.219ms returns FALSE
|
||||
T1658 000:764.645 JLINK_HasError()
|
||||
T1658 000:765.720 JLINK_IsHalted()
|
||||
T1658 000:766.009 - 0.288ms returns FALSE
|
||||
T1658 000:766.024 JLINK_HasError()
|
||||
T1658 000:767.717 JLINK_IsHalted()
|
||||
T1658 000:768.029 - 0.312ms returns FALSE
|
||||
T1658 000:768.046 JLINK_HasError()
|
||||
T1658 000:769.645 JLINK_IsHalted()
|
||||
T1658 000:769.886 - 0.241ms returns FALSE
|
||||
T1658 000:769.898 JLINK_HasError()
|
||||
T1658 000:772.701 JLINK_IsHalted()
|
||||
T1658 000:772.939 - 0.237ms returns FALSE
|
||||
T1658 000:772.950 JLINK_HasError()
|
||||
T1658 000:774.018 JLINK_IsHalted()
|
||||
T1658 000:774.280 - 0.261ms returns FALSE
|
||||
T1658 000:774.292 JLINK_HasError()
|
||||
T1658 000:775.389 JLINK_IsHalted()
|
||||
T1658 000:775.664 - 0.274ms returns FALSE
|
||||
T1658 000:775.675 JLINK_HasError()
|
||||
T1658 000:776.766 JLINK_IsHalted()
|
||||
T1658 000:777.853 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:778.110 - 1.343ms returns TRUE
|
||||
T1658 000:778.123 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:778.131 - 0.008ms returns 0x20000000
|
||||
T1658 000:778.137 JLINK_ClrBPEx(BPHandle = 0x00000016)
|
||||
T1658 000:778.143 - 0.005ms returns 0x00
|
||||
T1658 000:778.149 JLINK_ReadReg(R0)
|
||||
T1658 000:778.154 - 0.005ms returns 0x00000000
|
||||
T1658 000:778.571 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:778.581 Data: 00 78 00 07 00 28 09 D5 FF E7 41 F2 04 01 C4 F2 ...
|
||||
T1658 000:778.593 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:780.064 - 1.493ms returns 0x29C
|
||||
T1658 000:780.077 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:780.083 Data: 01 46 00 91 00 28 3F D0 FF E7 00 98 04 28 04 D0 ...
|
||||
T1658 000:780.095 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:781.095 - 1.018ms returns 0x164
|
||||
T1658 000:781.108 JLINK_HasError()
|
||||
T1658 000:781.115 JLINK_WriteReg(R0, 0x08001400)
|
||||
T1658 000:781.122 - 0.007ms returns 0
|
||||
T1658 000:781.128 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:781.134 - 0.005ms returns 0
|
||||
T1658 000:781.139 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:781.145 - 0.005ms returns 0
|
||||
T1658 000:781.151 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:781.209 - 0.058ms returns 0
|
||||
T1658 000:781.216 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:781.221 - 0.005ms returns 0
|
||||
T1658 000:781.227 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:781.232 - 0.005ms returns 0
|
||||
T1658 000:781.238 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:781.243 - 0.005ms returns 0
|
||||
T1658 000:781.249 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:781.254 - 0.005ms returns 0
|
||||
T1658 000:781.260 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:781.265 - 0.005ms returns 0
|
||||
T1658 000:781.270 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:781.275 - 0.005ms returns 0
|
||||
T1658 000:781.281 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:781.286 - 0.005ms returns 0
|
||||
T1658 000:781.292 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:781.297 - 0.005ms returns 0
|
||||
T1658 000:781.303 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:781.308 - 0.005ms returns 0
|
||||
T1658 000:781.314 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:781.319 - 0.005ms returns 0
|
||||
T1658 000:781.325 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:781.330 - 0.005ms returns 0
|
||||
T1658 000:781.336 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:781.341 - 0.005ms returns 0
|
||||
T1658 000:781.347 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:781.352 - 0.005ms returns 0
|
||||
T1658 000:781.358 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:781.363 - 0.005ms returns 0
|
||||
T1658 000:781.369 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:781.374 - 0.005ms returns 0
|
||||
T1658 000:781.380 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:781.385 - 0.005ms returns 0
|
||||
T1658 000:781.404 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:781.411 - 0.007ms returns 0x00000017
|
||||
T1658 000:781.417 JLINK_Go()
|
||||
T1658 000:781.430 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:782.869 - 1.451ms
|
||||
T1658 000:782.883 JLINK_IsHalted()
|
||||
T1658 000:783.140 - 0.256ms returns FALSE
|
||||
T1658 000:783.153 JLINK_HasError()
|
||||
T1658 000:784.234 JLINK_IsHalted()
|
||||
T1658 000:784.492 - 0.257ms returns FALSE
|
||||
T1658 000:784.505 JLINK_HasError()
|
||||
T1658 000:786.161 JLINK_IsHalted()
|
||||
T1658 000:786.415 - 0.253ms returns FALSE
|
||||
T1658 000:786.443 JLINK_HasError()
|
||||
T1658 000:788.233 JLINK_IsHalted()
|
||||
T1658 000:788.586 - 0.352ms returns FALSE
|
||||
T1658 000:788.601 JLINK_HasError()
|
||||
T1658 000:789.675 JLINK_IsHalted()
|
||||
T1658 000:789.907 - 0.231ms returns FALSE
|
||||
T1658 000:789.922 JLINK_HasError()
|
||||
T1658 000:791.803 JLINK_IsHalted()
|
||||
T1658 000:792.042 - 0.239ms returns FALSE
|
||||
T1658 000:792.059 JLINK_HasError()
|
||||
T1658 000:793.797 JLINK_IsHalted()
|
||||
T1658 000:794.076 - 0.278ms returns FALSE
|
||||
T1658 000:794.092 JLINK_HasError()
|
||||
T1658 000:795.162 JLINK_IsHalted()
|
||||
T1658 000:795.452 - 0.289ms returns FALSE
|
||||
T1658 000:795.469 JLINK_HasError()
|
||||
T1658 000:797.551 JLINK_IsHalted()
|
||||
T1658 000:797.845 - 0.293ms returns FALSE
|
||||
T1658 000:797.863 JLINK_HasError()
|
||||
T1658 000:799.526 JLINK_IsHalted()
|
||||
T1658 000:799.825 - 0.298ms returns FALSE
|
||||
T1658 000:799.844 JLINK_HasError()
|
||||
T1658 000:801.543 JLINK_IsHalted()
|
||||
T1658 000:801.822 - 0.278ms returns FALSE
|
||||
T1658 000:801.844 JLINK_HasError()
|
||||
T1658 000:803.468 JLINK_IsHalted()
|
||||
T1658 000:803.770 - 0.301ms returns FALSE
|
||||
T1658 000:803.791 JLINK_HasError()
|
||||
T1658 000:805.815 JLINK_IsHalted()
|
||||
T1658 000:806.091 - 0.275ms returns FALSE
|
||||
T1658 000:806.113 JLINK_HasError()
|
||||
T1658 000:807.811 JLINK_IsHalted()
|
||||
T1658 000:808.153 - 0.341ms returns FALSE
|
||||
T1658 000:808.178 JLINK_HasError()
|
||||
T1658 000:809.804 JLINK_IsHalted()
|
||||
T1658 000:810.129 - 0.324ms returns FALSE
|
||||
T1658 000:810.155 JLINK_HasError()
|
||||
T1658 000:812.185 JLINK_IsHalted()
|
||||
T1658 000:812.528 - 0.341ms returns FALSE
|
||||
T1658 000:812.558 JLINK_HasError()
|
||||
T1658 000:814.168 JLINK_IsHalted()
|
||||
T1658 000:815.461 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:815.871 - 1.701ms returns TRUE
|
||||
T1658 000:815.902 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:815.921 - 0.018ms returns 0x20000000
|
||||
T1658 000:815.936 JLINK_ClrBPEx(BPHandle = 0x00000017)
|
||||
T1658 000:815.949 - 0.013ms returns 0x00
|
||||
T1658 000:815.964 JLINK_ReadReg(R0)
|
||||
T1658 000:815.977 - 0.012ms returns 0x00000000
|
||||
T1658 000:817.614 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:817.649 Data: C4 F2 02 00 00 68 80 03 00 28 08 D5 FF E7 04 98 ...
|
||||
T1658 000:817.708 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:819.329 - 1.715ms returns 0x29C
|
||||
T1658 000:819.369 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:819.388 Data: 40 F2 80 41 C4 F2 42 21 00 20 08 60 FF F7 2C FB ...
|
||||
T1658 000:819.424 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:820.645 - 1.274ms returns 0x164
|
||||
T1658 000:820.685 JLINK_HasError()
|
||||
T1658 000:820.706 JLINK_WriteReg(R0, 0x08001800)
|
||||
T1658 000:820.728 - 0.022ms returns 0
|
||||
T1658 000:820.746 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:820.762 - 0.016ms returns 0
|
||||
T1658 000:820.780 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:820.795 - 0.015ms returns 0
|
||||
T1658 000:820.812 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:820.827 - 0.015ms returns 0
|
||||
T1658 000:820.845 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:820.860 - 0.015ms returns 0
|
||||
T1658 000:820.877 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:820.893 - 0.015ms returns 0
|
||||
T1658 000:820.910 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:820.925 - 0.015ms returns 0
|
||||
T1658 000:820.943 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:820.958 - 0.015ms returns 0
|
||||
T1658 000:820.975 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:820.991 - 0.015ms returns 0
|
||||
T1658 000:821.008 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:821.023 - 0.015ms returns 0
|
||||
T1658 000:821.040 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:821.056 - 0.015ms returns 0
|
||||
T1658 000:821.073 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:821.089 - 0.015ms returns 0
|
||||
T1658 000:821.106 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:821.121 - 0.015ms returns 0
|
||||
T1658 000:821.139 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:821.155 - 0.017ms returns 0
|
||||
T1658 000:821.173 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:821.188 - 0.015ms returns 0
|
||||
T1658 000:821.206 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:821.221 - 0.016ms returns 0
|
||||
T1658 000:821.239 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:821.254 - 0.015ms returns 0
|
||||
T1658 000:821.272 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:821.287 - 0.015ms returns 0
|
||||
T1658 000:821.304 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:821.319 - 0.015ms returns 0
|
||||
T1658 000:821.337 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:821.352 - 0.015ms returns 0
|
||||
T1658 000:821.371 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:821.389 - 0.018ms returns 0x00000018
|
||||
T1658 000:821.406 JLINK_Go()
|
||||
T1658 000:821.440 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:823.090 - 1.682ms
|
||||
T1658 000:823.130 JLINK_IsHalted()
|
||||
T1658 000:823.472 - 0.341ms returns FALSE
|
||||
T1658 000:823.501 JLINK_HasError()
|
||||
T1658 000:825.499 JLINK_IsHalted()
|
||||
T1658 000:825.805 - 0.305ms returns FALSE
|
||||
T1658 000:825.833 JLINK_HasError()
|
||||
T1658 000:827.489 JLINK_IsHalted()
|
||||
T1658 000:827.884 - 0.395ms returns FALSE
|
||||
T1658 000:827.911 JLINK_HasError()
|
||||
T1658 000:829.481 JLINK_IsHalted()
|
||||
T1658 000:829.801 - 0.318ms returns FALSE
|
||||
T1658 000:829.839 JLINK_HasError()
|
||||
T1658 000:831.849 JLINK_IsHalted()
|
||||
T1658 000:832.254 - 0.403ms returns FALSE
|
||||
T1658 000:832.303 JLINK_HasError()
|
||||
T1658 000:836.792 JLINK_IsHalted()
|
||||
T1658 000:837.293 - 0.499ms returns FALSE
|
||||
T1658 000:837.344 JLINK_HasError()
|
||||
T1658 000:838.860 JLINK_IsHalted()
|
||||
T1658 000:839.303 - 0.440ms returns FALSE
|
||||
T1658 000:839.359 JLINK_HasError()
|
||||
T1658 000:841.333 JLINK_IsHalted()
|
||||
T1658 000:841.815 - 0.480ms returns FALSE
|
||||
T1658 000:841.865 JLINK_HasError()
|
||||
T1658 000:843.339 JLINK_IsHalted()
|
||||
T1658 000:843.718 - 0.377ms returns FALSE
|
||||
T1658 000:843.768 JLINK_HasError()
|
||||
T1658 000:845.784 JLINK_IsHalted()
|
||||
T1658 000:846.241 - 0.456ms returns FALSE
|
||||
T1658 000:846.292 JLINK_HasError()
|
||||
T1658 000:847.861 JLINK_IsHalted()
|
||||
T1658 000:848.282 - 0.418ms returns FALSE
|
||||
T1658 000:848.332 JLINK_HasError()
|
||||
T1658 000:849.819 JLINK_IsHalted()
|
||||
T1658 000:850.275 - 0.454ms returns FALSE
|
||||
T1658 000:850.326 JLINK_HasError()
|
||||
T1658 000:851.805 JLINK_IsHalted()
|
||||
T1658 000:852.355 - 0.547ms returns FALSE
|
||||
T1658 000:852.406 JLINK_HasError()
|
||||
T1658 000:853.819 JLINK_IsHalted()
|
||||
T1658 000:855.372 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:855.818 - 1.997ms returns TRUE
|
||||
T1658 000:855.880 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:855.920 - 0.038ms returns 0x20000000
|
||||
T1658 000:855.945 JLINK_ClrBPEx(BPHandle = 0x00000018)
|
||||
T1658 000:855.967 - 0.021ms returns 0x00
|
||||
T1658 000:855.990 JLINK_ReadReg(R0)
|
||||
T1658 000:856.011 - 0.020ms returns 0x00000000
|
||||
T1658 000:857.619 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:857.659 Data: FF E7 FF E7 04 98 C0 68 E0 B1 FF E7 FF F7 7A FA ...
|
||||
T1658 000:857.709 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:859.415 - 1.796ms returns 0x29C
|
||||
T1658 000:859.482 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:859.506 Data: 43 F2 00 41 C4 F2 01 01 88 42 21 D0 FF E7 03 98 ...
|
||||
T1658 000:859.554 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:860.713 - 1.230ms returns 0x164
|
||||
T1658 000:860.763 JLINK_HasError()
|
||||
T1658 000:860.791 JLINK_WriteReg(R0, 0x08001C00)
|
||||
T1658 000:860.820 - 0.028ms returns 0
|
||||
T1658 000:860.844 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:860.866 - 0.021ms returns 0
|
||||
T1658 000:860.889 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:860.910 - 0.021ms returns 0
|
||||
T1658 000:860.933 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:860.953 - 0.020ms returns 0
|
||||
T1658 000:860.977 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:860.997 - 0.020ms returns 0
|
||||
T1658 000:861.020 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:861.041 - 0.020ms returns 0
|
||||
T1658 000:861.064 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:861.090 - 0.025ms returns 0
|
||||
T1658 000:861.113 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:861.133 - 0.020ms returns 0
|
||||
T1658 000:861.157 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:861.177 - 0.020ms returns 0
|
||||
T1658 000:861.200 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:861.220 - 0.020ms returns 0
|
||||
T1658 000:861.244 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:861.265 - 0.021ms returns 0
|
||||
T1658 000:861.287 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:861.307 - 0.020ms returns 0
|
||||
T1658 000:861.331 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:861.352 - 0.020ms returns 0
|
||||
T1658 000:861.375 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:861.397 - 0.022ms returns 0
|
||||
T1658 000:861.420 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:861.441 - 0.021ms returns 0
|
||||
T1658 000:861.463 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:861.484 - 0.020ms returns 0
|
||||
T1658 000:861.507 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:861.528 - 0.021ms returns 0
|
||||
T1658 000:861.551 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:861.572 - 0.021ms returns 0
|
||||
T1658 000:861.595 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:861.615 - 0.020ms returns 0
|
||||
T1658 000:861.638 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:861.658 - 0.020ms returns 0
|
||||
T1658 000:861.691 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:861.715 - 0.025ms returns 0x00000019
|
||||
T1658 000:861.738 JLINK_Go()
|
||||
T1658 000:861.782 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:863.615 - 1.875ms
|
||||
T1658 000:863.666 JLINK_IsHalted()
|
||||
T1658 000:864.119 - 0.450ms returns FALSE
|
||||
T1658 000:864.169 JLINK_HasError()
|
||||
T1658 000:865.729 JLINK_IsHalted()
|
||||
T1658 000:866.244 - 0.513ms returns FALSE
|
||||
T1658 000:866.293 JLINK_HasError()
|
||||
T1658 000:867.727 JLINK_IsHalted()
|
||||
T1658 000:868.178 - 0.449ms returns FALSE
|
||||
T1658 000:868.229 JLINK_HasError()
|
||||
T1658 000:869.703 JLINK_IsHalted()
|
||||
T1658 000:870.076 - 0.371ms returns FALSE
|
||||
T1658 000:870.127 JLINK_HasError()
|
||||
T1658 000:871.698 JLINK_IsHalted()
|
||||
T1658 000:872.180 - 0.481ms returns FALSE
|
||||
T1658 000:872.231 JLINK_HasError()
|
||||
T1658 000:873.686 JLINK_IsHalted()
|
||||
T1658 000:874.125 - 0.437ms returns FALSE
|
||||
T1658 000:874.176 JLINK_HasError()
|
||||
T1658 000:875.694 JLINK_IsHalted()
|
||||
T1658 000:876.044 - 0.348ms returns FALSE
|
||||
T1658 000:876.079 JLINK_HasError()
|
||||
T1658 000:877.680 JLINK_IsHalted()
|
||||
T1658 000:878.124 - 0.443ms returns FALSE
|
||||
T1658 000:878.159 JLINK_HasError()
|
||||
T1658 000:879.700 JLINK_IsHalted()
|
||||
T1658 000:880.103 - 0.402ms returns FALSE
|
||||
T1658 000:880.138 JLINK_HasError()
|
||||
T1658 000:882.130 JLINK_IsHalted()
|
||||
T1658 000:882.574 - 0.442ms returns FALSE
|
||||
T1658 000:882.608 JLINK_HasError()
|
||||
T1658 000:884.592 JLINK_IsHalted()
|
||||
T1658 000:885.037 - 0.444ms returns FALSE
|
||||
T1658 000:885.071 JLINK_HasError()
|
||||
T1658 000:886.610 JLINK_IsHalted()
|
||||
T1658 000:887.067 - 0.455ms returns FALSE
|
||||
T1658 000:887.118 JLINK_HasError()
|
||||
T1658 000:888.590 JLINK_IsHalted()
|
||||
T1658 000:889.055 - 0.464ms returns FALSE
|
||||
T1658 000:889.092 JLINK_HasError()
|
||||
T1658 000:890.579 JLINK_IsHalted()
|
||||
T1658 000:890.941 - 0.361ms returns FALSE
|
||||
T1658 000:890.982 JLINK_HasError()
|
||||
T1658 000:892.961 JLINK_IsHalted()
|
||||
T1658 000:893.384 - 0.422ms returns FALSE
|
||||
T1658 000:893.419 JLINK_HasError()
|
||||
T1658 000:895.411 JLINK_IsHalted()
|
||||
T1658 000:896.800 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:897.209 - 1.797ms returns TRUE
|
||||
T1658 000:897.246 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:897.273 - 0.027ms returns 0x20000000
|
||||
T1658 000:897.298 JLINK_ClrBPEx(BPHandle = 0x00000019)
|
||||
T1658 000:897.320 - 0.022ms returns 0x00
|
||||
T1658 000:897.344 JLINK_ReadReg(R0)
|
||||
T1658 000:897.454 - 0.108ms returns 0x00000000
|
||||
T1658 000:899.060 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:899.100 Data: 01 90 00 22 11 46 FF F7 97 F9 01 98 FF F7 8A F9 ...
|
||||
T1658 000:899.149 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:900.814 - 1.754ms returns 0x29C
|
||||
T1658 000:900.864 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:900.888 Data: 08 00 80 07 00 28 1D D5 FF E7 03 98 01 68 6F F0 ...
|
||||
T1658 000:900.935 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:902.136 - 1.270ms returns 0x164
|
||||
T1658 000:902.186 JLINK_HasError()
|
||||
T1658 000:902.213 JLINK_WriteReg(R0, 0x08002000)
|
||||
T1658 000:902.242 - 0.029ms returns 0
|
||||
T1658 000:902.265 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:902.287 - 0.022ms returns 0
|
||||
T1658 000:902.310 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:902.344 - 0.033ms returns 0
|
||||
T1658 000:902.369 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:902.390 - 0.021ms returns 0
|
||||
T1658 000:902.414 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:902.435 - 0.021ms returns 0
|
||||
T1658 000:902.458 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:902.479 - 0.021ms returns 0
|
||||
T1658 000:902.568 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:902.631 - 0.066ms returns 0
|
||||
T1658 000:902.663 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:902.686 - 0.023ms returns 0
|
||||
T1658 000:902.709 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:902.730 - 0.021ms returns 0
|
||||
T1658 000:902.753 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:902.774 - 0.020ms returns 0
|
||||
T1658 000:902.803 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:902.825 - 0.022ms returns 0
|
||||
T1658 000:902.848 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:902.869 - 0.021ms returns 0
|
||||
T1658 000:903.004 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:903.059 - 0.055ms returns 0
|
||||
T1658 000:903.087 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:903.111 - 0.024ms returns 0
|
||||
T1658 000:903.134 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:903.156 - 0.021ms returns 0
|
||||
T1658 000:903.180 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:903.200 - 0.021ms returns 0
|
||||
T1658 000:903.224 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:903.245 - 0.021ms returns 0
|
||||
T1658 000:903.268 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:903.290 - 0.021ms returns 0
|
||||
T1658 000:903.313 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:903.334 - 0.020ms returns 0
|
||||
T1658 000:903.357 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:903.378 - 0.020ms returns 0
|
||||
T1658 000:903.403 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:903.429 - 0.026ms returns 0x0000001A
|
||||
T1658 000:903.452 JLINK_Go()
|
||||
T1658 000:903.499 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:905.398 - 1.944ms
|
||||
T1658 000:905.448 JLINK_IsHalted()
|
||||
T1658 000:905.884 - 0.433ms returns FALSE
|
||||
T1658 000:905.938 JLINK_HasError()
|
||||
T1658 000:908.035 JLINK_IsHalted()
|
||||
T1658 000:908.515 - 0.478ms returns FALSE
|
||||
T1658 000:908.565 JLINK_HasError()
|
||||
T1658 000:910.619 JLINK_IsHalted()
|
||||
T1658 000:911.040 - 0.419ms returns FALSE
|
||||
T1658 000:911.091 JLINK_HasError()
|
||||
T1658 000:912.540 JLINK_IsHalted()
|
||||
T1658 000:913.002 - 0.460ms returns FALSE
|
||||
T1658 000:913.052 JLINK_HasError()
|
||||
T1658 000:915.036 JLINK_IsHalted()
|
||||
T1658 000:915.490 - 0.453ms returns FALSE
|
||||
T1658 000:915.540 JLINK_HasError()
|
||||
T1658 000:917.029 JLINK_IsHalted()
|
||||
T1658 000:917.508 - 0.477ms returns FALSE
|
||||
T1658 000:917.558 JLINK_HasError()
|
||||
T1658 000:919.033 JLINK_IsHalted()
|
||||
T1658 000:919.442 - 0.407ms returns FALSE
|
||||
T1658 000:919.492 JLINK_HasError()
|
||||
T1658 000:921.016 JLINK_IsHalted()
|
||||
T1658 000:921.478 - 0.460ms returns FALSE
|
||||
T1658 000:921.528 JLINK_HasError()
|
||||
T1658 000:923.010 JLINK_IsHalted()
|
||||
T1658 000:923.487 - 0.474ms returns FALSE
|
||||
T1658 000:923.536 JLINK_HasError()
|
||||
T1658 000:925.515 JLINK_IsHalted()
|
||||
T1658 000:925.974 - 0.457ms returns FALSE
|
||||
T1658 000:926.024 JLINK_HasError()
|
||||
T1658 000:927.517 JLINK_IsHalted()
|
||||
T1658 000:927.999 - 0.479ms returns FALSE
|
||||
T1658 000:928.049 JLINK_HasError()
|
||||
T1658 000:929.505 JLINK_IsHalted()
|
||||
T1658 000:929.978 - 0.471ms returns FALSE
|
||||
T1658 000:930.028 JLINK_HasError()
|
||||
T1658 000:932.007 JLINK_IsHalted()
|
||||
T1658 000:932.477 - 0.468ms returns FALSE
|
||||
T1658 000:932.527 JLINK_HasError()
|
||||
T1658 000:934.001 JLINK_IsHalted()
|
||||
T1658 000:934.480 - 0.477ms returns FALSE
|
||||
T1658 000:934.531 JLINK_HasError()
|
||||
T1658 000:936.480 JLINK_IsHalted()
|
||||
T1658 000:937.968 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:938.418 - 1.937ms returns TRUE
|
||||
T1658 000:938.486 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:938.517 - 0.029ms returns 0x20000000
|
||||
T1658 000:938.541 JLINK_ClrBPEx(BPHandle = 0x0000001A)
|
||||
T1658 000:938.563 - 0.022ms returns 0x00
|
||||
T1658 000:938.587 JLINK_ReadReg(R0)
|
||||
T1658 000:938.608 - 0.020ms returns 0x00000000
|
||||
T1658 000:940.183 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:940.223 Data: 03 98 00 F0 4F F8 FF E7 FF E7 9D F8 04 00 00 06 ...
|
||||
T1658 000:940.272 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:941.928 - 1.744ms returns 0x29C
|
||||
T1658 000:941.984 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:942.008 Data: 03 E0 11 98 FF F7 1C FF FF E7 03 E0 11 98 FF F7 ...
|
||||
T1658 000:942.055 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:943.252 - 1.266ms returns 0x164
|
||||
T1658 000:943.308 JLINK_HasError()
|
||||
T1658 000:943.337 JLINK_WriteReg(R0, 0x08002400)
|
||||
T1658 000:943.366 - 0.029ms returns 0
|
||||
T1658 000:943.392 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:943.414 - 0.022ms returns 0
|
||||
T1658 000:943.438 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:943.458 - 0.021ms returns 0
|
||||
T1658 000:943.484 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:943.505 - 0.021ms returns 0
|
||||
T1658 000:943.531 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:943.552 - 0.021ms returns 0
|
||||
T1658 000:943.578 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:943.600 - 0.021ms returns 0
|
||||
T1658 000:943.626 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:943.647 - 0.021ms returns 0
|
||||
T1658 000:943.674 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:943.694 - 0.020ms returns 0
|
||||
T1658 000:943.719 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:943.739 - 0.020ms returns 0
|
||||
T1658 000:943.766 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:943.787 - 0.020ms returns 0
|
||||
T1658 000:943.815 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:943.840 - 0.025ms returns 0
|
||||
T1658 000:943.867 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:943.888 - 0.020ms returns 0
|
||||
T1658 000:943.913 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:943.934 - 0.021ms returns 0
|
||||
T1658 000:943.961 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:943.983 - 0.022ms returns 0
|
||||
T1658 000:944.010 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:944.030 - 0.021ms returns 0
|
||||
T1658 000:944.057 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:944.078 - 0.021ms returns 0
|
||||
T1658 000:944.104 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:944.125 - 0.021ms returns 0
|
||||
T1658 000:944.150 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:944.171 - 0.021ms returns 0
|
||||
T1658 000:944.198 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:944.218 - 0.020ms returns 0
|
||||
T1658 000:944.245 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:944.265 - 0.020ms returns 0
|
||||
T1658 000:944.430 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:944.484 - 0.054ms returns 0x0000001B
|
||||
T1658 000:944.509 JLINK_Go()
|
||||
T1658 000:944.557 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:946.495 - 1.983ms
|
||||
T1658 000:946.546 JLINK_IsHalted()
|
||||
T1658 000:946.962 - 0.413ms returns FALSE
|
||||
T1658 000:947.012 JLINK_HasError()
|
||||
T1658 000:949.925 JLINK_IsHalted()
|
||||
T1658 000:950.179 - 0.254ms returns FALSE
|
||||
T1658 000:950.195 JLINK_HasError()
|
||||
T1658 000:951.259 JLINK_IsHalted()
|
||||
T1658 000:951.527 - 0.267ms returns FALSE
|
||||
T1658 000:951.538 JLINK_HasError()
|
||||
T1658 000:953.253 JLINK_IsHalted()
|
||||
T1658 000:953.606 - 0.352ms returns FALSE
|
||||
T1658 000:953.618 JLINK_HasError()
|
||||
T1658 000:954.711 JLINK_IsHalted()
|
||||
T1658 000:954.954 - 0.242ms returns FALSE
|
||||
T1658 000:954.966 JLINK_HasError()
|
||||
T1658 000:956.067 JLINK_IsHalted()
|
||||
T1658 000:956.342 - 0.275ms returns FALSE
|
||||
T1658 000:956.354 JLINK_HasError()
|
||||
T1658 000:958.085 JLINK_IsHalted()
|
||||
T1658 000:958.356 - 0.270ms returns FALSE
|
||||
T1658 000:958.368 JLINK_HasError()
|
||||
T1658 000:959.467 JLINK_IsHalted()
|
||||
T1658 000:959.717 - 0.250ms returns FALSE
|
||||
T1658 000:959.728 JLINK_HasError()
|
||||
T1658 000:961.458 JLINK_IsHalted()
|
||||
T1658 000:961.702 - 0.243ms returns FALSE
|
||||
T1658 000:961.713 JLINK_HasError()
|
||||
T1658 000:963.449 JLINK_IsHalted()
|
||||
T1658 000:963.716 - 0.266ms returns FALSE
|
||||
T1658 000:963.727 JLINK_HasError()
|
||||
T1658 000:964.825 JLINK_IsHalted()
|
||||
T1658 000:965.086 - 0.260ms returns FALSE
|
||||
T1658 000:965.097 JLINK_HasError()
|
||||
T1658 000:966.194 JLINK_IsHalted()
|
||||
T1658 000:966.474 - 0.279ms returns FALSE
|
||||
T1658 000:966.485 JLINK_HasError()
|
||||
T1658 000:968.205 JLINK_IsHalted()
|
||||
T1658 000:968.477 - 0.272ms returns FALSE
|
||||
T1658 000:968.488 JLINK_HasError()
|
||||
T1658 000:970.101 JLINK_IsHalted()
|
||||
T1658 000:970.344 - 0.242ms returns FALSE
|
||||
T1658 000:970.355 JLINK_HasError()
|
||||
T1658 000:972.167 JLINK_IsHalted()
|
||||
T1658 000:972.406 - 0.237ms returns FALSE
|
||||
T1658 000:972.417 JLINK_HasError()
|
||||
T1658 000:974.179 JLINK_IsHalted()
|
||||
T1658 000:974.399 - 0.220ms returns FALSE
|
||||
T1658 000:974.411 JLINK_HasError()
|
||||
T1658 000:976.164 JLINK_IsHalted()
|
||||
T1658 000:976.399 - 0.234ms returns FALSE
|
||||
T1658 000:976.410 JLINK_HasError()
|
||||
T1658 000:978.150 JLINK_IsHalted()
|
||||
T1658 000:979.327 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 000:979.633 - 1.483ms returns TRUE
|
||||
T1658 000:979.645 JLINK_ReadReg(R15 (PC))
|
||||
T1658 000:979.653 - 0.007ms returns 0x20000000
|
||||
T1658 000:979.658 JLINK_ClrBPEx(BPHandle = 0x0000001B)
|
||||
T1658 000:979.664 - 0.005ms returns 0x00
|
||||
T1658 000:979.669 JLINK_ReadReg(R0)
|
||||
T1658 000:979.674 - 0.004ms returns 0x00000000
|
||||
T1658 000:980.088 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 000:980.097 Data: 02 20 48 63 11 98 81 8D C2 8D 89 1A 89 B2 FF F7 ...
|
||||
T1658 000:980.109 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 000:981.604 - 1.515ms returns 0x29C
|
||||
T1658 000:981.617 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 000:981.628 Data: 80 12 42 61 01 76 41 76 81 76 C1 76 01 77 41 77 ...
|
||||
T1658 000:981.640 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 000:982.663 - 1.046ms returns 0x164
|
||||
T1658 000:982.676 JLINK_HasError()
|
||||
T1658 000:982.683 JLINK_WriteReg(R0, 0x08002800)
|
||||
T1658 000:982.691 - 0.007ms returns 0
|
||||
T1658 000:982.696 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 000:982.702 - 0.005ms returns 0
|
||||
T1658 000:982.708 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 000:982.713 - 0.005ms returns 0
|
||||
T1658 000:982.719 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 000:982.724 - 0.005ms returns 0
|
||||
T1658 000:982.730 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 000:982.735 - 0.005ms returns 0
|
||||
T1658 000:982.741 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 000:982.746 - 0.005ms returns 0
|
||||
T1658 000:982.752 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 000:982.757 - 0.005ms returns 0
|
||||
T1658 000:982.763 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 000:982.768 - 0.005ms returns 0
|
||||
T1658 000:982.774 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 000:982.779 - 0.005ms returns 0
|
||||
T1658 000:982.785 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 000:982.790 - 0.005ms returns 0
|
||||
T1658 000:982.796 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 000:982.801 - 0.005ms returns 0
|
||||
T1658 000:982.807 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 000:982.812 - 0.005ms returns 0
|
||||
T1658 000:982.818 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 000:982.823 - 0.005ms returns 0
|
||||
T1658 000:982.829 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 000:982.835 - 0.006ms returns 0
|
||||
T1658 000:982.841 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 000:982.846 - 0.005ms returns 0
|
||||
T1658 000:982.852 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 000:982.861 - 0.009ms returns 0
|
||||
T1658 000:982.870 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 000:982.875 - 0.005ms returns 0
|
||||
T1658 000:982.880 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 000:982.886 - 0.005ms returns 0
|
||||
T1658 000:982.891 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 000:982.896 - 0.005ms returns 0
|
||||
T1658 000:982.902 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 000:982.907 - 0.005ms returns 0
|
||||
T1658 000:982.914 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 000:982.920 - 0.006ms returns 0x0000001C
|
||||
T1658 000:982.926 JLINK_Go()
|
||||
T1658 000:982.937 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 000:984.516 - 1.590ms
|
||||
T1658 000:984.529 JLINK_IsHalted()
|
||||
T1658 000:984.785 - 0.255ms returns FALSE
|
||||
T1658 000:984.797 JLINK_HasError()
|
||||
T1658 000:986.888 JLINK_IsHalted()
|
||||
T1658 000:987.160 - 0.271ms returns FALSE
|
||||
T1658 000:987.174 JLINK_HasError()
|
||||
T1658 000:988.867 JLINK_IsHalted()
|
||||
T1658 000:989.096 - 0.228ms returns FALSE
|
||||
T1658 000:989.110 JLINK_HasError()
|
||||
T1658 000:990.866 JLINK_IsHalted()
|
||||
T1658 000:991.115 - 0.248ms returns FALSE
|
||||
T1658 000:991.129 JLINK_HasError()
|
||||
T1658 000:992.852 JLINK_IsHalted()
|
||||
T1658 000:993.104 - 0.251ms returns FALSE
|
||||
T1658 000:993.118 JLINK_HasError()
|
||||
T1658 000:994.250 JLINK_IsHalted()
|
||||
T1658 000:994.581 - 0.330ms returns FALSE
|
||||
T1658 000:994.595 JLINK_HasError()
|
||||
T1658 000:995.670 JLINK_IsHalted()
|
||||
T1658 000:995.947 - 0.277ms returns FALSE
|
||||
T1658 000:995.962 JLINK_HasError()
|
||||
T1658 000:998.016 JLINK_IsHalted()
|
||||
T1658 000:998.297 - 0.280ms returns FALSE
|
||||
T1658 000:998.314 JLINK_HasError()
|
||||
T1658 001:000.376 JLINK_IsHalted()
|
||||
T1658 001:000.664 - 0.288ms returns FALSE
|
||||
T1658 001:000.681 JLINK_HasError()
|
||||
T1658 001:002.708 JLINK_IsHalted()
|
||||
T1658 001:002.982 - 0.273ms returns FALSE
|
||||
T1658 001:003.001 JLINK_HasError()
|
||||
T1658 001:004.738 JLINK_IsHalted()
|
||||
T1658 001:005.031 - 0.292ms returns FALSE
|
||||
T1658 001:005.050 JLINK_HasError()
|
||||
T1658 001:007.080 JLINK_IsHalted()
|
||||
T1658 001:007.398 - 0.318ms returns FALSE
|
||||
T1658 001:007.420 JLINK_HasError()
|
||||
T1658 001:009.105 JLINK_IsHalted()
|
||||
T1658 001:009.417 - 0.310ms returns FALSE
|
||||
T1658 001:009.438 JLINK_HasError()
|
||||
T1658 001:011.477 JLINK_IsHalted()
|
||||
T1658 001:011.812 - 0.333ms returns FALSE
|
||||
T1658 001:011.837 JLINK_HasError()
|
||||
T1658 001:013.462 JLINK_IsHalted()
|
||||
T1658 001:013.777 - 0.314ms returns FALSE
|
||||
T1658 001:013.803 JLINK_HasError()
|
||||
T1658 001:015.823 JLINK_IsHalted()
|
||||
T1658 001:017.091 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 001:017.491 - 1.666ms returns TRUE
|
||||
T1658 001:017.515 JLINK_ReadReg(R15 (PC))
|
||||
T1658 001:017.533 - 0.017ms returns 0x20000000
|
||||
T1658 001:017.547 JLINK_ClrBPEx(BPHandle = 0x0000001C)
|
||||
T1658 001:017.560 - 0.013ms returns 0x00
|
||||
T1658 001:017.575 JLINK_ReadReg(R0)
|
||||
T1658 001:017.587 - 0.012ms returns 0x00000000
|
||||
T1658 001:018.584 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 001:018.608 Data: 06 21 41 60 40 F6 FF 71 81 60 FE F7 81 FA 18 B1 ...
|
||||
T1658 001:018.638 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 001:020.213 - 1.629ms returns 0x29C
|
||||
T1658 001:020.248 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 001:020.262 Data: FF E7 00 98 20 F0 70 00 00 90 01 98 41 68 00 98 ...
|
||||
T1658 001:020.290 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 001:021.487 - 1.238ms returns 0x164
|
||||
T1658 001:021.522 JLINK_HasError()
|
||||
T1658 001:021.543 JLINK_WriteReg(R0, 0x08002C00)
|
||||
T1658 001:021.563 - 0.020ms returns 0
|
||||
T1658 001:021.666 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 001:021.686 - 0.020ms returns 0
|
||||
T1658 001:021.705 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 001:021.720 - 0.015ms returns 0
|
||||
T1658 001:021.737 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 001:021.762 - 0.024ms returns 0
|
||||
T1658 001:021.779 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 001:021.795 - 0.015ms returns 0
|
||||
T1658 001:021.812 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 001:021.827 - 0.015ms returns 0
|
||||
T1658 001:021.845 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 001:021.860 - 0.015ms returns 0
|
||||
T1658 001:021.877 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 001:021.892 - 0.015ms returns 0
|
||||
T1658 001:021.910 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 001:021.925 - 0.015ms returns 0
|
||||
T1658 001:021.952 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 001:021.975 - 0.022ms returns 0
|
||||
T1658 001:021.992 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 001:022.008 - 0.015ms returns 0
|
||||
T1658 001:022.025 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 001:022.040 - 0.015ms returns 0
|
||||
T1658 001:022.057 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 001:022.073 - 0.015ms returns 0
|
||||
T1658 001:022.090 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 001:022.107 - 0.017ms returns 0
|
||||
T1658 001:022.124 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 001:022.139 - 0.015ms returns 0
|
||||
T1658 001:022.157 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 001:022.172 - 0.015ms returns 0
|
||||
T1658 001:022.189 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 001:022.205 - 0.015ms returns 0
|
||||
T1658 001:022.222 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 001:022.237 - 0.015ms returns 0
|
||||
T1658 001:022.255 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 001:022.270 - 0.015ms returns 0
|
||||
T1658 001:022.287 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 001:022.302 - 0.015ms returns 0
|
||||
T1658 001:022.321 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 001:022.339 - 0.019ms returns 0x0000001D
|
||||
T1658 001:022.357 JLINK_Go()
|
||||
T1658 001:022.391 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:024.149 - 1.791ms
|
||||
T1658 001:024.178 JLINK_IsHalted()
|
||||
T1658 001:024.574 - 0.395ms returns FALSE
|
||||
T1658 001:024.602 JLINK_HasError()
|
||||
T1658 001:025.771 JLINK_IsHalted()
|
||||
T1658 001:026.084 - 0.312ms returns FALSE
|
||||
T1658 001:026.123 JLINK_HasError()
|
||||
T1658 001:027.936 JLINK_IsHalted()
|
||||
T1658 001:028.294 - 0.358ms returns FALSE
|
||||
T1658 001:028.321 JLINK_HasError()
|
||||
T1658 001:030.289 JLINK_IsHalted()
|
||||
T1658 001:030.664 - 0.373ms returns FALSE
|
||||
T1658 001:030.702 JLINK_HasError()
|
||||
T1658 001:032.724 JLINK_IsHalted()
|
||||
T1658 001:033.130 - 0.404ms returns FALSE
|
||||
T1658 001:033.156 JLINK_HasError()
|
||||
T1658 001:034.749 JLINK_IsHalted()
|
||||
T1658 001:035.095 - 0.345ms returns FALSE
|
||||
T1658 001:035.122 JLINK_HasError()
|
||||
T1658 001:037.042 JLINK_IsHalted()
|
||||
T1658 001:037.412 - 0.368ms returns FALSE
|
||||
T1658 001:037.448 JLINK_HasError()
|
||||
T1658 001:038.994 JLINK_IsHalted()
|
||||
T1658 001:039.401 - 0.405ms returns FALSE
|
||||
T1658 001:039.440 JLINK_HasError()
|
||||
T1658 001:041.430 JLINK_IsHalted()
|
||||
T1658 001:041.864 - 0.421ms returns FALSE
|
||||
T1658 001:041.904 JLINK_HasError()
|
||||
T1658 001:043.424 JLINK_IsHalted()
|
||||
T1658 001:043.785 - 0.359ms returns FALSE
|
||||
T1658 001:043.824 JLINK_HasError()
|
||||
T1658 001:045.406 JLINK_IsHalted()
|
||||
T1658 001:045.758 - 0.350ms returns FALSE
|
||||
T1658 001:045.796 JLINK_HasError()
|
||||
T1658 001:047.400 JLINK_IsHalted()
|
||||
T1658 001:047.799 - 0.398ms returns FALSE
|
||||
T1658 001:047.828 JLINK_HasError()
|
||||
T1658 001:049.393 JLINK_IsHalted()
|
||||
T1658 001:049.712 - 0.317ms returns FALSE
|
||||
T1658 001:049.740 JLINK_HasError()
|
||||
T1658 001:051.767 JLINK_IsHalted()
|
||||
T1658 001:052.211 - 0.441ms returns FALSE
|
||||
T1658 001:052.263 JLINK_HasError()
|
||||
T1658 001:060.755 JLINK_IsHalted()
|
||||
T1658 001:062.367 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 001:062.815 - 2.058ms returns TRUE
|
||||
T1658 001:062.854 JLINK_ReadReg(R15 (PC))
|
||||
T1658 001:062.881 - 0.027ms returns 0x20000000
|
||||
T1658 001:062.905 JLINK_ClrBPEx(BPHandle = 0x0000001D)
|
||||
T1658 001:062.927 - 0.022ms returns 0x00
|
||||
T1658 001:062.951 JLINK_ReadReg(R0)
|
||||
T1658 001:062.972 - 0.020ms returns 0x00000000
|
||||
T1658 001:064.505 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 001:064.545 Data: 08 6A 20 F0 01 00 08 62 04 98 80 69 01 90 01 98 ...
|
||||
T1658 001:064.593 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 001:066.277 - 1.771ms returns 0x29C
|
||||
T1658 001:066.316 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 001:066.338 Data: FF E7 00 20 00 90 04 98 00 68 00 68 00 90 04 98 ...
|
||||
T1658 001:066.377 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 001:067.475 - 1.158ms returns 0x164
|
||||
T1658 001:067.525 JLINK_HasError()
|
||||
T1658 001:067.553 JLINK_WriteReg(R0, 0x08003000)
|
||||
T1658 001:067.580 - 0.027ms returns 0
|
||||
T1658 001:067.603 JLINK_WriteReg(R1, 0x00000400)
|
||||
T1658 001:067.623 - 0.020ms returns 0
|
||||
T1658 001:067.646 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 001:067.666 - 0.020ms returns 0
|
||||
T1658 001:067.689 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 001:067.720 - 0.031ms returns 0
|
||||
T1658 001:067.753 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 001:067.774 - 0.021ms returns 0
|
||||
T1658 001:067.796 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 001:067.816 - 0.020ms returns 0
|
||||
T1658 001:067.840 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 001:067.860 - 0.020ms returns 0
|
||||
T1658 001:067.886 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 001:067.907 - 0.021ms returns 0
|
||||
T1658 001:067.930 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 001:067.951 - 0.020ms returns 0
|
||||
T1658 001:067.973 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 001:067.994 - 0.020ms returns 0
|
||||
T1658 001:068.017 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 001:068.037 - 0.021ms returns 0
|
||||
T1658 001:068.060 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 001:068.081 - 0.020ms returns 0
|
||||
T1658 001:068.103 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 001:068.124 - 0.020ms returns 0
|
||||
T1658 001:068.147 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 001:068.169 - 0.022ms returns 0
|
||||
T1658 001:068.192 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 001:068.212 - 0.020ms returns 0
|
||||
T1658 001:068.235 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 001:068.256 - 0.021ms returns 0
|
||||
T1658 001:068.279 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 001:068.300 - 0.020ms returns 0
|
||||
T1658 001:068.323 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 001:068.343 - 0.020ms returns 0
|
||||
T1658 001:068.366 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 001:068.386 - 0.020ms returns 0
|
||||
T1658 001:068.409 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 001:068.429 - 0.020ms returns 0
|
||||
T1658 001:068.454 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 001:068.490 - 0.037ms returns 0x0000001E
|
||||
T1658 001:068.514 JLINK_Go()
|
||||
T1658 001:068.558 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:070.633 - 2.116ms
|
||||
T1658 001:070.685 JLINK_IsHalted()
|
||||
T1658 001:071.121 - 0.434ms returns FALSE
|
||||
T1658 001:071.158 JLINK_HasError()
|
||||
T1658 001:073.002 JLINK_IsHalted()
|
||||
T1658 001:073.520 - 0.517ms returns FALSE
|
||||
T1658 001:073.558 JLINK_HasError()
|
||||
T1658 001:075.513 JLINK_IsHalted()
|
||||
T1658 001:075.966 - 0.453ms returns FALSE
|
||||
T1658 001:076.002 JLINK_HasError()
|
||||
T1658 001:077.497 JLINK_IsHalted()
|
||||
T1658 001:077.924 - 0.425ms returns FALSE
|
||||
T1658 001:077.971 JLINK_HasError()
|
||||
T1658 001:079.490 JLINK_IsHalted()
|
||||
T1658 001:079.951 - 0.461ms returns FALSE
|
||||
T1658 001:079.986 JLINK_HasError()
|
||||
T1658 001:081.972 JLINK_IsHalted()
|
||||
T1658 001:082.423 - 0.449ms returns FALSE
|
||||
T1658 001:082.458 JLINK_HasError()
|
||||
T1658 001:084.031 JLINK_IsHalted()
|
||||
T1658 001:084.489 - 0.456ms returns FALSE
|
||||
T1658 001:084.535 JLINK_HasError()
|
||||
T1658 001:086.514 JLINK_IsHalted()
|
||||
T1658 001:087.023 - 0.506ms returns FALSE
|
||||
T1658 001:087.073 JLINK_HasError()
|
||||
T1658 001:088.436 JLINK_IsHalted()
|
||||
T1658 001:088.888 - 0.451ms returns FALSE
|
||||
T1658 001:088.926 JLINK_HasError()
|
||||
T1658 001:090.906 JLINK_IsHalted()
|
||||
T1658 001:091.363 - 0.456ms returns FALSE
|
||||
T1658 001:091.398 JLINK_HasError()
|
||||
T1658 001:092.900 JLINK_IsHalted()
|
||||
T1658 001:093.330 - 0.429ms returns FALSE
|
||||
T1658 001:093.365 JLINK_HasError()
|
||||
T1658 001:095.349 JLINK_IsHalted()
|
||||
T1658 001:095.773 - 0.423ms returns FALSE
|
||||
T1658 001:095.808 JLINK_HasError()
|
||||
T1658 001:097.544 JLINK_IsHalted()
|
||||
T1658 001:098.039 - 0.494ms returns FALSE
|
||||
T1658 001:098.085 JLINK_HasError()
|
||||
T1658 001:099.360 JLINK_IsHalted()
|
||||
T1658 001:099.798 - 0.436ms returns FALSE
|
||||
T1658 001:099.844 JLINK_HasError()
|
||||
T1658 001:101.332 JLINK_IsHalted()
|
||||
T1658 001:102.731 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 001:103.154 - 1.818ms returns TRUE
|
||||
T1658 001:103.208 JLINK_ReadReg(R15 (PC))
|
||||
T1658 001:103.238 - 0.029ms returns 0x20000000
|
||||
T1658 001:103.262 JLINK_ClrBPEx(BPHandle = 0x0000001E)
|
||||
T1658 001:103.285 - 0.022ms returns 0x00
|
||||
T1658 001:103.314 JLINK_ReadReg(R0)
|
||||
T1658 001:103.335 - 0.021ms returns 0x00000000
|
||||
T1658 001:105.213 JLINK_WriteMem(0x20000164, 0x29C Bytes, ...)
|
||||
T1658 001:105.223 Data: 01 38 C8 84 00 04 68 B9 FF E7 01 98 01 68 C8 68 ...
|
||||
T1658 001:105.237 CPU_WriteMem(668 bytes @ 0x20000164)
|
||||
T1658 001:106.858 - 1.644ms returns 0x29C
|
||||
T1658 001:106.867 JLINK_WriteMem(0x20000400, 0x164 Bytes, ...)
|
||||
T1658 001:106.872 Data: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ...
|
||||
T1658 001:106.888 CPU_WriteMem(356 bytes @ 0x20000400)
|
||||
T1658 001:107.926 - 1.058ms returns 0x164
|
||||
T1658 001:107.934 JLINK_HasError()
|
||||
T1658 001:107.940 JLINK_WriteReg(R0, 0x08003400)
|
||||
T1658 001:107.946 - 0.006ms returns 0
|
||||
T1658 001:107.952 JLINK_WriteReg(R1, 0x000001A8)
|
||||
T1658 001:107.957 - 0.004ms returns 0
|
||||
T1658 001:107.962 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 001:107.967 - 0.004ms returns 0
|
||||
T1658 001:107.972 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 001:107.976 - 0.004ms returns 0
|
||||
T1658 001:107.982 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 001:107.986 - 0.004ms returns 0
|
||||
T1658 001:107.992 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 001:107.996 - 0.004ms returns 0
|
||||
T1658 001:108.002 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 001:108.006 - 0.004ms returns 0
|
||||
T1658 001:108.011 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 001:108.016 - 0.004ms returns 0
|
||||
T1658 001:108.021 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 001:108.033 - 0.011ms returns 0
|
||||
T1658 001:108.038 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 001:108.043 - 0.004ms returns 0
|
||||
T1658 001:108.048 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 001:108.053 - 0.004ms returns 0
|
||||
T1658 001:108.058 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 001:108.063 - 0.004ms returns 0
|
||||
T1658 001:108.068 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 001:108.073 - 0.004ms returns 0
|
||||
T1658 001:108.078 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 001:108.083 - 0.005ms returns 0
|
||||
T1658 001:108.089 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 001:108.093 - 0.004ms returns 0
|
||||
T1658 001:108.099 JLINK_WriteReg(R15 (PC), 0x200000F4)
|
||||
T1658 001:108.104 - 0.005ms returns 0
|
||||
T1658 001:108.109 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 001:108.114 - 0.004ms returns 0
|
||||
T1658 001:108.119 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 001:108.124 - 0.004ms returns 0
|
||||
T1658 001:108.129 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 001:108.134 - 0.004ms returns 0
|
||||
T1658 001:108.139 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 001:108.144 - 0.004ms returns 0
|
||||
T1658 001:108.149 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 001:108.155 - 0.006ms returns 0x0000001F
|
||||
T1658 001:108.161 JLINK_Go()
|
||||
T1658 001:108.171 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:109.721 - 1.560ms
|
||||
T1658 001:109.730 JLINK_IsHalted()
|
||||
T1658 001:109.998 - 0.268ms returns FALSE
|
||||
T1658 001:110.006 JLINK_HasError()
|
||||
T1658 001:112.116 JLINK_IsHalted()
|
||||
T1658 001:112.385 - 0.268ms returns FALSE
|
||||
T1658 001:112.397 JLINK_HasError()
|
||||
T1658 001:113.455 JLINK_IsHalted()
|
||||
T1658 001:113.683 - 0.227ms returns FALSE
|
||||
T1658 001:113.694 JLINK_HasError()
|
||||
T1658 001:114.792 JLINK_IsHalted()
|
||||
T1658 001:115.064 - 0.271ms returns FALSE
|
||||
T1658 001:115.075 JLINK_HasError()
|
||||
T1658 001:116.174 JLINK_IsHalted()
|
||||
T1658 001:116.480 - 0.305ms returns FALSE
|
||||
T1658 001:116.492 JLINK_HasError()
|
||||
T1658 001:118.193 JLINK_IsHalted()
|
||||
T1658 001:118.465 - 0.271ms returns FALSE
|
||||
T1658 001:118.476 JLINK_HasError()
|
||||
T1658 001:120.576 JLINK_IsHalted()
|
||||
T1658 001:120.832 - 0.256ms returns FALSE
|
||||
T1658 001:120.843 JLINK_HasError()
|
||||
T1658 001:121.941 JLINK_IsHalted()
|
||||
T1658 001:122.214 - 0.272ms returns FALSE
|
||||
T1658 001:122.225 JLINK_HasError()
|
||||
T1658 001:123.937 JLINK_IsHalted()
|
||||
T1658 001:125.074 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 001:125.353 - 1.416ms returns TRUE
|
||||
T1658 001:125.365 JLINK_ReadReg(R15 (PC))
|
||||
T1658 001:125.372 - 0.007ms returns 0x20000000
|
||||
T1658 001:125.378 JLINK_ClrBPEx(BPHandle = 0x0000001F)
|
||||
T1658 001:125.383 - 0.005ms returns 0x00
|
||||
T1658 001:125.388 JLINK_ReadReg(R0)
|
||||
T1658 001:125.393 - 0.004ms returns 0x00000000
|
||||
T1658 001:125.399 JLINK_HasError()
|
||||
T1658 001:125.404 JLINK_WriteReg(R0, 0x00000002)
|
||||
T1658 001:125.410 - 0.005ms returns 0
|
||||
T1658 001:125.415 JLINK_WriteReg(R1, 0x000001A8)
|
||||
T1658 001:125.420 - 0.004ms returns 0
|
||||
T1658 001:125.425 JLINK_WriteReg(R2, 0x20000164)
|
||||
T1658 001:125.430 - 0.004ms returns 0
|
||||
T1658 001:125.435 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 001:125.440 - 0.004ms returns 0
|
||||
T1658 001:125.445 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 001:125.450 - 0.004ms returns 0
|
||||
T1658 001:125.455 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 001:125.460 - 0.004ms returns 0
|
||||
T1658 001:125.468 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 001:125.475 - 0.006ms returns 0
|
||||
T1658 001:125.480 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 001:125.485 - 0.004ms returns 0
|
||||
T1658 001:125.490 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 001:125.495 - 0.004ms returns 0
|
||||
T1658 001:125.516 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 001:125.521 - 0.005ms returns 0
|
||||
T1658 001:125.527 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 001:125.531 - 0.004ms returns 0
|
||||
T1658 001:125.537 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 001:125.541 - 0.004ms returns 0
|
||||
T1658 001:125.547 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 001:125.551 - 0.004ms returns 0
|
||||
T1658 001:125.557 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 001:125.561 - 0.005ms returns 0
|
||||
T1658 001:125.567 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 001:125.571 - 0.004ms returns 0
|
||||
T1658 001:125.577 JLINK_WriteReg(R15 (PC), 0x2000006A)
|
||||
T1658 001:125.581 - 0.004ms returns 0
|
||||
T1658 001:125.587 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 001:125.591 - 0.004ms returns 0
|
||||
T1658 001:125.597 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 001:125.601 - 0.004ms returns 0
|
||||
T1658 001:125.607 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 001:125.611 - 0.004ms returns 0
|
||||
T1658 001:125.616 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 001:125.621 - 0.004ms returns 0
|
||||
T1658 001:125.627 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 001:125.632 - 0.005ms returns 0x00000020
|
||||
T1658 001:125.637 JLINK_Go()
|
||||
T1658 001:125.648 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:127.135 - 1.497ms
|
||||
T1658 001:127.148 JLINK_IsHalted()
|
||||
T1658 001:128.206 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 001:128.436 - 1.287ms returns TRUE
|
||||
T1658 001:128.445 JLINK_ReadReg(R15 (PC))
|
||||
T1658 001:128.451 - 0.006ms returns 0x20000000
|
||||
T1658 001:128.456 JLINK_ClrBPEx(BPHandle = 0x00000020)
|
||||
T1658 001:128.461 - 0.005ms returns 0x00
|
||||
T1658 001:128.467 JLINK_ReadReg(R0)
|
||||
T1658 001:128.472 - 0.004ms returns 0x00000000
|
||||
T1658 001:199.433 JLINK_WriteMem(0x20000000, 0x164 Bytes, ...)
|
||||
T1658 001:199.447 Data: 00 BE 0A E0 0D 78 2D 06 68 40 08 24 40 00 00 D3 ...
|
||||
T1658 001:199.464 CPU_WriteMem(356 bytes @ 0x20000000)
|
||||
T1658 001:200.424 - 0.991ms returns 0x164
|
||||
T1658 001:200.453 JLINK_HasError()
|
||||
T1658 001:200.461 JLINK_WriteReg(R0, 0x08000000)
|
||||
T1658 001:200.468 - 0.007ms returns 0
|
||||
T1658 001:200.473 JLINK_WriteReg(R1, 0x007A1200)
|
||||
T1658 001:200.478 - 0.005ms returns 0
|
||||
T1658 001:200.484 JLINK_WriteReg(R2, 0x00000003)
|
||||
T1658 001:200.488 - 0.004ms returns 0
|
||||
T1658 001:200.493 JLINK_WriteReg(R3, 0x00000000)
|
||||
T1658 001:200.498 - 0.004ms returns 0
|
||||
T1658 001:200.503 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 001:200.508 - 0.004ms returns 0
|
||||
T1658 001:200.513 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 001:200.518 - 0.004ms returns 0
|
||||
T1658 001:200.523 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 001:200.528 - 0.004ms returns 0
|
||||
T1658 001:200.533 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 001:200.538 - 0.004ms returns 0
|
||||
T1658 001:200.543 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 001:200.548 - 0.004ms returns 0
|
||||
T1658 001:200.553 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 001:200.558 - 0.004ms returns 0
|
||||
T1658 001:200.564 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 001:200.568 - 0.005ms returns 0
|
||||
T1658 001:200.574 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 001:200.578 - 0.004ms returns 0
|
||||
T1658 001:200.584 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 001:200.588 - 0.004ms returns 0
|
||||
T1658 001:200.594 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 001:200.599 - 0.005ms returns 0
|
||||
T1658 001:200.604 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 001:200.609 - 0.004ms returns 0
|
||||
T1658 001:200.614 JLINK_WriteReg(R15 (PC), 0x20000038)
|
||||
T1658 001:200.619 - 0.005ms returns 0
|
||||
T1658 001:200.624 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 001:200.629 - 0.004ms returns 0
|
||||
T1658 001:200.634 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 001:200.639 - 0.004ms returns 0
|
||||
T1658 001:200.644 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 001:200.649 - 0.004ms returns 0
|
||||
T1658 001:200.654 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 001:200.659 - 0.004ms returns 0
|
||||
T1658 001:200.665 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 001:200.673 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 001:200.930 - 0.265ms returns 0x00000021
|
||||
T1658 001:200.939 JLINK_Go()
|
||||
T1658 001:200.945 CPU_WriteMem(2 bytes @ 0x20000000)
|
||||
T1658 001:201.199 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:202.537 - 1.598ms
|
||||
T1658 001:202.546 JLINK_IsHalted()
|
||||
T1658 001:203.571 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 001:203.777 - 1.230ms returns TRUE
|
||||
T1658 001:203.786 JLINK_ReadReg(R15 (PC))
|
||||
T1658 001:203.794 - 0.007ms returns 0x20000000
|
||||
T1658 001:203.799 JLINK_ClrBPEx(BPHandle = 0x00000021)
|
||||
T1658 001:203.804 - 0.005ms returns 0x00
|
||||
T1658 001:203.810 JLINK_ReadReg(R0)
|
||||
T1658 001:203.815 - 0.004ms returns 0x00000000
|
||||
T1658 001:203.820 JLINK_HasError()
|
||||
T1658 001:203.826 JLINK_WriteReg(R0, 0xFFFFFFFF)
|
||||
T1658 001:203.831 - 0.005ms returns 0
|
||||
T1658 001:203.837 JLINK_WriteReg(R1, 0x08000000)
|
||||
T1658 001:203.841 - 0.004ms returns 0
|
||||
T1658 001:203.846 JLINK_WriteReg(R2, 0x000035A8)
|
||||
T1658 001:203.851 - 0.004ms returns 0
|
||||
T1658 001:203.856 JLINK_WriteReg(R3, 0x04C11DB7)
|
||||
T1658 001:203.861 - 0.004ms returns 0
|
||||
T1658 001:203.866 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 001:203.871 - 0.004ms returns 0
|
||||
T1658 001:203.876 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 001:203.881 - 0.004ms returns 0
|
||||
T1658 001:203.886 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 001:203.891 - 0.004ms returns 0
|
||||
T1658 001:203.896 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 001:203.901 - 0.004ms returns 0
|
||||
T1658 001:203.906 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 001:203.911 - 0.004ms returns 0
|
||||
T1658 001:203.916 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 001:203.921 - 0.004ms returns 0
|
||||
T1658 001:203.926 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 001:203.931 - 0.004ms returns 0
|
||||
T1658 001:203.936 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 001:203.941 - 0.004ms returns 0
|
||||
T1658 001:203.946 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 001:203.950 - 0.004ms returns 0
|
||||
T1658 001:203.956 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 001:203.961 - 0.005ms returns 0
|
||||
T1658 001:203.966 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 001:203.971 - 0.004ms returns 0
|
||||
T1658 001:203.976 JLINK_WriteReg(R15 (PC), 0x20000002)
|
||||
T1658 001:203.981 - 0.004ms returns 0
|
||||
T1658 001:203.986 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 001:203.991 - 0.004ms returns 0
|
||||
T1658 001:203.996 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 001:204.001 - 0.004ms returns 0
|
||||
T1658 001:204.006 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 001:204.010 - 0.004ms returns 0
|
||||
T1658 001:204.016 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 001:204.020 - 0.004ms returns 0
|
||||
T1658 001:204.026 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 001:204.031 - 0.005ms returns 0x00000022
|
||||
T1658 001:204.036 JLINK_Go()
|
||||
T1658 001:204.046 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:205.215 - 1.178ms
|
||||
T1658 001:205.223 JLINK_IsHalted()
|
||||
T1658 001:205.362 - 0.138ms returns FALSE
|
||||
T1658 001:205.370 JLINK_HasError()
|
||||
T1658 001:209.231 JLINK_IsHalted()
|
||||
T1658 001:209.428 - 0.197ms returns FALSE
|
||||
T1658 001:209.440 JLINK_HasError()
|
||||
T1658 001:211.314 JLINK_IsHalted()
|
||||
T1658 001:211.519 - 0.205ms returns FALSE
|
||||
T1658 001:211.531 JLINK_HasError()
|
||||
T1658 001:213.286 JLINK_IsHalted()
|
||||
T1658 001:213.520 - 0.234ms returns FALSE
|
||||
T1658 001:213.531 JLINK_HasError()
|
||||
T1658 001:214.638 JLINK_IsHalted()
|
||||
T1658 001:214.816 - 0.177ms returns FALSE
|
||||
T1658 001:214.828 JLINK_HasError()
|
||||
T1658 001:216.931 JLINK_IsHalted()
|
||||
T1658 001:217.367 - 0.434ms returns FALSE
|
||||
T1658 001:217.423 JLINK_HasError()
|
||||
T1658 001:218.911 JLINK_IsHalted()
|
||||
T1658 001:219.418 - 0.505ms returns FALSE
|
||||
T1658 001:219.473 JLINK_HasError()
|
||||
T1658 001:220.953 JLINK_IsHalted()
|
||||
T1658 001:221.435 - 0.479ms returns FALSE
|
||||
T1658 001:221.490 JLINK_HasError()
|
||||
T1658 001:222.947 JLINK_IsHalted()
|
||||
T1658 001:223.318 - 0.369ms returns FALSE
|
||||
T1658 001:223.375 JLINK_HasError()
|
||||
T1658 001:224.955 JLINK_IsHalted()
|
||||
T1658 001:225.397 - 0.440ms returns FALSE
|
||||
T1658 001:225.452 JLINK_HasError()
|
||||
T1658 001:226.954 JLINK_IsHalted()
|
||||
T1658 001:227.389 - 0.433ms returns FALSE
|
||||
T1658 001:227.445 JLINK_HasError()
|
||||
T1658 001:228.940 JLINK_IsHalted()
|
||||
T1658 001:229.401 - 0.459ms returns FALSE
|
||||
T1658 001:229.457 JLINK_HasError()
|
||||
T1658 001:230.919 JLINK_IsHalted()
|
||||
T1658 001:231.392 - 0.471ms returns FALSE
|
||||
T1658 001:231.448 JLINK_HasError()
|
||||
T1658 001:232.888 JLINK_IsHalted()
|
||||
T1658 001:233.135 - 0.246ms returns FALSE
|
||||
T1658 001:233.147 JLINK_HasError()
|
||||
T1658 001:234.934 JLINK_IsHalted()
|
||||
T1658 001:235.187 - 0.252ms returns FALSE
|
||||
T1658 001:235.198 JLINK_HasError()
|
||||
T1658 001:237.326 JLINK_IsHalted()
|
||||
T1658 001:237.580 - 0.253ms returns FALSE
|
||||
T1658 001:237.592 JLINK_HasError()
|
||||
T1658 001:241.256 JLINK_IsHalted()
|
||||
T1658 001:241.603 - 0.346ms returns FALSE
|
||||
T1658 001:241.615 JLINK_HasError()
|
||||
T1658 001:243.249 JLINK_IsHalted()
|
||||
T1658 001:243.605 - 0.356ms returns FALSE
|
||||
T1658 001:243.617 JLINK_HasError()
|
||||
T1658 001:244.684 JLINK_IsHalted()
|
||||
T1658 001:244.934 - 0.249ms returns FALSE
|
||||
T1658 001:244.945 JLINK_HasError()
|
||||
T1658 001:246.042 JLINK_IsHalted()
|
||||
T1658 001:246.299 - 0.257ms returns FALSE
|
||||
T1658 001:246.311 JLINK_HasError()
|
||||
T1658 001:248.049 JLINK_IsHalted()
|
||||
T1658 001:248.389 - 0.339ms returns FALSE
|
||||
T1658 001:248.400 JLINK_HasError()
|
||||
T1658 001:250.012 JLINK_IsHalted()
|
||||
T1658 001:250.286 - 0.273ms returns FALSE
|
||||
T1658 001:250.297 JLINK_HasError()
|
||||
T1658 001:252.369 JLINK_IsHalted()
|
||||
T1658 001:252.663 - 0.293ms returns FALSE
|
||||
T1658 001:252.674 JLINK_HasError()
|
||||
T1658 001:254.253 JLINK_IsHalted()
|
||||
T1658 001:254.517 - 0.264ms returns FALSE
|
||||
T1658 001:254.528 JLINK_HasError()
|
||||
T1658 001:256.540 JLINK_IsHalted()
|
||||
T1658 001:256.759 - 0.219ms returns FALSE
|
||||
T1658 001:256.771 JLINK_HasError()
|
||||
T1658 001:258.599 JLINK_IsHalted()
|
||||
T1658 001:258.863 - 0.264ms returns FALSE
|
||||
T1658 001:258.874 JLINK_HasError()
|
||||
T1658 001:260.597 JLINK_IsHalted()
|
||||
T1658 001:260.853 - 0.255ms returns FALSE
|
||||
T1658 001:260.865 JLINK_HasError()
|
||||
T1658 001:262.972 JLINK_IsHalted()
|
||||
T1658 001:263.257 - 0.284ms returns FALSE
|
||||
T1658 001:263.268 JLINK_HasError()
|
||||
T1658 001:264.368 JLINK_IsHalted()
|
||||
T1658 001:264.669 - 0.300ms returns FALSE
|
||||
T1658 001:264.680 JLINK_HasError()
|
||||
T1658 001:265.776 JLINK_IsHalted()
|
||||
T1658 001:266.034 - 0.257ms returns FALSE
|
||||
T1658 001:266.045 JLINK_HasError()
|
||||
T1658 001:267.893 JLINK_IsHalted()
|
||||
T1658 001:268.174 - 0.280ms returns FALSE
|
||||
T1658 001:268.186 JLINK_HasError()
|
||||
T1658 001:269.798 JLINK_IsHalted()
|
||||
T1658 001:270.081 - 0.282ms returns FALSE
|
||||
T1658 001:270.094 JLINK_HasError()
|
||||
T1658 001:272.858 JLINK_IsHalted()
|
||||
T1658 001:273.141 - 0.281ms returns FALSE
|
||||
T1658 001:273.154 JLINK_HasError()
|
||||
T1658 001:274.850 JLINK_IsHalted()
|
||||
T1658 001:275.108 - 0.258ms returns FALSE
|
||||
T1658 001:275.122 JLINK_HasError()
|
||||
T1658 001:276.173 JLINK_IsHalted()
|
||||
T1658 001:276.447 - 0.273ms returns FALSE
|
||||
T1658 001:276.462 JLINK_HasError()
|
||||
T1658 001:278.208 JLINK_IsHalted()
|
||||
T1658 001:278.478 - 0.269ms returns FALSE
|
||||
T1658 001:278.493 JLINK_HasError()
|
||||
T1658 001:279.567 JLINK_IsHalted()
|
||||
T1658 001:279.831 - 0.264ms returns FALSE
|
||||
T1658 001:279.846 JLINK_HasError()
|
||||
T1658 001:280.919 JLINK_IsHalted()
|
||||
T1658 001:281.204 - 0.284ms returns FALSE
|
||||
T1658 001:281.219 JLINK_HasError()
|
||||
T1658 001:282.911 JLINK_IsHalted()
|
||||
T1658 001:283.179 - 0.267ms returns FALSE
|
||||
T1658 001:283.195 JLINK_HasError()
|
||||
T1658 001:284.946 JLINK_IsHalted()
|
||||
T1658 001:285.240 - 0.293ms returns FALSE
|
||||
T1658 001:285.257 JLINK_HasError()
|
||||
T1658 001:287.348 JLINK_IsHalted()
|
||||
T1658 001:287.716 - 0.367ms returns FALSE
|
||||
T1658 001:287.735 JLINK_HasError()
|
||||
T1658 001:289.278 JLINK_IsHalted()
|
||||
T1658 001:289.574 - 0.295ms returns FALSE
|
||||
T1658 001:289.593 JLINK_HasError()
|
||||
T1658 001:291.652 JLINK_IsHalted()
|
||||
T1658 001:291.972 - 0.319ms returns FALSE
|
||||
T1658 001:291.993 JLINK_HasError()
|
||||
T1658 001:293.645 JLINK_IsHalted()
|
||||
T1658 001:294.015 - 0.369ms returns FALSE
|
||||
T1658 001:294.036 JLINK_HasError()
|
||||
T1658 001:295.974 JLINK_IsHalted()
|
||||
T1658 001:296.263 - 0.287ms returns FALSE
|
||||
T1658 001:296.280 JLINK_HasError()
|
||||
T1658 001:298.019 JLINK_IsHalted()
|
||||
T1658 001:298.348 - 0.328ms returns FALSE
|
||||
T1658 001:298.373 JLINK_HasError()
|
||||
T1658 001:300.503 JLINK_IsHalted()
|
||||
T1658 001:300.879 - 0.374ms returns FALSE
|
||||
T1658 001:300.904 JLINK_HasError()
|
||||
T1658 001:302.409 JLINK_IsHalted()
|
||||
T1658 001:302.712 - 0.302ms returns FALSE
|
||||
T1658 001:302.747 JLINK_HasError()
|
||||
T1658 001:304.626 JLINK_IsHalted()
|
||||
T1658 001:304.959 - 0.332ms returns FALSE
|
||||
T1658 001:304.980 JLINK_HasError()
|
||||
T1658 001:306.636 JLINK_IsHalted()
|
||||
T1658 001:306.979 - 0.341ms returns FALSE
|
||||
T1658 001:307.017 JLINK_HasError()
|
||||
T1658 001:308.615 JLINK_IsHalted()
|
||||
T1658 001:309.069 - 0.454ms returns FALSE
|
||||
T1658 001:309.098 JLINK_HasError()
|
||||
T1658 001:311.090 JLINK_IsHalted()
|
||||
T1658 001:311.406 - 0.315ms returns FALSE
|
||||
T1658 001:311.471 JLINK_HasError()
|
||||
T1658 001:313.086 JLINK_IsHalted()
|
||||
T1658 001:313.526 - 0.439ms returns FALSE
|
||||
T1658 001:313.561 JLINK_HasError()
|
||||
T1658 001:315.564 JLINK_IsHalted()
|
||||
T1658 001:315.927 - 0.361ms returns FALSE
|
||||
T1658 001:315.974 JLINK_HasError()
|
||||
T1658 001:317.546 JLINK_IsHalted()
|
||||
T1658 001:318.009 - 0.462ms returns FALSE
|
||||
T1658 001:318.047 JLINK_HasError()
|
||||
T1658 001:319.568 JLINK_IsHalted()
|
||||
T1658 001:320.080 - 0.509ms returns FALSE
|
||||
T1658 001:320.139 JLINK_HasError()
|
||||
T1658 001:321.532 JLINK_IsHalted()
|
||||
T1658 001:321.956 - 0.423ms returns FALSE
|
||||
T1658 001:321.994 JLINK_HasError()
|
||||
T1658 001:323.518 JLINK_IsHalted()
|
||||
T1658 001:323.930 - 0.411ms returns FALSE
|
||||
T1658 001:323.967 JLINK_HasError()
|
||||
T1658 001:325.944 JLINK_IsHalted()
|
||||
T1658 001:326.377 - 0.432ms returns FALSE
|
||||
T1658 001:326.420 JLINK_HasError()
|
||||
T1658 001:327.947 JLINK_IsHalted()
|
||||
T1658 001:328.410 - 0.462ms returns FALSE
|
||||
T1658 001:328.450 JLINK_HasError()
|
||||
T1658 001:330.420 JLINK_IsHalted()
|
||||
T1658 001:330.848 - 0.426ms returns FALSE
|
||||
T1658 001:330.885 JLINK_HasError()
|
||||
T1658 001:332.419 JLINK_IsHalted()
|
||||
T1658 001:332.849 - 0.429ms returns FALSE
|
||||
T1658 001:332.888 JLINK_HasError()
|
||||
T1658 001:334.859 JLINK_IsHalted()
|
||||
T1658 001:335.297 - 0.437ms returns FALSE
|
||||
T1658 001:335.335 JLINK_HasError()
|
||||
T1658 001:337.334 JLINK_IsHalted()
|
||||
T1658 001:337.679 - 0.343ms returns FALSE
|
||||
T1658 001:337.718 JLINK_HasError()
|
||||
T1658 001:339.303 JLINK_IsHalted()
|
||||
T1658 001:339.748 - 0.444ms returns FALSE
|
||||
T1658 001:339.787 JLINK_HasError()
|
||||
T1658 001:341.766 JLINK_IsHalted()
|
||||
T1658 001:342.219 - 0.452ms returns FALSE
|
||||
T1658 001:342.257 JLINK_HasError()
|
||||
T1658 001:344.233 JLINK_IsHalted()
|
||||
T1658 001:344.643 - 0.409ms returns FALSE
|
||||
T1658 001:344.680 JLINK_HasError()
|
||||
T1658 001:346.621 JLINK_IsHalted()
|
||||
T1658 001:347.013 - 0.390ms returns FALSE
|
||||
T1658 001:347.065 JLINK_HasError()
|
||||
T1658 001:348.622 JLINK_IsHalted()
|
||||
T1658 001:349.072 - 0.449ms returns FALSE
|
||||
T1658 001:349.110 JLINK_HasError()
|
||||
T1658 001:351.197 JLINK_IsHalted()
|
||||
T1658 001:351.573 - 0.375ms returns FALSE
|
||||
T1658 001:351.613 JLINK_HasError()
|
||||
T1658 001:353.071 JLINK_IsHalted()
|
||||
T1658 001:353.464 - 0.392ms returns FALSE
|
||||
T1658 001:353.515 JLINK_HasError()
|
||||
T1658 001:355.076 JLINK_IsHalted()
|
||||
T1658 001:355.525 - 0.447ms returns FALSE
|
||||
T1658 001:355.562 JLINK_HasError()
|
||||
T1658 001:357.539 JLINK_IsHalted()
|
||||
T1658 001:359.019 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 001:359.471 - 1.930ms returns TRUE
|
||||
T1658 001:359.520 JLINK_ReadReg(R15 (PC))
|
||||
T1658 001:359.551 - 0.029ms returns 0x20000000
|
||||
T1658 001:359.579 JLINK_ClrBPEx(BPHandle = 0x00000022)
|
||||
T1658 001:359.604 - 0.025ms returns 0x00
|
||||
T1658 001:359.630 JLINK_ReadReg(R0)
|
||||
T1658 001:359.655 - 0.023ms returns 0x613CA457
|
||||
T1658 001:363.592 JLINK_HasError()
|
||||
T1658 001:363.644 JLINK_WriteReg(R0, 0x00000003)
|
||||
T1658 001:363.674 - 0.030ms returns 0
|
||||
T1658 001:363.700 JLINK_WriteReg(R1, 0x08000000)
|
||||
T1658 001:363.725 - 0.024ms returns 0
|
||||
T1658 001:363.750 JLINK_WriteReg(R2, 0x000035A8)
|
||||
T1658 001:363.773 - 0.022ms returns 0
|
||||
T1658 001:363.799 JLINK_WriteReg(R3, 0x04C11DB7)
|
||||
T1658 001:363.822 - 0.023ms returns 0
|
||||
T1658 001:363.847 JLINK_WriteReg(R4, 0x00000000)
|
||||
T1658 001:363.870 - 0.023ms returns 0
|
||||
T1658 001:363.896 JLINK_WriteReg(R5, 0x00000000)
|
||||
T1658 001:363.919 - 0.023ms returns 0
|
||||
T1658 001:363.944 JLINK_WriteReg(R6, 0x00000000)
|
||||
T1658 001:363.967 - 0.022ms returns 0
|
||||
T1658 001:363.993 JLINK_WriteReg(R7, 0x00000000)
|
||||
T1658 001:364.016 - 0.022ms returns 0
|
||||
T1658 001:364.041 JLINK_WriteReg(R8, 0x00000000)
|
||||
T1658 001:364.064 - 0.023ms returns 0
|
||||
T1658 001:364.090 JLINK_WriteReg(R9, 0x20000160)
|
||||
T1658 001:364.123 - 0.033ms returns 0
|
||||
T1658 001:364.157 JLINK_WriteReg(R10, 0x00000000)
|
||||
T1658 001:364.180 - 0.023ms returns 0
|
||||
T1658 001:364.207 JLINK_WriteReg(R11, 0x00000000)
|
||||
T1658 001:364.230 - 0.023ms returns 0
|
||||
T1658 001:364.255 JLINK_WriteReg(R12, 0x00000000)
|
||||
T1658 001:364.278 - 0.023ms returns 0
|
||||
T1658 001:364.304 JLINK_WriteReg(R13 (SP), 0x20001000)
|
||||
T1658 001:364.329 - 0.025ms returns 0
|
||||
T1658 001:364.355 JLINK_WriteReg(R14, 0x20000001)
|
||||
T1658 001:364.377 - 0.022ms returns 0
|
||||
T1658 001:364.404 JLINK_WriteReg(R15 (PC), 0x2000006A)
|
||||
T1658 001:364.427 - 0.023ms returns 0
|
||||
T1658 001:364.453 JLINK_WriteReg(XPSR, 0x01000000)
|
||||
T1658 001:364.476 - 0.023ms returns 0
|
||||
T1658 001:364.508 JLINK_WriteReg(MSP, 0x20001000)
|
||||
T1658 001:364.532 - 0.023ms returns 0
|
||||
T1658 001:364.557 JLINK_WriteReg(PSP, 0x20001000)
|
||||
T1658 001:364.580 - 0.023ms returns 0
|
||||
T1658 001:364.606 JLINK_WriteReg(CFBP, 0x00000000)
|
||||
T1658 001:364.629 - 0.023ms returns 0
|
||||
T1658 001:364.658 JLINK_SetBPEx(Addr = 0x20000000, Type = 0xFFFFFFF2)
|
||||
T1658 001:364.685 - 0.028ms returns 0x00000023
|
||||
T1658 001:364.710 JLINK_Go()
|
||||
T1658 001:364.761 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:366.714 - 2.001ms
|
||||
T1658 001:366.769 JLINK_IsHalted()
|
||||
T1658 001:368.183 CPU_ReadMem(2 bytes @ 0x20000000)
|
||||
T1658 001:368.680 - 1.908ms returns TRUE
|
||||
T1658 001:368.735 JLINK_ReadReg(R15 (PC))
|
||||
T1658 001:368.768 - 0.031ms returns 0x20000000
|
||||
T1658 001:368.795 JLINK_ClrBPEx(BPHandle = 0x00000023)
|
||||
T1658 001:368.821 - 0.025ms returns 0x00
|
||||
T1658 001:368.847 JLINK_ReadReg(R0)
|
||||
T1658 001:368.871 - 0.023ms returns 0x00000000
|
||||
T1658 001:422.846 JLINK_WriteMemEx(0x20000000, 0x00000002 Bytes, Flags = 0x02000000)
|
||||
T1658 001:422.870 Data: FE E7
|
||||
T1658 001:422.892 CPU_WriteMem(2 bytes @ 0x20000000)
|
||||
T1658 001:423.191 - 0.345ms returns 0x2
|
||||
T1658 001:423.206 JLINK_HasError()
|
||||
T1658 001:423.214 JLINK_HasError()
|
||||
T1658 001:423.222 JLINK_SetResetType(JLINKARM_CM3_RESET_TYPE_NORMAL)
|
||||
T1658 001:423.229 - 0.006ms returns JLINKARM_CM3_RESET_TYPE_NORMAL
|
||||
T1658 001:423.236 JLINK_Reset()
|
||||
T1658 001:425.147 Memory map 'before startup completion point' is active
|
||||
T1658 001:425.167 JLINK_GetResetTypeDesc
|
||||
T1658 001:425.173 - 0.006ms
|
||||
T1658 001:427.110 Reset type: NORMAL (https://wiki.segger.com/J-Link_Reset_Strategies)
|
||||
T1658 001:427.129 CPU_WriteMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 001:427.434 CPU_WriteMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 001:429.632 Reset: Halt core after reset via DEMCR.VC_CORERESET.
|
||||
T1658 001:431.552 Reset: Reset device via AIRCR.SYSRESETREQ.
|
||||
T1658 001:431.571 CPU_WriteMem(4 bytes @ 0xE000ED0C)
|
||||
T1658 001:483.083 CPU_ReadMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 001:483.493 CPU_ReadMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 001:483.964 CPU_WriteMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 001:490.265 CPU_ReadMem(4 bytes @ 0xE000EDF0)
|
||||
T1658 001:492.200 CPU_WriteMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 001:492.758 CPU_WriteMem(4 bytes @ 0xE0001028)
|
||||
T1658 001:493.175 CPU_WriteMem(4 bytes @ 0xE0001038)
|
||||
T1658 001:493.589 CPU_WriteMem(4 bytes @ 0xE0001048)
|
||||
T1658 001:493.982 CPU_WriteMem(4 bytes @ 0xE0001058)
|
||||
T1658 001:494.374 CPU_WriteMem(4 bytes @ 0xE0002000)
|
||||
T1658 001:494.745 CPU_ReadMem(4 bytes @ 0xE000EDFC)
|
||||
T1658 001:495.096 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:495.486 - 72.249ms
|
||||
T1658 001:495.499 JLINK_Go()
|
||||
T1658 001:495.511 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:495.688 CPU_WriteMem(4 bytes @ 0xE0002008)
|
||||
T1658 001:495.697 CPU_WriteMem(4 bytes @ 0xE000200C)
|
||||
T1658 001:495.704 CPU_WriteMem(4 bytes @ 0xE0002010)
|
||||
T1658 001:495.711 CPU_WriteMem(4 bytes @ 0xE0002014)
|
||||
T1658 001:495.717 CPU_WriteMem(4 bytes @ 0xE0002018)
|
||||
T1658 001:495.727 CPU_WriteMem(4 bytes @ 0xE000201C)
|
||||
T1658 001:496.378 CPU_WriteMem(4 bytes @ 0xE0001004)
|
||||
T1658 001:498.499 Memory map 'after startup completion point' is active
|
||||
T1658 001:498.512 - 3.013ms
|
||||
T1658 001:502.510 JLINK_Close()
|
||||
T1658 001:502.827 CPU is running
|
||||
T1658 001:502.841 CPU_WriteMem(4 bytes @ 0xE0002008)
|
||||
T1658 001:503.097 CPU is running
|
||||
T1658 001:503.110 CPU_WriteMem(4 bytes @ 0xE000200C)
|
||||
T1658 001:503.327 CPU is running
|
||||
T1658 001:503.341 CPU_WriteMem(4 bytes @ 0xE0002010)
|
||||
T1658 001:503.632 CPU is running
|
||||
T1658 001:503.645 CPU_WriteMem(4 bytes @ 0xE0002014)
|
||||
T1658 001:503.920 CPU is running
|
||||
T1658 001:503.933 CPU_WriteMem(4 bytes @ 0xE0002018)
|
||||
T1658 001:504.217 CPU is running
|
||||
T1658 001:504.226 CPU_WriteMem(4 bytes @ 0xE000201C)
|
||||
T1658 001:507.031 OnDisconnectTarget() start
|
||||
T1658 001:507.044 J-Link Script File: Executing OnDisconnectTarget()
|
||||
T1658 001:507.055 CPU_WriteMem(4 bytes @ 0xE0042004)
|
||||
T1658 001:508.798 OnDisconnectTarget() end - Took 197us
|
||||
T1658 001:508.814 CPU_ReadMem(4 bytes @ 0xE0001000)
|
||||
T1658 001:514.759 - 12.247ms
|
||||
T1658 001:514.769
|
||||
T1658 001:514.773 Closed
|
||||
@@ -1,47 +0,0 @@
|
||||
[BREAKPOINTS]
|
||||
ForceImpTypeAny = 0
|
||||
ShowInfoWin = 1
|
||||
EnableFlashBP = 2
|
||||
BPDuringExecution = 0
|
||||
[CFI]
|
||||
CFISize = 0x00
|
||||
CFIAddr = 0x00
|
||||
[CPU]
|
||||
MonModeVTableAddr = 0xFFFFFFFF
|
||||
MonModeDebug = 0
|
||||
MaxNumAPs = 0
|
||||
LowPowerHandlingMode = 0
|
||||
OverrideMemMap = 0
|
||||
AllowSimulation = 1
|
||||
ScriptFile=""
|
||||
[FLASH]
|
||||
RMWThreshold = 0x400
|
||||
Loaders=""
|
||||
EraseType = 0x00
|
||||
CacheExcludeSize = 0x00
|
||||
CacheExcludeAddr = 0x00
|
||||
MinNumBytesFlashDL = 0
|
||||
SkipProgOnCRCMatch = 1
|
||||
VerifyDownload = 1
|
||||
AllowCaching = 1
|
||||
EnableFlashDL = 2
|
||||
Override = 0
|
||||
Device="ARM7"
|
||||
[GENERAL]
|
||||
MaxNumTransfers = 0x00
|
||||
WorkRAMSize = 0x00
|
||||
WorkRAMAddr = 0x00
|
||||
RAMUsageLimit = 0x00
|
||||
[SWO]
|
||||
SWOLogFile=""
|
||||
[MEM]
|
||||
RdOverrideOrMask = 0x00
|
||||
RdOverrideAndMask = 0xFFFFFFFF
|
||||
RdOverrideAddr = 0xFFFFFFFF
|
||||
WrOverrideOrMask = 0x00
|
||||
WrOverrideAndMask = 0xFFFFFFFF
|
||||
WrOverrideAddr = 0xFFFFFFFF
|
||||
[RAM]
|
||||
VerifyDownload = 0x00
|
||||
[DYN_MEM_MAP]
|
||||
NumUserRegion = 0x00
|
||||
21
MDK-ARM/RTE/_bootloader/RTE_Components.h
Normal file
21
MDK-ARM/RTE/_bootloader/RTE_Components.h
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
/*
|
||||
* Auto generated Run-Time-Environment Configuration File
|
||||
* *** Do not modify ! ***
|
||||
*
|
||||
* Project: 'uksvep_2_2_v1'
|
||||
* Target: 'bootloader'
|
||||
*/
|
||||
|
||||
#ifndef RTE_COMPONENTS_H
|
||||
#define RTE_COMPONENTS_H
|
||||
|
||||
|
||||
/*
|
||||
* Define the Device Header File:
|
||||
*/
|
||||
#define CMSIS_device_header "stm32f10x.h"
|
||||
|
||||
|
||||
|
||||
#endif /* RTE_COMPONENTS_H */
|
||||
16
MDK-ARM/bootloader/bootloader.sct
Normal file
16
MDK-ARM/bootloader/bootloader.sct
Normal file
@@ -0,0 +1,16 @@
|
||||
; *************************************************************
|
||||
; *** Scatter-Loading Description File generated by uVision ***
|
||||
; *************************************************************
|
||||
|
||||
LR_IROM1 0x08000000 0x0000C000 { ; load region size_region
|
||||
ER_IROM1 0x08000000 0x0000C000 { ; load address = execution address
|
||||
*.o (RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
.ANY (+XO)
|
||||
}
|
||||
RW_IRAM1 0x20000000 0x0000C000 { ; RW data
|
||||
.ANY (+RW +ZI)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
; *** Scatter-Loading Description File generated by uVision ***
|
||||
; *************************************************************
|
||||
|
||||
LR_IROM1 0x08000000 0x00040000 { ; load region size_region
|
||||
ER_IROM1 0x08000000 0x00040000 { ; load address = execution address
|
||||
LR_IROM1 0x0800C000 0x00040000 { ; load region size_region
|
||||
ER_IROM1 0x0800C000 0x00040000 { ; load address = execution address
|
||||
*.o (RESET, +First)
|
||||
*(InRoot$$Sections)
|
||||
.ANY (+RO)
|
||||
File diff suppressed because one or more lines are too long
@@ -12,7 +12,7 @@
|
||||
<lExt>*.lib</lExt>
|
||||
<tExt>*.txt; *.h; *.inc; *.md</tExt>
|
||||
<pExt>*.plm</pExt>
|
||||
<CppX>*.cpp</CppX>
|
||||
<CppX>*.cpp; *.cc; *.cxx</CppX>
|
||||
<nMigrate>0</nMigrate>
|
||||
</Extensions>
|
||||
|
||||
@@ -25,6 +25,161 @@
|
||||
<TargetName>uksvep_2_2_v1</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLKADS>8000000</CLKADS>
|
||||
<OPTTT>
|
||||
<gFlags>0</gFlags>
|
||||
<BeepAtEnd>1</BeepAtEnd>
|
||||
<RunSim>0</RunSim>
|
||||
<RunTarget>1</RunTarget>
|
||||
<RunAbUc>0</RunAbUc>
|
||||
</OPTTT>
|
||||
<OPTHX>
|
||||
<HexSelection>1</HexSelection>
|
||||
<FlashByte>65535</FlashByte>
|
||||
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||
<HexOffset>0</HexOffset>
|
||||
</OPTHX>
|
||||
<OPTLEX>
|
||||
<PageWidth>79</PageWidth>
|
||||
<PageLength>66</PageLength>
|
||||
<TabStop>8</TabStop>
|
||||
<ListingPath></ListingPath>
|
||||
</OPTLEX>
|
||||
<ListingPage>
|
||||
<CreateCListing>1</CreateCListing>
|
||||
<CreateAListing>1</CreateAListing>
|
||||
<CreateLListing>1</CreateLListing>
|
||||
<CreateIListing>0</CreateIListing>
|
||||
<AsmCond>1</AsmCond>
|
||||
<AsmSymb>1</AsmSymb>
|
||||
<AsmXref>0</AsmXref>
|
||||
<CCond>1</CCond>
|
||||
<CCode>0</CCode>
|
||||
<CListInc>0</CListInc>
|
||||
<CSymb>0</CSymb>
|
||||
<LinkerCodeListing>0</LinkerCodeListing>
|
||||
</ListingPage>
|
||||
<OPTXL>
|
||||
<LMap>1</LMap>
|
||||
<LComments>1</LComments>
|
||||
<LGenerateSymbols>1</LGenerateSymbols>
|
||||
<LLibSym>1</LLibSym>
|
||||
<LLines>1</LLines>
|
||||
<LLocSym>1</LLocSym>
|
||||
<LPubSym>1</LPubSym>
|
||||
<LXref>0</LXref>
|
||||
<LExpSel>0</LExpSel>
|
||||
</OPTXL>
|
||||
<OPTFL>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<IsCurrentTarget>0</IsCurrentTarget>
|
||||
</OPTFL>
|
||||
<CpuCode>18</CpuCode>
|
||||
<DebugOpt>
|
||||
<uSim>0</uSim>
|
||||
<uTrg>1</uTrg>
|
||||
<sLdApp>1</sLdApp>
|
||||
<sGomain>1</sGomain>
|
||||
<sRbreak>1</sRbreak>
|
||||
<sRwatch>1</sRwatch>
|
||||
<sRmem>1</sRmem>
|
||||
<sRfunc>1</sRfunc>
|
||||
<sRbox>1</sRbox>
|
||||
<tLdApp>1</tLdApp>
|
||||
<tGomain>1</tGomain>
|
||||
<tRbreak>1</tRbreak>
|
||||
<tRwatch>1</tRwatch>
|
||||
<tRmem>1</tRmem>
|
||||
<tRfunc>0</tRfunc>
|
||||
<tRbox>1</tRbox>
|
||||
<tRtrace>1</tRtrace>
|
||||
<sRSysVw>1</sRSysVw>
|
||||
<tRSysVw>1</tRSysVw>
|
||||
<sRunDeb>0</sRunDeb>
|
||||
<sLrtime>0</sLrtime>
|
||||
<bEvRecOn>1</bEvRecOn>
|
||||
<bSchkAxf>0</bSchkAxf>
|
||||
<bTchkAxf>0</bTchkAxf>
|
||||
<nTsel>0</nTsel>
|
||||
<sDll></sDll>
|
||||
<sDllPa></sDllPa>
|
||||
<sDlgDll></sDlgDll>
|
||||
<sDlgPa></sDlgPa>
|
||||
<sIfile></sIfile>
|
||||
<tDll></tDll>
|
||||
<tDllPa></tDllPa>
|
||||
<tDlgDll></tDlgDll>
|
||||
<tDlgPa></tDlgPa>
|
||||
<tIfile></tIfile>
|
||||
<pMon>BIN\UL2CM3.DLL</pMon>
|
||||
</DebugOpt>
|
||||
<TargetDriverDllRegistry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
<DebugFlag>
|
||||
<trace>0</trace>
|
||||
<periodic>0</periodic>
|
||||
<aLwin>0</aLwin>
|
||||
<aCover>0</aCover>
|
||||
<aSer1>0</aSer1>
|
||||
<aSer2>0</aSer2>
|
||||
<aPa>0</aPa>
|
||||
<viewmode>0</viewmode>
|
||||
<vrSel>0</vrSel>
|
||||
<aSym>0</aSym>
|
||||
<aTbox>0</aTbox>
|
||||
<AscS1>0</AscS1>
|
||||
<AscS2>0</AscS2>
|
||||
<AscS3>0</AscS3>
|
||||
<aSer3>0</aSer3>
|
||||
<eProf>0</eProf>
|
||||
<aLa>0</aLa>
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
<uProt>0</uProt>
|
||||
</DebugFlag>
|
||||
<LintExecutable></LintExecutable>
|
||||
<LintConfigFile></LintConfigFile>
|
||||
<bLintAuto>0</bLintAuto>
|
||||
<bAutoGenD>0</bAutoGenD>
|
||||
<LntExFlags>0</LntExFlags>
|
||||
<pMisraName></pMisraName>
|
||||
<pszMrule></pszMrule>
|
||||
<pSingCmds></pSingCmds>
|
||||
<pMultCmds></pMultCmds>
|
||||
<pMisraNamep></pMisraNamep>
|
||||
<pszMrulep></pszMrulep>
|
||||
<pSingCmdsp></pSingCmdsp>
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableFlashSeq>1</EnableFlashSeq>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>10000000</DbgClock>
|
||||
</DebugDescription>
|
||||
</TargetOption>
|
||||
</Target>
|
||||
|
||||
<Target>
|
||||
<TargetName>bootloader</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<TargetOption>
|
||||
<CLKADS>8000000</CLKADS>
|
||||
<OPTTT>
|
||||
@@ -93,7 +248,7 @@
|
||||
<tRbreak>1</tRbreak>
|
||||
<tRwatch>1</tRwatch>
|
||||
<tRmem>1</tRmem>
|
||||
<tRfunc>1</tRfunc>
|
||||
<tRfunc>0</tRfunc>
|
||||
<tRbox>1</tRbox>
|
||||
<tRtrace>1</tRtrace>
|
||||
<sRSysVw>1</sRSysVw>
|
||||
@@ -140,20 +295,55 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>JL2CM3</Key>
|
||||
<Name>-U60145543 -O14 -S10 -ZTIFSpeedSel25000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06414041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
|
||||
<Name>-U60145543 -O14 -S2 -ZTIFSpeedSel5000 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -RST0 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(4) -N01("Unknown JTAG device") -D01(06414041) -L01(5) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TFE0 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>UL2CM3</Key>
|
||||
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM))</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-U-O142 -O2190 -S0 -C0 -N00("ARM CoreSight SW-DP") -D00(2BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL040000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>368</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134230816</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>..\Core\Bootloader\Src\bootloader.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\bootloader\../Core/Bootloader/Src/bootloader.c\368</Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<WatchWindow1>
|
||||
<Ww>
|
||||
<count>0</count>
|
||||
<WinNumber>1</WinNumber>
|
||||
<ItemText>boot</ItemText>
|
||||
</Ww>
|
||||
</WatchWindow1>
|
||||
<MemoryWindow1>
|
||||
<Mm>
|
||||
<WinNumber>1</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0x0800c000</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow1>
|
||||
<MemoryWindow2>
|
||||
<Mm>
|
||||
<WinNumber>2</WinNumber>
|
||||
<SubType>0</SubType>
|
||||
<ItemText>0x08009800</ItemText>
|
||||
<AccSizeX>0</AccSizeX>
|
||||
</Mm>
|
||||
</MemoryWindow2>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
@@ -178,7 +368,7 @@
|
||||
<aPa1>0</aPa1>
|
||||
<AscS4>0</AscS4>
|
||||
<aSer4>0</aSer4>
|
||||
<StkLoc>1</StkLoc>
|
||||
<StkLoc>0</StkLoc>
|
||||
<TrcWin>0</TrcWin>
|
||||
<newCpu>0</newCpu>
|
||||
<uProt>0</uProt>
|
||||
@@ -198,7 +388,7 @@
|
||||
<pMultCmdsp></pMultCmdsp>
|
||||
<DebugDescription>
|
||||
<Enable>1</Enable>
|
||||
<EnableFlashSeq>0</EnableFlashSeq>
|
||||
<EnableFlashSeq>1</EnableFlashSeq>
|
||||
<EnableLog>0</EnableLog>
|
||||
<Protocol>2</Protocol>
|
||||
<DbgClock>10000000</DbgClock>
|
||||
@@ -228,7 +418,7 @@
|
||||
|
||||
<Group>
|
||||
<GroupName>Application/User/Core</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
@@ -236,7 +426,43 @@
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\crc16.c</PathWithFileName>
|
||||
<FilenameWithoutPath>crc16.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\eeprom.c</PathWithFileName>
|
||||
<FilenameWithoutPath>eeprom.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\lampa.c</PathWithFileName>
|
||||
<FilenameWithoutPath>lampa.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>../Core/Src/main.c</PathWithFileName>
|
||||
@@ -246,7 +472,19 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Src\message.c</PathWithFileName>
|
||||
<FilenameWithoutPath>message.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>7</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -258,7 +496,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>4</FileNumber>
|
||||
<FileNumber>8</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -270,7 +508,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>5</FileNumber>
|
||||
<FileNumber>9</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -282,7 +520,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>6</FileNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -294,7 +532,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>7</FileNumber>
|
||||
<FileNumber>11</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -306,7 +544,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>8</FileNumber>
|
||||
<FileNumber>12</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -318,7 +556,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>9</FileNumber>
|
||||
<FileNumber>13</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -330,7 +568,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>10</FileNumber>
|
||||
<FileNumber>14</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -350,7 +588,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>11</FileNumber>
|
||||
<FileNumber>15</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -362,7 +600,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>12</FileNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -374,7 +612,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>13</FileNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -386,7 +624,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>14</FileNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -398,7 +636,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>15</FileNumber>
|
||||
<FileNumber>19</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -410,7 +648,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>16</FileNumber>
|
||||
<FileNumber>20</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -422,7 +660,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>17</FileNumber>
|
||||
<FileNumber>21</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -434,7 +672,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>18</FileNumber>
|
||||
<FileNumber>22</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -446,7 +684,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>19</FileNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -458,7 +696,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>20</FileNumber>
|
||||
<FileNumber>24</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -470,7 +708,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>21</FileNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -482,7 +720,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>22</FileNumber>
|
||||
<FileNumber>26</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -494,7 +732,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>23</FileNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -506,7 +744,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>24</FileNumber>
|
||||
<FileNumber>28</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -518,7 +756,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>25</FileNumber>
|
||||
<FileNumber>29</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -530,7 +768,7 @@
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>3</GroupNumber>
|
||||
<FileNumber>26</FileNumber>
|
||||
<FileNumber>30</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -550,7 +788,7 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>4</GroupNumber>
|
||||
<FileNumber>27</FileNumber>
|
||||
<FileNumber>31</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
@@ -562,6 +800,110 @@
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>Bootloader</GroupName>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<cbSel>0</cbSel>
|
||||
<RteFlg>0</RteFlg>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>32</FileNumber>
|
||||
<FileType>5</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Bootloader\Inc\boot_project_setup.h</PathWithFileName>
|
||||
<FilenameWithoutPath>boot_project_setup.h</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>33</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Bootloader\Src\boot_main.c</PathWithFileName>
|
||||
<FilenameWithoutPath>boot_main.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>34</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Bootloader\Src\bootloader.c</PathWithFileName>
|
||||
<FilenameWithoutPath>bootloader.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>35</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Bootloader\Src\boot_uart.c</PathWithFileName>
|
||||
<FilenameWithoutPath>boot_uart.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>36</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Bootloader\Src\boot_can.c</PathWithFileName>
|
||||
<FilenameWithoutPath>boot_can.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>37</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Bootloader\Src\boot_flash.c</PathWithFileName>
|
||||
<FilenameWithoutPath>boot_flash.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>38</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Bootloader\Src\boot_gpio.c</PathWithFileName>
|
||||
<FilenameWithoutPath>boot_gpio.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>5</GroupNumber>
|
||||
<FileNumber>39</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>..\Core\Bootloader\Src\boot_jump.c</PathWithFileName>
|
||||
<FilenameWithoutPath>boot_jump.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
<tvExp>0</tvExp>
|
||||
|
||||
@@ -81,9 +81,9 @@
|
||||
<nStopB2X>0</nStopB2X>
|
||||
</BeforeMake>
|
||||
<AfterMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>1</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<RunUserProg1>1</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name>fromelf.exe --bin --output .\Listings\@L.bin !L</UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
@@ -138,7 +138,7 @@
|
||||
<DriverSelection>4101</DriverSelection>
|
||||
</Flash1>
|
||||
<bUseTDR>1</bUseTDR>
|
||||
<Flash2>BIN\UL2V8M.DLL</Flash2>
|
||||
<Flash2>BIN\UL2CM3.DLL</Flash2>
|
||||
<Flash3></Flash3>
|
||||
<Flash4></Flash4>
|
||||
<pFcarmOut></pFcarmOut>
|
||||
@@ -277,7 +277,7 @@
|
||||
</OCR_RVCT3>
|
||||
<OCR_RVCT4>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x8000000</StartAddress>
|
||||
<StartAddress>0x800c000</StartAddress>
|
||||
<Size>0x40000</Size>
|
||||
</OCR_RVCT4>
|
||||
<OCR_RVCT5>
|
||||
@@ -330,7 +330,7 @@
|
||||
<uC99>1</uC99>
|
||||
<uGnu>0</uGnu>
|
||||
<useXO>0</useXO>
|
||||
<v6Lang>5</v6Lang>
|
||||
<v6Lang>3</v6Lang>
|
||||
<v6LangP>5</v6LangP>
|
||||
<vShortEn>1</vShortEn>
|
||||
<vShortWch>1</vShortWch>
|
||||
@@ -341,7 +341,7 @@
|
||||
<MiscControls></MiscControls>
|
||||
<Define>USE_HAL_DRIVER,STM32F103xE</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include</IncludePath>
|
||||
<IncludePath>../Core/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;..\Core\Bootloader\Inc</IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
@@ -395,11 +395,31 @@
|
||||
<Group>
|
||||
<GroupName>Application/User/Core</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>crc16.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\crc16.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>eeprom.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\eeprom.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>lampa.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\lampa.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>message.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\message.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>gpio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
@@ -639,6 +659,874 @@
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Bootloader</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>boot_project_setup.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>..\Core\Bootloader\Inc\boot_project_setup.h</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_main.c</FilePath>
|
||||
<FileOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>2</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>0</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
</CommonProperty>
|
||||
<FileArmAds>
|
||||
<Cads>
|
||||
<interw>2</interw>
|
||||
<Optim>0</Optim>
|
||||
<oTime>2</oTime>
|
||||
<SplitLS>2</SplitLS>
|
||||
<OneElfS>2</OneElfS>
|
||||
<Strict>2</Strict>
|
||||
<EnumInt>2</EnumInt>
|
||||
<PlainCh>2</PlainCh>
|
||||
<Ropi>2</Ropi>
|
||||
<Rwpi>2</Rwpi>
|
||||
<wLevel>0</wLevel>
|
||||
<uThumb>2</uThumb>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<uC99>2</uC99>
|
||||
<uGnu>2</uGnu>
|
||||
<useXO>2</useXO>
|
||||
<v6Lang>0</v6Lang>
|
||||
<v6LangP>0</v6LangP>
|
||||
<vShortEn>2</vShortEn>
|
||||
<vShortWch>2</vShortWch>
|
||||
<v6Lto>2</v6Lto>
|
||||
<v6WtE>2</v6WtE>
|
||||
<v6Rtti>2</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
</FileArmAds>
|
||||
</FileOption>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>bootloader.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\bootloader.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_uart.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_uart.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_can.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_can.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_flash.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_flash.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_gpio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_gpio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_jump.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_jump.c</FilePath>
|
||||
<FileOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>2</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>1</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
</CommonProperty>
|
||||
<FileArmAds>
|
||||
<Cads>
|
||||
<interw>2</interw>
|
||||
<Optim>0</Optim>
|
||||
<oTime>2</oTime>
|
||||
<SplitLS>2</SplitLS>
|
||||
<OneElfS>2</OneElfS>
|
||||
<Strict>2</Strict>
|
||||
<EnumInt>2</EnumInt>
|
||||
<PlainCh>2</PlainCh>
|
||||
<Ropi>2</Ropi>
|
||||
<Rwpi>2</Rwpi>
|
||||
<wLevel>0</wLevel>
|
||||
<uThumb>2</uThumb>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<uC99>2</uC99>
|
||||
<uGnu>2</uGnu>
|
||||
<useXO>2</useXO>
|
||||
<v6Lang>0</v6Lang>
|
||||
<v6LangP>0</v6LangP>
|
||||
<vShortEn>2</vShortEn>
|
||||
<vShortWch>2</vShortWch>
|
||||
<v6Lto>2</v6Lto>
|
||||
<v6WtE>2</v6WtE>
|
||||
<v6Rtti>2</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
</FileArmAds>
|
||||
</FileOption>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
</Group>
|
||||
</Groups>
|
||||
</Target>
|
||||
<Target>
|
||||
<TargetName>bootloader</TargetName>
|
||||
<ToolsetNumber>0x4</ToolsetNumber>
|
||||
<ToolsetName>ARM-ADS</ToolsetName>
|
||||
<pArmCC>6190000::V6.19::ARMCLANG</pArmCC>
|
||||
<pCCUsed>6190000::V6.19::ARMCLANG</pCCUsed>
|
||||
<uAC6>1</uAC6>
|
||||
<TargetOption>
|
||||
<TargetCommonOption>
|
||||
<Device>STM32F103RC</Device>
|
||||
<Vendor>STMicroelectronics</Vendor>
|
||||
<PackID>Keil.STM32F1xx_DFP.2.4.0</PackID>
|
||||
<PackURL>http://www.keil.com/pack/</PackURL>
|
||||
<Cpu>IRAM(0x20000000-0x2000BFFF) IROM(0x8000000-0x803FFFF) CLOCK(8000000) CPUTYPE("Cortex-M3") TZ</Cpu>
|
||||
<FlashUtilSpec></FlashUtilSpec>
|
||||
<StartupFile></StartupFile>
|
||||
<FlashDriverDll></FlashDriverDll>
|
||||
<DeviceId>0</DeviceId>
|
||||
<RegisterFile></RegisterFile>
|
||||
<MemoryEnv></MemoryEnv>
|
||||
<Cmp></Cmp>
|
||||
<Asm></Asm>
|
||||
<Linker></Linker>
|
||||
<OHString></OHString>
|
||||
<InfinionOptionDll></InfinionOptionDll>
|
||||
<SLE66CMisc></SLE66CMisc>
|
||||
<SLE66AMisc></SLE66AMisc>
|
||||
<SLE66LinkerMisc></SLE66LinkerMisc>
|
||||
<SFDFile>$$Device:STM32F103RC$SVD\STM32F103xx.svd</SFDFile>
|
||||
<bCustSvd>0</bCustSvd>
|
||||
<UseEnv>0</UseEnv>
|
||||
<BinPath></BinPath>
|
||||
<IncludePath></IncludePath>
|
||||
<LibPath></LibPath>
|
||||
<RegisterFilePath></RegisterFilePath>
|
||||
<DBRegisterFilePath></DBRegisterFilePath>
|
||||
<TargetStatus>
|
||||
<Error>0</Error>
|
||||
<ExitCodeStop>0</ExitCodeStop>
|
||||
<ButtonStop>0</ButtonStop>
|
||||
<NotGenerated>0</NotGenerated>
|
||||
<InvalidFlash>1</InvalidFlash>
|
||||
</TargetStatus>
|
||||
<OutputDirectory>.\bootloader\</OutputDirectory>
|
||||
<OutputName>bootloader</OutputName>
|
||||
<CreateExecutable>1</CreateExecutable>
|
||||
<CreateLib>0</CreateLib>
|
||||
<CreateHexFile>1</CreateHexFile>
|
||||
<DebugInformation>1</DebugInformation>
|
||||
<BrowseInformation>0</BrowseInformation>
|
||||
<ListingPath></ListingPath>
|
||||
<HexFormatSelection>1</HexFormatSelection>
|
||||
<Merge32K>0</Merge32K>
|
||||
<CreateBatchFile>0</CreateBatchFile>
|
||||
<BeforeCompile>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopU1X>0</nStopU1X>
|
||||
<nStopU2X>0</nStopU2X>
|
||||
</BeforeCompile>
|
||||
<BeforeMake>
|
||||
<RunUserProg1>0</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name></UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopB1X>0</nStopB1X>
|
||||
<nStopB2X>0</nStopB2X>
|
||||
</BeforeMake>
|
||||
<AfterMake>
|
||||
<RunUserProg1>1</RunUserProg1>
|
||||
<RunUserProg2>0</RunUserProg2>
|
||||
<UserProg1Name>fromelf.exe --bin --output .\Listings\@L.bin !L</UserProg1Name>
|
||||
<UserProg2Name></UserProg2Name>
|
||||
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
|
||||
<UserProg2Dos16Mode>0</UserProg2Dos16Mode>
|
||||
<nStopA1X>0</nStopA1X>
|
||||
<nStopA2X>0</nStopA2X>
|
||||
</AfterMake>
|
||||
<SelectedForBatchBuild>1</SelectedForBatchBuild>
|
||||
<SVCSIdString></SVCSIdString>
|
||||
</TargetCommonOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>0</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>1</IncludeInBuild>
|
||||
<AlwaysBuild>0</AlwaysBuild>
|
||||
<GenerateAssemblyFile>0</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>0</AssembleAssemblyFile>
|
||||
<PublicsOnly>0</PublicsOnly>
|
||||
<StopOnExitCode>3</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>0</ComprImg>
|
||||
</CommonProperty>
|
||||
<DllOption>
|
||||
<SimDllName>SARMCM3.DLL</SimDllName>
|
||||
<SimDllArguments>-REMAP</SimDllArguments>
|
||||
<SimDlgDll>DCM.DLL</SimDlgDll>
|
||||
<SimDlgDllArguments>-pCM3</SimDlgDllArguments>
|
||||
<TargetDllName>SARMCM3.DLL</TargetDllName>
|
||||
<TargetDllArguments></TargetDllArguments>
|
||||
<TargetDlgDll>TCM.DLL</TargetDlgDll>
|
||||
<TargetDlgDllArguments>-pCM3</TargetDlgDllArguments>
|
||||
</DllOption>
|
||||
<DebugOption>
|
||||
<OPTHX>
|
||||
<HexSelection>1</HexSelection>
|
||||
<HexRangeLowAddress>0</HexRangeLowAddress>
|
||||
<HexRangeHighAddress>0</HexRangeHighAddress>
|
||||
<HexOffset>0</HexOffset>
|
||||
<Oh166RecLen>16</Oh166RecLen>
|
||||
</OPTHX>
|
||||
</DebugOption>
|
||||
<Utilities>
|
||||
<Flash1>
|
||||
<UseTargetDll>1</UseTargetDll>
|
||||
<UseExternalTool>0</UseExternalTool>
|
||||
<RunIndependent>0</RunIndependent>
|
||||
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
|
||||
<Capability>1</Capability>
|
||||
<DriverSelection>4101</DriverSelection>
|
||||
</Flash1>
|
||||
<bUseTDR>1</bUseTDR>
|
||||
<Flash2>BIN\UL2CM3.DLL</Flash2>
|
||||
<Flash3></Flash3>
|
||||
<Flash4></Flash4>
|
||||
<pFcarmOut></pFcarmOut>
|
||||
<pFcarmGrp></pFcarmGrp>
|
||||
<pFcArmRoot></pFcArmRoot>
|
||||
<FcArmLst>0</FcArmLst>
|
||||
</Utilities>
|
||||
<TargetArmAds>
|
||||
<ArmAdsMisc>
|
||||
<GenerateListings>0</GenerateListings>
|
||||
<asHll>1</asHll>
|
||||
<asAsm>1</asAsm>
|
||||
<asMacX>1</asMacX>
|
||||
<asSyms>1</asSyms>
|
||||
<asFals>1</asFals>
|
||||
<asDbgD>1</asDbgD>
|
||||
<asForm>1</asForm>
|
||||
<ldLst>0</ldLst>
|
||||
<ldmm>1</ldmm>
|
||||
<ldXref>1</ldXref>
|
||||
<BigEnd>0</BigEnd>
|
||||
<AdsALst>1</AdsALst>
|
||||
<AdsACrf>1</AdsACrf>
|
||||
<AdsANop>0</AdsANop>
|
||||
<AdsANot>0</AdsANot>
|
||||
<AdsLLst>1</AdsLLst>
|
||||
<AdsLmap>1</AdsLmap>
|
||||
<AdsLcgr>1</AdsLcgr>
|
||||
<AdsLsym>1</AdsLsym>
|
||||
<AdsLszi>1</AdsLszi>
|
||||
<AdsLtoi>1</AdsLtoi>
|
||||
<AdsLsun>1</AdsLsun>
|
||||
<AdsLven>1</AdsLven>
|
||||
<AdsLsxf>1</AdsLsxf>
|
||||
<RvctClst>0</RvctClst>
|
||||
<GenPPlst>0</GenPPlst>
|
||||
<AdsCpuType>"Cortex-M3"</AdsCpuType>
|
||||
<RvctDeviceName></RvctDeviceName>
|
||||
<mOS>0</mOS>
|
||||
<uocRom>0</uocRom>
|
||||
<uocRam>0</uocRam>
|
||||
<hadIROM>1</hadIROM>
|
||||
<hadIRAM>1</hadIRAM>
|
||||
<hadXRAM>0</hadXRAM>
|
||||
<uocXRam>0</uocXRam>
|
||||
<RvdsVP>0</RvdsVP>
|
||||
<RvdsMve>0</RvdsMve>
|
||||
<RvdsCdeCp>0</RvdsCdeCp>
|
||||
<nBranchProt>0</nBranchProt>
|
||||
<hadIRAM2>0</hadIRAM2>
|
||||
<hadIROM2>0</hadIROM2>
|
||||
<StupSel>8</StupSel>
|
||||
<useUlib>0</useUlib>
|
||||
<EndSel>0</EndSel>
|
||||
<uLtcg>0</uLtcg>
|
||||
<nSecure>0</nSecure>
|
||||
<RoSelD>3</RoSelD>
|
||||
<RwSelD>4</RwSelD>
|
||||
<CodeSel>0</CodeSel>
|
||||
<OptFeed>0</OptFeed>
|
||||
<NoZi1>0</NoZi1>
|
||||
<NoZi2>0</NoZi2>
|
||||
<NoZi3>0</NoZi3>
|
||||
<NoZi4>0</NoZi4>
|
||||
<NoZi5>0</NoZi5>
|
||||
<Ro1Chk>0</Ro1Chk>
|
||||
<Ro2Chk>0</Ro2Chk>
|
||||
<Ro3Chk>0</Ro3Chk>
|
||||
<Ir1Chk>1</Ir1Chk>
|
||||
<Ir2Chk>0</Ir2Chk>
|
||||
<Ra1Chk>0</Ra1Chk>
|
||||
<Ra2Chk>0</Ra2Chk>
|
||||
<Ra3Chk>0</Ra3Chk>
|
||||
<Im1Chk>1</Im1Chk>
|
||||
<Im2Chk>0</Im2Chk>
|
||||
<OnChipMemories>
|
||||
<Ocm1>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm1>
|
||||
<Ocm2>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm2>
|
||||
<Ocm3>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm3>
|
||||
<Ocm4>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm4>
|
||||
<Ocm5>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm5>
|
||||
<Ocm6>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</Ocm6>
|
||||
<IRAM>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0xc000</Size>
|
||||
</IRAM>
|
||||
<IROM>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x8000000</StartAddress>
|
||||
<Size>0x40000</Size>
|
||||
</IROM>
|
||||
<XRAM>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</XRAM>
|
||||
<OCR_RVCT1>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT1>
|
||||
<OCR_RVCT2>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT2>
|
||||
<OCR_RVCT3>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT3>
|
||||
<OCR_RVCT4>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x8000000</StartAddress>
|
||||
<Size>0xc000</Size>
|
||||
</OCR_RVCT4>
|
||||
<OCR_RVCT5>
|
||||
<Type>1</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT5>
|
||||
<OCR_RVCT6>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT6>
|
||||
<OCR_RVCT7>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT7>
|
||||
<OCR_RVCT8>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT8>
|
||||
<OCR_RVCT9>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x20000000</StartAddress>
|
||||
<Size>0xc000</Size>
|
||||
</OCR_RVCT9>
|
||||
<OCR_RVCT10>
|
||||
<Type>0</Type>
|
||||
<StartAddress>0x0</StartAddress>
|
||||
<Size>0x0</Size>
|
||||
</OCR_RVCT10>
|
||||
</OnChipMemories>
|
||||
<RvctStartVector></RvctStartVector>
|
||||
</ArmAdsMisc>
|
||||
<Cads>
|
||||
<interw>1</interw>
|
||||
<Optim>1</Optim>
|
||||
<oTime>0</oTime>
|
||||
<SplitLS>0</SplitLS>
|
||||
<OneElfS>1</OneElfS>
|
||||
<Strict>0</Strict>
|
||||
<EnumInt>0</EnumInt>
|
||||
<PlainCh>0</PlainCh>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<wLevel>3</wLevel>
|
||||
<uThumb>0</uThumb>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<uC99>1</uC99>
|
||||
<uGnu>0</uGnu>
|
||||
<useXO>0</useXO>
|
||||
<v6Lang>3</v6Lang>
|
||||
<v6LangP>5</v6LangP>
|
||||
<vShortEn>1</vShortEn>
|
||||
<vShortWch>1</vShortWch>
|
||||
<v6Lto>0</v6Lto>
|
||||
<v6WtE>0</v6WtE>
|
||||
<v6Rtti>0</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define>USE_HAL_DRIVER,STM32F103xE</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>..\Core\Inc;../Drivers/STM32F1xx_HAL_Driver/Inc;../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F1xx/Include;../Drivers/CMSIS/Include;..\Core\Bootloader\Inc</IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
<interw>1</interw>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<thumb>0</thumb>
|
||||
<SplitLS>0</SplitLS>
|
||||
<SwStkChk>0</SwStkChk>
|
||||
<NoWarn>0</NoWarn>
|
||||
<uSurpInc>0</uSurpInc>
|
||||
<useXO>0</useXO>
|
||||
<ClangAsOpt>1</ClangAsOpt>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Aads>
|
||||
<LDads>
|
||||
<umfTarg>1</umfTarg>
|
||||
<Ropi>0</Ropi>
|
||||
<Rwpi>0</Rwpi>
|
||||
<noStLib>0</noStLib>
|
||||
<RepFail>1</RepFail>
|
||||
<useFile>0</useFile>
|
||||
<TextAddressRange></TextAddressRange>
|
||||
<DataAddressRange></DataAddressRange>
|
||||
<pXoBase></pXoBase>
|
||||
<ScatterFile></ScatterFile>
|
||||
<IncludeLibs></IncludeLibs>
|
||||
<IncludeLibsPath></IncludeLibsPath>
|
||||
<Misc></Misc>
|
||||
<LinkerInputFile></LinkerInputFile>
|
||||
<DisabledWarnings></DisabledWarnings>
|
||||
</LDads>
|
||||
</TargetArmAds>
|
||||
</TargetOption>
|
||||
<Groups>
|
||||
<Group>
|
||||
<GroupName>Application/MDK-ARM</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>startup_stm32f103xe.s</FileName>
|
||||
<FileType>2</FileType>
|
||||
<FilePath>startup_stm32f103xe.s</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Application/User/Core</GroupName>
|
||||
<GroupOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>0</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>0</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
</CommonProperty>
|
||||
<GroupArmAds>
|
||||
<Cads>
|
||||
<interw>2</interw>
|
||||
<Optim>0</Optim>
|
||||
<oTime>2</oTime>
|
||||
<SplitLS>2</SplitLS>
|
||||
<OneElfS>2</OneElfS>
|
||||
<Strict>2</Strict>
|
||||
<EnumInt>2</EnumInt>
|
||||
<PlainCh>2</PlainCh>
|
||||
<Ropi>2</Ropi>
|
||||
<Rwpi>2</Rwpi>
|
||||
<wLevel>0</wLevel>
|
||||
<uThumb>2</uThumb>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<uC99>2</uC99>
|
||||
<uGnu>2</uGnu>
|
||||
<useXO>2</useXO>
|
||||
<v6Lang>0</v6Lang>
|
||||
<v6LangP>0</v6LangP>
|
||||
<vShortEn>2</vShortEn>
|
||||
<vShortWch>2</vShortWch>
|
||||
<v6Lto>2</v6Lto>
|
||||
<v6WtE>2</v6WtE>
|
||||
<v6Rtti>2</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
<Aads>
|
||||
<interw>2</interw>
|
||||
<Ropi>2</Ropi>
|
||||
<Rwpi>2</Rwpi>
|
||||
<thumb>2</thumb>
|
||||
<SplitLS>2</SplitLS>
|
||||
<SwStkChk>2</SwStkChk>
|
||||
<NoWarn>2</NoWarn>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<useXO>2</useXO>
|
||||
<ClangAsOpt>0</ClangAsOpt>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Aads>
|
||||
</GroupArmAds>
|
||||
</GroupOption>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>crc16.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\crc16.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>eeprom.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\eeprom.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>lampa.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\lampa.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>message.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Src\message.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>gpio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/gpio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>can.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/can.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>iwdg.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/iwdg.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>tim.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/tim.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>usart.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/usart.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_it.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/stm32f1xx_it.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_msp.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/stm32f1xx_hal_msp.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_timebase_tim.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/stm32f1xx_hal_timebase_tim.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Drivers/STM32F1xx_HAL_Driver</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_gpio_ex.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_can.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_rcc.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_rcc_ex.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_gpio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_dma.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_cortex.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_pwr.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_flash.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_flash_ex.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_exti.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_iwdg.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_iwdg.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_tim.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_tim_ex.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32f1xx_hal_uart.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c</FilePath>
|
||||
<FileOption>
|
||||
<CommonProperty>
|
||||
<UseCPPCompiler>2</UseCPPCompiler>
|
||||
<RVCTCodeConst>0</RVCTCodeConst>
|
||||
<RVCTZI>0</RVCTZI>
|
||||
<RVCTOtherData>0</RVCTOtherData>
|
||||
<ModuleSelection>0</ModuleSelection>
|
||||
<IncludeInBuild>1</IncludeInBuild>
|
||||
<AlwaysBuild>2</AlwaysBuild>
|
||||
<GenerateAssemblyFile>2</GenerateAssemblyFile>
|
||||
<AssembleAssemblyFile>2</AssembleAssemblyFile>
|
||||
<PublicsOnly>2</PublicsOnly>
|
||||
<StopOnExitCode>11</StopOnExitCode>
|
||||
<CustomArgument></CustomArgument>
|
||||
<IncludeLibraryModules></IncludeLibraryModules>
|
||||
<ComprImg>1</ComprImg>
|
||||
</CommonProperty>
|
||||
<FileArmAds>
|
||||
<Cads>
|
||||
<interw>2</interw>
|
||||
<Optim>0</Optim>
|
||||
<oTime>2</oTime>
|
||||
<SplitLS>2</SplitLS>
|
||||
<OneElfS>2</OneElfS>
|
||||
<Strict>2</Strict>
|
||||
<EnumInt>2</EnumInt>
|
||||
<PlainCh>2</PlainCh>
|
||||
<Ropi>2</Ropi>
|
||||
<Rwpi>2</Rwpi>
|
||||
<wLevel>0</wLevel>
|
||||
<uThumb>2</uThumb>
|
||||
<uSurpInc>2</uSurpInc>
|
||||
<uC99>2</uC99>
|
||||
<uGnu>2</uGnu>
|
||||
<useXO>2</useXO>
|
||||
<v6Lang>0</v6Lang>
|
||||
<v6LangP>0</v6LangP>
|
||||
<vShortEn>2</vShortEn>
|
||||
<vShortWch>2</vShortWch>
|
||||
<v6Lto>2</v6Lto>
|
||||
<v6WtE>2</v6WtE>
|
||||
<v6Rtti>2</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define></Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath></IncludePath>
|
||||
</VariousControls>
|
||||
</Cads>
|
||||
</FileArmAds>
|
||||
</FileOption>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Drivers/CMSIS</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>system_stm32f1xx.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>../Core/Src/system_stm32f1xx.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>Bootloader</GroupName>
|
||||
<Files>
|
||||
<File>
|
||||
<FileName>boot_project_setup.h</FileName>
|
||||
<FileType>5</FileType>
|
||||
<FilePath>..\Core\Bootloader\Inc\boot_project_setup.h</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_main.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_main.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>bootloader.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\bootloader.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_uart.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_uart.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_can.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_can.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_flash.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_flash.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_gpio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_gpio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>boot_jump.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Core\Bootloader\Src\boot_jump.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
<GroupName>::CMSIS</GroupName>
|
||||
</Group>
|
||||
@@ -652,6 +1540,7 @@
|
||||
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0" condition="ARMv6_7_8-M Device">
|
||||
<package name="CMSIS" schemaVersion="1.7.7" url="http://www.keil.com/pack/" vendor="ARM" version="5.9.0"/>
|
||||
<targetInfos>
|
||||
<targetInfo name="bootloader"/>
|
||||
<targetInfo name="uksvep_2_2_v1"/>
|
||||
</targetInfos>
|
||||
</component>
|
||||
@@ -659,4 +1548,13 @@
|
||||
<files/>
|
||||
</RTE>
|
||||
|
||||
<LayerInfo>
|
||||
<Layers>
|
||||
<Layer>
|
||||
<LayName>uksvep_2_2_v1</LayName>
|
||||
<LayPrjMark>1</LayPrjMark>
|
||||
</Layer>
|
||||
</Layers>
|
||||
</LayerInfo>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
[EXTDLL]
|
||||
Count=0
|
||||
@@ -1,32 +0,0 @@
|
||||
uksvep_2_2_v1/can.o: ..\Core\Src\can.c ..\Core\Inc\can.h \
|
||||
..\Core\Inc\main.h ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h \
|
||||
..\Core\Inc\stm32f1xx_hal_conf.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h \
|
||||
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
|
||||
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
|
||||
..\Drivers\CMSIS\Include\core_cm3.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
|
||||
..\Drivers\CMSIS\Include\cmsis_version.h \
|
||||
..\Drivers\CMSIS\Include\cmsis_compiler.h \
|
||||
..\Drivers\CMSIS\Include\cmsis_armclang.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
|
||||
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h
|
||||
Binary file not shown.
@@ -1,32 +0,0 @@
|
||||
uksvep_2_2_v1/gpio.o: ..\Core\Src\gpio.c ..\Core\Inc\gpio.h \
|
||||
..\Core\Inc\main.h ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h \
|
||||
..\Core\Inc\stm32f1xx_hal_conf.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h \
|
||||
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
|
||||
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
|
||||
..\Drivers\CMSIS\Include\core_cm3.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
|
||||
..\Drivers\CMSIS\Include\cmsis_version.h \
|
||||
..\Drivers\CMSIS\Include\cmsis_compiler.h \
|
||||
..\Drivers\CMSIS\Include\cmsis_armclang.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
|
||||
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h
|
||||
Binary file not shown.
@@ -1,32 +0,0 @@
|
||||
uksvep_2_2_v1/iwdg.o: ..\Core\Src\iwdg.c ..\Core\Inc\iwdg.h \
|
||||
..\Core\Inc\main.h ..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal.h \
|
||||
..\Core\Inc\stm32f1xx_hal_conf.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_def.h \
|
||||
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f1xx.h \
|
||||
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\stm32f103xe.h \
|
||||
..\Drivers\CMSIS\Include\core_cm3.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h \
|
||||
..\Drivers\CMSIS\Include\cmsis_version.h \
|
||||
..\Drivers\CMSIS\Include\cmsis_compiler.h \
|
||||
..\Drivers\CMSIS\Include\cmsis_armclang.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_compat.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\arm_acle.h \
|
||||
..\Drivers\CMSIS\Device\ST\STM32F1xx\Include\system_stm32f1xx.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy\stm32_hal_legacy.h \
|
||||
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stddef.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_rcc_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_gpio_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_exti.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_dma_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_can.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_cortex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_flash_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_iwdg.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_pwr.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h \
|
||||
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_uart.h
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user