A1210/Drivers/CMSIS/Include/cmsis_compiler.h

267 lines
8.5 KiB
C
Raw Permalink Normal View History

new file: .cproject new file: .gitignore new file: .mxproject new file: .project new file: .settings/com.atollic.truestudio.debug.hardware_device.prefs new file: .settings/language.settings.xml new file: .settings/org.eclipse.cdt.managedbuilder.core.prefs new file: A1210.elf.launch new file: A1210.ioc new file: Core/Inc/OLED_Fonts.h new file: Core/Inc/adc.h new file: Core/Inc/dma.h new file: Core/Inc/flash.h new file: Core/Inc/gpio.h new file: Core/Inc/main.h new file: Core/Inc/modbus.h new file: Core/Inc/my.h new file: Core/Inc/spi.h new file: Core/Inc/ssd1306.h new file: Core/Inc/ssd1306_conf.h new file: Core/Inc/ssd1306_fonts.h new file: Core/Inc/stm32f4xx_hal_conf.h new file: Core/Inc/stm32f4xx_it.h new file: Core/Inc/struct.h new file: Core/Inc/tim.h new file: Core/Inc/usart.h new file: Core/Src/OLED_Fonst.c new file: Core/Src/adc.c new file: Core/Src/dma.c new file: Core/Src/flash.c new file: Core/Src/gpio.c new file: Core/Src/main.c new file: Core/Src/spi.c new file: Core/Src/ssd1306.c new file: Core/Src/ssd1306_fonts.c new file: Core/Src/stm32f4xx_hal_msp.c new file: Core/Src/stm32f4xx_it.c new file: Core/Src/syscalls.c new file: Core/Src/system_stm32f4xx.c new file: Core/Src/tim.c new file: Core/Src/usart.c new file: Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f446xx.h new file: Drivers/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h new file: Drivers/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h new file: Drivers/CMSIS/Include/cmsis_armcc.h new file: Drivers/CMSIS/Include/cmsis_armclang.h new file: Drivers/CMSIS/Include/cmsis_compiler.h new file: Drivers/CMSIS/Include/cmsis_gcc.h new file: Drivers/CMSIS/Include/cmsis_iccarm.h new file: Drivers/CMSIS/Include/cmsis_version.h new file: Drivers/CMSIS/Include/core_armv8mbl.h new file: Drivers/CMSIS/Include/core_armv8mml.h new file: Drivers/CMSIS/Include/core_cm0.h new file: Drivers/CMSIS/Include/core_cm0plus.h new file: Drivers/CMSIS/Include/core_cm1.h new file: Drivers/CMSIS/Include/core_cm23.h new file: Drivers/CMSIS/Include/core_cm3.h new file: Drivers/CMSIS/Include/core_cm33.h new file: Drivers/CMSIS/Include/core_cm4.h new file: Drivers/CMSIS/Include/core_cm7.h new file: Drivers/CMSIS/Include/core_sc000.h new file: Drivers/CMSIS/Include/core_sc300.h new file: Drivers/CMSIS/Include/mpu_armv7.h new file: Drivers/CMSIS/Include/mpu_armv8.h new file: Drivers/CMSIS/Include/tz_context.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_adc_ex.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_cortex.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_def.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_dma_ex.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_exti.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ex.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_flash_ramfunc.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_gpio_ex.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_pwr_ex.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_rcc_ex.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_spi.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_tim_ex.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal_uart.h new file: Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_ll_adc.h new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_adc_ex.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_dma_ex.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_exti.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ex.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_flash_ramfunc.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_gpio.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_rcc_ex.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_spi.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_uart.c new file: Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_adc.c new file: STM32F446RE_FLASH.ld new file: startup/startup_stm32f446xx.s
2023-09-25 13:12:41 +03:00
/**************************************************************************//**
* @file cmsis_compiler.h
* @brief CMSIS compiler generic header file
* @version V5.0.4
* @date 10. January 2018
******************************************************************************/
/*
* Copyright (c) 2009-2018 Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the License); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef __CMSIS_COMPILER_H
#define __CMSIS_COMPILER_H
#include <stdint.h>
/*
* Arm Compiler 4/5
*/
#if defined ( __CC_ARM )
#include "cmsis_armcc.h"
/*
* Arm Compiler 6 (armclang)
*/
#elif defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
#include "cmsis_armclang.h"
/*
* GNU Compiler
*/
#elif defined ( __GNUC__ )
#include "cmsis_gcc.h"
/*
* IAR Compiler
*/
#elif defined ( __ICCARM__ )
#include <cmsis_iccarm.h>
/*
* TI Arm Compiler
*/
#elif defined ( __TI_ARM__ )
#include <cmsis_ccs.h>
#ifndef __ASM
#define __ASM __asm
#endif
#ifndef __INLINE
#define __INLINE inline
#endif
#ifndef __STATIC_INLINE
#define __STATIC_INLINE static inline
#endif
#ifndef __STATIC_FORCEINLINE
#define __STATIC_FORCEINLINE __STATIC_INLINE
#endif
#ifndef __NO_RETURN
#define __NO_RETURN __attribute__((noreturn))
#endif
#ifndef __USED
#define __USED __attribute__((used))
#endif
#ifndef __WEAK
#define __WEAK __attribute__((weak))
#endif
#ifndef __PACKED
#define __PACKED __attribute__((packed))
#endif
#ifndef __PACKED_STRUCT
#define __PACKED_STRUCT struct __attribute__((packed))
#endif
#ifndef __PACKED_UNION
#define __PACKED_UNION union __attribute__((packed))
#endif
#ifndef __UNALIGNED_UINT32 /* deprecated */
struct __attribute__((packed)) T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
#endif
#ifndef __UNALIGNED_UINT16_WRITE
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void*)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT16_READ
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
#endif
#ifndef __UNALIGNED_UINT32_WRITE
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT32_READ
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
#endif
#ifndef __ALIGNED
#define __ALIGNED(x) __attribute__((aligned(x)))
#endif
#ifndef __RESTRICT
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
#define __RESTRICT
#endif
/*
* TASKING Compiler
*/
#elif defined ( __TASKING__ )
/*
* The CMSIS functions have been implemented as intrinsics in the compiler.
* Please use "carm -?i" to get an up to date list of all intrinsics,
* Including the CMSIS ones.
*/
#ifndef __ASM
#define __ASM __asm
#endif
#ifndef __INLINE
#define __INLINE inline
#endif
#ifndef __STATIC_INLINE
#define __STATIC_INLINE static inline
#endif
#ifndef __STATIC_FORCEINLINE
#define __STATIC_FORCEINLINE __STATIC_INLINE
#endif
#ifndef __NO_RETURN
#define __NO_RETURN __attribute__((noreturn))
#endif
#ifndef __USED
#define __USED __attribute__((used))
#endif
#ifndef __WEAK
#define __WEAK __attribute__((weak))
#endif
#ifndef __PACKED
#define __PACKED __packed__
#endif
#ifndef __PACKED_STRUCT
#define __PACKED_STRUCT struct __packed__
#endif
#ifndef __PACKED_UNION
#define __PACKED_UNION union __packed__
#endif
#ifndef __UNALIGNED_UINT32 /* deprecated */
struct __packed__ T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
#endif
#ifndef __UNALIGNED_UINT16_WRITE
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT16_READ
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
#endif
#ifndef __UNALIGNED_UINT32_WRITE
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT32_READ
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
#endif
#ifndef __ALIGNED
#define __ALIGNED(x) __align(x)
#endif
#ifndef __RESTRICT
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
#define __RESTRICT
#endif
/*
* COSMIC Compiler
*/
#elif defined ( __CSMC__ )
#include <cmsis_csm.h>
#ifndef __ASM
#define __ASM _asm
#endif
#ifndef __INLINE
#define __INLINE inline
#endif
#ifndef __STATIC_INLINE
#define __STATIC_INLINE static inline
#endif
#ifndef __STATIC_FORCEINLINE
#define __STATIC_FORCEINLINE __STATIC_INLINE
#endif
#ifndef __NO_RETURN
// NO RETURN is automatically detected hence no warning here
#define __NO_RETURN
#endif
#ifndef __USED
#warning No compiler specific solution for __USED. __USED is ignored.
#define __USED
#endif
#ifndef __WEAK
#define __WEAK __weak
#endif
#ifndef __PACKED
#define __PACKED @packed
#endif
#ifndef __PACKED_STRUCT
#define __PACKED_STRUCT @packed struct
#endif
#ifndef __PACKED_UNION
#define __PACKED_UNION @packed union
#endif
#ifndef __UNALIGNED_UINT32 /* deprecated */
@packed struct T_UINT32 { uint32_t v; };
#define __UNALIGNED_UINT32(x) (((struct T_UINT32 *)(x))->v)
#endif
#ifndef __UNALIGNED_UINT16_WRITE
__PACKED_STRUCT T_UINT16_WRITE { uint16_t v; };
#define __UNALIGNED_UINT16_WRITE(addr, val) (void)((((struct T_UINT16_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT16_READ
__PACKED_STRUCT T_UINT16_READ { uint16_t v; };
#define __UNALIGNED_UINT16_READ(addr) (((const struct T_UINT16_READ *)(const void *)(addr))->v)
#endif
#ifndef __UNALIGNED_UINT32_WRITE
__PACKED_STRUCT T_UINT32_WRITE { uint32_t v; };
#define __UNALIGNED_UINT32_WRITE(addr, val) (void)((((struct T_UINT32_WRITE *)(void *)(addr))->v) = (val))
#endif
#ifndef __UNALIGNED_UINT32_READ
__PACKED_STRUCT T_UINT32_READ { uint32_t v; };
#define __UNALIGNED_UINT32_READ(addr) (((const struct T_UINT32_READ *)(const void *)(addr))->v)
#endif
#ifndef __ALIGNED
#warning No compiler specific solution for __ALIGNED. __ALIGNED is ignored.
#define __ALIGNED(x)
#endif
#ifndef __RESTRICT
#warning No compiler specific solution for __RESTRICT. __RESTRICT is ignored.
#define __RESTRICT
#endif
#else
#error Unknown compiler.
#endif
#endif /* __CMSIS_COMPILER_H */