create new proj

This commit is contained in:
2025-08-22 14:51:02 +03:00
parent 3c669a811a
commit 4bf3fcd9ce
105 changed files with 4543 additions and 27334 deletions

View File

@@ -42,9 +42,6 @@ void MX_CAN_Init(void);
/* USER CODE BEGIN Prototypes */
void Setup_CAN_addr(uint8_t mode);
int CAN_send(uint16_t data[], int Addr, int Qua);
/* USER CODE END Prototypes */
#ifdef __cplusplus

View File

@@ -1,10 +0,0 @@
#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 );

View File

@@ -1,20 +0,0 @@
#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 */

View File

@@ -33,122 +33,6 @@ extern "C" {
/* USER CODE END Includes */
/* USER CODE BEGIN Private defines */
#define IN_01_Pin GPIO_PIN_3
#define IN_01_GPIO_Port GPIOA
#define IN_02_Pin GPIO_PIN_2
#define IN_02_GPIO_Port GPIOA
#define IN_03_Pin GPIO_PIN_1
#define IN_03_GPIO_Port GPIOA
#define IN_04_Pin GPIO_PIN_0
#define IN_04_GPIO_Port GPIOA
#define IN_05_Pin GPIO_PIN_15
#define IN_05_GPIO_Port GPIOC
#define IN_06_Pin GPIO_PIN_13
#define IN_06_GPIO_Port GPIOC
#define IN_07_Pin GPIO_PIN_15
#define IN_07_GPIO_Port GPIOB
#define IN_08_Pin GPIO_PIN_14
#define IN_08_GPIO_Port GPIOB
#define IN_09_Pin GPIO_PIN_13
#define IN_09_GPIO_Port GPIOB
#define IN_10_Pin GPIO_PIN_12
#define IN_10_GPIO_Port GPIOB
#define IN_11_Pin GPIO_PIN_1
#define IN_11_GPIO_Port GPIOB
#define IN_12_Pin GPIO_PIN_0
#define IN_12_GPIO_Port GPIOB
#define IN_13_Pin GPIO_PIN_5
#define IN_13_GPIO_Port GPIOA
#define IN_14_Pin GPIO_PIN_4
#define IN_14_GPIO_Port GPIOA
#define J0_Pin GPIO_PIN_6
#define J0_GPIO_Port GPIOA
#define J1_Pin GPIO_PIN_7
#define J1_GPIO_Port GPIOA
#define J2_Pin GPIO_PIN_4
#define J2_GPIO_Port GPIOC
#define J3_Pin GPIO_PIN_5
#define J3_GPIO_Port GPIOC
#define Jselect_Pin GPIO_PIN_14
#define Jselect_GPIO_Port GPIOC
#define LED0_Pin GPIO_PIN_5
#define LED0_GPIO_Port GPIOB
#define LED1_Pin GPIO_PIN_6
#define LED1_GPIO_Port GPIOB
#define LED2_Pin GPIO_PIN_2
#define LED2_GPIO_Port GPIOC
#define LED3_Pin GPIO_PIN_3
#define LED3_GPIO_Port GPIOC
#define PVT4_Pin GPIO_PIN_6
#define PVT4_GPIO_Port GPIOC
#define PVT3_Pin GPIO_PIN_7
#define PVT3_GPIO_Port GPIOC
#define PVT2_Pin GPIO_PIN_8
#define PVT2_GPIO_Port GPIOC
#define PVT1_Pin GPIO_PIN_9
#define PVT1_GPIO_Port GPIOC
#define BOOT1_Pin GPIO_PIN_2
#define BOOT1_GPIO_Port GPIOB
#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)
#define Jselect HAL_GPIO_ReadPin(Jselect_GPIO_Port, Jselect_Pin)
/* USER CODE END Private defines */

View File

@@ -1,30 +0,0 @@
#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

View File

@@ -7,13 +7,12 @@
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
* All rights reserved.</center></h2>
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -32,7 +31,7 @@ extern "C" {
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);
/* USER CODE END Includes */
/* Exported types ------------------------------------------------------------*/
@@ -42,18 +41,6 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);
/* Exported constants --------------------------------------------------------*/
/* USER CODE BEGIN EC */
typedef struct
{
uint8_t force_pause:1;
uint32_t pause;
// uint8_t
// uint16_t
}FLAG;
/* USER CODE END EC */
@@ -67,8 +54,6 @@ void Error_Handler(void);
/* USER CODE BEGIN EFP */
void Millisecond(void);
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
@@ -78,9 +63,9 @@ void Millisecond(void);
#define SELEKT_PCH_GPIO_Port GPIOC
#define IN_05_Pin GPIO_PIN_15
#define IN_05_GPIO_Port GPIOC
//#define LED1_Pin GPIO_PIN_2
//#define LED1_GPIO_Port GPIOC
//#define LED2_Pin GPIO_PIN_3
#define LED1_Pin GPIO_PIN_2
#define LED1_GPIO_Port GPIOC
#define LED2_Pin GPIO_PIN_3
#define LED2_GPIO_Port GPIOC
#define IN_04_Pin GPIO_PIN_0
#define IN_04_GPIO_Port GPIOA
@@ -94,19 +79,19 @@ void Millisecond(void);
#define IN_14_GPIO_Port GPIOA
#define IN_13_Pin GPIO_PIN_5
#define IN_13_GPIO_Port GPIOA
//#define J0_Pin GPIO_PIN_7
#define J0_Pin GPIO_PIN_7
#define J0_GPIO_Port GPIOA
//#define J1_Pin GPIO_PIN_4
//#define J1_GPIO_Port GPIOC
//#define J2_Pin GPIO_PIN_5
#define J1_Pin GPIO_PIN_4
#define J1_GPIO_Port GPIOC
#define J2_Pin GPIO_PIN_5
#define J2_GPIO_Port GPIOC
//#define J3_Pin GPIO_PIN_0
//#define J3_GPIO_Port GPIOB
//#define IN_12_Pin GPIO_PIN_1
#define J3_Pin GPIO_PIN_0
#define J3_GPIO_Port GPIOB
#define IN_12_Pin GPIO_PIN_1
#define IN_12_GPIO_Port GPIOB
#define BOOT1_Pin GPIO_PIN_2
#define BOOT1_GPIO_Port GPIOB
//#define IN_11_Pin GPIO_PIN_10
#define IN_11_Pin GPIO_PIN_10
#define IN_11_GPIO_Port GPIOB
#define IN_10_Pin GPIO_PIN_12
#define IN_10_GPIO_Port GPIOB

View File

@@ -1,25 +0,0 @@
#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

View File

@@ -1,77 +0,0 @@
#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

View File

