STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
main.c File Reference

: Main program body More...

#include "main.h"
#include "FreeRTOS.h"
#include "cmsis_os2.h"
#include "usb_device.h"
#include "board.h"
#include "bringup_task.h"
#include "usbd_cdc_if.h"
Include dependency graph for main.c:

Go to the source code of this file.

Functions

void SystemClock_Config (void)
 System Clock Configuration.
static void MPU_Config (void)
static void MX_GPIO_Init (void)
 GPIO Initialization Function.
static void MX_ADC1_Init (void)
 ADC1 Initialization Function.
static void MX_SPI1_Init (void)
 SPI1 Initialization Function.
static void MX_SPI2_Init (void)
 SPI2 Initialization Function.
static void MX_SPI3_Init (void)
 SPI3 Initialization Function.
static void MX_SPI4_Init (void)
 SPI4 Initialization Function.
static void MX_TIM2_Init (void)
 TIM2 Initialization Function.
static void MX_TIM3_Init (void)
 TIM3 Initialization Function.
static void MX_UART9_Init (void)
 UART9 Initialization Function.
static void MX_I2C4_Init (void)
 I2C4 Initialization Function.
static void MX_TIM1_Init (void)
 TIM1 Initialization Function.
static void MX_RTC_Init (void)
 RTC Initialization Function.
void StartDefaultTask (void *argument)
 Function implementing the defaultTask thread.
int main (void)
 The application entry point.
void MX_SDMMC1_MMC_Init (void)
 SDMMC1 Initialization Function.
void HAL_TIM_PeriodElapsedCallback (TIM_HandleTypeDef *htim)
 Period elapsed callback in non blocking mode.
void Error_Handler (void)
 This function is executed in case of error occurrence.

Variables

ADC_HandleTypeDef hadc1
I2C_HandleTypeDef hi2c4
RTC_HandleTypeDef hrtc
MMC_HandleTypeDef hmmc1
SPI_HandleTypeDef hspi1
SPI_HandleTypeDef hspi2
SPI_HandleTypeDef hspi3
SPI_HandleTypeDef hspi4
TIM_HandleTypeDef htim1
TIM_HandleTypeDef htim2
TIM_HandleTypeDef htim3
UART_HandleTypeDef huart9
osThreadId_t defaultTaskHandle
const osThreadAttr_t defaultTask_attributes

Detailed Description

: Main program body

Attention

Copyright (c) 2026 STMicroelectronics. All rights reserved.

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.

Definition in file main.c.

Function Documentation

◆ Error_Handler()

◆ main()

◆ MPU_Config()

void MPU_Config ( void )
static

Initializes and configures the Region and the memory to be protected

Definition at line 1092 of file main.c.

Referenced by main().

◆ MX_ADC1_Init()

◆ MX_GPIO_Init()

◆ MX_I2C4_Init()

void MX_I2C4_Init ( void )
static

I2C4 Initialization Function.

Parameters
None
Return values
None

Configure Analogue filter

Configure Digital filter

Definition at line 335 of file main.c.

References Error_Handler(), HAL_I2C_Init(), HAL_I2CEx_ConfigAnalogFilter(), HAL_I2CEx_ConfigDigitalFilter(), HAL_OK, hi2c4, I2C4, I2C_ADDRESSINGMODE_7BIT, I2C_ANALOGFILTER_ENABLE, I2C_DUALADDRESS_DISABLE, I2C_GENERALCALL_DISABLE, I2C_NOSTRETCH_DISABLE, and I2C_OA2_NOMASK.

Referenced by main().

◆ MX_RTC_Init()

◆ MX_SDMMC1_MMC_Init()

void MX_SDMMC1_MMC_Init ( void )

SDMMC1 Initialization Function.

Parameters
None
Return values
None

Definition at line 456 of file main.c.

References Error_Handler(), HAL_OK, hmmc1, and SDMMC1.

Referenced by emmc_identify().

◆ MX_SPI1_Init()

◆ MX_SPI2_Init()

◆ MX_SPI3_Init()

◆ MX_SPI4_Init()

◆ MX_TIM1_Init()

void MX_TIM1_Init ( void )
static

TIM1 Initialization Function.

Parameters
None
Return values
None

Definition at line 679 of file main.c.

