Embedded System/STM32

[Cortex-M4] SW4STM32 STM32CubeMX 프로젝트 생성

임베지수 2017. 4. 2. 14:54

프로젝트를 설정해보자. 이전글(클릭)에서는 개발환경을 구축했었다. 이제 STM32CubeMX를 이용하여 프로젝트를 생성해보자. 일단 나는 STM32F4 discovery보드를 사용하였다. 칩은 STM32F407이다.

먼저 SW4STM32를 실행하고 STM32CubeMX를 켠다. 다음으로 New Project를 눌러 진행한다.

 

 

New Project를 클릭하면 아래와 같이 MCU를 선택하는 창이 뜨는데 본인이 사용하는 MCU를 고르고 하단의 OK를 누른다.

 

 

OK를 누르면 아래와 같은 화면이 나온다. 이제 클럭 설정을 해주어야 하기때문에 왼쪽 목록중에 RCC를 선택한다.

 

 

나는 16MHz짜리 외부 크리스탈이 부착되어있기 때문에 High Speed Clock(HSE)를 Crystal/Ceramic ...으로 바꿔준다.

바꿔주면 오른쪽 MCU에 크리스탈이 연결된 핀이 초록색으로 표시된다. 여기서 초록색은 사용하는 핀이란 뜻이다.

 

 

두번째 탭을 눌러 클럭설정으로 넘어간다. 이제 외부 크리스탈을 어떻게 사용할지 결정하는 부분인데 먼저 Input frequency를 16으로 해준다. 아까도 말했듯이 나는 16MHz 크리스탈을 사용하기 때문에 input에 16을 적어준다. 다음으로 HCLK을 본인이 원하는 속도로 바꾸어 준다. 바꿔준 후 엔터키를 누르면 창이 하나 뜨는데 ok누르면 된다. 그럼 알아서 나머지는 결정된다. HCLK은 실제로 MCU가 동작하는 클럭이다. 이 클럭을 바탕으로 SysTick Timer가 동작한다는 점을 유의한다. 나는 최고 속도로 사용하고 싶어서 168MHz를 입력하였다.

 

 

다음으로 프로젝트를 생성하기위해 설정하는 부분인데 상단에 톱니바퀴 모양의 아이콘을 눌러준다.

 

 

프로젝트 이름과 저장위치를 설정하고 아래 Toolchain / IDESW4STM32로 선택해준다.

 

 

 

그런다음 Ok버튼을 누르면 된다. 만약 프로젝트를 처음 생성했다면 아래와같이 펌웨어 패키지를 다운받으라는 메시지창이 뜬다. 다운받아준다.

 

다운받는중...오래 걸릴 수 있다. 기다려주자.

 

다운로드와 프로젝트 생성이 성공하면 다음과 같은 창이 뜬다.

 

그냥 Close를 하고 수동으로 열어줘도 되고 Open Project를 눌러 자동으로 SW4STM32에 import해주어도 된다.

Open Project를 클릭했다면 오른쪽 상단에 STM32CubeMX 탭에서 나와 C/C++ 탭을 눌러 확인할 수 있다.

 

 

만약 수동으로 프로젝트를 불러오려면 C/C++탭에서 왼쪽의 Project Explorer창에 마우스 오른쪽 버튼을 눌러 Import를 누른다.

 

 

그러면 아래와 같은 창이 뜨는데 General안에 위치란 Existing Project ...를 눌러준다.

 

 

Browse..버튼을 눌러 프로젝트가 저장된 폴더를 선택하고 Finish를 누른다. 다른건 건드리지 않는다.

이제 main.c 파일을 열어 빌드해보자!

전체 빌드의 단축키는 Ctrl+B이다. 근데 여러개의 프로젝트가 열려있으면 전부 빌드하게 되어서 시간이 오래걸리니 사용에 주의한다. 해당 프로젝트만 빌드하려면 왼쪽 project explorer에서 해당 프로젝트를 선택한 다음, 마우스 오른쪽 버튼을 눌러 build project를 해주면 된다.

그럼 프로젝트 생성과 빌드는 끝이다.

 

다음 글에서는 HAL라이브러리에 대한 간단한 사용법과 실제 MCU에 플래싱하는 방법에 다루어보겠다.