강좌 & 팁
안녕하세요 초보 회원입니다.
요즘 AVR보다 더 인기 있는 STM32시리즈 마이크로프로세서로 개발하다보면
수많은 라인업과 GPIO핀들 그리고 그 GPIO핀들에 모여있는 중복된 기능들에 헷갈리기 쉽기 때문에
자꾸만 데이터 시트나 회로도를 참고하게 됩니다.
그리고 시리즈마다 ST에서 제공하는 예제 코드들이 시리즈마다 다양하고 자료 찾기가 어렵습니다.^^;;
그래서 ST에서 이러한 어려움에 도움을 주고자 STM32Cube라는 SW툴을 내놓았습니다.
처음엔 무슨 툴인가 했는데 한번 호기심에 설치해서 써보니 유용한 점이 있어서 소개해봅니다.
아래 사이트에 들어가시면 맨아래 Download 버튼으로 다운로드 합니다.
http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1533/PF259242?s_searchtype=partnumber
이렇게 설치한 프로그램이 바로 STM32CubeMX인데 각 시리즈별로 라이브러리를 추가할 수 있습니다.
일단 기본적으로 많이 쓰는 STM32F1시리즈는 기본적으로 들어가 있으니 받지 않으셔도 됩니다. 만약
STM32F4를 사용하신다면 따로 라이브러리를 받아야합니다.
요렇게 해서 설치하면 아래와 같은 화면을 볼 수 있습니다.
그러면 하나의 MCU를 정해서 어떻게 쓸 수 있는지 보겠습니다. 여기서는 STM32F107RC를 선택하겠습니다.
New Project -> MCU Selector 탭에서 Serise는 STM32F1을 선택하고 STM32F105/107을 선택합니다.
아래에 MCUs List가 뜨는데 여기서 제가 하려고 하는 STM32F107RCTx를 선택하고 패키지는 LQFP64로 합니다.
그러면 아래처럼 STM32F107RCTx라는 MCU가 크게 뜹니다. 여기서 선택하려고 하시는 Periphral들을 선택합니다.
예를 들어 USART1, USART2, ETH_Mll를 써야되는 상황이라면 아래와 같이 선택시 빨간색으로 충돌여부를 알 수 있습니다.
USART2가 충돌되기 때문에 아래 그림처럼 USART4로 설계를 변경하면 됩니다. 특히 Ethernet같은 기능은
핀이 많이 쓰이기 때문에 다른 Peripheral들과 충동되는지를 이런 방식으로 쉽게 알 수 있습니다.
이런식으로 STM32 시리즈 중에 어떤 MCU를 가지고 개발하실 때 사용하려는 기능들 사이에 GPIO의 충돌여부를
미리 시각적으로 편리하게 확인할 수 있어서 유용한 툴이라고 생각합니다.
그리고 또 한가지 강력한 기능은 이러한 선택한 기능들에 대한 프로젝트 코드 생성까지 된다는 점이 매력적입니다.
아직은 그렇게 완벽한 건 아니지만 STM32F4의 경우 FreeRTOS와 같은 Middleware와 연동한 예제를 즉각적으로
생성해 줍니다. 단 STM32F4 라이브러리를 따로 설치해야 합니다.
유용한 정보네요~^^