Louie NRT Story

[펌웨어] STM32F4 강의 환경설정 본문

전기차충전기

[펌웨어] STM32F4 강의 환경설정

hyeok0724.kim@gmail.com 2020. 11. 25. 16:33
반응형

Index

1. 사용하는 MCU

2. STM32CubeIDE 설치

3. STM32CubeIDE 사용법

4. 코드 작성할 때 주의 사항

5. 과거 코드 실행

6. 참고사항

 

1. 사용하는 MCU

1) MUC 회사

 - STMicroelectronics은 스위스 제네바에 본사를 두고 이탈리아와 프랑스에 다수의 공장을 소유하고 있는

   전자제품과 반도체 생산 회사임

2) 사용할 제품

 - STMicroelectronics 회사의 제품으로 STM32F4 시리즈 제품을 사용

STM의 MCU 라인업
STM32F4의 상세 제품 라인업
STM32F413ZH의 Diagram

 

2. STM32CubeIDE 설치

 - STM 공식 사이트에 접속하여 개발툴 다운로드

※ 추가설명

- 기존에는 TrueSTUDIO와 STM32CubeMX를 따로 설치해주어야 했지만 현재는 통합되어 있음

- STM32CubeMX는 GUI를 통하여 RCC, UART 등 각종 설정을 쉽게 하도록 한 후 자동으로 설정 코드가 생성되도록 함

- 생성된 Code는 TrueSTUDIO를 통해 개발 할 수 있었음. 하지만 현재는 CubeIDE에서 모두 해결가능함

 

- 해당 OS에 맞게 툴을 다운로드함

 

- SEGGER J-Link 드라이버와 ST-LINK Driver 모두 설치함

- 기본 메인 화면

 

3. STM32CubeIDX 사용법

 

 

- 해당코드는 STM 공식 Github에 접속하여 확인 할 수 있음

 

- Example Selector탭으로 이동하면 해당 MCU의 Example Code를 볼 수 있음

- 프로젝트 이름 생성함

- 처음 IDE가 생성해주는 파일들을 알 수 있음

- 생성된 파일을 확인함

 

- 핀의 정보를 설정함

 

- Pin 설정하면 Code Generate를 통해 설정된 내용들이 코드로 생성됨

- Code Generate 할때 Pin의 설정 정보들이 각 gpio.c 또는 uart.c 등 파일이 생성될 수 있도록 함.

- 설정 안할 경우 모든 내용이 main.c 내부에 들어가서 코드 가독성이 떨어짐

 

4. 코드 작성할 때 주의 사항

- CubeMX가 작성해주는 코드를 제외하고 User가 작성한 코드는 모두 주석 사이에 작성해야함

- 주석 사이에 작성하지 않을 경우 유지보수 할때 Code Generate가 코드 생성시 모두 삭제시킴

 

5. 과거 코드 실행

- 기존의 CubeMX에서 작성한 코드를 실행하면 다음과 같은 메시지가 발생함

- Continue를 하게되면 과거의 환경에서 개발을 유지 할 수 있음

- Migrate를 하게 되면 최신버전으로 변경되지만 문제가 발생할 수 있음

 

6. 참고사항

- TrueSTUIO는 19년 2월 이후로 업데이트가 되지 않고 있음

 

 

Referece:

www.st.com/en/development-tools/stm32cubeide.html

 

STM32CubeIDE - STMicroelectronics

STM32CubeIDE - Integrated Development Environment for STM32, STM32CubeIDE-RPM, STM32CubeIDE-Lnx, STM32CubeIDE-Win, STM32CubeIDE-DEB, STM32CubeIDE-Mac, STMicroelectronics

www.st.com

github.com/STMicroelectronics/STM32CubeF4

 

STMicroelectronics/STM32CubeF4

STM32Cube MCU Full Package for the STM32F4 series - (HAL + LL Drivers, CMSIS Core, CMSIS Device, MW libraries plus a set of Projects running on all boards provided by ST (Nucleo, Evaluation and Dis...

github.com

반응형
Comments