81 lines
2.4 KiB
C
81 lines
2.4 KiB
C
/* USER CODE BEGIN Header */
|
|
/**
|
|
******************************************************************************
|
|
* File Name : freertos.c
|
|
* Description : Code for freertos applications
|
|
******************************************************************************
|
|
* @attention
|
|
*
|
|
* Copyright (c) 2025 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.
|
|
*
|
|
******************************************************************************
|
|
*/
|
|
/* USER CODE END Header */
|
|
|
|
/* Includes ------------------------------------------------------------------*/
|
|
#include "FreeRTOS.h"
|
|
#include "task.h"
|
|
#include "main.h"
|
|
|
|
/* Private includes ----------------------------------------------------------*/
|
|
/* USER CODE BEGIN Includes */
|
|
|
|
/* 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 Variables */
|
|
|
|
/* USER CODE END Variables */
|
|
|
|
/* Private function prototypes -----------------------------------------------*/
|
|
/* USER CODE BEGIN FunctionPrototypes */
|
|
|
|
/* USER CODE END FunctionPrototypes */
|
|
|
|
/* Hook prototypes */
|
|
void configureTimerForRunTimeStats(void);
|
|
unsigned long getRunTimeCounterValue(void);
|
|
|
|
/* USER CODE BEGIN 1 */
|
|
/* Functions needed when configGENERATE_RUN_TIME_STATS is on */
|
|
__weak void configureTimerForRunTimeStats(void) {
|
|
// Configure TIM2 as a free-running timer at 1 MHz
|
|
__HAL_RCC_TIM2_CLK_ENABLE();
|
|
TIM2->PSC = (SystemCoreClock / 1000000) - 1; // 1 MHz
|
|
TIM2->ARR = 0xFFFFFFFF;
|
|
TIM2->CNT = 0;
|
|
TIM2->CR1 = TIM_CR1_CEN;
|
|
}
|
|
|
|
__weak unsigned long getRunTimeCounterValue(void) {
|
|
return TIM2->CNT;
|
|
return 0;
|
|
}
|
|
/* USER CODE END 1 */
|
|
|
|
/* Private application code --------------------------------------------------*/
|
|
/* USER CODE BEGIN Application */
|
|
|
|
/* USER CODE END Application */
|
|
|