본문으로 바로가기

[STM32] STM32 개발 환경

category 프로그램 이야기/STM32 2021. 2. 3. 17:01
728x90
반응형

 이번에 드디어 미루고 미뤘던 ARM 계열 프로세서를 하나 공부를 시작했다. 요즘 좀 여유가 생겨서지만 사실 미루고 미뤘던 공부다. 내가 사용할 수 있는 MCU는 Silconlab C8051, Atmal Atmega, MicroChip PIC고 DSP TI 시리즈정도인데 DSP는 좀 서툴고 MCU는 잘 다루는 쪽에 속한다. 하지만......8bit만 사용했었고 보면 알겠지만 다 예전 구닥다리라.....

 여튼 이번에 STM32를 공부하며 블로그에도 올리며 정리할까 한다.

 사실 이번 포스팅은 큰 내용은 없고 지금까지 알아낸 STM 관련 이야기이다.

 어떤 MCU든간에 펌웨어를 처음 공부할 때 제일 중요한게 어떠 환경에서 할 것인지를 정하는 것이다. 컴파일러와 IDE 환경을 결정해야 한다. 이것이 중요한 것이 IDE는 뭐 툴 사용법만 조금 바꿔도 되긴 하겠지만 이것도 한번 굳으면 변경이 쉽지 않고 특히 컴파일러는 컴파일러에 따라서 사용하는 명령어(라이브러리)가 다르기 때문에 이건 변경이 이뤄지면 처음부터 다시 하듯이 다시 익혀야 한다.

 여튼 STM32를 검색해 보니 STM에서 컴파일러와 IDE를 제공한다. 와우...! 쓸만한 대부분의 컴파일러는 유료버전이라 사용 결정에 굉장히 고려를 해야하는데 (대략 100단위 가격이라) 공짜라....일단 접근이 용이하다.....

 하지만....괜히 공짜라고 잘못 익혀 버리면 사용도 불편하고 범용성도 떨어져서 다시 공부해야 하는 상황이 발생할 수도 있다. 대표적으로 PIC가 그렇다. 난 PIC 컴파일러를 Hitech-C를 사용하고 있는데 현재는 무료 컴파일러 MPLAB-X를 배포하고 있긴 한데 내 경험상 이거 사용하는 사람을 본적이 없긴하다.  (내 갠적인 경험이라 쓰는 사람도 있을 수도...) 

 여튼 이렇다 보니 걱정이 된다. 그래서 내 나름으로 조사해 본 결과 결론을 내렸다.

 현재 내가 알고 있는 STM32에 관련된 것이 없기 때문에 STM에서 제공하는 프로그램으로 하기로 결정했다. 

 일단 결론부터 말하자면 현재 STM32CubeIDE를 사용하기로 했다. 

 현재 STM32CubeIDE는 TrueStudio와 STM32CubeMX를 합쳐서 만든 IDE다. 어째든 STM32CubeIDE의 특징 현재까지의 기준으로 알아보자.

 일단 내가 알고 있던 IDE와 비슷한 점이 있었다....어디서 많이 봤다 싶었는데 CCS와 엄청 닮았다. 아니 완전 똑같았다. 그리고 이클립스......결론적으로 이 세개는 거의 똑같았다. 정리해보면 이클립스가 원조겠지.....

 여튼 IDE는 그렇다고 치고 CubeMX의 기능이 추가되어서 코드를 만들어주고 GUI 형태로 셋팅이 가능하게 되어 있어서 접근이 용의하다. 

 사실 원래 이런 핀 셋팅이나 설정은 Chip에 대해 분석을 해야 할 수 있는데 이 시스템은 이런 작업을 많이 단축시켜준다...

 하지만 최적화에는 좀 안좋을 것 같긴하다. 원래 펌웨어 프로그램은 한정된 자원으로 작업을 해야 하므로 최적화가 굉장히 중요하다....그러나 요즘 시대는 일을 계속 하다보니 트랜드가 좀 많이 바뀐거 같다.

 원래 펌웨어는 코드를 효율적으로 간략하게 짜는게 핵심이다. 예전에는 하드웨어가 비싸고 최대한 작게 만들어야 했기에 그랬는데 요즘 보니 그런것도 꼭 아니다. 요새는 싸고 작은게 많이 있어서 꼭 그렇게 최적화가 많이 필요하지 않은 것 같다는게 내 견해다. 결론은 특별한 경우를 제외하고는 좀 넉넉하게 Chip을 선정하고 좀 편하게 짜는게 좋다고 생각한다. 특별한 경우는 정말 최적화를 하고 Low Level coding을 해야 할 것이다.

 여튼 STM32CubeIDE를 선정해서 이제부터 작업하며 포스팅을 해 보겠다.

728x90
반응형