@@ -1,391 +0,0 @@
/**
******************************************************************************
* @file stm32f1xx_hal_conf.h
* @brief HAL configuration file.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __STM32F1xx_HAL_CONF_H
#define __STM32F1xx_HAL_CONF_H
#ifdef __cplusplus
extern "C" {
#endif
/* Exported types ------------------------------------------------------------*/
/* Exported constants --------------------------------------------------------*/
/* ########################## Module Selection ############################## */
/**
* @brief This is the list of modules to be used in the HAL driver
*/
#define HAL_MODULE_ENABLED
/*#define HAL_ADC_MODULE_ENABLED */
/*#define HAL_CRYP_MODULE_ENABLED */
#define HAL_CAN_MODULE_ENABLED
/*#define HAL_CAN_LEGACY_MODULE_ENABLED */
/*#define HAL_CEC_MODULE_ENABLED */
/*#define HAL_CORTEX_MODULE_ENABLED */
/*#define HAL_CRC_MODULE_ENABLED */
/*#define HAL_DAC_MODULE_ENABLED */
/*#define HAL_DMA_MODULE_ENABLED */
/*#define HAL_ETH_MODULE_ENABLED */
/*#define HAL_FLASH_MODULE_ENABLED */
#define HAL_GPIO_MODULE_ENABLED
/*#define HAL_I2C_MODULE_ENABLED */
/*#define HAL_I2S_MODULE_ENABLED */
/*#define HAL_IRDA_MODULE_ENABLED */
#define HAL_IWDG_MODULE_ENABLED
/*#define HAL_NOR_MODULE_ENABLED */
/*#define HAL_NAND_MODULE_ENABLED */
/*#define HAL_PCCARD_MODULE_ENABLED */
/*#define HAL_PCD_MODULE_ENABLED */
/*#define HAL_HCD_MODULE_ENABLED */
/*#define HAL_PWR_MODULE_ENABLED */
/*#define HAL_RCC_MODULE_ENABLED */
/*#define HAL_RTC_MODULE_ENABLED */
/*#define HAL_SD_MODULE_ENABLED */
/*#define HAL_MMC_MODULE_ENABLED */
/*#define HAL_SDRAM_MODULE_ENABLED */
/*#define HAL_SMARTCARD_MODULE_ENABLED */
/*#define HAL_SPI_MODULE_ENABLED */
/*#define HAL_SRAM_MODULE_ENABLED */
#define HAL_TIM_MODULE_ENABLED
/*#define HAL_UART_MODULE_ENABLED */
/*#define HAL_USART_MODULE_ENABLED */
/*#define HAL_WWDG_MODULE_ENABLED */
#define HAL_CORTEX_MODULE_ENABLED
#define HAL_DMA_MODULE_ENABLED
#define HAL_FLASH_MODULE_ENABLED
#define HAL_EXTI_MODULE_ENABLED
#define HAL_GPIO_MODULE_ENABLED
#define HAL_PWR_MODULE_ENABLED
#define HAL_RCC_MODULE_ENABLED
/* ########################## Oscillator Values adaptation ####################*/
/**
* @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
* This value is used by the RCC HAL module to compute the system frequency
* (when HSE is used as system clock source, directly or through the PLL).
*/
#if !defined (HSE_VALUE)
#define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */
#endif /* HSE_VALUE */
#if !defined (HSE_STARTUP_TIMEOUT)
#define HSE_STARTUP_TIMEOUT 100U /*!< Time out for HSE start up, in ms */
#endif /* HSE_STARTUP_TIMEOUT */
/**
* @brief Internal High Speed oscillator (HSI) value.
* This value is used by the RCC HAL module to compute the system frequency
* (when HSI is used as system clock source, directly or through the PLL).
*/
#if !defined (HSI_VALUE)
#define HSI_VALUE 8000000U /*!< Value of the Internal oscillator in Hz*/
#endif /* HSI_VALUE */
/**
* @brief Internal Low Speed oscillator (LSI) value.
*/
#if !defined (LSI_VALUE)
#define LSI_VALUE 40000U /*!< LSI Typical Value in Hz */
#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
The real value may vary depending on the variations
in voltage and temperature. */
/**
* @brief External Low Speed oscillator (LSE) value.
* This value is used by the UART, RTC HAL module to compute the system frequency
*/
#if !defined (LSE_VALUE)
#define LSE_VALUE 32768U /*!< Value of the External oscillator in Hz*/
#endif /* LSE_VALUE */
#if !defined (LSE_STARTUP_TIMEOUT)
#define LSE_STARTUP_TIMEOUT 5000U /*!< Time out for LSE start up, in ms */
#endif /* LSE_STARTUP_TIMEOUT */
/* Tip: To avoid modifying this file each time you need to use different HSE,
=== you can define the HSE value in your toolchain compiler preprocessor. */
/* ########################### System Configuration ######################### */
/**
* @brief This is the HAL system configuration section
*/
#define VDD_VALUE 3300U /*!< Value of VDD in mv */
#define TICK_INT_PRIORITY 0U /*!< tick interrupt priority (lowest by default) */
#define USE_RTOS 0U
#define PREFETCH_ENABLE 1U
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
#define USE_HAL_CAN_REGISTER_CALLBACKS 0U /* CAN register callback disabled */
#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */
#define USE_HAL_DAC_REGISTER_CALLBACKS 0U /* DAC register callback disabled */
#define USE_HAL_ETH_REGISTER_CALLBACKS 0U /* ETH register callback disabled */
#define USE_HAL_HCD_REGISTER_CALLBACKS 0U /* HCD register callback disabled */
#define USE_HAL_I2C_REGISTER_CALLBACKS 0U /* I2C register callback disabled */
#define USE_HAL_I2S_REGISTER_CALLBACKS 0U /* I2S register callback disabled */
#define USE_HAL_MMC_REGISTER_CALLBACKS 0U /* MMC register callback disabled */
#define USE_HAL_NAND_REGISTER_CALLBACKS 0U /* NAND register callback disabled */
#define USE_HAL_NOR_REGISTER_CALLBACKS 0U /* NOR register callback disabled */
#define USE_HAL_PCCARD_REGISTER_CALLBACKS 0U /* PCCARD register callback disabled */
#define USE_HAL_PCD_REGISTER_CALLBACKS 0U /* PCD register callback disabled */
#define USE_HAL_RTC_REGISTER_CALLBACKS 0U /* RTC register callback disabled */
#define USE_HAL_SD_REGISTER_CALLBACKS 0U /* SD register callback disabled */
#define USE_HAL_SMARTCARD_REGISTER_CALLBACKS 0U /* SMARTCARD register callback disabled */
#define USE_HAL_IRDA_REGISTER_CALLBACKS 0U /* IRDA register callback disabled */
#define USE_HAL_SRAM_REGISTER_CALLBACKS 0U /* SRAM register callback disabled */
#define USE_HAL_SPI_REGISTER_CALLBACKS 0U /* SPI register callback disabled */
#define USE_HAL_TIM_REGISTER_CALLBACKS 0U /* TIM register callback disabled */
#define USE_HAL_UART_REGISTER_CALLBACKS 0U /* UART register callback disabled */
#define USE_HAL_USART_REGISTER_CALLBACKS 0U /* USART register callback disabled */
#define USE_HAL_WWDG_REGISTER_CALLBACKS 0U /* WWDG register callback disabled */
/* ########################## Assert Selection ############################## */
/**
* @brief Uncomment the line below to expanse the "assert_param" macro in the
* HAL drivers code
*/
/* #define USE_FULL_ASSERT 1U */
/* ################## Ethernet peripheral configuration ##################### */
/* Section 1 : Ethernet peripheral configuration */
/* MAC ADDRESS: MAC_ADDR0:MAC_ADDR1:MAC_ADDR2:MAC_ADDR3:MAC_ADDR4:MAC_ADDR5 */
#define MAC_ADDR0 2U
#define MAC_ADDR1 0U
#define MAC_ADDR2 0U
#define MAC_ADDR3 0U
#define MAC_ADDR4 0U
#define MAC_ADDR5 0U
/* Definition of the Ethernet driver buffers size and count */
#define ETH_RX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for receive */
#define ETH_TX_BUF_SIZE ETH_MAX_PACKET_SIZE /* buffer size for transmit */
#define ETH_RXBUFNB 8U /* 4 Rx buffers of size ETH_RX_BUF_SIZE */
#define ETH_TXBUFNB 4U /* 4 Tx buffers of size ETH_TX_BUF_SIZE */
/* Section 2: PHY configuration section */
/* DP83848_PHY_ADDRESS Address*/
#define DP83848_PHY_ADDRESS 0x01U
/* PHY Reset delay these values are based on a 1 ms Systick interrupt*/
#define PHY_RESET_DELAY 0x000000FFU
/* PHY Configuration delay */
#define PHY_CONFIG_DELAY 0x00000FFFU
#define PHY_READ_TO 0x0000FFFFU
#define PHY_WRITE_TO 0x0000FFFFU
/* Section 3: Common PHY Registers */
#define PHY_BCR ((uint16_t)0x00) /*!< Transceiver Basic Control Register */
#define PHY_BSR ((uint16_t)0x01) /*!< Transceiver Basic Status Register */
#define PHY_RESET ((uint16_t)0x8000) /*!< PHY Reset */
#define PHY_LOOPBACK ((uint16_t)0x4000) /*!< Select loop-back mode */
#define PHY_FULLDUPLEX_100M ((uint16_t)0x2100) /*!< Set the full-duplex mode at 100 Mb/s */
#define PHY_HALFDUPLEX_100M ((uint16_t)0x2000) /*!< Set the half-duplex mode at 100 Mb/s */
#define PHY_FULLDUPLEX_10M ((uint16_t)0x0100) /*!< Set the full-duplex mode at 10 Mb/s */
#define PHY_HALFDUPLEX_10M ((uint16_t)0x0000) /*!< Set the half-duplex mode at 10 Mb/s */
#define PHY_AUTONEGOTIATION ((uint16_t)0x1000) /*!< Enable auto-negotiation function */
#define PHY_RESTART_AUTONEGOTIATION ((uint16_t)0x0200) /*!< Restart auto-negotiation function */
#define PHY_POWERDOWN ((uint16_t)0x0800) /*!< Select the power down mode */
#define PHY_ISOLATE ((uint16_t)0x0400) /*!< Isolate PHY from MII */
#define PHY_AUTONEGO_COMPLETE ((uint16_t)0x0020) /*!< Auto-Negotiation process completed */
#define PHY_LINKED_STATUS ((uint16_t)0x0004) /*!< Valid link established */
#define PHY_JABBER_DETECTION ((uint16_t)0x0002) /*!< Jabber condition detected */
/* Section 4: Extended PHY Registers */
#define PHY_SR ((uint16_t)0x10U) /*!< PHY status register Offset */
#define PHY_SPEED_STATUS ((uint16_t)0x0002U) /*!< PHY Speed mask */
#define PHY_DUPLEX_STATUS ((uint16_t)0x0004U) /*!< PHY Duplex mask */
/* ################## SPI peripheral configuration ########################## */
/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
* Activated: CRC code is present inside driver
* Deactivated: CRC code cleaned from driver
*/
#define USE_SPI_CRC 0U
/* Includes ------------------------------------------------------------------*/
/**
* @brief Include module's header file
*/
#ifdef HAL_RCC_MODULE_ENABLED
#include "stm32f1xx_hal_rcc.h"
#endif /* HAL_RCC_MODULE_ENABLED */
#ifdef HAL_GPIO_MODULE_ENABLED
#include "stm32f1xx_hal_gpio.h"
#endif /* HAL_GPIO_MODULE_ENABLED */
#ifdef HAL_EXTI_MODULE_ENABLED
#include "stm32f1xx_hal_exti.h"
#endif /* HAL_EXTI_MODULE_ENABLED */
#ifdef HAL_DMA_MODULE_ENABLED
#include "stm32f1xx_hal_dma.h"
#endif /* HAL_DMA_MODULE_ENABLED */
#ifdef HAL_ETH_MODULE_ENABLED
#include "stm32f1xx_hal_eth.h"
#endif /* HAL_ETH_MODULE_ENABLED */
#ifdef HAL_CAN_MODULE_ENABLED
#include "stm32f1xx_hal_can.h"
#endif /* HAL_CAN_MODULE_ENABLED */
#ifdef HAL_CAN_LEGACY_MODULE_ENABLED
#include "Legacy/stm32f1xx_hal_can_legacy.h"
#endif /* HAL_CAN_LEGACY_MODULE_ENABLED */
#ifdef HAL_CEC_MODULE_ENABLED
#include "stm32f1xx_hal_cec.h"
#endif /* HAL_CEC_MODULE_ENABLED */
#ifdef HAL_CORTEX_MODULE_ENABLED
#include "stm32f1xx_hal_cortex.h"
#endif /* HAL_CORTEX_MODULE_ENABLED */
#ifdef HAL_ADC_MODULE_ENABLED
#include "stm32f1xx_hal_adc.h"
#endif /* HAL_ADC_MODULE_ENABLED */
#ifdef HAL_CRC_MODULE_ENABLED
#include "stm32f1xx_hal_crc.h"
#endif /* HAL_CRC_MODULE_ENABLED */
#ifdef HAL_DAC_MODULE_ENABLED
#include "stm32f1xx_hal_dac.h"
#endif /* HAL_DAC_MODULE_ENABLED */
#ifdef HAL_FLASH_MODULE_ENABLED
#include "stm32f1xx_hal_flash.h"
#endif /* HAL_FLASH_MODULE_ENABLED */
#ifdef HAL_SRAM_MODULE_ENABLED
#include "stm32f1xx_hal_sram.h"
#endif /* HAL_SRAM_MODULE_ENABLED */
#ifdef HAL_NOR_MODULE_ENABLED
#include "stm32f1xx_hal_nor.h"
#endif /* HAL_NOR_MODULE_ENABLED */
#ifdef HAL_I2C_MODULE_ENABLED
#include "stm32f1xx_hal_i2c.h"
#endif /* HAL_I2C_MODULE_ENABLED */
#ifdef HAL_I2S_MODULE_ENABLED
#include "stm32f1xx_hal_i2s.h"
#endif /* HAL_I2S_MODULE_ENABLED */
#ifdef HAL_IWDG_MODULE_ENABLED
#include "stm32f1xx_hal_iwdg.h"
#endif /* HAL_IWDG_MODULE_ENABLED */
#ifdef HAL_PWR_MODULE_ENABLED
#include "stm32f1xx_hal_pwr.h"
#endif /* HAL_PWR_MODULE_ENABLED */
#ifdef HAL_RTC_MODULE_ENABLED
#include "stm32f1xx_hal_rtc.h"
#endif /* HAL_RTC_MODULE_ENABLED */
#ifdef HAL_PCCARD_MODULE_ENABLED
#include "stm32f1xx_hal_pccard.h"
#endif /* HAL_PCCARD_MODULE_ENABLED */
#ifdef HAL_SD_MODULE_ENABLED
#include "stm32f1xx_hal_sd.h"
#endif /* HAL_SD_MODULE_ENABLED */
#ifdef HAL_NAND_MODULE_ENABLED
#include "stm32f1xx_hal_nand.h"
#endif /* HAL_NAND_MODULE_ENABLED */
#ifdef HAL_SPI_MODULE_ENABLED
#include "stm32f1xx_hal_spi.h"
#endif /* HAL_SPI_MODULE_ENABLED */
#ifdef HAL_TIM_MODULE_ENABLED
#include "stm32f1xx_hal_tim.h"
#endif /* HAL_TIM_MODULE_ENABLED */
#ifdef HAL_UART_MODULE_ENABLED
#include "stm32f1xx_hal_uart.h"
#endif /* HAL_UART_MODULE_ENABLED */
#ifdef HAL_USART_MODULE_ENABLED
#include "stm32f1xx_hal_usart.h"
#endif /* HAL_USART_MODULE_ENABLED */
#ifdef HAL_IRDA_MODULE_ENABLED
#include "stm32f1xx_hal_irda.h"
#endif /* HAL_IRDA_MODULE_ENABLED */
#ifdef HAL_SMARTCARD_MODULE_ENABLED
#include "stm32f1xx_hal_smartcard.h"
#endif /* HAL_SMARTCARD_MODULE_ENABLED */
#ifdef HAL_WWDG_MODULE_ENABLED
#include "stm32f1xx_hal_wwdg.h"
#endif /* HAL_WWDG_MODULE_ENABLED */
#ifdef HAL_PCD_MODULE_ENABLED
#include "stm32f1xx_hal_pcd.h"
#endif /* HAL_PCD_MODULE_ENABLED */
#ifdef HAL_HCD_MODULE_ENABLED
#include "stm32f1xx_hal_hcd.h"
#endif /* HAL_HCD_MODULE_ENABLED */
#ifdef HAL_MMC_MODULE_ENABLED
#include "stm32f1xx_hal_mmc.h"
#endif /* HAL_MMC_MODULE_ENABLED */
/* Exported macro ------------------------------------------------------------*/
#ifdef USE_FULL_ASSERT
/**
* @brief The assert_param macro is used for function's parameters check.
* @param expr If expr is false, it calls assert_failed function
* which reports the name of the source file and the source
* line number of the call that failed.
* If expr is true, it returns no value.
* @retval None
*/
#define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
/* Exported functions ------------------------------------------------------- */
void assert_failed(uint8_t* file, uint32_t line);
#else
#define assert_param(expr) ((void)0U)
#endif /* USE_FULL_ASSERT */
#ifdef __cplusplus
}
#endif
#endif /* __STM32F1xx_HAL_CONF_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -6,15 +6,14 @@
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
* All rights reserved.</center></h2>
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
******************************************************************************
*/
/* USER CODE END Header */

View File

@@ -1,153 +0,0 @@
#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

View File

@@ -22,29 +22,6 @@
/* USER CODE BEGIN 0 */
#include "gpio.h"
#include "message.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 */
CAN_HandleTypeDef hcan;
@@ -61,7 +38,7 @@ void MX_CAN_Init(void)
/* USER CODE END CAN_Init 1 */
hcan.Instance = CAN1;
hcan.Init.Prescaler = 10;
hcan.Init.Prescaler = 16;
hcan.Init.Mode = CAN_MODE_NORMAL;
hcan.Init.SyncJumpWidth = CAN_SJW_1TQ;
hcan.Init.TimeSeg1 = CAN_BS1_13TQ;
@@ -78,31 +55,6 @@ void MX_CAN_Init(void)
}
/* USER CODE BEGIN CAN_Init 2 */
CAN_filterConfig();
msgHeaderSend.StdId = 0x200;
msgHeaderSend.ExtId = TX_box_ID;
msgHeaderSend.DLC = 8;
msgHeaderSend.TransmitGlobalTime = DISABLE;
msgHeaderSend.RTR = CAN_RTR_DATA;
msgHeaderSend.IDE = CAN_ID_EXT;
// 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 */
}
@@ -173,101 +125,4 @@ void HAL_CAN_MspDeInit(CAN_HandleTypeDef* canHandle)
/* USER CODE BEGIN 1 */
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 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_TxMailbox0CompleteCallback(CAN_HandleTypeDef *hcan)
{
// HAL_GPIO_TogglePin(LED_2_GPIO_Port, LED_2_Pin);
}
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((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)
{
int wait = 1000;
while(wait-- && (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) == 0));
if (HAL_CAN_GetTxMailboxesFreeLevel(&hcan) != 0)
{
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);
LED_0_TGL;
return 1;
}
else
{
HAL_CAN_Stop(&hcan);
HAL_CAN_Start(&hcan);
return 0;
} }
/* USER CODE END 1 */

View File

@@ -1,196 +0,0 @@
#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;
}

View File

@@ -1,49 +0,0 @@
#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);
}

View File

@@ -1,100 +0,0 @@
#include "gpio.h"
#include "lampa.h"
#include "struc.h"
#include "message.h"
#include "package.h"
void ReadEnteres(void)
{
WORDE input, alarm, error;
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.bitD = (Squazh_U[3] > Squazh_L[3]);
input.bit.bitC = (Squazh_U[2] > Squazh_L[2]);
input.bit.bitB = (Squazh_U[1] > Squazh_L[1]);
input.bit.bitA = (Squazh_U[0] > Squazh_L[0]);
/*
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;
} } }

View File

@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
* All rights reserved.</center></h2>
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -27,19 +26,16 @@
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "package.h"
#include "message.h"
#include "lampa.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
FLAG flag;
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
@@ -51,9 +47,6 @@ FLAG flag;
/* USER CODE BEGIN PV */
static long Falling_asleep;
uint8_t CanGO=0, timGo=0;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
@@ -65,24 +58,6 @@ void SystemClock_Config(void);
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
int Isit(int num, int i, int z)
{
int res, pls;
if((num<0)||(num>=0x80)) return 0;
res = Maska[i][num/0x10];
res &= (1<<(num&0x0F));
if(z)
{
pls = (espero[num]>CanRestart[i]/2);
pls = pls || county[num];
res = res && pls;
}
return res;
}
/* USER CODE END 0 */
/**
@@ -94,11 +69,6 @@ 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;
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
@@ -107,7 +77,7 @@ int main(void)
HAL_Init();
/* USER CODE BEGIN Init */
MX_IWDG_Init();
/* USER CODE END Init */
/* Configure the system clock */
@@ -124,302 +94,16 @@ int main(void)
MX_IWDG_Init();
/* USER CODE BEGIN 2 */
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();
}
if( CanGO)
{ CanGO=0;
for(i=0;i<0x80;i++)
if(espero[i]<30000) espero[i]++;
for(i=0;i<2;i++)
if(cancount[i]) cancount[i]--;
else cancell[i] = 0;
}
for(i=0;i<2;i++)
if( Cancount[i])
if(!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_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)
if(!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; // ñèãíàë "Óïðàâëåíèå ñåòüþ 24Â"
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)
{
cCanReset=0;
for(i=0;i<0x80;i++)
county[i]=1;
for(i=0;i<2;i++)
CanCycle[i]=
CanRound[i]=
cancount[i]=
cancell[i]=0;
for(i=0;i<8;i++)
masca[i]=0;
} } }
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
void Millisecond()
{
static int CanPowse;
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
#define BLINK_TIME 250 // .25 sec
if(!cReset)
IWDG->KR = 0xAAAA;//HAL_IWDG_Refresh(&hiwdg);
if(!timGo) return;
Jumpers.byt.byte_1 = ReadJumpers();
Jumpers.bit.bit0 =
Buttons.bit.bit0 = TestJumper();
if(++CanPowse >= CANPOWSE)
{
CanPowse = 0; CanGO = 1;
}
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;
blink_alarm = (count_mode & 7)?1:0;
}
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;
if(Lightness==2) power_lamp = norm_diod = 1;
if(Lightness==3) power_lamp = norm_diod = blink_over;
if(Lightness==4) power_lamp = norm_diod = blink_alarm;
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
{ 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 3 */
}

View File

