IDE: STM32CubeIDE 1.6.1
STM32CubeMX v6.3.0
MCU: STM32F407ZGT
CubeIDE를 사용하여 DSP 라이브러리를 사용하도록 해보겠습니다.
STM32CubeMX를 열어 STM32F407ZGT로 선택하였습니다.
DSP 라이브러리를 사용하기 위해 아래 위치에 있는 "Software Packs > Select Components"를 클릭합니다.
여기서 CMSIS DSP가 보입니다. Selection을 Library로 선택하고 OK를 해 줍니다.
만약 ARM.CMSIS가 설치 되어 있지 않다면 Install을 해 줍니다.
그러면 왼쪽 탭에 Software Packs 메뉴가 생기고 ARM.CMSIS.5.6.0을 클릭하여 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 라이브러리를 사용할 준비를 마쳤습니다.
프로젝트 속성에 가면 다음과 같은 부분이 설정되어 있는것을 확인 할 수 있습니다.
반응형
'MCU > STM32:HAL' 카테고리의 다른 글
[STM32CubeProgrammer]UART Bootloader로 펌웨어 다운로드 하기 (2) | 2023.06.21 |
---|---|
[STM32F][Teraterm]YMODEM 프로토콜로 헥사 전송시 버그 (0) | 2023.03.24 |
[STM32F][HAL] CAN (0) | 2021.05.20 |
[HAL][STM32F]USART와 Queue (2) | 2021.03.24 |
[STM32F]FSMC와 LCD (0) | 2021.02.28 |
[STM32F]FSMC로 LCD(SSD1963) 제어하기 (2) | 2021.02.07 |
[STM32F][HAL] USART Interrupt (0) | 2020.12.23 |
[STM32F][HAL] DAC (Digital to Analog Converter) (0) | 2020.12.22 |