IDE: STM32CubeIDE 1.6.1

STM32CubeMX v6.3.0

MCU: STM32F407ZGT

 

CubeIDE를 사용하여 DSP 라이브러리를 사용하도록 해보겠습니다.

 

STM32CubeMX를 열어 STM32F407ZGT로 선택하였습니다.

 

DSP 라이브러리를 사용하기 위해 아래 위치에 있는 "Software Packs > Select Components"를 클릭합니다.

 

Software Packs 메뉴

 

여기서 CMSIS DSP가 보입니다. Selection을 Library로 선택하고 OK를 해 줍니다.

만약 ARM.CMSIS가 설치 되어 있지 않다면 Install을 해 줍니다.

CMSIS DSP Library 선택

 

그러면 왼쪽 탭에 Software Packs 메뉴가 생기고 ARM.CMSIS.5.6.0을 클릭하여 CMSIS DSP를 체크해 줍니다.

 

CMSIS DSP 체크

 

 

클럭과 프로젝트 옵션 선택 해 주고 

 

Generate Code를 해 줍니다.

 

STM32CubeIDE로 가서 해당 프로젝트를 Import하여 프로젝트 구조를 보면 아래와 같이 Middlewares에 libarm_cortexM4lf_math.a 와 arm_math.h가 포함된 것을 확인 할 수 있습니다.

 

이제 main.c 에 #include "arm_math.h" 를 넣어주고 컴파일을 해 봅니다.

/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "gpio.h"

/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "arm_math.h"
/* 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 PV */

/* USER CODE END PV */

/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
/* USER CODE BEGIN PFP */

/* USER CODE END PFP */

/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */

/* USER CODE END 0 */

/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration--------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}

 

 

이제 STM32에서 DSP 라이브러리를 사용할 준비를 마쳤습니다.

 

프로젝트 속성에 가면 다음과 같은 부분이 설정되어 있는것을 확인 할 수 있습니다.

반응형

+ Recent posts