@@ -1,492 +0,0 @@
/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file : main.c
* @brief : Main program body
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "can.h"
#include "iwdg.h"
#include "tim.h"
#include "gpio.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "package.h"
#include "message.h"
#include "lampa.h"
/* USER CODE END Includes */
/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */
/* USER CODE END PTD */
/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */
/* USER CODE END PD */
/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */
/* USER CODE END PM */
/* Private variables ---------------------------------------------------------*/
/* USER CODE BEGIN PV */
static long Falling_asleep;
uint8_t CanGO=0, timGo=0;
/* USER CODE END PV */
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
/* USER CODE BEGIN PFP */
/* USER CODE END PFP */
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
int Isit(int num, int i, int z)
{
int res, pls;
if((num<0)||(num>=0x80)) return 0;
res = Maska[i][num/0x10];
res &= (1<<(num&0x0F));
if(z)
{
pls = (espero[num]>CanRestart[i]/2);
pls = pls || county[num];
res = res && pls;
}
return res;
}
/* USER CODE END 0 */
/**
* @brief The application entry point.
* @retval int
*/
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;
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
MX_CAN_Init();
MX_TIM4_Init();
/* USER CODE BEGIN 2 */
LED_0_OFF;
LED_1_OFF;
LED_2_OFF;
LED_3_OFF;
for(i=0;i<10;i++)
{
LED_0_TGL; HAL_Delay(15);
LED_1_TGL; HAL_Delay(15);
LED_2_TGL; HAL_Delay(15);
LED_3_TGL; HAL_Delay(15);
}
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( CanGO)
{ CanGO=0;
for(i=0;i<0x80;i++)
if(espero[i]<30000) espero[i]++;
for(i=0;i<2;i++)
if(cancount[i]) cancount[i]--;
else cancell[i] = 0;
}
for(i=0;i<2;i++)
if( Cancount[i])
if(!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_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)
if(!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; // ñèãíàë "Óïðàâëåíèå ñåòüþ 24Â"
if(Commands!=precom)
{
command= (~precom|command) & Commands;
modbus[23]=command;
}
precom = Commands;
if(cDefParam)
{
cDefParam=0;
Default_params();
}
if(cSaveParam)
{
cSaveParam=0;
Save_params();
}
if(cLoadParam)
{
cLoadParam=0;
Load_params();
}
if(cCanReset)
{
cCanReset=0;
for(i=0;i<0x80;i++)
county[i]=1;
for(i=0;i<2;i++)
CanCycle[i]=
CanRound[i]=
cancount[i]=
cancell[i]=0;
for(i=0;i<8;i++)
masca[i]=0;
} } }
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
void Millisecond()
{
static int CanPowse;
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
#define BLINK_TIME 250 // .25 sec
if(!cReset)
HAL_IWDG_Refresh(&hiwdg);
if(!timGo) return;
Jumpers.byt.byte_1 = ReadJumpers();
Jumpers.bit.bit0 =
Buttons.bit.bit0 = TestJumper();
if(++CanPowse >= CANPOWSE)
{
CanPowse = 0; CanGO = 1;
}
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;
blink_alarm = (count_mode & 7)?1:0;
}
power_lamp= 1;
norm_diod= 1;
work_diod = 1;
if(TST)
{
power_lamp = blink_over;
norm_diod = blink_over;
work_diod =!blink_over;
}
else
if(Lightness)
{
power_lamp = norm_diod = 0;
if(Lightness==2) power_lamp = norm_diod = 1;
if(Lightness==3) power_lamp = norm_diod = blink_over;
if(Lightness==4) power_lamp = norm_diod = blink_alarm;
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
{ 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 3 */
}
/**
* @brief System Clock Configuration
* @retval None
*/
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
/** Initializes the RCC Oscillators according to the specified parameters
* in the RCC_OscInitTypeDef structure.
*/
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL10;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
Error_Handler();
}
/** Initializes the CPU, AHB and APB buses clocks
*/
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV2;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2;
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK)
{
Error_Handler();
}
HAL_RCC_MCOConfig(RCC_MCO, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_1);
}
/* USER CODE BEGIN 4 */
/* USER CODE END 4 */
/**
* @brief This function is executed in case of error occurrence.
* @retval None
*/
void Error_Handler(void)
{
/* USER CODE BEGIN Error_Handler_Debug */
/* User can add his own implementation to report the HAL error return state */
__disable_irq();
while (1)
{
}
/* USER CODE END Error_Handler_Debug */
}
#ifdef USE_FULL_ASSERT
/**
* @brief Reports the name of the source file and the source line number
* where the assert_param error has occurred.
* @param file: pointer to the source file name
* @param line: assert_param error line source number
* @retval None
*/
void assert_failed(uint8_t *file, uint32_t line)
{
/* USER CODE BEGIN 6 */
/* User can add his own implementation to report the file name and line number,
ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
/* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -1,129 +0,0 @@
#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; // Протокол, адрес, команды
}

View File

@@ -8,13 +8,12 @@
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
* All rights reserved.</center></h2>
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/

View File

@@ -6,13 +6,12 @@
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2022 STMicroelectronics.
* All rights reserved.</center></h2>
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -76,7 +75,7 @@ void NMI_Handler(void)
/* USER CODE END NonMaskableInt_IRQn 0 */
/* USER CODE BEGIN NonMaskableInt_IRQn 1 */
while (1)
while (1)
{
}
/* USER CODE END NonMaskableInt_IRQn 1 */
@@ -254,7 +253,7 @@ void TIM8_UP_IRQHandler(void)
/* USER CODE END TIM8_UP_IRQn 0 */
HAL_TIM_IRQHandler(&htim8);
/* USER CODE BEGIN TIM8_UP_IRQn 1 */
Millisecond();
/* USER CODE END TIM8_UP_IRQn 1 */
}

View File

@@ -1,156 +0,0 @@
/**
******************************************************************************
* @file syscalls.c
* @author Auto-generated by STM32CubeIDE
* @brief STM32CubeIDE Minimal System calls file
*
* For more information about which c-functions
* need which of these lowlevel functions
* please consult the Newlib libc-manual
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Includes */
#include <sys/stat.h>
#include <stdlib.h>
#include <errno.h>
#include <stdio.h>
#include <signal.h>
#include <time.h>
#include <sys/time.h>
#include <sys/times.h>
/* Variables */
extern int __io_putchar(int ch) __attribute__((weak));
extern int __io_getchar(void) __attribute__((weak));
char *__env[1] = { 0 };
char **environ = __env;
/* Functions */
void initialise_monitor_handles()
{
}
int _getpid(void)
{
return 1;
}
int _kill(int pid, int sig)
{
errno = EINVAL;
return -1;
}
void _exit (int status)
{
_kill(status, -1);
while (1) {} /* Make sure we hang here */
}
__attribute__((weak)) int _read(int file, char *ptr, int len)
{
int DataIdx;
for (DataIdx = 0; DataIdx < len; DataIdx++)
{
*ptr++ = __io_getchar();
}
return len;
}
__attribute__((weak)) int _write(int file, char *ptr, int len)
{
int DataIdx;
for (DataIdx = 0; DataIdx < len; DataIdx++)
{
__io_putchar(*ptr++);
}
return len;
}
int _close(int file)
{
return -1;
}
int _fstat(int file, struct stat *st)
{
st->st_mode = S_IFCHR;
return 0;
}
int _isatty(int file)
{
return 1;
}
int _lseek(int file, int ptr, int dir)
{
return 0;
}
int _open(char *path, int flags, ...)
{
/* Pretend like we always fail */
return -1;
}
int _wait(int *status)
{
errno = ECHILD;
return -1;
}
int _unlink(char *name)
{
errno = ENOENT;
return -1;
}
int _times(struct tms *buf)
{
return -1;
}
int _stat(char *file, struct stat *st)
{
st->st_mode = S_IFCHR;
return 0;
}
int _link(char *old, char *new)
{
errno = EMLINK;
return -1;
}
int _fork(void)
{
errno = EAGAIN;
return -1;
}
int _execve(char *name, char **argv, char **env)
{
errno = ENOMEM;
return -1;
}

View File

@@ -1,80 +0,0 @@
/**
******************************************************************************
* @file sysmem.c
* @author Generated by STM32CubeIDE
* @brief STM32CubeIDE System Memory calls file
*
* For more information about which C functions
* need which of these lowlevel functions
* please consult the newlib libc manual
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2020 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Includes */
#include <errno.h>
#include <stdint.h>
/**
* Pointer to the current high watermark of the heap usage
*/
static uint8_t *__sbrk_heap_end = NULL;
/**
* @brief _sbrk() allocates memory to the newlib heap and is used by malloc
* and others from the C library
*
* @verbatim
* ############################################################################
* # .data # .bss # newlib heap # MSP stack #
* # # # # Reserved by _Min_Stack_Size #
* ############################################################################
* ^-- RAM start ^-- _end _estack, RAM end --^
* @endverbatim
*
* This implementation starts allocating at the '_end' linker symbol
* The '_Min_Stack_Size' linker symbol reserves a memory for the MSP stack
* The implementation considers '_estack' linker symbol to be RAM end
* NOTE: If the MSP stack, at any point during execution, grows larger than the
* reserved size, please increase the '_Min_Stack_Size'.
*
* @param incr Memory size
* @return Pointer to allocated memory
*/
void *_sbrk(ptrdiff_t incr)
{
extern uint8_t _end; /* Symbol defined in the linker script */
extern uint8_t _estack; /* Symbol defined in the linker script */
extern uint32_t _Min_Stack_Size; /* Symbol defined in the linker script */
const uint32_t stack_limit = (uint32_t)&_estack - (uint32_t)&_Min_Stack_Size;
const uint8_t *max_heap = (uint8_t *)stack_limit;
uint8_t *prev_heap_end;
/* Initialize heap end at first call */
if (NULL == __sbrk_heap_end)
{
__sbrk_heap_end = &_end;
}
/* Protect heap from growing into the reserved MSP stack */
if (__sbrk_heap_end + incr > max_heap)
{
errno = ENOMEM;
return (void *)-1;
}
prev_heap_end = __sbrk_heap_end;
__sbrk_heap_end += incr;
return (void *)prev_heap_end;
}

View File

@@ -33,13 +33,12 @@
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
* All rights reserved.</center></h2>
* Copyright (c) 2017-2021 STMicroelectronics.
* All rights reserved.
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
@@ -139,7 +138,7 @@
is no need to call the 2 first functions listed above, since SystemCoreClock
variable is updated automatically.
*/
uint32_t SystemCoreClock = 16000000;
uint32_t SystemCoreClock = 8000000;
const uint8_t AHBPrescTable[16U] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 7, 8, 9};
const uint8_t APBPrescTable[8U] = {0, 0, 0, 0, 1, 2, 3, 4};
@@ -405,4 +404,3 @@ void SystemInit_ExtMemCtl(void)
/**
* @}
*/
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -22,8 +22,6 @@
/* USER CODE BEGIN 0 */
#include "lampa.h"
/* USER CODE END 0 */
TIM_HandleTypeDef htim4;
@@ -65,10 +63,6 @@ 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 */
}
@@ -114,14 +108,4 @@ void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
/* USER CODE BEGIN 1 */
//void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
//{
// if(htim->Instance == TIM4) //check if the interrupt comes from TIM1
// ReadSeanus();
//
//}
/* USER CODE END 1 */

View File

