본문 바로가기

전자공학/프로그래밍

STM32 펌웨어 입문하는 모든이들에게

안녕하세요.

Edward입니다.

 

그동안 너무 바빠서 포스팅할 시간이 너무 없었어요.

그러다! 이번에 새로운 프로젝트를 직접 설계해보면서 회로, 아트웍, 펌웨어를 모두 혼자서 진행하였는데요.

특히나 펌웨어를 설계하면서 굉장히 많은 시행착오를 겪었습니다.

애플리케이션이 왜 이리 어려운 건지 ㅎㅎ

또 Peripheral은 HAL로 변경되면서 왜 이리 피곤해진 건지...

 

그래서 이번에 과감하게 모펌웨어 프로그래밍에 대해서 포스팅을 진행해보려고 합니다.

포스팅 내용은 직접 코딩을 하면서 겪었던 세팅 방법과 트러블 슈팅에 대해 다양하게 다뤄보려 합니다.

 

 

사실 예전부터 "펌웨어 코딩"이라 함은 MCU(Microcontroller) & MPU(Microprocessor) IC를 활용하여 대부분 C언어를 이용하고 Peripheral 기능들을 활용하여 하드웨어를 제어하는 것을 말하는데요.

누구나 그렇듯 초심자가 코딩이라는 세계에 처음 접근하기가 굉장히 어렵습니다. (저는 그랬습니다..)

그래서 이번에 진입장벽을 낮춰서 쉽고 재밌고 세세하게 튜토리얼 방식으로 포스팅을 다음과 같이 진행해보려고 합니다.

1. 입문하기

2. 개발환경 세팅

3. IC 선정

4. 프로그램 세팅 및 기능 선정

5. Peripheral 구동 및 코드 제너레이트 등등등....

 

사실 코딩과 알고리즘의 중요성이 날로 커지면서 다양한 사람들이 코딩의 세계로 들어옵니다. 그러다 보니 점점 오픈소스 하드웨어의 비중이 커지고 있고, 그에 따라서 수많은 마이크로프로세서를 제작하는 업체(Vendor)들도 오픈소스 하드웨어 시대에 맞춰 다양한 라이브러리 활용을 제공할 수 있도록 지원해주고 있습니다.

대표적으로 엔지니어들이 많이 사용하는 STMicroelectronics 社에서는 진입장벽을 허물기 위해 코드 제너레이터를 제공하는데요. STM32CubeMX라는 Tool을 이용해서 코드 제너레이트를 할 수 있습니다.

그래서 이번에 ST社의 Arm Cortex-M4 제품을 리뷰하고 STM32CubeMX사용 방법에 대해서 언급을 해보려고 해요.

 

그래서 다음 시간부터 STM32CubeMX에 알아보겠습니다.

STM32CubeMX를 설치하는 방법은 굉장히 쉬워요.

하지만 설정하는 방법이 좀 어렵습니다. 특히 Clock 부분 설정이 어려워요.

 

언제든 궁금한 점은 질문해주세요 ^^

 

감사합니다.