티스토리 뷰


CubeMX



CubeMX가 무엇일까요?

이는 ST사에서 만든 소프트웨어로써 자기 회사 제품을 보다 쉽고 빠르게 사용할 수 있게 하려고 만들었습니다.

어떤 제품을 쓰더라도, 그 제품을 사용자가 쉽게 사용할 수 있게 한다면, 더욱 많이 찾겠죠?

CubeMX는 그런 역할을 합니다. 아래 링크에는 이 툴에 대한 자세한 설명과 동영상이 있으므로 참조하세요 :)

http://www.st.com/en/embedded-software/stm32cube-embedded-software.html?querycriteria=productId=LN1897




CubeMX는 일반적으로 알고 있는 IDE가 아닙니다.


여기서 IDE라는 단어를 처음 들어보신 분들도 있을지 모르겠습니다.

IDE는 Integrated Development Environment 의 약자로써, "통합 개발 환경"을 지칭합니다.

이게 무슨말일까요? 세부적인 내용은 스스로 알아보셔야겠지만, 단순하게 생각해서

"내가 무언가를 개발하려고 할 때, 갖추어야할 여러가지 필수/보조적인 것들을 통합하여 갖추어놓은 환경" 이라고 생각하시면 되겠습니다.

내가 목공을 통해 선반을 만들고 싶은데, 그를 위한 다양한 장비와 테이블이 구비된 창고가 있다면 편하겠죠?

그런 의미라고 우선 생각하고 넘어가시면 되겠습니다.

자세한 내용은 검색을 통해서 :) ( 참조 링크 )


IDE로 알고 있는 IAR, Keil, Eclipse 등의 소프트웨어가 지원하는 컴파일러, 디버거 등을 지원하지 않습니다.

오히려 이러한 IDE를 쉽게 사용할 수 있게 도와주는 역할을 하죠.


이게 무슨말일까요? 쉽게 사용할 수 있게 도와준다?

CubeMX를 사용하면, 소스로 일일이 구현해야 됐던(혹은 라이브러리의 API를 찾고, DataSheet를 찾아가면서) 기본 설정들을 GUI를 통해서 특정 IDE에서 사용할 수 있는 프로젝트 파일로 만들어 줍니다.

말로만 하니 괜히 복잡한 거 같으니까, 간단히 예를 보여드리도록 하겠습니다.



예를 들어 LED를 On/Off하고 싶습니다.

원래의 방법대로라면, Example을 열어서 확인하던지 라이브러리의 API를 찾아보고, 자신이 사용하려는 핀의 레지스터 주소와 그 특성들에 대해 하나하나 살펴보아야 합니다. 만약 여러분이 입문자라면, 이해도 안되고 어렵기만 할겁니다. 


이때, CubeMX를 사용하면,

아래와 같은 화면에서 GUI를 통해 특정 핀을 설정해주면?



아래처럼 바로 코드를 만들어 줍니다.

참 쉽죠?




물론 이렇게만 해서 모든게 끝난 것은 아닙니다.

세부적인 내용들은 User가 직접 작성을 해주어야 됩니다.

하지만 시작 허들을 매우 낮추어주었다는 점에서 충분한 가치가 있습니다.

그리고 시각적으로 보는게 배우는 사람의 입장에서도 더 효율이 좋구요 :)


보통 임베디드 서적들에서 Clock이나 NVIC 등등을 먼저 알려주곤 하는데, 이게 절대 쉽지 않거든요. 

하지만 이러한 툴을 사용하면, 이러한 부분을 GUI로 가볍게 이해하고 넘기면서 그나마 허들이 낮은 GPIO부터 임베디드 공부를 시작해 볼 수 있는 것이죠.






CubeMX 설치하기



http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html


설치를 하기 위해 위 링크로 가시면, 아래와 같은 화면을 보실 수 있습니다.

여기서 [GET SOFTWARE] 를 클릭하여 하단으로 이동 후, 다운로드 받으시고 설치하시면 되겠습니다.










CubeMX와 함께할 IDE 선택하기



CubeMX는 코드를 쉽게 생성해줄 뿐이지, 컴파일러나 다운로더의 기능은 존재하지 않습니다.

그렇다면 IDE를 선택을 해야하는데, 지원하는 IDE는


Keil  ( Legacy , Pack )

IAR

TrueStudio

SW4STM32

Other...(GPDSC format) 


이렇습니다.

Keil과 IAR은 상용제품으로써, 라이센스 키를 별도로 구매하셔야 합니다.

Keil의 경우는 32kb Code size까지는 무료로 사용이 가능하지만, 그 이상은 라이센스가 필요합니다.


TrueStudio와 SW4STM32는 무료 툴입니다.


현재, 저도 굉장히 고민을 하고 있는게...

Keil, IAR은 다 써봤고, 현재 개발툴 중 하나가 Keil이란느 점에서 Keil로 진행하는게 편하지만, 부분 무료이기 때문에

무료인 TrueStudio와 SW4STM32를 새롭게 경험해보면서 진행할까... 고민중입니다.


아마 다음 포스팅에는 결정을 해서 가져올 것 같습니다..



CubeMX를 사용에 중점을 두고, Cortex 자체에 대한 이해를 목표로 진행할 것이기 때문에,

어떠한 IDE를 사용해도 상관은 없을 것입니다. ( 아, 물론 저 위에 리스트 중에 하나만요 :) )







댓글
댓글쓰기 폼