@@ -1,468 +0,0 @@
/**
*************** (C) COPYRIGHT 2017 STMicroelectronics ************************
* @file startup_stm32f103xe.s
* @author MCD Application Team
* @brief STM32F103xE Devices vector table for Atollic toolchain.
* This module performs:
* - Set the initial SP
* - Set the initial PC == Reset_Handler,
* - Set the vector table entries with the exceptions ISR address
* - Configure the clock system
* - Configure external SRAM mounted on STM3210E-EVAL board
* to be used as data memory (optional, to be enabled by user)
* - Branches to main in the C library (which eventually
* calls main()).
* After Reset the Cortex-M3 processor is in Thread mode,
* priority is Privileged, and the Stack is set to Main.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
.syntax unified
.cpu cortex-m3
.fpu softvfp
.thumb
.global g_pfnVectors
.global Default_Handler
/* start address for the initialization values of the .data section.
defined in linker script */
.word _sidata
/* start address for the .data section. defined in linker script */
.word _sdata
/* end address for the .data section. defined in linker script */
.word _edata
/* start address for the .bss section. defined in linker script */
.word _sbss
/* end address for the .bss section. defined in linker script */
.word _ebss
.equ BootRAM, 0xF1E0F85F
/**
* @brief This is the code that gets called when the processor first
* starts execution following a reset event. Only the absolutely
* necessary set is performed, after which the application
* supplied main() routine is called.
* @param None
* @retval : None
*/
.section .text.Reset_Handler
.weak Reset_Handler
.type Reset_Handler, %function
Reset_Handler:
/* Copy the data segment initializers from flash to SRAM */
movs r1, #0
b LoopCopyDataInit
CopyDataInit:
ldr r3, =_sidata
ldr r3, [r3, r1]
str r3, [r0, r1]
adds r1, r1, #4
LoopCopyDataInit:
ldr r0, =_sdata
ldr r3, =_edata
adds r2, r0, r1
cmp r2, r3
bcc CopyDataInit
ldr r2, =_sbss
b LoopFillZerobss
/* Zero fill the bss segment. */
FillZerobss:
movs r3, #0
str r3, [r2], #4
LoopFillZerobss:
ldr r3, = _ebss
cmp r2, r3
bcc FillZerobss
/* Call the clock system intitialization function.*/
bl SystemInit
/* Call static constructors */
bl __libc_init_array
/* Call the application's entry point.*/
bl main
bx lr
.size Reset_Handler, .-Reset_Handler
/**
* @brief This is the code that gets called when the processor receives an
* unexpected interrupt. This simply enters an infinite loop, preserving
* the system state for examination by a debugger.
*
* @param None
* @retval : None
*/
.section .text.Default_Handler,"ax",%progbits
Default_Handler:
Infinite_Loop:
b Infinite_Loop
.size Default_Handler, .-Default_Handler
/******************************************************************************
*
* The minimal vector table for a Cortex M3. Note that the proper constructs
* must be placed on this to ensure that it ends up at physical address
* 0x0000.0000.
*
******************************************************************************/
.section .isr_vector,"a",%progbits
.type g_pfnVectors, %object
.size g_pfnVectors, .-g_pfnVectors
g_pfnVectors:
.word _estack
.word Reset_Handler
.word NMI_Handler
.word HardFault_Handler
.word MemManage_Handler
.word BusFault_Handler
.word UsageFault_Handler
.word 0
.word 0
.word 0
.word 0
.word SVC_Handler
.word DebugMon_Handler
.word 0
.word PendSV_Handler
.word SysTick_Handler
.word WWDG_IRQHandler
.word PVD_IRQHandler
.word TAMPER_IRQHandler
.word RTC_IRQHandler
.word FLASH_IRQHandler
.word RCC_IRQHandler
.word EXTI0_IRQHandler
.word EXTI1_IRQHandler
.word EXTI2_IRQHandler
.word EXTI3_IRQHandler
.word EXTI4_IRQHandler
.word DMA1_Channel1_IRQHandler
.word DMA1_Channel2_IRQHandler
.word DMA1_Channel3_IRQHandler
.word DMA1_Channel4_IRQHandler
.word DMA1_Channel5_IRQHandler
.word DMA1_Channel6_IRQHandler
.word DMA1_Channel7_IRQHandler
.word ADC1_2_IRQHandler
.word USB_HP_CAN1_TX_IRQHandler
.word USB_LP_CAN1_RX0_IRQHandler
.word CAN1_RX1_IRQHandler
.word CAN1_SCE_IRQHandler
.word EXTI9_5_IRQHandler
.word TIM1_BRK_IRQHandler
.word TIM1_UP_IRQHandler
.word TIM1_TRG_COM_IRQHandler
.word TIM1_CC_IRQHandler
.word TIM2_IRQHandler
.word TIM3_IRQHandler
.word TIM4_IRQHandler
.word I2C1_EV_IRQHandler
.word I2C1_ER_IRQHandler
.word I2C2_EV_IRQHandler
.word I2C2_ER_IRQHandler
.word SPI1_IRQHandler
.word SPI2_IRQHandler
.word USART1_IRQHandler
.word USART2_IRQHandler
.word USART3_IRQHandler
.word EXTI15_10_IRQHandler
.word RTC_Alarm_IRQHandler
.word USBWakeUp_IRQHandler
.word TIM8_BRK_IRQHandler
.word TIM8_UP_IRQHandler
.word TIM8_TRG_COM_IRQHandler
.word TIM8_CC_IRQHandler
.word ADC3_IRQHandler
.word FSMC_IRQHandler
.word SDIO_IRQHandler
.word TIM5_IRQHandler
.word SPI3_IRQHandler
.word UART4_IRQHandler
.word UART5_IRQHandler
.word TIM6_IRQHandler
.word TIM7_IRQHandler
.word DMA2_Channel1_IRQHandler
.word DMA2_Channel2_IRQHandler
.word DMA2_Channel3_IRQHandler
.word DMA2_Channel4_5_IRQHandler
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word 0
.word BootRAM /* @0x1E0. This is for boot in RAM mode for
STM32F10x High Density devices. */
/*******************************************************************************
*
* Provide weak aliases for each Exception handler to the Default_Handler.
* As they are weak aliases, any function with the same name will override
* this definition.
*
*******************************************************************************/
.weak NMI_Handler
.thumb_set NMI_Handler,Default_Handler
.weak HardFault_Handler
.thumb_set HardFault_Handler,Default_Handler
.weak MemManage_Handler
.thumb_set MemManage_Handler,Default_Handler
.weak BusFault_Handler
.thumb_set BusFault_Handler,Default_Handler
.weak UsageFault_Handler
.thumb_set UsageFault_Handler,Default_Handler
.weak SVC_Handler
.thumb_set SVC_Handler,Default_Handler
.weak DebugMon_Handler
.thumb_set DebugMon_Handler,Default_Handler
.weak PendSV_Handler
.thumb_set PendSV_Handler,Default_Handler
.weak SysTick_Handler
.thumb_set SysTick_Handler,Default_Handler
.weak WWDG_IRQHandler
.thumb_set WWDG_IRQHandler,Default_Handler
.weak PVD_IRQHandler
.thumb_set PVD_IRQHandler,Default_Handler
.weak TAMPER_IRQHandler
.thumb_set TAMPER_IRQHandler,Default_Handler
.weak RTC_IRQHandler
.thumb_set RTC_IRQHandler,Default_Handler
.weak FLASH_IRQHandler
.thumb_set FLASH_IRQHandler,Default_Handler
.weak RCC_IRQHandler
.thumb_set RCC_IRQHandler,Default_Handler
.weak EXTI0_IRQHandler
.thumb_set EXTI0_IRQHandler,Default_Handler
.weak EXTI1_IRQHandler
.thumb_set EXTI1_IRQHandler,Default_Handler
.weak EXTI2_IRQHandler
.thumb_set EXTI2_IRQHandler,Default_Handler
.weak EXTI3_IRQHandler
.thumb_set EXTI3_IRQHandler,Default_Handler
.weak EXTI4_IRQHandler
.thumb_set EXTI4_IRQHandler,Default_Handler
.weak DMA1_Channel1_IRQHandler
.thumb_set DMA1_Channel1_IRQHandler,Default_Handler
.weak DMA1_Channel2_IRQHandler
.thumb_set DMA1_Channel2_IRQHandler,Default_Handler
.weak DMA1_Channel3_IRQHandler
.thumb_set DMA1_Channel3_IRQHandler,Default_Handler
.weak DMA1_Channel4_IRQHandler
.thumb_set DMA1_Channel4_IRQHandler,Default_Handler
.weak DMA1_Channel5_IRQHandler
.thumb_set DMA1_Channel5_IRQHandler,Default_Handler
.weak DMA1_Channel6_IRQHandler
.thumb_set DMA1_Channel6_IRQHandler,Default_Handler
.weak DMA1_Channel7_IRQHandler
.thumb_set DMA1_Channel7_IRQHandler,Default_Handler
.weak ADC1_2_IRQHandler
.thumb_set ADC1_2_IRQHandler,Default_Handler
.weak USB_HP_CAN1_TX_IRQHandler
.thumb_set USB_HP_CAN1_TX_IRQHandler,Default_Handler
.weak USB_LP_CAN1_RX0_IRQHandler
.thumb_set USB_LP_CAN1_RX0_IRQHandler,Default_Handler
.weak CAN1_RX1_IRQHandler
.thumb_set CAN1_RX1_IRQHandler,Default_Handler
.weak CAN1_SCE_IRQHandler
.thumb_set CAN1_SCE_IRQHandler,Default_Handler
.weak EXTI9_5_IRQHandler
.thumb_set EXTI9_5_IRQHandler,Default_Handler
.weak TIM1_BRK_IRQHandler
.thumb_set TIM1_BRK_IRQHandler,Default_Handler
.weak TIM1_UP_IRQHandler
.thumb_set TIM1_UP_IRQHandler,Default_Handler
.weak TIM1_TRG_COM_IRQHandler
.thumb_set TIM1_TRG_COM_IRQHandler,Default_Handler
.weak TIM1_CC_IRQHandler
.thumb_set TIM1_CC_IRQHandler,Default_Handler
.weak TIM2_IRQHandler
.thumb_set TIM2_IRQHandler,Default_Handler
.weak TIM3_IRQHandler
.thumb_set TIM3_IRQHandler,Default_Handler
.weak TIM4_IRQHandler
.thumb_set TIM4_IRQHandler,Default_Handler
.weak I2C1_EV_IRQHandler
.thumb_set I2C1_EV_IRQHandler,Default_Handler
.weak I2C1_ER_IRQHandler
.thumb_set I2C1_ER_IRQHandler,Default_Handler
.weak I2C2_EV_IRQHandler
.thumb_set I2C2_EV_IRQHandler,Default_Handler
.weak I2C2_ER_IRQHandler
.thumb_set I2C2_ER_IRQHandler,Default_Handler
.weak SPI1_IRQHandler
.thumb_set SPI1_IRQHandler,Default_Handler
.weak SPI2_IRQHandler
.thumb_set SPI2_IRQHandler,Default_Handler
.weak USART1_IRQHandler
.thumb_set USART1_IRQHandler,Default_Handler
.weak USART2_IRQHandler
.thumb_set USART2_IRQHandler,Default_Handler
.weak USART3_IRQHandler
.thumb_set USART3_IRQHandler,Default_Handler
.weak EXTI15_10_IRQHandler
.thumb_set EXTI15_10_IRQHandler,Default_Handler
.weak RTC_Alarm_IRQHandler
.thumb_set RTC_Alarm_IRQHandler,Default_Handler
.weak USBWakeUp_IRQHandler
.thumb_set USBWakeUp_IRQHandler,Default_Handler
.weak TIM8_BRK_IRQHandler
.thumb_set TIM8_BRK_IRQHandler,Default_Handler
.weak TIM8_UP_IRQHandler
.thumb_set TIM8_UP_IRQHandler,Default_Handler
.weak TIM8_TRG_COM_IRQHandler
.thumb_set TIM8_TRG_COM_IRQHandler,Default_Handler
.weak TIM8_CC_IRQHandler
.thumb_set TIM8_CC_IRQHandler,Default_Handler
.weak ADC3_IRQHandler
.thumb_set ADC3_IRQHandler,Default_Handler
.weak FSMC_IRQHandler
.thumb_set FSMC_IRQHandler,Default_Handler
.weak SDIO_IRQHandler
.thumb_set SDIO_IRQHandler,Default_Handler
.weak TIM5_IRQHandler
.thumb_set TIM5_IRQHandler,Default_Handler
.weak SPI3_IRQHandler
.thumb_set SPI3_IRQHandler,Default_Handler
.weak UART4_IRQHandler
.thumb_set UART4_IRQHandler,Default_Handler
.weak UART5_IRQHandler
.thumb_set UART5_IRQHandler,Default_Handler
.weak TIM6_IRQHandler
.thumb_set TIM6_IRQHandler,Default_Handler
.weak TIM7_IRQHandler
.thumb_set TIM7_IRQHandler,Default_Handler
.weak DMA2_Channel1_IRQHandler
.thumb_set DMA2_Channel1_IRQHandler,Default_Handler
.weak DMA2_Channel2_IRQHandler
.thumb_set DMA2_Channel2_IRQHandler,Default_Handler
.weak DMA2_Channel3_IRQHandler
.thumb_set DMA2_Channel3_IRQHandler,Default_Handler
.weak DMA2_Channel4_5_IRQHandler
.thumb_set DMA2_Channel4_5_IRQHandler,Default_Handler
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

File diff suppressed because one or more lines are too long

View File

@@ -1,232 +0,0 @@
/**
******************************************************************************
* @file stm32f1xx_hal_iwdg.h
* @author MCD Application Team
* @brief Header file of IWDG HAL module.
******************************************************************************
* @attention
*
* <h2><center>&copy; Copyright (c) 2016 STMicroelectronics.
* All rights reserved.</center></h2>
*
* This software component is licensed by ST under BSD 3-Clause license,
* the "License"; You may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
* opensource.org/licenses/BSD-3-Clause
*
******************************************************************************
*/
/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef STM32F1xx_HAL_IWDG_H
#define STM32F1xx_HAL_IWDG_H
#ifdef __cplusplus
extern "C" {
#endif
/* Includes ------------------------------------------------------------------*/
#include "stm32f1xx_hal_def.h"
/** @addtogroup STM32F1xx_HAL_Driver
* @{
*/
/** @defgroup IWDG IWDG
* @{
*/
/* Exported types ------------------------------------------------------------*/
/** @defgroup IWDG_Exported_Types IWDG Exported Types
* @{
*/
/**
* @brief IWDG Init structure definition
*/
typedef struct
{
uint32_t Prescaler; /*!< Select the prescaler of the IWDG.
This parameter can be a value of @ref IWDG_Prescaler */
uint32_t Reload; /*!< Specifies the IWDG down-counter reload value.
This parameter must be a number between Min_Data = 0 and Max_Data = 0x0FFF */
} IWDG_InitTypeDef;
/**
* @brief IWDG Handle Structure definition
*/
typedef struct
{
IWDG_TypeDef *Instance; /*!< Register base address */
IWDG_InitTypeDef Init; /*!< IWDG required parameters */
} IWDG_HandleTypeDef;
/**
* @}
*/
/* Exported constants --------------------------------------------------------*/
/** @defgroup IWDG_Exported_Constants IWDG Exported Constants
* @{
*/
/** @defgroup IWDG_Prescaler IWDG Prescaler
* @{
*/
#define IWDG_PRESCALER_4 0x00000000U /*!< IWDG prescaler set to 4 */
#define IWDG_PRESCALER_8 IWDG_PR_PR_0 /*!< IWDG prescaler set to 8 */
#define IWDG_PRESCALER_16 IWDG_PR_PR_1 /*!< IWDG prescaler set to 16 */
#define IWDG_PRESCALER_32 (IWDG_PR_PR_1 | IWDG_PR_PR_0) /*!< IWDG prescaler set to 32 */
#define IWDG_PRESCALER_64 IWDG_PR_PR_2 /*!< IWDG prescaler set to 64 */
#define IWDG_PRESCALER_128 (IWDG_PR_PR_2 | IWDG_PR_PR_0) /*!< IWDG prescaler set to 128 */
#define IWDG_PRESCALER_256 (IWDG_PR_PR_2 | IWDG_PR_PR_1) /*!< IWDG prescaler set to 256 */
/**
* @}
*/
/**
* @}
*/
/* Exported macros -----------------------------------------------------------*/
/** @defgroup IWDG_Exported_Macros IWDG Exported Macros
* @{
*/
/**
* @brief Enable the IWDG peripheral.
* @param __HANDLE__ IWDG handle
* @retval None
*/
#define __HAL_IWDG_START(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_ENABLE)
/**
* @brief Reload IWDG counter with value defined in the reload register
* (write access to IWDG_PR and IWDG_RLR registers disabled).
* @param __HANDLE__ IWDG handle
* @retval None
*/
#define __HAL_IWDG_RELOAD_COUNTER(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_RELOAD)
/**
* @}
*/
/* Exported functions --------------------------------------------------------*/
/** @defgroup IWDG_Exported_Functions IWDG Exported Functions
* @{
*/
/** @defgroup IWDG_Exported_Functions_Group1 Initialization and Start functions
* @{
*/
/* Initialization/Start functions ********************************************/
HAL_StatusTypeDef HAL_IWDG_Init(IWDG_HandleTypeDef *hiwdg);
/**
* @}
*/
/** @defgroup IWDG_Exported_Functions_Group2 IO operation functions
* @{
*/
/* I/O operation functions ****************************************************/
HAL_StatusTypeDef HAL_IWDG_Refresh(IWDG_HandleTypeDef *hiwdg);
/**
* @}
*/
/**
* @}
*/
/* Private constants ---------------------------------------------------------*/
/** @defgroup IWDG_Private_Constants IWDG Private Constants
* @{
*/
/**
* @brief IWDG Key Register BitMask
*/
#define IWDG_KEY_RELOAD 0x000000AAU /*!< IWDG Reload Counter Enable */
#define IWDG_KEY_ENABLE 0x000000CCU /*!< IWDG Peripheral Enable */
#define IWDG_KEY_WRITE_ACCESS_ENABLE 0x00000055U /*!< IWDG KR Write Access Enable */
#define IWDG_KEY_WRITE_ACCESS_DISABLE 0x00000000U /*!< IWDG KR Write Access Disable */
//#define IWDG_KEY_RELOAD 0x0000AAAAU /*!< IWDG Reload Counter Enable */
//#define IWDG_KEY_ENABLE 0x0000CCCCU /*!< IWDG Peripheral Enable */
//#define IWDG_KEY_WRITE_ACCESS_ENABLE 0x00005555U /*!< IWDG KR Write Access Enable */
//#define IWDG_KEY_WRITE_ACCESS_DISABLE 0x00000000U /*!< IWDG KR Write Access Disable */
/**
* @}
*/
/* Private macros ------------------------------------------------------------*/
/** @defgroup IWDG_Private_Macros IWDG Private Macros
* @{
*/
/**
* @brief Enable write access to IWDG_PR and IWDG_RLR registers.
* @param __HANDLE__ IWDG handle
* @retval None
*/
#define IWDG_ENABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_ENABLE)
/**
* @brief Disable write access to IWDG_PR and IWDG_RLR registers.
* @param __HANDLE__ IWDG handle
* @retval None
*/
#define IWDG_DISABLE_WRITE_ACCESS(__HANDLE__) WRITE_REG((__HANDLE__)->Instance->KR, IWDG_KEY_WRITE_ACCESS_DISABLE)
/**
* @brief Check IWDG prescaler value.
* @param __PRESCALER__ IWDG prescaler value
* @retval None
*/
#define IS_IWDG_PRESCALER(__PRESCALER__) (((__PRESCALER__) == IWDG_PRESCALER_4) || \
((__PRESCALER__) == IWDG_PRESCALER_8) || \
((__PRESCALER__) == IWDG_PRESCALER_16) || \
((__PRESCALER__) == IWDG_PRESCALER_32) || \
((__PRESCALER__) == IWDG_PRESCALER_64) || \
((__PRESCALER__) == IWDG_PRESCALER_128)|| \
((__PRESCALER__) == IWDG_PRESCALER_256))
/**
* @brief Check IWDG reload value.
* @param __RELOAD__ IWDG reload value
* @retval None
*/
#define IS_IWDG_RELOAD(__RELOAD__) ((__RELOAD__) <= IWDG_RLR_RL)
/**
* @}
*/
/**
* @}
*/
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* STM32F1xx_HAL_IWDG_H */
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

View File

