STM32F411: remove tick, trick and tim
remove mbed-hal_tick_stm32.h/.c
and mbed-stm32f4xx_hal_tim..h/.c
Also mbed-cmsis_nvic_stm32.h/.c and mbed-cmsis_stm32.h isn't needed anymore
SIZES ARM... stm32f411
FLASH : 2224 bytes 1%
RAM : 136 bytes 1%
EEPROM : 0 bytes 0%
This commit is contained in:
parent
d699644ea6
commit
3da6cc9a2c
|
|
@ -121,9 +121,6 @@ SOURCES = $(wildcard *.c)
|
||||||
ifeq ($(MCU), stm32f411)
|
ifeq ($(MCU), stm32f411)
|
||||||
SOURCES += mbed-system_stm32f4xx.c
|
SOURCES += mbed-system_stm32f4xx.c
|
||||||
SOURCES += mbed-stm32f4xx_hal_rcc.c
|
SOURCES += mbed-stm32f4xx_hal_rcc.c
|
||||||
SOURCES += mbed-stm32f4xx_hal_tim.c
|
|
||||||
SOURCES += mbed-cmsis_nvic_stm32.c
|
|
||||||
SOURCES += mbed-hal_tick_stm32.c
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Other target MCU specific adjustments:
|
# Other target MCU specific adjustments:
|
||||||
|
|
|
||||||
|
|
@ -1,55 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
#include "mbed-cmsis_nvic_stm32.h"
|
|
||||||
|
|
||||||
#define NVIC_RAM_VECTOR_ADDRESS (0x20000000) // Vectors positioned at start of RAM
|
|
||||||
#define NVIC_FLASH_VECTOR_ADDRESS (0x08000000) // Initial vector position in flash
|
|
||||||
|
|
||||||
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector) {
|
|
||||||
uint32_t *vectors = (uint32_t *)SCB->VTOR;
|
|
||||||
uint32_t i;
|
|
||||||
|
|
||||||
// Copy and switch to dynamic vectors if the first time called
|
|
||||||
if (SCB->VTOR == NVIC_FLASH_VECTOR_ADDRESS) {
|
|
||||||
uint32_t *old_vectors = vectors;
|
|
||||||
vectors = (uint32_t*)NVIC_RAM_VECTOR_ADDRESS;
|
|
||||||
for (i=0; i<NVIC_NUM_VECTORS; i++) {
|
|
||||||
vectors[i] = old_vectors[i];
|
|
||||||
}
|
|
||||||
SCB->VTOR = (uint32_t)NVIC_RAM_VECTOR_ADDRESS;
|
|
||||||
}
|
|
||||||
vectors[IRQn + NVIC_USER_IRQ_OFFSET] = vector;
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t NVIC_GetVector(IRQn_Type IRQn) {
|
|
||||||
uint32_t *vectors = (uint32_t*)SCB->VTOR;
|
|
||||||
return vectors[IRQn + NVIC_USER_IRQ_OFFSET];
|
|
||||||
}
|
|
||||||
|
|
@ -1,67 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* CMSIS-style functionality to support dynamic vectors
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
Notes for Teacup:
|
|
||||||
|
|
||||||
Copied from $(MBED)/libraries/mbed/targets/cmsis/TARGET_STM/TARGET_STM32F4/TARGET_NUCLEO_F411RE/cmsis_nvic.h.
|
|
||||||
|
|
||||||
Used only to get things running quickly. Without serial it's almost
|
|
||||||
impossible to see wether code changes work. Should go away soon, because
|
|
||||||
all this MBED stuff is too bloated for Teacup's purposes.
|
|
||||||
|
|
||||||
- Prefixed names of #include files with mbed- to match the names of the
|
|
||||||
copies in the Teacup repo.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef MBED_CMSIS_NVIC_H
|
|
||||||
#define MBED_CMSIS_NVIC_H
|
|
||||||
|
|
||||||
// STM32F411RE
|
|
||||||
// CORE: 16 vectors = 64 bytes from 0x00 to 0x3F
|
|
||||||
// MCU Peripherals: 86 vectors = 344 bytes from 0x40 to 0x197
|
|
||||||
// Total: 102 vectors = 408 bytes (0x198) to be reserved in RAM
|
|
||||||
#define NVIC_NUM_VECTORS 102
|
|
||||||
#define NVIC_USER_IRQ_OFFSET 16
|
|
||||||
|
|
||||||
#include "mbed-cmsis_stm32.h"
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void NVIC_SetVector(IRQn_Type IRQn, uint32_t vector);
|
|
||||||
uint32_t NVIC_GetVector(IRQn_Type IRQn);
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,49 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* A generic CMSIS include header
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
/*
|
|
||||||
Notes for Teacup:
|
|
||||||
|
|
||||||
Copied from $(MBED)/libraries/mbed/targets/ccmsis/TARGET_STM/TARGET_STM32F4/TARGET_NUCLEO_F411RE/cmsis.h.
|
|
||||||
|
|
||||||
Used only to get things running quickly. Without serial it's almost
|
|
||||||
impossible to see wether code changes work. Should go away soon, because
|
|
||||||
all this MBED stuff is too bloated for Teacup's purposes.
|
|
||||||
|
|
||||||
- Prefixed names of #include files with mbed- to match the names of the
|
|
||||||
copies in the Teacup repo.
|
|
||||||
*/
|
|
||||||
#ifndef MBED_CMSIS_H
|
|
||||||
#define MBED_CMSIS_H
|
|
||||||
|
|
||||||
#include "mbed-stm32f4xx.h"
|
|
||||||
#include "mbed-cmsis_nvic_stm32.h"
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,125 +0,0 @@
|
||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file hal_tick.c
|
|
||||||
* @author MCD Application Team
|
|
||||||
* @brief Initialization of HAL tick
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* <h2><center>© COPYRIGHT 2014 STMicroelectronics</center></h2>
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
* are permitted provided that the following conditions are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
#ifdef __ARM_STM32F411__
|
|
||||||
|
|
||||||
#include "mbed-hal_tick_stm32.h"
|
|
||||||
|
|
||||||
TIM_HandleTypeDef TimMasterHandle;
|
|
||||||
uint32_t PreviousVal = 0;
|
|
||||||
|
|
||||||
void us_ticker_irq_handler(void);
|
|
||||||
|
|
||||||
void timer_irq_handler(void) {
|
|
||||||
// Channel 1 for mbed timeout
|
|
||||||
if (__HAL_TIM_GET_IT_SOURCE(&TimMasterHandle, TIM_IT_CC1) == SET) {
|
|
||||||
//us_ticker_irq_handler();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Channel 2 for HAL tick
|
|
||||||
if (__HAL_TIM_GET_IT_SOURCE(&TimMasterHandle, TIM_IT_CC2) == SET) {
|
|
||||||
__HAL_TIM_CLEAR_IT(&TimMasterHandle, TIM_IT_CC2);
|
|
||||||
uint32_t val = __HAL_TIM_GET_COUNTER(&TimMasterHandle);
|
|
||||||
if ((val - PreviousVal) >= HAL_TICK_DELAY) {
|
|
||||||
// Increment HAL variable
|
|
||||||
//HAL_IncTick();
|
|
||||||
// Prepare next interrupt
|
|
||||||
__HAL_TIM_SET_COMPARE(&TimMasterHandle, TIM_CHANNEL_2, val + HAL_TICK_DELAY);
|
|
||||||
PreviousVal = val;
|
|
||||||
#if 0 // For DEBUG only
|
|
||||||
HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_6);
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reconfigure the HAL tick using a standard timer instead of systick.
|
|
||||||
HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) {
|
|
||||||
// Enable timer clock
|
|
||||||
TIM_MST_RCC;
|
|
||||||
|
|
||||||
// Reset timer
|
|
||||||
TIM_MST_RESET_ON;
|
|
||||||
TIM_MST_RESET_OFF;
|
|
||||||
|
|
||||||
// Update the SystemCoreClock variable
|
|
||||||
SystemCoreClockUpdate();
|
|
||||||
|
|
||||||
// Configure time base
|
|
||||||
TimMasterHandle.Instance = TIM_MST;
|
|
||||||
TimMasterHandle.Init.Period = 0xFFFFFFFF;
|
|
||||||
TimMasterHandle.Init.Prescaler = (uint32_t)(SystemCoreClock / 1000000) - 1; // 1 <20>s tick
|
|
||||||
TimMasterHandle.Init.ClockDivision = 0;
|
|
||||||
TimMasterHandle.Init.CounterMode = TIM_COUNTERMODE_UP;
|
|
||||||
TimMasterHandle.Init.RepetitionCounter = 0;
|
|
||||||
HAL_TIM_OC_Init(&TimMasterHandle);
|
|
||||||
|
|
||||||
NVIC_SetVector(TIM_MST_IRQ, (uint32_t)timer_irq_handler);
|
|
||||||
NVIC_EnableIRQ(TIM_MST_IRQ);
|
|
||||||
|
|
||||||
// Channel 1 for mbed timeout
|
|
||||||
HAL_TIM_OC_Start(&TimMasterHandle, TIM_CHANNEL_1);
|
|
||||||
|
|
||||||
// Channel 2 for HAL tick
|
|
||||||
HAL_TIM_OC_Start(&TimMasterHandle, TIM_CHANNEL_2);
|
|
||||||
PreviousVal = __HAL_TIM_GET_COUNTER(&TimMasterHandle);
|
|
||||||
__HAL_TIM_SET_COMPARE(&TimMasterHandle, TIM_CHANNEL_2, PreviousVal + HAL_TICK_DELAY);
|
|
||||||
__HAL_TIM_ENABLE_IT(&TimMasterHandle, TIM_IT_CC2);
|
|
||||||
|
|
||||||
#if 0 // For DEBUG only
|
|
||||||
__GPIOB_CLK_ENABLE();
|
|
||||||
GPIO_InitTypeDef GPIO_InitStruct;
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_6;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_PULLUP;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FAST;
|
|
||||||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return HAL_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @}
|
|
||||||
*/
|
|
||||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
|
||||||
#endif
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
/**
|
|
||||||
******************************************************************************
|
|
||||||
* @file hal_tick.h
|
|
||||||
* @author MCD Application Team
|
|
||||||
* @brief Initialization of HAL tick
|
|
||||||
******************************************************************************
|
|
||||||
* @attention
|
|
||||||
*
|
|
||||||
* <h2><center>© COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without modification,
|
|
||||||
* are permitted provided that the following conditions are met:
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*
|
|
||||||
******************************************************************************
|
|
||||||
*/
|
|
||||||
#ifndef __HAL_TICK_H
|
|
||||||
#define __HAL_TICK_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "mbed-stm32f4xx.h"
|
|
||||||
#include "mbed-cmsis_nvic_stm32.h"
|
|
||||||
|
|
||||||
#define TIM_MST TIM5
|
|
||||||
#define TIM_MST_IRQ TIM5_IRQn
|
|
||||||
#define TIM_MST_RCC __HAL_RCC_TIM5_CLK_ENABLE()
|
|
||||||
|
|
||||||
#define TIM_MST_RESET_ON __HAL_RCC_TIM5_FORCE_RESET()
|
|
||||||
#define TIM_MST_RESET_OFF __HAL_RCC_TIM5_RELEASE_RESET()
|
|
||||||
|
|
||||||
#define HAL_TICK_DELAY (1000) // 1 ms
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // __HAL_TICK_H
|
|
||||||
|
|
||||||
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
|
|
||||||
|
|
@ -79,7 +79,7 @@
|
||||||
/* #define HAL_SAI_MODULE_ENABLED */
|
/* #define HAL_SAI_MODULE_ENABLED */
|
||||||
//#define HAL_SD_MODULE_ENABLED
|
//#define HAL_SD_MODULE_ENABLED
|
||||||
//#define HAL_SPI_MODULE_ENABLED
|
//#define HAL_SPI_MODULE_ENABLED
|
||||||
#define HAL_TIM_MODULE_ENABLED
|
//#define HAL_TIM_MODULE_ENABLED
|
||||||
//#define HAL_UART_MODULE_ENABLED
|
//#define HAL_UART_MODULE_ENABLED
|
||||||
//#define HAL_USART_MODULE_ENABLED
|
//#define HAL_USART_MODULE_ENABLED
|
||||||
//#define HAL_IRDA_MODULE_ENABLED
|
//#define HAL_IRDA_MODULE_ENABLED
|
||||||
|
|
|
||||||
|
|
@ -59,154 +59,7 @@ typedef enum
|
||||||
HAL_TIMEOUT = 0x03
|
HAL_TIMEOUT = 0x03
|
||||||
} HAL_StatusTypeDef;
|
} HAL_StatusTypeDef;
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief HAL Lock structures definition
|
|
||||||
*/
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
HAL_UNLOCKED = 0x00,
|
|
||||||
HAL_LOCKED = 0x01
|
|
||||||
} HAL_LockTypeDef;
|
|
||||||
|
|
||||||
/*
|
|
||||||
Old mbed-stm32f4xx_hal_gpio.h
|
|
||||||
**/
|
|
||||||
/**
|
|
||||||
* @brief GPIO Init structure definition
|
|
||||||
*/
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
uint32_t Pin; /*!< Specifies the GPIO pins to be configured.
|
|
||||||
This parameter can be any value of @ref GPIO_pins_define */
|
|
||||||
|
|
||||||
uint32_t Mode; /*!< Specifies the operating mode for the selected pins.
|
|
||||||
This parameter can be a value of @ref GPIO_mode_define */
|
|
||||||
|
|
||||||
uint32_t Pull; /*!< Specifies the Pull-up or Pull-Down activation for the selected pins.
|
|
||||||
This parameter can be a value of @ref GPIO_pull_define */
|
|
||||||
|
|
||||||
uint32_t Speed; /*!< Specifies the speed for the selected pins.
|
|
||||||
This parameter can be a value of @ref GPIO_speed_define */
|
|
||||||
|
|
||||||
uint32_t Alternate; /*!< Peripheral to be connected to the selected pins.
|
|
||||||
This parameter can be a value of @ref GPIO_Alternate_function_selection */
|
|
||||||
}GPIO_InitTypeDef;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief GPIO Bit SET and Bit RESET enumeration
|
|
||||||
*/
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
GPIO_PIN_RESET = 0,
|
|
||||||
GPIO_PIN_SET
|
|
||||||
}GPIO_PinState;
|
|
||||||
/* End gpio */
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
Old mbed-stm32f4xx_hal_dma.h
|
|
||||||
**/
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
uint32_t Channel; /*!< Specifies the channel used for the specified stream.
|
|
||||||
This parameter can be a value of @ref DMA_Channel_selection */
|
|
||||||
|
|
||||||
uint32_t Direction; /*!< Specifies if the data will be transferred from memory to peripheral,
|
|
||||||
from memory to memory or from peripheral to memory.
|
|
||||||
This parameter can be a value of @ref DMA_Data_transfer_direction */
|
|
||||||
|
|
||||||
uint32_t PeriphInc; /*!< Specifies whether the Peripheral address register should be incremented or not.
|
|
||||||
This parameter can be a value of @ref DMA_Peripheral_incremented_mode */
|
|
||||||
|
|
||||||
uint32_t MemInc; /*!< Specifies whether the memory address register should be incremented or not.
|
|
||||||
This parameter can be a value of @ref DMA_Memory_incremented_mode */
|
|
||||||
|
|
||||||
uint32_t PeriphDataAlignment; /*!< Specifies the Peripheral data width.
|
|
||||||
This parameter can be a value of @ref DMA_Peripheral_data_size */
|
|
||||||
|
|
||||||
uint32_t MemDataAlignment; /*!< Specifies the Memory data width.
|
|
||||||
This parameter can be a value of @ref DMA_Memory_data_size */
|
|
||||||
|
|
||||||
uint32_t Mode; /*!< Specifies the operation mode of the DMAy Streamx.
|
|
||||||
This parameter can be a value of @ref DMA_mode
|
|
||||||
@note The circular buffer mode cannot be used if the memory-to-memory
|
|
||||||
data transfer is configured on the selected Stream */
|
|
||||||
|
|
||||||
uint32_t Priority; /*!< Specifies the software priority for the DMAy Streamx.
|
|
||||||
This parameter can be a value of @ref DMA_Priority_level */
|
|
||||||
|
|
||||||
uint32_t FIFOMode; /*!< Specifies if the FIFO mode or Direct mode will be used for the specified stream.
|
|
||||||
This parameter can be a value of @ref DMA_FIFO_direct_mode
|
|
||||||
@note The Direct mode (FIFO mode disabled) cannot be used if the
|
|
||||||
memory-to-memory data transfer is configured on the selected stream */
|
|
||||||
|
|
||||||
uint32_t FIFOThreshold; /*!< Specifies the FIFO threshold level.
|
|
||||||
This parameter can be a value of @ref DMA_FIFO_threshold_level */
|
|
||||||
|
|
||||||
uint32_t MemBurst; /*!< Specifies the Burst transfer configuration for the memory transfers.
|
|
||||||
It specifies the amount of data to be transferred in a single non interruptible
|
|
||||||
transaction.
|
|
||||||
This parameter can be a value of @ref DMA_Memory_burst
|
|
||||||
@note The burst mode is possible only if the address Increment mode is enabled. */
|
|
||||||
|
|
||||||
uint32_t PeriphBurst; /*!< Specifies the Burst transfer configuration for the peripheral transfers.
|
|
||||||
It specifies the amount of data to be transferred in a single non interruptable
|
|
||||||
transaction.
|
|
||||||
This parameter can be a value of @ref DMA_Peripheral_burst
|
|
||||||
@note The burst mode is possible only if the address Increment mode is enabled. */
|
|
||||||
}DMA_InitTypeDef;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief HAL DMA State structures definition
|
|
||||||
*/
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
HAL_DMA_STATE_RESET = 0x00, /*!< DMA not yet initialized or disabled */
|
|
||||||
HAL_DMA_STATE_READY = 0x01, /*!< DMA initialized and ready for use */
|
|
||||||
HAL_DMA_STATE_READY_MEM0 = 0x11, /*!< DMA Mem0 process success */
|
|
||||||
HAL_DMA_STATE_READY_MEM1 = 0x21, /*!< DMA Mem1 process success */
|
|
||||||
HAL_DMA_STATE_READY_HALF_MEM0 = 0x31, /*!< DMA Mem0 Half process success */
|
|
||||||
HAL_DMA_STATE_READY_HALF_MEM1 = 0x41, /*!< DMA Mem1 Half process success */
|
|
||||||
HAL_DMA_STATE_BUSY = 0x02, /*!< DMA process is ongoing */
|
|
||||||
HAL_DMA_STATE_BUSY_MEM0 = 0x12, /*!< DMA Mem0 process is ongoing */
|
|
||||||
HAL_DMA_STATE_BUSY_MEM1 = 0x22, /*!< DMA Mem1 process is ongoing */
|
|
||||||
HAL_DMA_STATE_TIMEOUT = 0x03, /*!< DMA timeout state */
|
|
||||||
HAL_DMA_STATE_ERROR = 0x04, /*!< DMA error state */
|
|
||||||
}HAL_DMA_StateTypeDef;
|
|
||||||
|
|
||||||
/* Exported functions --------------------------------------------------------*/
|
|
||||||
/** @addtogroup UART_Exported_Functions
|
|
||||||
* @{
|
|
||||||
*/
|
|
||||||
typedef struct __DMA_HandleTypeDef
|
|
||||||
{
|
|
||||||
DMA_Stream_TypeDef *Instance; /*!< Register base address */
|
|
||||||
|
|
||||||
DMA_InitTypeDef Init; /*!< DMA communication parameters */
|
|
||||||
|
|
||||||
HAL_LockTypeDef Lock; /*!< DMA locking object */
|
|
||||||
|
|
||||||
__IO HAL_DMA_StateTypeDef State; /*!< DMA transfer state */
|
|
||||||
|
|
||||||
void *Parent; /*!< Parent object state */
|
|
||||||
|
|
||||||
void (* XferCpltCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA transfer complete callback */
|
|
||||||
|
|
||||||
void (* XferHalfCpltCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA Half transfer complete callback */
|
|
||||||
|
|
||||||
void (* XferM1CpltCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA transfer complete Memory1 callback */
|
|
||||||
|
|
||||||
void (* XferErrorCallback)( struct __DMA_HandleTypeDef * hdma); /*!< DMA transfer error callback */
|
|
||||||
|
|
||||||
__IO uint32_t ErrorCode; /*!< DMA Error code */
|
|
||||||
}DMA_HandleTypeDef;
|
|
||||||
|
|
||||||
HAL_StatusTypeDef HAL_DMA_Start (DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength);
|
|
||||||
HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength);
|
|
||||||
HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma);
|
|
||||||
HAL_StatusTypeDef HAL_DMA_PollForTransfer(DMA_HandleTypeDef *hdma, uint32_t CompleteLevel, uint32_t Timeout);
|
|
||||||
/* End of old dma */
|
|
||||||
|
|
||||||
/* Exported types ------------------------------------------------------------*/
|
/* Exported types ------------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue