본문 바로가기
STM32

[STM32] CubeMX 프로젝트 생성하기

by 1005_ 2025. 4. 28.

이전글에는 필자가 사용하는 보드가 무엇인지, 그리고 CubeMX 다운받는법에 대해서 매우매우 간단하게 작성했다.

 

오늘은 CubeMX로 첫 프로젝트를 생성하는걸 기록으로 남겨두려한다.

 

우리는 NUCLEO-F439ZI 보드를 사용하고 이 보드는 STM32F439ZIT6U 라는 칩이 중앙에 탑재되어 있는걸 알 수 있다.

 

따라서 우리는 이 칩을 중심으로 프로젝트를 생성할것이다.

 

 

우선 프로그램 실행 후 File - New - STM32Project 순서대로 클릭하면 아래와 같은 창을 만날 수 있다.

 

 

해당창에서 왼쪽을 보면 Series가 보일텐데 우리가 사용하는 칩이 F4xxx 이므로 STM32F4를 체크하고 Part Number에 F439ZI를 검색한다.

 

 

그럼 이렇게 두개의 목록? 이 나올텐데 Board에 우리가 사용하는 보드 이름이 적힌걸 사용하면된다.

 

 

선택 후 창 하단의 Next를 누르면 위와 같은 창이 뜰텐데 다른거 건드리지 말고 프로젝트 이름만 설정하고 Finish를 누르면 된다.

 

 

그러면 잠깐의 로딩을 마치고 위와 같은 창이 뜨는데 솔직히 처음 할때는 ???? 이게 뭐지... 아두이노랑 라즈베리파이는 이러지 않았는데... 라는 생각이 먼저 들었다. 자료들을 찾아보긴했는데 눈에 잘 안들어와서 처음에는 조금 헤매긴했다.

 

일단 설정을 마저해보면

 

 

Pinout & Configulation 카테고리에서 System Core > RCC를 클릭하고 HSE를 BYPASS로 설정해주어야한다.

 

* HSE( High Speed External clock )

- 외부에서 입력받는 고속 클럭 소스를 의미

- 이 보드는 별도의 외부 크리스탈이 보드에 달려있는게 아니라 보드에 탑재된 ST-LINK 디버거 회로 쪽에서 클럭을 만들고 MCU로 우회해서(BYPASS) 넘겨주는 구조

 

 

Clock Configulation 카테고리를 클릭하면 위와 같은 화면이 나오는데 지금봐도 당황스럽다;;

 

우선 우리는 외부 클럭을 사용하기로 했으므로 HSI에서 HSE로 설정을 변경해준다

 

그리고 Input Frequency 를 8MHz로 설정해준다.

 

 - Input Frequency는 HSE를 통해 들어오는 클럭 신호의 주파수를 의미.

일반적으로 외부 크리스탈이 붙은 경우라면, 그 크리스탈의 진동 주파수를 적어야하지만 지금 사용하고 있는 보드는 쿨럭을 MCU로 직접 보내주기에 HSE를 BYPASS로 설정하고 Input Frequency 를 8MHz로 설정하는 것!

 

System Clock Mux를  PLLCLK로 선택하면 군데군데 블록이 빨간색으로 바뀌는걸 확인 할 수 있다.

우리는 HCLK를 180으로 변경하고 상단에 Resolve Clock Issues를 클릭해 설정을 마치면된다.

 

근데 왜 System Clock Mux를  PLLCLK로 선택할까?

HSI나 HSE를 그대로 사용하면 주파수가 낮아서 CPU가 느리게 동작한다. 따라서 우리는 PLL을 사용해서 이 주파수를 증폭시키기 위해 PLLCLK로 선택하는 것이다.

설정을 마친 후

 

 

 

PC7, PA7, PB0 핀을 GPIO_OUTPUT으로 설정했는데 이를 설정하기 위해서는 해당핀을 클릭해 설정을 바꿔주면된다.

다음에 LED Toggle에 대해서 글을 작성할건데 이때 내가 사용한 GPIO 설정이다.

 

 

GPIO를 사용할 핀의 상태를 선택하면 GPIO부분에 저렇게 선택한 핀들의 상태가 나온다.

특별히 상태를 바꿀건 없지만 GPIO_Output Level 을 LOW에서 HIGH로 바꿀수도 있다.

 

이후에는 특별히 설정을 건들거는 아직 없어서 Save를 누르고 프로젝트를 생성하면 완료다 !

'STM32' 카테고리의 다른 글

[STM32] NUCLEO-F439ZI 보드 사용하기  (0) 2025.04.26