APM:Libraries
Classes | Macros | Typedefs | Functions | Variables
hal_types.h File Reference
#include <stm32f4xx.h>
#include <stdint.h>
#include <stdbool.h>
#include "stm32.h"
#include "util.h"
#include "../../Config.h"
Include dependency graph for hal_types.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  Revo_Hal_Handler
 

Macros

#define __attr_flash   __attribute__((section (".USER_FLASH")))
 
#define __packed   __attribute__((__packed__))
 
#define NAKED   __attribute__((__naked__))
 
#define __io   volatile
 
#define __deprecated   __attribute__((__deprecated__))
 
#define __weak   __attribute__((weak))
 
#define __always_inline   inline __attribute__((always_inline))
 
#define __unused   __attribute__((unused))
 
#define NULL   0
 
#define nADC   0xFF
 
#define __FLASH__   __attr_flash
 
#define INLINE   __attribute__ ((always_inline)) inline
 
#define WEAK   __attribute__((weak))
 
#define IN_CCM   __attribute__((section(".ccm")))
 
#define ADDRESS_IN_RAM(a)   ((uint32_t)(a) >= SRAM1_BASE && (uint32_t)(a) < (uint32_t)(STM32_SRAM_END) )
 
#define ADDRESS_IN_CCM(a)   ((uint32_t)(a) >= CCMDATARAM_BASE && (uint32_t)(a) < (uint32_t)(STM32_CCM_END) )
 
#define ADDRESS_IN_FLASH(a)   ((a)>FLASH_BASE && (a)<CCMDATARAM_BASE)
 

Typedefs

typedef void(* voidFuncPtr) (void)
 
typedef void(* revo_isr_handler) (uint32_t arg)
 
typedef uint64_t Handler
 
typedef union Revo_Hal_Handler Revo_hal_handler
 

Functions

void revo_call_handler (uint64_t hh, uint32_t arg)
 
void systemInit (uint8_t oc)
 Setup the microcontroller system Initialize the Embedded Flash Interface, the PLL and update the SystemFrequency variable. More...
 
uint32_t hal_micros ()
 

Variables

uint32_t SystemCoreClock
 

Macro Definition Documentation

◆ __always_inline

#define __always_inline   inline __attribute__((always_inline))

Definition at line 52 of file hal_types.h.

◆ __attr_flash

#define __attr_flash   __attribute__((section (".USER_FLASH")))

Definition at line 41 of file hal_types.h.

◆ __deprecated

#define __deprecated   __attribute__((__deprecated__))

Definition at line 49 of file hal_types.h.

◆ __FLASH__

#define __FLASH__   __attr_flash

Variable attribute, instructs the linker to place the marked variable in Flash instead of RAM.

Definition at line 76 of file hal_types.h.

◆ __io

#define __io   volatile

Definition at line 48 of file hal_types.h.

◆ __packed

#define __packed   __attribute__((__packed__))

Definition at line 43 of file hal_types.h.

Referenced by USB_OTG_ReadPacket(), and USB_OTG_WritePacket().

◆ __unused

#define __unused   __attribute__((unused))

Definition at line 55 of file hal_types.h.

◆ __weak

#define __weak   __attribute__((weak))

Definition at line 50 of file hal_types.h.

◆ ADDRESS_IN_CCM

#define ADDRESS_IN_CCM (   a)    ((uint32_t)(a) >= CCMDATARAM_BASE && (uint32_t)(a) < (uint32_t)(STM32_CCM_END) )

Definition at line 92 of file hal_types.h.

Referenced by F4Light::Scheduler::check_stack().

◆ ADDRESS_IN_FLASH

#define ADDRESS_IN_FLASH (   a)    ((a)>FLASH_BASE && (a)<CCMDATARAM_BASE)

Definition at line 93 of file hal_types.h.

Referenced by revo_call_handler().

◆ ADDRESS_IN_RAM

#define ADDRESS_IN_RAM (   a)    ((uint32_t)(a) >= SRAM1_BASE && (uint32_t)(a) < (uint32_t)(STM32_SRAM_END) )

◆ IN_CCM

#define IN_CCM   __attribute__((section(".ccm")))

Definition at line 84 of file hal_types.h.

◆ INLINE