@@ -1,3 +0,0 @@
# Copyright (c) 2016 STMicroelectronics
This software component is licensed by STMicroelectronics under the **BSD 3-Clause** license. You may not use this file except in compliance with this license. You may obtain a copy of the license [here](https://opensource.org/licenses/BSD-3-Clause).

File diff suppressed because it is too large Load Diff

View File

@@ -15,6 +15,9 @@ OverrideMemMap = 0
AllowSimulation = 1
ScriptFile=""
[FLASH]
RMWThreshold = 0x400
Loaders=""
EraseType = 0x00
CacheExcludeSize = 0x00
CacheExcludeAddr = 0x00
MinNumBytesFlashDL = 0
@@ -25,6 +28,7 @@ EnableFlashDL = 2
Override = 0
Device="ARM7"
[GENERAL]
MaxNumTransfers = 0x00
WorkRAMSize = 0x00
WorkRAMAddr = 0x00
RAMUsageLimit = 0x00
@@ -37,3 +41,7 @@ RdOverrideAddr = 0xFFFFFFFF
WrOverrideOrMask = 0x00
WrOverrideAndMask = 0xFFFFFFFF
WrOverrideAddr = 0xFFFFFFFF
[RAM]
VerifyDownload = 0x00
[DYN_MEM_MAP]
NumUserRegion = 0x00

View File

@@ -1,1461 +0,0 @@
ARM Macro Assembler Page 1
1 00000000 ;******************** (C) COPYRIGHT 2017 STMicroelectron
ics ********************
2 00000000 ;* File Name : startup_stm32f103xe.s
3 00000000 ;* Author : MCD Application Team
4 00000000 ;* Description : STM32F103xE Devices vector table
for MDK-ARM toolchain.
5 00000000 ;* This module performs:
6 00000000 ;* - Set the initial SP
7 00000000 ;* - Set the initial PC == Reset_Ha
ndler
8 00000000 ;* - Set the vector table entries w
ith the exceptions ISR address
9 00000000 ;* - Configure the clock system
10 00000000 ;* - Branches to __main in the C li
brary (which eventually
11 00000000 ;* calls main()).
12 00000000 ;* After Reset the Cortex-M3 proces
sor is in Thread mode,
13 00000000 ;* priority is Privileged, and the
Stack is set to Main.
14 00000000 ;*******************************************************
***********************
15 00000000 ;* @attention
16 00000000 ;*
17 00000000 ;* Copyright (c) 2017 STMicroelectronics.
18 00000000 ;* All rights reserved.
19 00000000 ;*
20 00000000 ;* This software component is licensed by ST under BSD 3
-Clause license,
21 00000000 ;* the "License"; You may not use this file except in co
mpliance with the
22 00000000 ;* License. You may obtain a copy of the License at:
23 00000000 ;* opensource.org/licenses/BSD-3-
Clause
24 00000000 ;*
25 00000000 ;*******************************************************
***********************
26 00000000
27 00000000 ; Amount of memory (in bytes) allocated for Stack
28 00000000 ; Tailor this value to your application needs
29 00000000 ; <h> Stack Configuration
30 00000000 ; <o> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
31 00000000 ; </h>
32 00000000
33 00000000 00000400
Stack_Size
EQU 0x400
34 00000000
35 00000000 AREA STACK, NOINIT, READWRITE, ALIGN
=3
36 00000000 Stack_Mem
SPACE Stack_Size
37 00000400 __initial_sp
38 00000400
39 00000400 ; <h> Heap Configuration
40 00000400 ; <o> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
41 00000400 ; </h>
42 00000400
43 00000400 00000400
ARM Macro Assembler Page 2
Heap_Size
EQU 0x400
44 00000400
45 00000400 AREA HEAP, NOINIT, READWRITE, ALIGN=
3
46 00000000 __heap_base
47 00000000 Heap_Mem
SPACE Heap_Size
48 00000400 __heap_limit
49 00000400
50 00000400 PRESERVE8
51 00000400 THUMB
52 00000400
53 00000400
54 00000400 ; Vector Table Mapped to Address 0 at Reset
55 00000400 AREA RESET, DATA, READONLY
56 00000000 EXPORT __Vectors
57 00000000 EXPORT __Vectors_End
58 00000000 EXPORT __Vectors_Size
59 00000000
60 00000000 00000000
__Vectors
DCD __initial_sp ; Top of Stack
61 00000004 00000000 DCD Reset_Handler ; Reset Handler
62 00000008 00000000 DCD NMI_Handler ; NMI Handler
63 0000000C 00000000 DCD HardFault_Handler ; Hard Fault
Handler
64 00000010 00000000 DCD MemManage_Handler
; MPU Fault Handler
65 00000014 00000000 DCD BusFault_Handler
; Bus Fault Handler
66 00000018 00000000 DCD UsageFault_Handler ; Usage Faul
t Handler
67 0000001C 00000000 DCD 0 ; Reserved
68 00000020 00000000 DCD 0 ; Reserved
69 00000024 00000000 DCD 0 ; Reserved
70 00000028 00000000 DCD 0 ; Reserved
71 0000002C 00000000 DCD SVC_Handler ; SVCall Handler
72 00000030 00000000 DCD DebugMon_Handler ; Debug Monito
r Handler
73 00000034 00000000 DCD 0 ; Reserved
74 00000038 00000000 DCD PendSV_Handler ; PendSV Handler
75 0000003C 00000000 DCD SysTick_Handler
; SysTick Handler
76 00000040
77 00000040 ; External Interrupts
78 00000040 00000000 DCD WWDG_IRQHandler
; Window Watchdog
79 00000044 00000000 DCD PVD_IRQHandler ; PVD through EX
TI Line detect
80 00000048 00000000 DCD TAMPER_IRQHandler ; Tamper
81 0000004C 00000000 DCD RTC_IRQHandler ; RTC
82 00000050 00000000 DCD FLASH_IRQHandler ; Flash
83 00000054 00000000 DCD RCC_IRQHandler ; RCC
84 00000058 00000000 DCD EXTI0_IRQHandler ; EXTI Line 0
85 0000005C 00000000 DCD EXTI1_IRQHandler ; EXTI Line 1
ARM Macro Assembler Page 3
86 00000060 00000000 DCD EXTI2_IRQHandler ; EXTI Line 2
87 00000064 00000000 DCD EXTI3_IRQHandler ; EXTI Line 3
88 00000068 00000000 DCD EXTI4_IRQHandler ; EXTI Line 4
89 0000006C 00000000 DCD DMA1_Channel1_IRQHandler
; DMA1 Channel 1
90 00000070 00000000 DCD DMA1_Channel2_IRQHandler
; DMA1 Channel 2
91 00000074 00000000 DCD DMA1_Channel3_IRQHandler
; DMA1 Channel 3
92 00000078 00000000 DCD DMA1_Channel4_IRQHandler
; DMA1 Channel 4
93 0000007C 00000000 DCD DMA1_Channel5_IRQHandler
; DMA1 Channel 5
94 00000080 00000000 DCD DMA1_Channel6_IRQHandler
; DMA1 Channel 6
95 00000084 00000000 DCD DMA1_Channel7_IRQHandler
; DMA1 Channel 7
96 00000088 00000000 DCD ADC1_2_IRQHandler ; ADC1 & ADC2
97 0000008C 00000000 DCD USB_HP_CAN1_TX_IRQHandler ; USB
High Priority or C
AN1 TX
98 00000090 00000000 DCD USB_LP_CAN1_RX0_IRQHandler ; US
B Low Priority or
CAN1 RX0
99 00000094 00000000 DCD CAN1_RX1_IRQHandler ; CAN1 RX1
100 00000098 00000000 DCD CAN1_SCE_IRQHandler ; CAN1 SCE
101 0000009C 00000000 DCD EXTI9_5_IRQHandler
; EXTI Line 9..5
102 000000A0 00000000 DCD TIM1_BRK_IRQHandler
; TIM1 Break
103 000000A4 00000000 DCD TIM1_UP_IRQHandler
; TIM1 Update
104 000000A8 00000000 DCD TIM1_TRG_COM_IRQHandler ; TIM1
Trigger and Commuta
tion
105 000000AC 00000000 DCD TIM1_CC_IRQHandler ; TIM1 Captu
re Compare
106 000000B0 00000000 DCD TIM2_IRQHandler ; TIM2
107 000000B4 00000000 DCD TIM3_IRQHandler ; TIM3
108 000000B8 00000000 DCD TIM4_IRQHandler ; TIM4
109 000000BC 00000000 DCD I2C1_EV_IRQHandler ; I2C1 Event
110 000000C0 00000000 DCD I2C1_ER_IRQHandler ; I2C1 Error
111 000000C4 00000000 DCD I2C2_EV_IRQHandler ; I2C2 Event
112 000000C8 00000000 DCD I2C2_ER_IRQHandler ; I2C2 Error
113 000000CC 00000000 DCD SPI1_IRQHandler ; SPI1
114 000000D0 00000000 DCD SPI2_IRQHandler ; SPI2
115 000000D4 00000000 DCD USART1_IRQHandler ; USART1
116 000000D8 00000000 DCD USART2_IRQHandler ; USART2
117 000000DC 00000000 DCD USART3_IRQHandler ; USART3
118 000000E0 00000000 DCD EXTI15_10_IRQHandler
; EXTI Line 15..10
119 000000E4 00000000 DCD RTC_Alarm_IRQHandler ; RTC Alar
m through EXTI Line
ARM Macro Assembler Page 4
120 000000E8 00000000 DCD USBWakeUp_IRQHandler ; USB Wake
up from suspend
121 000000EC 00000000 DCD TIM8_BRK_IRQHandler
; TIM8 Break
122 000000F0 00000000 DCD TIM8_UP_IRQHandler
; TIM8 Update
123 000000F4 00000000 DCD TIM8_TRG_COM_IRQHandler ; TIM8
Trigger and Commuta
tion
124 000000F8 00000000 DCD TIM8_CC_IRQHandler ; TIM8 Captu
re Compare
125 000000FC 00000000 DCD ADC3_IRQHandler ; ADC3
126 00000100 00000000 DCD FSMC_IRQHandler ; FSMC
127 00000104 00000000 DCD SDIO_IRQHandler ; SDIO
128 00000108 00000000 DCD TIM5_IRQHandler ; TIM5
129 0000010C 00000000 DCD SPI3_IRQHandler ; SPI3
130 00000110 00000000 DCD UART4_IRQHandler ; UART4
131 00000114 00000000 DCD UART5_IRQHandler ; UART5
132 00000118 00000000 DCD TIM6_IRQHandler ; TIM6
133 0000011C 00000000 DCD TIM7_IRQHandler ; TIM7
134 00000120 00000000 DCD DMA2_Channel1_IRQHandler
; DMA2 Channel1
135 00000124 00000000 DCD DMA2_Channel2_IRQHandler
; DMA2 Channel2
136 00000128 00000000 DCD DMA2_Channel3_IRQHandler
; DMA2 Channel3
137 0000012C 00000000 DCD DMA2_Channel4_5_IRQHandler ; DM
A2 Channel4 & Chann
el5
138 00000130 __Vectors_End
139 00000130
140 00000130 00000130
__Vectors_Size
EQU __Vectors_End - __Vectors
141 00000130
142 00000130 AREA |.text|, CODE, READONLY
143 00000000
144 00000000 ; Reset handler
145 00000000 Reset_Handler
PROC
146 00000000 EXPORT Reset_Handler [WEAK
]
147 00000000 IMPORT __main
148 00000000 IMPORT SystemInit
149 00000000 4809 LDR R0, =SystemInit
150 00000002 4780 BLX R0
151 00000004 4809 LDR R0, =__main
152 00000006 4700 BX R0
153 00000008 ENDP
154 00000008
155 00000008 ; Dummy Exception Handlers (infinite loops which can be
modified)
156 00000008
157 00000008 NMI_Handler
PROC
158 00000008 EXPORT NMI_Handler [WEA
K]
159 00000008 E7FE B .
160 0000000A ENDP
ARM Macro Assembler Page 5
162 0000000A HardFault_Handler
PROC
163 0000000A EXPORT HardFault_Handler [WEA
K]
164 0000000A E7FE B .
165 0000000C ENDP
167 0000000C MemManage_Handler
PROC
168 0000000C EXPORT MemManage_Handler [WEA
K]
169 0000000C E7FE B .
170 0000000E ENDP
172 0000000E BusFault_Handler
PROC
173 0000000E EXPORT BusFault_Handler [WEA
K]
174 0000000E E7FE B .
175 00000010 ENDP
177 00000010 UsageFault_Handler
PROC
178 00000010 EXPORT UsageFault_Handler [WEA
K]
179 00000010 E7FE B .
180 00000012 ENDP
181 00000012 SVC_Handler
PROC
182 00000012 EXPORT SVC_Handler [WEA
K]
183 00000012 E7FE B .
184 00000014 ENDP
186 00000014 DebugMon_Handler
PROC
187 00000014 EXPORT DebugMon_Handler [WEA
K]
188 00000014 E7FE B .
189 00000016 ENDP
190 00000016 PendSV_Handler
PROC
191 00000016 EXPORT PendSV_Handler [WEA
K]
192 00000016 E7FE B .
193 00000018 ENDP
194 00000018 SysTick_Handler
PROC
195 00000018 EXPORT SysTick_Handler [WEA
K]
196 00000018 E7FE B .
197 0000001A ENDP
198 0000001A
199 0000001A Default_Handler
PROC
200 0000001A
201 0000001A EXPORT WWDG_IRQHandler [WEA
K]
202 0000001A EXPORT PVD_IRQHandler [WEA
K]
203 0000001A EXPORT TAMPER_IRQHandler [WEA
K]
204 0000001A EXPORT RTC_IRQHandler [WEA
ARM Macro Assembler Page 6
K]
205 0000001A EXPORT FLASH_IRQHandler [WEA
K]
206 0000001A EXPORT RCC_IRQHandler [WEA
K]
207 0000001A EXPORT EXTI0_IRQHandler [WEA
K]
208 0000001A EXPORT EXTI1_IRQHandler [WEA
K]
209 0000001A EXPORT EXTI2_IRQHandler [WEA
K]
210 0000001A EXPORT EXTI3_IRQHandler [WEA
K]
211 0000001A EXPORT EXTI4_IRQHandler [WEA
K]
212 0000001A EXPORT DMA1_Channel1_IRQHandler [WEA
K]
213 0000001A EXPORT DMA1_Channel2_IRQHandler [WEA
K]
214 0000001A EXPORT DMA1_Channel3_IRQHandler [WEA
K]
215 0000001A EXPORT DMA1_Channel4_IRQHandler [WEA
K]
216 0000001A EXPORT DMA1_Channel5_IRQHandler [WEA
K]
217 0000001A EXPORT DMA1_Channel6_IRQHandler [WEA
K]
218 0000001A EXPORT DMA1_Channel7_IRQHandler [WEA
K]
219 0000001A EXPORT ADC1_2_IRQHandler [WEA
K]
220 0000001A EXPORT USB_HP_CAN1_TX_IRQHandler [WEA
K]
221 0000001A EXPORT USB_LP_CAN1_RX0_IRQHandler [WEA
K]
222 0000001A EXPORT CAN1_RX1_IRQHandler [WEA
K]
223 0000001A EXPORT CAN1_SCE_IRQHandler [WEA
K]
224 0000001A EXPORT EXTI9_5_IRQHandler [WEA
K]
225 0000001A EXPORT TIM1_BRK_IRQHandler [WEA
K]
226 0000001A EXPORT TIM1_UP_IRQHandler [WEA
K]
227 0000001A EXPORT TIM1_TRG_COM_IRQHandler [WEA
K]
228 0000001A EXPORT TIM1_CC_IRQHandler [WEA
K]
229 0000001A EXPORT TIM2_IRQHandler [WEA
K]
230 0000001A EXPORT TIM3_IRQHandler [WEA
K]
231 0000001A EXPORT TIM4_IRQHandler [WEA
K]
232 0000001A EXPORT I2C1_EV_IRQHandler [WEA
K]
233 0000001A EXPORT I2C1_ER_IRQHandler [WEA
K]
ARM Macro Assembler Page 7
234 0000001A EXPORT I2C2_EV_IRQHandler [WEA
K]
235 0000001A EXPORT I2C2_ER_IRQHandler [WEA
K]
236 0000001A EXPORT SPI1_IRQHandler [WEA
K]
237 0000001A EXPORT SPI2_IRQHandler [WEA
K]
238 0000001A EXPORT USART1_IRQHandler [WEA
K]
239 0000001A EXPORT USART2_IRQHandler [WEA
K]
240 0000001A EXPORT USART3_IRQHandler [WEA
K]
241 0000001A EXPORT EXTI15_10_IRQHandler [WEA
K]
242 0000001A EXPORT RTC_Alarm_IRQHandler [WE
AK]
243 0000001A EXPORT USBWakeUp_IRQHandler [WEA
K]
244 0000001A EXPORT TIM8_BRK_IRQHandler [WEA
K]
245 0000001A EXPORT TIM8_UP_IRQHandler [WEA
K]
246 0000001A EXPORT TIM8_TRG_COM_IRQHandler [WEA
K]
247 0000001A EXPORT TIM8_CC_IRQHandler [WEA
K]
248 0000001A EXPORT ADC3_IRQHandler [WEA
K]
249 0000001A EXPORT FSMC_IRQHandler [WEA
K]
250 0000001A EXPORT SDIO_IRQHandler [WEA
K]
251 0000001A EXPORT TIM5_IRQHandler [WEA
K]
252 0000001A EXPORT SPI3_IRQHandler [WEA
K]
253 0000001A EXPORT UART4_IRQHandler [WEA
K]
254 0000001A EXPORT UART5_IRQHandler [WEA
K]
255 0000001A EXPORT TIM6_IRQHandler [WEA
K]
256 0000001A EXPORT TIM7_IRQHandler [WEA
K]
257 0000001A EXPORT DMA2_Channel1_IRQHandler [WEA
K]
258 0000001A EXPORT DMA2_Channel2_IRQHandler [WEA
K]
259 0000001A EXPORT DMA2_Channel3_IRQHandler [WEA
K]
260 0000001A EXPORT DMA2_Channel4_5_IRQHandler [WEA
K]
261 0000001A
262 0000001A WWDG_IRQHandler
263 0000001A PVD_IRQHandler
264 0000001A TAMPER_IRQHandler
265 0000001A RTC_IRQHandler
ARM Macro Assembler Page 8
266 0000001A FLASH_IRQHandler
267 0000001A RCC_IRQHandler
268 0000001A EXTI0_IRQHandler
269 0000001A EXTI1_IRQHandler
270 0000001A EXTI2_IRQHandler
271 0000001A EXTI3_IRQHandler
272 0000001A EXTI4_IRQHandler
273 0000001A DMA1_Channel1_IRQHandler
274 0000001A DMA1_Channel2_IRQHandler
275 0000001A DMA1_Channel3_IRQHandler
276 0000001A DMA1_Channel4_IRQHandler
277 0000001A DMA1_Channel5_IRQHandler
278 0000001A DMA1_Channel6_IRQHandler
279 0000001A DMA1_Channel7_IRQHandler
280 0000001A ADC1_2_IRQHandler
281 0000001A USB_HP_CAN1_TX_IRQHandler
282 0000001A USB_LP_CAN1_RX0_IRQHandler
283 0000001A CAN1_RX1_IRQHandler
284 0000001A CAN1_SCE_IRQHandler
285 0000001A EXTI9_5_IRQHandler
286 0000001A TIM1_BRK_IRQHandler
287 0000001A TIM1_UP_IRQHandler
288 0000001A TIM1_TRG_COM_IRQHandler
289 0000001A TIM1_CC_IRQHandler
290 0000001A TIM2_IRQHandler
291 0000001A TIM3_IRQHandler
292 0000001A TIM4_IRQHandler
293 0000001A I2C1_EV_IRQHandler
294 0000001A I2C1_ER_IRQHandler
295 0000001A I2C2_EV_IRQHandler
296 0000001A I2C2_ER_IRQHandler
297 0000001A SPI1_IRQHandler
298 0000001A SPI2_IRQHandler
299 0000001A USART1_IRQHandler
300 0000001A USART2_IRQHandler
301 0000001A USART3_IRQHandler
302 0000001A EXTI15_10_IRQHandler
303 0000001A RTC_Alarm_IRQHandler
304 0000001A USBWakeUp_IRQHandler
305 0000001A TIM8_BRK_IRQHandler
306 0000001A TIM8_UP_IRQHandler
307 0000001A TIM8_TRG_COM_IRQHandler
308 0000001A TIM8_CC_IRQHandler
309 0000001A ADC3_IRQHandler
310 0000001A FSMC_IRQHandler
311 0000001A SDIO_IRQHandler
312 0000001A TIM5_IRQHandler
313 0000001A SPI3_IRQHandler
314 0000001A UART4_IRQHandler
315 0000001A UART5_IRQHandler
316 0000001A TIM6_IRQHandler
317 0000001A TIM7_IRQHandler
318 0000001A DMA2_Channel1_IRQHandler
319 0000001A DMA2_Channel2_IRQHandler
320 0000001A DMA2_Channel3_IRQHandler
321 0000001A DMA2_Channel4_5_IRQHandler
322 0000001A E7FE B .
323 0000001C
324 0000001C ENDP
ARM Macro Assembler Page 9
325 0000001C
326 0000001C ALIGN
327 0000001C
328 0000001C ;*******************************************************
************************
329 0000001C ; User Stack and Heap initialization
330 0000001C ;*******************************************************
************************
331 0000001C IF :DEF:__MICROLIB
338 0000001C
339 0000001C IMPORT __use_two_region_memory
340 0000001C EXPORT __user_initial_stackheap
341 0000001C
342 0000001C __user_initial_stackheap
343 0000001C
344 0000001C 4804 LDR R0, = Heap_Mem
345 0000001E 4905 LDR R1, =(Stack_Mem + Stack_Size)
346 00000020 4A05 LDR R2, = (Heap_Mem + Heap_Size)
347 00000022 4B06 LDR R3, = Stack_Mem
348 00000024 4770 BX LR
349 00000026
350 00000026 00 00 ALIGN
351 00000028
352 00000028 ENDIF
353 00000028
354 00000028 END
00000000
00000000
00000000
00000400
00000400
00000000
Command Line: --debug --xref --diag_suppress=9931,A1950W --cpu=Cortex-M3 --depe
nd=uksvep_2_2_v1\startup_stm32f103xe.d -ouksvep_2_2_v1\startup_stm32f103xe.o -I
.\RTE\_uksvep_2_2_v1 -IC:\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Arm
\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include --predefine="__UVISION_VERSION S
ETA 538" --predefine="_RTE_ SETA 1" --predefine="STM32F10X_HD SETA 1" --predefi
ne="_RTE_ SETA 1" --list=startup_stm32f103xe.lst startup_stm32f103xe.s
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
STACK 00000000
Symbol: STACK
Definitions
At line 35 in file startup_stm32f103xe.s
Uses
None
Comment: STACK unused
Stack_Mem 00000000
Symbol: Stack_Mem
Definitions
At line 36 in file startup_stm32f103xe.s
Uses
At line 345 in file startup_stm32f103xe.s
At line 347 in file startup_stm32f103xe.s
__initial_sp 00000400
Symbol: __initial_sp
Definitions
At line 37 in file startup_stm32f103xe.s
Uses
At line 60 in file startup_stm32f103xe.s
Comment: __initial_sp used once
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
HEAP 00000000
Symbol: HEAP
Definitions
At line 45 in file startup_stm32f103xe.s
Uses
None
Comment: HEAP unused
Heap_Mem 00000000
Symbol: Heap_Mem
Definitions
At line 47 in file startup_stm32f103xe.s
Uses
At line 344 in file startup_stm32f103xe.s
At line 346 in file startup_stm32f103xe.s
__heap_base 00000000
Symbol: __heap_base
Definitions
At line 46 in file startup_stm32f103xe.s
Uses
None
Comment: __heap_base unused
__heap_limit 00000400
Symbol: __heap_limit
Definitions
At line 48 in file startup_stm32f103xe.s
Uses
None
Comment: __heap_limit unused
4 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
RESET 00000000
Symbol: RESET
Definitions
At line 55 in file startup_stm32f103xe.s
Uses
None
Comment: RESET unused
__Vectors 00000000
Symbol: __Vectors
Definitions
At line 60 in file startup_stm32f103xe.s
Uses
At line 56 in file startup_stm32f103xe.s
At line 140 in file startup_stm32f103xe.s
__Vectors_End 00000130
Symbol: __Vectors_End
Definitions
At line 138 in file startup_stm32f103xe.s
Uses
At line 57 in file startup_stm32f103xe.s
At line 140 in file startup_stm32f103xe.s
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Relocatable symbols
.text 00000000
Symbol: .text
Definitions
At line 142 in file startup_stm32f103xe.s
Uses
None
Comment: .text unused
ADC1_2_IRQHandler 0000001A
Symbol: ADC1_2_IRQHandler
Definitions
At line 280 in file startup_stm32f103xe.s
Uses
At line 96 in file startup_stm32f103xe.s
At line 219 in file startup_stm32f103xe.s
ADC3_IRQHandler 0000001A
Symbol: ADC3_IRQHandler
Definitions
At line 309 in file startup_stm32f103xe.s
Uses
At line 125 in file startup_stm32f103xe.s
At line 248 in file startup_stm32f103xe.s
BusFault_Handler 0000000E
Symbol: BusFault_Handler
Definitions
At line 172 in file startup_stm32f103xe.s
Uses
At line 65 in file startup_stm32f103xe.s
At line 173 in file startup_stm32f103xe.s
CAN1_RX1_IRQHandler 0000001A
Symbol: CAN1_RX1_IRQHandler
Definitions
At line 283 in file startup_stm32f103xe.s
Uses
At line 99 in file startup_stm32f103xe.s
At line 222 in file startup_stm32f103xe.s
CAN1_SCE_IRQHandler 0000001A
Symbol: CAN1_SCE_IRQHandler
Definitions
At line 284 in file startup_stm32f103xe.s
Uses
At line 100 in file startup_stm32f103xe.s
At line 223 in file startup_stm32f103xe.s
DMA1_Channel1_IRQHandler 0000001A
Symbol: DMA1_Channel1_IRQHandler
Definitions
At line 273 in file startup_stm32f103xe.s
Uses
ARM Macro Assembler Page 2 Alphabetic symbol ordering
Relocatable symbols
At line 89 in file startup_stm32f103xe.s
At line 212 in file startup_stm32f103xe.s
DMA1_Channel2_IRQHandler 0000001A
Symbol: DMA1_Channel2_IRQHandler
Definitions
At line 274 in file startup_stm32f103xe.s
Uses
At line 90 in file startup_stm32f103xe.s
At line 213 in file startup_stm32f103xe.s
DMA1_Channel3_IRQHandler 0000001A
Symbol: DMA1_Channel3_IRQHandler
Definitions
At line 275 in file startup_stm32f103xe.s
Uses
At line 91 in file startup_stm32f103xe.s
At line 214 in file startup_stm32f103xe.s
DMA1_Channel4_IRQHandler 0000001A
Symbol: DMA1_Channel4_IRQHandler
Definitions
At line 276 in file startup_stm32f103xe.s
Uses
At line 92 in file startup_stm32f103xe.s
At line 215 in file startup_stm32f103xe.s
DMA1_Channel5_IRQHandler 0000001A
Symbol: DMA1_Channel5_IRQHandler
Definitions
At line 277 in file startup_stm32f103xe.s
Uses
At line 93 in file startup_stm32f103xe.s
At line 216 in file startup_stm32f103xe.s
DMA1_Channel6_IRQHandler 0000001A
Symbol: DMA1_Channel6_IRQHandler
Definitions
At line 278 in file startup_stm32f103xe.s
Uses
At line 94 in file startup_stm32f103xe.s
At line 217 in file startup_stm32f103xe.s
DMA1_Channel7_IRQHandler 0000001A
Symbol: DMA1_Channel7_IRQHandler
Definitions
At line 279 in file startup_stm32f103xe.s
Uses
At line 95 in file startup_stm32f103xe.s
At line 218 in file startup_stm32f103xe.s
DMA2_Channel1_IRQHandler 0000001A
ARM Macro Assembler Page 3 Alphabetic symbol ordering
Relocatable symbols
Symbol: DMA2_Channel1_IRQHandler
Definitions
At line 318 in file startup_stm32f103xe.s
Uses
At line 134 in file startup_stm32f103xe.s
At line 257 in file startup_stm32f103xe.s
DMA2_Channel2_IRQHandler 0000001A
Symbol: DMA2_Channel2_IRQHandler
Definitions
At line 319 in file startup_stm32f103xe.s
Uses
At line 135 in file startup_stm32f103xe.s
At line 258 in file startup_stm32f103xe.s
DMA2_Channel3_IRQHandler 0000001A
Symbol: DMA2_Channel3_IRQHandler
Definitions
At line 320 in file startup_stm32f103xe.s
Uses
At line 136 in file startup_stm32f103xe.s
At line 259 in file startup_stm32f103xe.s
DMA2_Channel4_5_IRQHandler 0000001A
Symbol: DMA2_Channel4_5_IRQHandler
Definitions
At line 321 in file startup_stm32f103xe.s
Uses
At line 137 in file startup_stm32f103xe.s
At line 260 in file startup_stm32f103xe.s
DebugMon_Handler 00000014
Symbol: DebugMon_Handler
Definitions
At line 186 in file startup_stm32f103xe.s
Uses
At line 72 in file startup_stm32f103xe.s
At line 187 in file startup_stm32f103xe.s
Default_Handler 0000001A
Symbol: Default_Handler
Definitions
At line 199 in file startup_stm32f103xe.s
Uses
None
Comment: Default_Handler unused
EXTI0_IRQHandler 0000001A
Symbol: EXTI0_IRQHandler
Definitions
At line 268 in file startup_stm32f103xe.s
Uses
At line 84 in file startup_stm32f103xe.s
At line 207 in file startup_stm32f103xe.s
ARM Macro Assembler Page 4 Alphabetic symbol ordering
Relocatable symbols
EXTI15_10_IRQHandler 0000001A
Symbol: EXTI15_10_IRQHandler
Definitions
At line 302 in file startup_stm32f103xe.s
Uses
At line 118 in file startup_stm32f103xe.s
At line 241 in file startup_stm32f103xe.s
EXTI1_IRQHandler 0000001A
Symbol: EXTI1_IRQHandler
Definitions
At line 269 in file startup_stm32f103xe.s
Uses
At line 85 in file startup_stm32f103xe.s
At line 208 in file startup_stm32f103xe.s
EXTI2_IRQHandler 0000001A
Symbol: EXTI2_IRQHandler
Definitions
At line 270 in file startup_stm32f103xe.s
Uses
At line 86 in file startup_stm32f103xe.s
At line 209 in file startup_stm32f103xe.s
EXTI3_IRQHandler 0000001A
Symbol: EXTI3_IRQHandler
Definitions
At line 271 in file startup_stm32f103xe.s
Uses
At line 87 in file startup_stm32f103xe.s
At line 210 in file startup_stm32f103xe.s
EXTI4_IRQHandler 0000001A
Symbol: EXTI4_IRQHandler
Definitions
At line 272 in file startup_stm32f103xe.s
Uses
At line 88 in file startup_stm32f103xe.s
At line 211 in file startup_stm32f103xe.s
EXTI9_5_IRQHandler 0000001A
Symbol: EXTI9_5_IRQHandler
Definitions
At line 285 in file startup_stm32f103xe.s
Uses
At line 101 in file startup_stm32f103xe.s
At line 224 in file startup_stm32f103xe.s
FLASH_IRQHandler 0000001A
Symbol: FLASH_IRQHandler
Definitions
ARM Macro Assembler Page 5 Alphabetic symbol ordering
Relocatable symbols
At line 266 in file startup_stm32f103xe.s
Uses
At line 82 in file startup_stm32f103xe.s
At line 205 in file startup_stm32f103xe.s
FSMC_IRQHandler 0000001A
Symbol: FSMC_IRQHandler
Definitions
At line 310 in file startup_stm32f103xe.s
Uses
At line 126 in file startup_stm32f103xe.s
At line 249 in file startup_stm32f103xe.s
HardFault_Handler 0000000A
Symbol: HardFault_Handler
Definitions
At line 162 in file startup_stm32f103xe.s
Uses
At line 63 in file startup_stm32f103xe.s
At line 163 in file startup_stm32f103xe.s
I2C1_ER_IRQHandler 0000001A
Symbol: I2C1_ER_IRQHandler
Definitions
At line 294 in file startup_stm32f103xe.s
Uses
At line 110 in file startup_stm32f103xe.s
At line 233 in file startup_stm32f103xe.s
I2C1_EV_IRQHandler 0000001A
Symbol: I2C1_EV_IRQHandler
Definitions
At line 293 in file startup_stm32f103xe.s
Uses
At line 109 in file startup_stm32f103xe.s
At line 232 in file startup_stm32f103xe.s
I2C2_ER_IRQHandler 0000001A
Symbol: I2C2_ER_IRQHandler
Definitions
At line 296 in file startup_stm32f103xe.s
Uses
At line 112 in file startup_stm32f103xe.s
At line 235 in file startup_stm32f103xe.s
I2C2_EV_IRQHandler 0000001A
Symbol: I2C2_EV_IRQHandler
Definitions
At line 295 in file startup_stm32f103xe.s
Uses
At line 111 in file startup_stm32f103xe.s
At line 234 in file startup_stm32f103xe.s
ARM Macro Assembler Page 6 Alphabetic symbol ordering
Relocatable symbols
MemManage_Handler 0000000C
Symbol: MemManage_Handler
Definitions
At line 167 in file startup_stm32f103xe.s
Uses
At line 64 in file startup_stm32f103xe.s
At line 168 in file startup_stm32f103xe.s
NMI_Handler 00000008
Symbol: NMI_Handler
Definitions
At line 157 in file startup_stm32f103xe.s
Uses
At line 62 in file startup_stm32f103xe.s
At line 158 in file startup_stm32f103xe.s
PVD_IRQHandler 0000001A
Symbol: PVD_IRQHandler
Definitions
At line 263 in file startup_stm32f103xe.s
Uses
At line 79 in file startup_stm32f103xe.s
At line 202 in file startup_stm32f103xe.s
PendSV_Handler 00000016
Symbol: PendSV_Handler
Definitions
At line 190 in file startup_stm32f103xe.s
Uses
At line 74 in file startup_stm32f103xe.s
At line 191 in file startup_stm32f103xe.s
RCC_IRQHandler 0000001A
Symbol: RCC_IRQHandler
Definitions
At line 267 in file startup_stm32f103xe.s
Uses
At line 83 in file startup_stm32f103xe.s
At line 206 in file startup_stm32f103xe.s
RTC_Alarm_IRQHandler 0000001A
Symbol: RTC_Alarm_IRQHandler
Definitions
At line 303 in file startup_stm32f103xe.s
Uses
At line 119 in file startup_stm32f103xe.s
At line 242 in file startup_stm32f103xe.s
RTC_IRQHandler 0000001A
Symbol: RTC_IRQHandler
Definitions
At line 265 in file startup_stm32f103xe.s
ARM Macro Assembler Page 7 Alphabetic symbol ordering
Relocatable symbols
Uses
At line 81 in file startup_stm32f103xe.s
At line 204 in file startup_stm32f103xe.s
Reset_Handler 00000000
Symbol: Reset_Handler
Definitions
At line 145 in file startup_stm32f103xe.s
Uses
At line 61 in file startup_stm32f103xe.s
At line 146 in file startup_stm32f103xe.s
SDIO_IRQHandler 0000001A
Symbol: SDIO_IRQHandler
Definitions
At line 311 in file startup_stm32f103xe.s
Uses
At line 127 in file startup_stm32f103xe.s
At line 250 in file startup_stm32f103xe.s
SPI1_IRQHandler 0000001A
Symbol: SPI1_IRQHandler
Definitions
At line 297 in file startup_stm32f103xe.s
Uses
At line 113 in file startup_stm32f103xe.s
At line 236 in file startup_stm32f103xe.s
SPI2_IRQHandler 0000001A
Symbol: SPI2_IRQHandler
Definitions
At line 298 in file startup_stm32f103xe.s
Uses
At line 114 in file startup_stm32f103xe.s
At line 237 in file startup_stm32f103xe.s
SPI3_IRQHandler 0000001A
Symbol: SPI3_IRQHandler
Definitions
At line 313 in file startup_stm32f103xe.s
Uses
At line 129 in file startup_stm32f103xe.s
At line 252 in file startup_stm32f103xe.s
SVC_Handler 00000012
Symbol: SVC_Handler
Definitions
At line 181 in file startup_stm32f103xe.s
Uses
At line 71 in file startup_stm32f103xe.s
At line 182 in file startup_stm32f103xe.s
SysTick_Handler 00000018
ARM Macro Assembler Page 8 Alphabetic symbol ordering
Relocatable symbols
Symbol: SysTick_Handler
Definitions
At line 194 in file startup_stm32f103xe.s
Uses
At line 75 in file startup_stm32f103xe.s
At line 195 in file startup_stm32f103xe.s
TAMPER_IRQHandler 0000001A
Symbol: TAMPER_IRQHandler
Definitions
At line 264 in file startup_stm32f103xe.s
Uses
At line 80 in file startup_stm32f103xe.s
At line 203 in file startup_stm32f103xe.s
TIM1_BRK_IRQHandler 0000001A
Symbol: TIM1_BRK_IRQHandler
Definitions
At line 286 in file startup_stm32f103xe.s
Uses
At line 102 in file startup_stm32f103xe.s
At line 225 in file startup_stm32f103xe.s
TIM1_CC_IRQHandler 0000001A
Symbol: TIM1_CC_IRQHandler
Definitions
At line 289 in file startup_stm32f103xe.s
Uses
At line 105 in file startup_stm32f103xe.s
At line 228 in file startup_stm32f103xe.s
TIM1_TRG_COM_IRQHandler 0000001A
Symbol: TIM1_TRG_COM_IRQHandler
Definitions
At line 288 in file startup_stm32f103xe.s
Uses
At line 104 in file startup_stm32f103xe.s
At line 227 in file startup_stm32f103xe.s
TIM1_UP_IRQHandler 0000001A
Symbol: TIM1_UP_IRQHandler
Definitions
At line 287 in file startup_stm32f103xe.s
Uses
At line 103 in file startup_stm32f103xe.s
At line 226 in file startup_stm32f103xe.s
TIM2_IRQHandler 0000001A
Symbol: TIM2_IRQHandler
Definitions
At line 290 in file startup_stm32f103xe.s
Uses
ARM Macro Assembler Page 9 Alphabetic symbol ordering
Relocatable symbols
At line 106 in file startup_stm32f103xe.s
At line 229 in file startup_stm32f103xe.s
TIM3_IRQHandler 0000001A
Symbol: TIM3_IRQHandler
Definitions
At line 291 in file startup_stm32f103xe.s
Uses
At line 107 in file startup_stm32f103xe.s
At line 230 in file startup_stm32f103xe.s
TIM4_IRQHandler 0000001A
Symbol: TIM4_IRQHandler
Definitions
At line 292 in file startup_stm32f103xe.s
Uses
At line 108 in file startup_stm32f103xe.s
At line 231 in file startup_stm32f103xe.s
TIM5_IRQHandler 0000001A
Symbol: TIM5_IRQHandler
Definitions
At line 312 in file startup_stm32f103xe.s
Uses
At line 128 in file startup_stm32f103xe.s
At line 251 in file startup_stm32f103xe.s
TIM6_IRQHandler 0000001A
Symbol: TIM6_IRQHandler
Definitions
At line 316 in file startup_stm32f103xe.s
Uses
At line 132 in file startup_stm32f103xe.s
At line 255 in file startup_stm32f103xe.s
TIM7_IRQHandler 0000001A
Symbol: TIM7_IRQHandler
Definitions
At line 317 in file startup_stm32f103xe.s
Uses
At line 133 in file startup_stm32f103xe.s
At line 256 in file startup_stm32f103xe.s
TIM8_BRK_IRQHandler 0000001A
Symbol: TIM8_BRK_IRQHandler
Definitions
At line 305 in file startup_stm32f103xe.s
Uses
At line 121 in file startup_stm32f103xe.s
At line 244 in file startup_stm32f103xe.s
TIM8_CC_IRQHandler 0000001A
ARM Macro Assembler Page 10 Alphabetic symbol ordering
Relocatable symbols
Symbol: TIM8_CC_IRQHandler
Definitions
At line 308 in file startup_stm32f103xe.s
Uses
At line 124 in file startup_stm32f103xe.s
At line 247 in file startup_stm32f103xe.s
TIM8_TRG_COM_IRQHandler 0000001A
Symbol: TIM8_TRG_COM_IRQHandler
Definitions
At line 307 in file startup_stm32f103xe.s
Uses
At line 123 in file startup_stm32f103xe.s
At line 246 in file startup_stm32f103xe.s
TIM8_UP_IRQHandler 0000001A
Symbol: TIM8_UP_IRQHandler
Definitions
At line 306 in file startup_stm32f103xe.s
Uses
At line 122 in file startup_stm32f103xe.s
At line 245 in file startup_stm32f103xe.s
UART4_IRQHandler 0000001A
Symbol: UART4_IRQHandler
Definitions
At line 314 in file startup_stm32f103xe.s
Uses
At line 130 in file startup_stm32f103xe.s
At line 253 in file startup_stm32f103xe.s
UART5_IRQHandler 0000001A
Symbol: UART5_IRQHandler
Definitions
At line 315 in file startup_stm32f103xe.s
Uses
At line 131 in file startup_stm32f103xe.s
At line 254 in file startup_stm32f103xe.s
USART1_IRQHandler 0000001A
Symbol: USART1_IRQHandler
Definitions
At line 299 in file startup_stm32f103xe.s
Uses
At line 115 in file startup_stm32f103xe.s
At line 238 in file startup_stm32f103xe.s
USART2_IRQHandler 0000001A
Symbol: USART2_IRQHandler
Definitions
At line 300 in file startup_stm32f103xe.s
Uses
At line 116 in file startup_stm32f103xe.s
ARM Macro Assembler Page 11 Alphabetic symbol ordering
Relocatable symbols
At line 239 in file startup_stm32f103xe.s
USART3_IRQHandler 0000001A
Symbol: USART3_IRQHandler
Definitions
At line 301 in file startup_stm32f103xe.s
Uses
At line 117 in file startup_stm32f103xe.s
At line 240 in file startup_stm32f103xe.s
USBWakeUp_IRQHandler 0000001A
Symbol: USBWakeUp_IRQHandler
Definitions
At line 304 in file startup_stm32f103xe.s
Uses
At line 120 in file startup_stm32f103xe.s
At line 243 in file startup_stm32f103xe.s
USB_HP_CAN1_TX_IRQHandler 0000001A
Symbol: USB_HP_CAN1_TX_IRQHandler
Definitions
At line 281 in file startup_stm32f103xe.s
Uses
At line 97 in file startup_stm32f103xe.s
At line 220 in file startup_stm32f103xe.s
USB_LP_CAN1_RX0_IRQHandler 0000001A
Symbol: USB_LP_CAN1_RX0_IRQHandler
Definitions
At line 282 in file startup_stm32f103xe.s
Uses
At line 98 in file startup_stm32f103xe.s
At line 221 in file startup_stm32f103xe.s
UsageFault_Handler 00000010
Symbol: UsageFault_Handler
Definitions
At line 177 in file startup_stm32f103xe.s
Uses
At line 66 in file startup_stm32f103xe.s
At line 178 in file startup_stm32f103xe.s
WWDG_IRQHandler 0000001A
Symbol: WWDG_IRQHandler
Definitions
At line 262 in file startup_stm32f103xe.s
Uses
At line 78 in file startup_stm32f103xe.s
At line 201 in file startup_stm32f103xe.s
__user_initial_stackheap 0000001C
Symbol: __user_initial_stackheap
ARM Macro Assembler Page 12 Alphabetic symbol ordering
Relocatable symbols
Definitions
At line 342 in file startup_stm32f103xe.s
Uses
At line 340 in file startup_stm32f103xe.s
Comment: __user_initial_stackheap used once
73 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
Absolute symbols
Heap_Size 00000400
Symbol: Heap_Size
Definitions
At line 43 in file startup_stm32f103xe.s
Uses
At line 47 in file startup_stm32f103xe.s
At line 346 in file startup_stm32f103xe.s
Stack_Size 00000400
Symbol: Stack_Size
Definitions
At line 33 in file startup_stm32f103xe.s
Uses
At line 36 in file startup_stm32f103xe.s
At line 345 in file startup_stm32f103xe.s
__Vectors_Size 00000130
Symbol: __Vectors_Size
Definitions
At line 140 in file startup_stm32f103xe.s
Uses
At line 58 in file startup_stm32f103xe.s
Comment: __Vectors_Size used once
3 symbols
ARM Macro Assembler Page 1 Alphabetic symbol ordering
External symbols
SystemInit 00000000
Symbol: SystemInit
Definitions
At line 148 in file startup_stm32f103xe.s
Uses
At line 149 in file startup_stm32f103xe.s
Comment: SystemInit used once
__main 00000000
Symbol: __main
Definitions
At line 147 in file startup_stm32f103xe.s
Uses
At line 151 in file startup_stm32f103xe.s
Comment: __main used once
__use_two_region_memory 00000000
Symbol: __use_two_region_memory
Definitions
At line 339 in file startup_stm32f103xe.s
Uses
None
Comment: __use_two_region_memory unused
3 symbols
426 symbols in table

View File

@@ -14,13 +14,12 @@
;******************************************************************************
;* @attention
;*
;* Copyright (c) 2017 STMicroelectronics.
;* Copyright (c) 2017-2021 STMicroelectronics.
;* All rights reserved.
;*
;* This software component is licensed by ST under BSD 3-Clause license,
;* the "License"; You may not use this file except in compliance with the
;* License. You may obtain a copy of the License at:
;* opensource.org/licenses/BSD-3-Clause
;* This software is licensed under terms that can be found in the LICENSE file
;* in the root directory of this software component.
;* If no LICENSE file comes with this software, it is provided AS-IS.
;*
;******************************************************************************
@@ -353,4 +352,3 @@ __user_initial_stackheap
END
;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -117,30 +117,10 @@
<pMon>Segger\JL2CM3.dll</pMon>
</DebugOpt>
<TargetDriverDllRegistry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGUARM</Key>
<Name></Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMRTXEVENTFLAGS</Key>
<Name>-L70 -Z18 -C0 -M0 -T1</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>DLGTARM</Key>
<Name>(1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)</Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>ARMDBGFLAGS</Key>
<Name></Name>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
<Key>JL2CM3</Key>
<Name>-U60145543 -O14 -S3 -ZTIFSpeedSel3000 -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 -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>
</SetRegEntry>
<SetRegEntry>
<Number>0</Number>
@@ -150,90 +130,10 @@
<SetRegEntry>
<Number>0</Number>
<Key>ST-LINKIII-KEIL_SWO</Key>
<Name>-U52FF6D067188485535530767 -O2190 -SF268436581 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight JTAG-DP") -D00(3BA00477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8000 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512.FLM -FS08000000 -FL040000 -FP0($$Device:STM32F103RC$Flash\STM32F10x_512.FLM)</Name>
<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>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>240</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>26</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>../Core/Src/system_stm32f1xx.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\uksvep_2_2_v1\../Core/Src/system_stm32f1xx.c\240</Expression>
</Bp>
<Bp>
<Number>1</Number>
<Type>0</Type>
<LineNumber>107</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134235170</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>../Core/Src/main.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\uksvep_2_2_v1\../Core/Src/main.c\107</Expression>
</Bp>
</Breakpoint>
<WatchWindow1>
<Ww>
<count>0</count>
<WinNumber>1</WinNumber>
<ItemText>CanGo</ItemText>
</Ww>
<Ww>
<count>1</count>
<WinNumber>1</WinNumber>
<ItemText>cancell[i]</ItemText>
</Ww>
<Ww>
<count>2</count>
<WinNumber>1</WinNumber>
<ItemText>hiwdg</ItemText>
</Ww>
<Ww>
<count>3</count>
<WinNumber>1</WinNumber>
<ItemText>flag,0x0A</ItemText>
</Ww>
</WatchWindow1>
<WatchWindow2>
<Ww>
<count>0</count>
<WinNumber>2</WinNumber>
<ItemText>modbus</ItemText>
</Ww>
<Ww>
<count>1</count>
<WinNumber>2</WinNumber>
<ItemText>~precom</ItemText>
</Ww>
<Ww>
<count>2</count>
<WinNumber>2</WinNumber>
<ItemText>params[128]</ItemText>
</Ww>
</WatchWindow2>
<MemoryWindow1>
<Mm>
<WinNumber>1</WinNumber>
<SubType>0</SubType>
<ItemText>0</ItemText>
<AccSizeX>0</AccSizeX>
</Mm>
</MemoryWindow1>
<Breakpoint/>
<Tracepoint>
<THDelay>0</THDelay>
</Tracepoint>
@@ -276,37 +176,19 @@
<pszMrulep></pszMrulep>
<pSingCmdsp></pSingCmdsp>
<pMultCmdsp></pMultCmdsp>
<SystemViewers>
<Entry>
<Name>System Viewer\DBG</Name>
<WinId>35904</WinId>
</Entry>
<Entry>
<Name>System Viewer\GPIOC</Name>
<WinId>35903</WinId>
</Entry>
<Entry>
<Name>System Viewer\IWDG</Name>
<WinId>35905</WinId>
</Entry>
<Entry>
<Name>System Viewer\RCC</Name>
<WinId>35902</WinId>
</Entry>
</SystemViewers>
<DebugDescription>
<Enable>1</Enable>
<EnableFlashSeq>0</EnableFlashSeq>
<EnableLog>0</EnableLog>
<Protocol>1</Protocol>
<DbgClock>-2146358648</DbgClock>
<Protocol>2</Protocol>
<DbgClock>10000000</DbgClock>
</DebugDescription>
</TargetOption>
</Target>
<Group>
<GroupName>Application/MDK-ARM</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@@ -326,7 +208,7 @@
<Group>
<GroupName>Application/User/Core</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
@@ -337,54 +219,6 @@
<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\message.c</PathWithFileName>
<FilenameWithoutPath>message.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/main.c</PathWithFileName>
<FilenameWithoutPath>main.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
@@ -392,9 +226,9 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>7</FileNumber>
<FileNumber>3</FileNumber>
<FileType>1</FileType>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>../Core/Src/gpio.c</PathWithFileName>
@@ -404,7 +238,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>8</FileNumber>
<FileNumber>4</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -416,19 +250,19 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>9</FileNumber>
<FileNumber>5</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Core\Src\iwdg.c</PathWithFileName>
<PathWithFileName>../Core/Src/iwdg.c</PathWithFileName>
<FilenameWithoutPath>iwdg.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>10</FileNumber>
<FileNumber>6</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -440,7 +274,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>11</FileNumber>
<FileNumber>7</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -452,7 +286,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>12</FileNumber>
<FileNumber>8</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -464,7 +298,7 @@
</File>
<File>
<GroupNumber>2</GroupNumber>
<FileNumber>13</FileNumber>
<FileNumber>9</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -478,13 +312,13 @@
<Group>
<GroupName>Drivers/STM32F1xx_HAL_Driver</GroupName>
<tvExp>1</tvExp>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<cbSel>0</cbSel>
<RteFlg>0</RteFlg>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>14</FileNumber>
<FileNumber>10</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -496,7 +330,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>15</FileNumber>
<FileNumber>11</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -508,7 +342,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>16</FileNumber>
<FileNumber>12</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -520,7 +354,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>17</FileNumber>
<FileNumber>13</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -532,7 +366,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>18</FileNumber>
<FileNumber>14</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -544,7 +378,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>19</FileNumber>
<FileNumber>15</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -556,7 +390,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>20</FileNumber>
<FileNumber>16</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -568,7 +402,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>21</FileNumber>
<FileNumber>17</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -580,7 +414,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>22</FileNumber>
<FileNumber>18</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -592,7 +426,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>23</FileNumber>
<FileNumber>19</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -604,7 +438,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>24</FileNumber>
<FileNumber>20</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -616,7 +450,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>25</FileNumber>
<FileNumber>21</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -628,19 +462,19 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>26</FileNumber>
<FileNumber>22</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
<bDave2>0</bDave2>
<PathWithFileName>..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_iwdg.c</PathWithFileName>
<PathWithFileName>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_iwdg.c</PathWithFileName>
<FilenameWithoutPath>stm32f1xx_hal_iwdg.c</FilenameWithoutPath>
<RteFlg>0</RteFlg>
<bShared>0</bShared>
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>27</FileNumber>
<FileNumber>23</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -652,7 +486,7 @@
</File>
<File>
<GroupNumber>3</GroupNumber>
<FileNumber>28</FileNumber>
<FileNumber>24</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>
@@ -672,7 +506,7 @@
<RteFlg>0</RteFlg>
<File>
<GroupNumber>4</GroupNumber>
<FileNumber>29</FileNumber>
<FileNumber>25</FileNumber>
<FileType>1</FileType>
<tvExp>0</tvExp>
<tvExpOptDlg>0</tvExpOptDlg>

View File

@@ -11,7 +11,6 @@
<ToolsetNumber>0x4</ToolsetNumber>
<ToolsetName>ARM-ADS</ToolsetName>
<pArmCC>6190000::V6.19::ARMCLANG</pArmCC>
<pCCUsed>6190000::V6.19::ARMCLANG</pCCUsed>
<uAC6>1</uAC6>
<TargetOption>
<TargetCommonOption>
@@ -82,7 +81,7 @@
</BeforeMake>
<AfterMake>
<RunUserProg1>0</RunUserProg1>
<RunUserProg2>1</RunUserProg2>
<RunUserProg2>0</RunUserProg2>
<UserProg1Name></UserProg1Name>
<UserProg2Name></UserProg2Name>
<UserProg1Dos16Mode>0</UserProg1Dos16Mode>
@@ -133,13 +132,13 @@
<UseTargetDll>1</UseTargetDll>
<UseExternalTool>0</UseExternalTool>
<RunIndependent>0</RunIndependent>
<UpdateFlashBeforeDebugging>0</UpdateFlashBeforeDebugging>
<UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
<Capability>1</Capability>
<DriverSelection>4101</DriverSelection>
</Flash1>
<bUseTDR>1</bUseTDR>
<Flash2>BIN\UL2V8M.DLL</Flash2>
<Flash3>"" ()</Flash3>
<Flash3></Flash3>
<Flash4></Flash4>
<pFcarmOut></pFcarmOut>
<pFcarmGrp></pFcarmGrp>
@@ -354,7 +353,7 @@
<NoWarn>0</NoWarn>
<uSurpInc>0</uSurpInc>
<useXO>0</useXO>
<ClangAsOpt>4</ClangAsOpt>
<ClangAsOpt>1</ClangAsOpt>
<VariousControls>
<MiscControls></MiscControls>
<Define></Define>
@@ -395,26 +394,6 @@
<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>message.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\message.c</FilePath>
</File>
<File>
<FileName>main.c</FileName>
<FileType>1</FileType>
@@ -424,174 +403,21 @@
<FileName>gpio.c</FileName>
<FileType>1</FileType>
<FilePath>../Core/Src/gpio.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>
<File>
<FileName>can.c</FileName>
<FileType>1</FileType>
<FilePath>../Core/Src/can.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>
<File>
<FileName>iwdg.c</FileName>
<FileType>1</FileType>
<FilePath>..\Core\Src\iwdg.c</FilePath>
<FilePath>../Core/Src/iwdg.c</FilePath>
</File>
<File>
<FileName>tim.c</FileName>
<FileType>1</FileType>
<FilePath>../Core/Src/tim.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>
<File>
<FileName>stm32f1xx_it.c</FileName>
@@ -607,1050 +433,96 @@
<FileName>stm32f1xx_hal_timebase_tim.c</FileName>
<FileType>1</FileType>
<FilePath>../Core/Src/stm32f1xx_hal_timebase_tim.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/STM32F1xx_HAL_Driver</GroupName>
<GroupOption>
<CommonProperty>
<UseCPPCompiler>0</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>2</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>4</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>stm32f1xx_hal_gpio_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio_ex.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>
<File>
<FileName>stm32f1xx_hal_can.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_can.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>
<File>
<FileName>stm32f1xx_hal.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal.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>
<File>
<FileName>stm32f1xx_hal_rcc.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc.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>
<File>
<FileName>stm32f1xx_hal_rcc_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_rcc_ex.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>
<File>
<FileName>stm32f1xx_hal_gpio.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_gpio.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>
<File>
<FileName>stm32f1xx_hal_dma.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_dma.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>
<File>
<FileName>stm32f1xx_hal_cortex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_cortex.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>
<File>
<FileName>stm32f1xx_hal_pwr.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_pwr.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>
<File>
<FileName>stm32f1xx_hal_flash.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash.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>
<File>
<FileName>stm32f1xx_hal_flash_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_flash_ex.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>
<File>
<FileName>stm32f1xx_hal_exti.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_exti.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>
<File>
<FileName>stm32f1xx_hal_iwdg.c</FileName>
<FileType>1</FileType>
<FilePath>..\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_iwdg.c</FilePath>
<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>
<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>
<File>
<FileName>stm32f1xx_hal_tim_ex.c</FileName>
<FileType>1</FileType>
<FilePath>../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.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>
<GroupOption>
<CommonProperty>
<UseCPPCompiler>0</UseCPPCompiler>
<RVCTCodeConst>0</RVCTCodeConst>
<RVCTZI>0</RVCTZI>
<RVCTOtherData>0</RVCTOtherData>
<ModuleSelection>0</ModuleSelection>
<IncludeInBuild>2</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>4</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>system_stm32f1xx.c</FileName>
<FileType>1</FileType>
<FilePath>../Core/Src/system_stm32f1xx.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>

Binary file not shown.

View File

@@ -28,5 +28,4 @@ uksvep_2_2_v1/can.o: ..\Core\Src\can.c ..\Core\Inc\can.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 \
..\Core\Inc\gpio.h ..\Core\Inc\message.h ..\Core\Inc\struc.h
..\Drivers\STM32F1xx_HAL_Driver\Inc\stm32f1xx_hal_tim_ex.h

Binary file not shown.

Binary file not shown.

View File

@@ -1,2 +0,0 @@
uksvep_2_2_v1/crc16.o: ..\Core\Src\crc16.c ..\Core\Inc\crc16.h \
C:\Keil_v5\ARM\ARMCLANG\Bin\..\include\stdint.h

Binary file not shown.

Binary file not shown.

View File

@@ -1,37 +0,0 @@
uksvep_2_2_v1\ecan.o: ..\Core\Src\ecan.c
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
uksvep_2_2_v1\ecan.o: ../Core/Inc/stm32f1xx_hal_conf.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h
uksvep_2_2_v1\ecan.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f1xx.h
uksvep_2_2_v1\ecan.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/stm32f103xe.h
uksvep_2_2_v1\ecan.o: ../Drivers/CMSIS/Include/core_cm3.h
uksvep_2_2_v1\ecan.o: d:\Keil\ARM\ARMCC\Bin\..\include\stdint.h
uksvep_2_2_v1\ecan.o: ../Drivers/CMSIS/Include/cmsis_version.h
uksvep_2_2_v1\ecan.o: ../Drivers/CMSIS/Include/cmsis_compiler.h
uksvep_2_2_v1\ecan.o: ../Drivers/CMSIS/Include/cmsis_armcc.h
uksvep_2_2_v1\ecan.o: ../Drivers/CMSIS/Device/ST/STM32F1xx/Include/system_stm32f1xx.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h
uksvep_2_2_v1\ecan.o: d:\Keil\ARM\ARMCC\Bin\..\include\stddef.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc_ex.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_gpio_ex.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_exti.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_dma_ex.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_can.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_cortex.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_flash_ex.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h
uksvep_2_2_v1\ecan.o: ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h
uksvep_2_2_v1\ecan.o: ../Core/Inc/gpio.h
uksvep_2_2_v1\ecan.o: ../Core/Inc/main.h
uksvep_2_2_v1\ecan.o: ../Core/Inc/struc.h
uksvep_2_2_v1\ecan.o: ../Core/Inc/package.h
uksvep_2_2_v1\ecan.o: ../Core/Inc/ecan.h
uksvep_2_2_v1\ecan.o: ../Core/Inc/message.h
uksvep_2_2_v1\ecan.o: ../Core/Inc/lampa.h
uksvep_2_2_v1\ecan.o: d:\Keil\ARM\ARMCC\Bin\..\include\stdbool.h

Binary file not shown.

Binary file not shown.

View File

@@ -1,31 +0,0 @@
uksvep_2_2_v1/eeprom.o: ..\Core\Src\eeprom.c ..\Core\Inc\eeprom.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

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More