References TIM_BreakDeadTimeConfigTypeDef::AutomaticOutput, TIM_BreakDeadTimeConfigTypeDef::Break2Filter, TIM_BreakDeadTimeConfigTypeDef::Break2Polarity, TIM_BreakDeadTimeConfigTypeDef::Break2State, TIM_BreakDeadTimeConfigTypeDef::BreakFilter, TIM_BreakDeadTimeConfigTypeDef::BreakPolarity, TIM_BreakDeadTimeConfigTypeDef::BreakState, TIM_BreakDeadTimeConfigTypeDef::DeadTime, Error_Handler(), HAL_OK, HAL_TIM_MspPostInit(), HAL_TIM_PWM_ConfigChannel(), HAL_TIM_PWM_Init(), HAL_TIMEx_ConfigBreakDeadTime(), HAL_TIMEx_MasterConfigSynchronization(), htim1, TIM_BreakDeadTimeConfigTypeDef::LockLevel, TIM_MasterConfigTypeDef::MasterOutputTrigger, TIM_MasterConfigTypeDef::MasterOutputTrigger2, TIM_MasterConfigTypeDef::MasterSlaveMode, TIM_OC_InitTypeDef::OCFastMode, TIM_OC_InitTypeDef::OCIdleState, TIM_OC_InitTypeDef::OCMode, TIM_OC_InitTypeDef::OCNIdleState, TIM_OC_InitTypeDef::OCNPolarity, TIM_OC_InitTypeDef::OCPolarity, TIM_BreakDeadTimeConfigTypeDef::OffStateIDLEMode, TIM_BreakDeadTimeConfigTypeDef::OffStateRunMode, TIM_OC_InitTypeDef::Pulse, TIM1, TIM_AUTOMATICOUTPUT_DISABLE, TIM_AUTORELOAD_PRELOAD_DISABLE, TIM_BREAK2_DISABLE, TIM_BREAK2POLARITY_HIGH, TIM_BREAK_DISABLE, TIM_BREAKPOLARITY_HIGH, TIM_CHANNEL_2, TIM_CLOCKDIVISION_DIV1, TIM_COUNTERMODE_UP, TIM_LOCKLEVEL_OFF, TIM_MASTERSLAVEMODE_DISABLE, TIM_OCFAST_DISABLE, TIM_OCIDLESTATE_RESET, TIM_OCMODE_PWM1, TIM_OCNIDLESTATE_RESET, TIM_OCNPOLARITY_HIGH, TIM_OCPOLARITY_HIGH, TIM_OSSI_DISABLE, TIM_OSSR_DISABLE, TIM_TRGO2_RESET, and TIM_TRGO_RESET.

Referenced by main().

◆ MX_TIM2_Init()

◆ MX_TIM3_Init()

◆ MX_UART9_Init()

◆ StartDefaultTask()

void StartDefaultTask ( void * argument)

Function implementing the defaultTask thread.

Parameters
argumentNot used
Return values
None

Definition at line 1077 of file main.c.

References MX_USB_DEVICE_Init(), and osDelay().

Referenced by main().

◆ SystemClock_Config()

void SystemClock_Config ( void )

System Clock Configuration.

Return values
None

Supply configuration update enable

Configure the main internal regulator output voltage

Initializes the RCC Oscillators according to the specified parameters in the RCC_OscInitTypeDef structure.

Initializes the CPU, AHB and APB buses clocks

Definition at line 203 of file main.c.

References __HAL_PWR_GET_FLAG, __HAL_PWR_VOLTAGESCALING_CONFIG, RCC_ClkInitTypeDef::AHBCLKDivider, RCC_ClkInitTypeDef::APB1CLKDivider, RCC_ClkInitTypeDef::APB2CLKDivider, RCC_ClkInitTypeDef::APB3CLKDivider, RCC_ClkInitTypeDef::APB4CLKDivider, RCC_ClkInitTypeDef::ClockType, Error_Handler(), FLASH_LATENCY_1, HAL_OK, HAL_PWREx_ConfigSupply(), HAL_RCC_ClockConfig(), HAL_RCC_OscConfig(), RCC_OscInitTypeDef::HSI48State, RCC_OscInitTypeDef::HSICalibrationValue, RCC_OscInitTypeDef::HSIState, RCC_OscInitTypeDef::LSIState, RCC_OscInitTypeDef::OscillatorType, RCC_OscInitTypeDef::PLL, RCC_PLLInitTypeDef::PLLFRACN, RCC_PLLInitTypeDef::PLLM, RCC_PLLInitTypeDef::PLLN, RCC_PLLInitTypeDef::PLLP, RCC_PLLInitTypeDef::PLLQ, RCC_PLLInitTypeDef::PLLR, RCC_PLLInitTypeDef::PLLRGE, RCC_PLLInitTypeDef::PLLSource, RCC_PLLInitTypeDef::PLLState, RCC_PLLInitTypeDef::PLLVCOSEL, PWR_FLAG_VOSRDY, PWR_LDO_SUPPLY, PWR_REGULATOR_VOLTAGE_SCALE3, RCC_APB1_DIV1, RCC_APB2_DIV1, RCC_APB3_DIV1, RCC_APB4_DIV1, RCC_CLOCKTYPE_D1PCLK1, RCC_CLOCKTYPE_D3PCLK1, RCC_CLOCKTYPE_HCLK, RCC_CLOCKTYPE_PCLK1, RCC_CLOCKTYPE_PCLK2, RCC_CLOCKTYPE_SYSCLK, RCC_HCLK_DIV1, RCC_HSI48_ON, RCC_HSI_DIV1, RCC_LSI_ON, RCC_OSCILLATORTYPE_HSI, RCC_OSCILLATORTYPE_HSI48, RCC_OSCILLATORTYPE_LSI, RCC_PLL1VCIRANGE_1, RCC_PLL1VCOWIDE, RCC_PLL_ON, RCC_PLLSOURCE_HSI, RCC_SYSCLK_DIV1, RCC_SYSCLKSOURCE_HSI, RCC_ClkInitTypeDef::SYSCLKDivider, and RCC_ClkInitTypeDef::SYSCLKSource.

