Home » Post » STM » CUBEMX 사용법

CUBEMX 사용법

안녕하세요.

오늘은 CUBEMX를 사용하는 방법을 간략히 설명해 드리려고 합니다.

 

0. CUBEMX란?

한줄 요약 : 초기설정 코드 제너레이터

 아트메가 제품군 또는 타회사 MCU를 사용해 보신 분은 알겠지만, 모든 MCU에는 초기설정이 필요합니다. 이 말은 데이터시트를 뒤져서 레지스터를 설정해 줘야 한다는 뜻이지요.  이 CUBEMX를 사용하면 초기설정으로 골머리 앓을 일이 없습니다! 이 친구가 알아서 설정해주기 때문이지요. 그렇지만 CUBEMX로 잘못 설정해놓고 프로그램 욕하지는 마세요. 이 친구 꽤나 똑똑하답니다.

 

1. CUBE MX 설치

위 링크에 접속하셔서 프로그램을 다운받으시면 되겠습니다. 헤매시는 분들을 위해서 부연 설명해 드리면, 맨 아래에 내리시면 GET SOFTWARE가 있습니다.

2. CUBEMX 사용법

CUBEMX를 실행하면 다음과 같은 창이 나옵니다.(2017-07-26 기준)

 

여기서 New Project를 클릭합니다.

만약 MCU 보드를 직접 자작하신 경우라면 MCU Selector에서 사용하실 MCU를 선택하시고, 개발보드를 보유하고 계신다면 (Discovery, Nucleo) Board Selector를 선택하시면 되겠습니다.

저는 개발 보드를 소유하고 있으므로 Board Selector를 선택 후 사용보드를 선택하겠습니다.

<사용 보드를 선택한 모습>

 

혹시나 해서 말하는거지만, 더블클릭 하셔야 넘어갑니다.

(이후 경어체 생략)

 

<Pinout 창>

초기창이다. 여기서 설정을 하면 된다. 예를 들어 블루투스 장치를 달아 통신을 하고 싶으면 USART를 ON 하는 식이다. ATMEGA 다루듯이  데이터시트를 샅샅이 뒤져 핀 번호를 찾을 필요가 없다.  매우 편리하다.

<Clock Configuration 창>

클럭을 세팅하는 창이다. Pinout창에서 On되어 있는 기능에 한해 (예를 들면 ADC가 ON되면 ADC 클럭을 조절할 수 있는 식) 클럭 세팅이 가능하다. 위의 창에서는 외부 클럭(HSE)를 사용 안 함으로 설정해서 사용 불가하나 나중에 크리스털을 달고 ON 시키면 외부크리스털로 구동하게 설정할 수도 있다.

 

<내부 클럭으로 조작한다>

여기서 PLL값을 조절해 채배가 가능하다. 채배란 간단히 말해 클럭을 뻥튀기 시키는건데, 여기서는 64Mhz로 구동(4Mhz X 16)한다. 외부 크리스털을 사용하면 최대 72Mhz로 동작시킬 수 있다.

 

<Configuration 창>

Configuration 창에서 아마 여러분들이 가장 애를 먹을 것이다. Pinout창에서 On 시킨 기능들을 여기서 세부 설정을 한다. 예를 들면 USART에서  DMA, Interrupt 사용 유무를 이 창에서 설정한다.

 

  •  그 다음 탭은 파워 전력을 계산하는 곳인데 사용해 본 적이 없다. 지금은 제품 상용화해야 하는 직장에서 일하는 게 아니니까. 나중에 사용하면 추가 포스팅하겠다.
  •  프로그램 미스인진 모르겠으나, 여기서 USART1를 ON시켰을 때 RX핀(신호를 받는 핀이다.) GPIO설정이 INPUT이 아니라 공란으로 되어있더라. INPUT으로 설정해주자.

 

3. CODE GENERATE

설정을 했으면 돌아가야지! 만질거 다 만져놓고 어찌할 줄 몰라 눈이 다 풀린채 하늘 쳐다보고 맴맴거릴 순 없지 않은가. 아니면 갓빠차처럼 갈길 잃은 이상한 괴성을 지른다거나.

<갈 길 잃은 개발자 표정?>

설정을 다 마쳤으면 Project – Generate Code(Ctrl + Shift + G)버튼을 누른다. 아마 초기 설정을 하지 못했다면,  IDE를 설정하는 창이 뜰 것이다.

<설정 창>

다른거 다 신경 쓰지 말고, Toolchain / IDE 창만 신경쓰면 된다. 여기서 본인이 사용하는 IDE를 설정하고 OK누른 다음 다시 코드 제너레이트 하면 끝! 참고로 필자는 True Studio를 사용한다. 추후에 포스팅을 한다면 이를 고려해주길 바란다.

 

  • 프로젝트 이름 설정해야 합니다.

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.