#define INLINE   __attribute__ ((always_inline)) inline

Definition at line 79 of file hal_types.h.

◆ nADC

#define nADC   0xFF

Invalid stm32_pin_info adc_channel value.

See also
stm32_pin_info

Definition at line 70 of file hal_types.h.

◆ NAKED

#define NAKED   __attribute__((__naked__))

Definition at line 46 of file hal_types.h.

◆ NULL

#define NULL   0

Definition at line 59 of file hal_types.h.

Referenced by __attribute__(), __wrap_freopen(), F4Light::Scheduler::_delay_microseconds_boost(), F4Light::GPIO::_pinMode(), F4Light::Scheduler::_register_timer_process(), _sbrk_ccm(), _sbrk_ram(), F4Light::Scheduler::_start_task(), F4Light::AnalogIn::_timer_event(), ChibiOS::SoftSigReader::attach_capture_timer(), F4Light::GPIO::channel(), close(), F4Light::SPIDevice::dev_to_spi_pins(), F4Light::UARTDriver::disable(), F4Light::SPIDevice::dma_isr(), F4Light::SPIDevice::do_transfer(), fatfs_getc(), fatfs_putc(), fatfs_to_fileno(), fgetc(), fgets(), fileno(), fileno_to_fatfs(), fileno_to_stream(), F4Light::I2CDevice::finish_transfer(), SITL::FlightAxis::FlightAxis(), free(), free_file_descriptor(), ChibiOS::Util::free_type(), fsync(), ftell(), ftruncate(), F4Light::Scheduler::get_current_task(), F4Light::Scheduler::get_next_task(), F4Light::SPIDevice::get_semaphore(), getcwd(), gpio_by_pin_num(), AP_LeakDetector::init(), ChibiOS::AnalogIn::init(), F4Light::I2CDevice::init(), is_usb_connected(), F4Light::SPIDevice::isr_transfer_finish(), HAL_F4Light::lateInit(), lseek(), main(), malloc(), malloc_ccm(), F4Light::Util::malloc_type(), mem_available(), new_file_descriptor(), open(), opendir(), perror(), AP_LeakDetector_Analog::read(), read(), readdir(), ChibiOS::DeviceBus::register_periodic_callback(), F4Light::Scheduler::resume_boost(), F4Light::Scheduler::Scheduler(), sdcard_init(), GCS::send_statustext(), F4Light::AnalogSource::setup_read(), HAL_Linux::setup_signal_handlers(), F4Light::SPIDevice::spi_isr(), DataFlash_Revo::spi_write(), F4Light::SPIDevice::SPIDevice(), srxl_decode(), F4Light::Scheduler::start_stats_task(), F4Light::Semaphore::svc_give(), sync(), syncfs(), ChibiOS::UARTDriver::thread_init(), F4Light::SPIDevice::transfer(), F4Light::SPIDevice::transfer_fullduplex(), DataFlash_Class::unit_name(), F4Light::Scheduler::unregister_timer_task(), AP_LeakDetector::update(), usb_configure(), usb_ioctl(), usb_setParams(), usbd_cdc_Setup(), USBD_CtlReceiveStatus(), USBD_CtlSendStatus(), USBD_DataInStage(), USBD_DataOutStage(), USBD_GetLen(), USBD_GetString(), vasprintf(), F4Light::SPIDevice::wait_for(), write(), and F4Light::I2CDevice::~I2CDevice().

◆ WEAK

#define WEAK   __attribute__((weak))

Definition at line 81 of file hal_types.h.

Typedef Documentation

◆ Handler

typedef uint64_t Handler

Definition at line 19 of file hal_types.h.

◆ Revo_hal_handler

◆ revo_isr_handler

typedef void(* revo_isr_handler) (uint32_t arg)

Definition at line 17 of file hal_types.h.

◆ voidFuncPtr

typedef void(* voidFuncPtr) (void)

Definition at line 16 of file hal_types.h.

Function Documentation

◆ hal_micros()

uint32_t hal_micros ( )

Definition at line 1434 of file Scheduler.cpp.

◆ revo_call_handler()

void revo_call_handler ( uint64_t  hh,
uint32_t  arg 
)

Definition at line 1420 of file Scheduler.cpp.