Referenced by board_sleep(), and main().

Variable Documentation

◆ defaultTask_attributes

const osThreadAttr_t defaultTask_attributes
Initial value:
= {
.name = "defaultTask",
.stack_size = 512 * 4,
}
osPriority_t
Priority values.
Definition cmsis_os2.h:104
@ osPriorityNormal
Priority: normal.
Definition cmsis_os2.h:123

Definition at line 69 of file main.c.

Referenced by main().

◆ defaultTaskHandle

osThreadId_t defaultTaskHandle

Definition at line 68 of file main.c.

Referenced by main().

◆ hadc1

Definition at line 48 of file main.c.

Referenced by board_adc_init(), board_adc_read(), and MX_ADC1_Init().

◆ hi2c4

Definition at line 50 of file main.c.

Referenced by MX_I2C4_Init().

◆ hmmc1

◆ hrtc

Definition at line 52 of file main.c.

Referenced by board_sleep(), HAL_RTC_AlarmAEventCallback(), HAL_RTC_AlarmIRQHandler(), HAL_RTC_DeactivateAlarm(), HAL_RTC_DeInit(), HAL_RTC_GetAlarm(), HAL_RTC_GetDate(), HAL_RTC_GetState(), HAL_RTC_GetTime(), HAL_RTC_Init(), HAL_RTC_MspDeInit(), HAL_RTC_MspInit(), HAL_RTC_PollForAlarmAEvent(), HAL_RTC_SetAlarm(), HAL_RTC_SetAlarm_IT(), HAL_RTC_SetDate(), HAL_RTC_SetTime(), HAL_RTC_WaitForSynchro(), HAL_RTCEx_AlarmBEventCallback(), HAL_RTCEx_BKUPRead(), HAL_RTCEx_BKUPWrite(), HAL_RTCEx_DeactivateCalibrationOutPut(), HAL_RTCEx_DeactivateInternalTimeStamp(), HAL_RTCEx_DeactivateRefClock(), HAL_RTCEx_DeactivateTamper(), HAL_RTCEx_DeactivateTimeStamp(), HAL_RTCEx_DeactivateWakeUpTimer(), HAL_RTCEx_DisableBypassShadow(), HAL_RTCEx_EnableBypassShadow(), HAL_RTCEx_GetTimeStamp(), HAL_RTCEx_GetWakeUpTimer(), HAL_RTCEx_PollForAlarmBEvent(), HAL_RTCEx_PollForTamper1Event(), HAL_RTCEx_PollForTamper3Event(), HAL_RTCEx_PollForTimeStampEvent(), HAL_RTCEx_PollForWakeUpTimerEvent(), HAL_RTCEx_SetCalibrationOutPut(), HAL_RTCEx_SetInternalTimeStamp(), HAL_RTCEx_SetRefClock(), HAL_RTCEx_SetSmoothCalib(), HAL_RTCEx_SetSynchroShift(), HAL_RTCEx_SetTamper(), HAL_RTCEx_SetTamper_IT(), HAL_RTCEx_SetTimeStamp(), HAL_RTCEx_SetTimeStamp_IT(), HAL_RTCEx_SetWakeUpTimer(), HAL_RTCEx_SetWakeUpTimer_IT(), HAL_RTCEx_Tamper1EventCallback(), HAL_RTCEx_Tamper3EventCallback(), HAL_RTCEx_TamperTimeStampIRQHandler(), HAL_RTCEx_TimeStampEventCallback(), HAL_RTCEx_WakeUpTimerIRQHandler(), MX_RTC_Init(), RTC_EnterInitMode(), RTC_ExitInitMode(), rtc_stamp(), and RTC_WKUP_IRQHandler().

◆ hspi1

Definition at line 56 of file main.c.

Referenced by bus_index(), and MX_SPI1_Init().

◆ hspi2

Definition at line 57 of file main.c.

Referenced by bus_index(), and MX_SPI2_Init().

◆ hspi3

Definition at line 58 of file main.c.

Referenced by bus_index(), and MX_SPI3_Init().

◆ hspi4

Definition at line 59 of file main.c.

Referenced by board_spi_clock_hz(), bus_index(), and MX_SPI4_Init().

◆ htim1

Definition at line 61 of file main.c.

Referenced by MX_TIM1_Init().

◆ htim2

Definition at line 62 of file main.c.

Referenced by board_time_start(), board_time_us(), MX_TIM2_Init(), and TIM2_IRQHandler().

◆ htim3

Definition at line 63 of file main.c.

Referenced by MX_TIM3_Init().

◆ huart9