본문 바로가기
임베디드.일렉트로닉스/STM32

STM32CubeIDE . 프로젝트 생성 방법

by i.got.it 2023. 7. 13.

 

 

 

 

 

 

STM32CubeIDE 에서 프로젝트 생성 방법

 

사전 준비 

1. PC 에 STM32CubeIDE 설치된 상태  

2. ST LINK V2 를 PC 에 연결하고 하기 타겟보드에 연결.  

3. 타겟칩 . (본 예에서는 STM32L4R5VI 사용. 타켓칩 품번이 무엇이든 전체적인 방법론은 동일) 이 장착된 타겟 보드. 

- 본 예에서는 아래 사진의 보드 . 24MHz 외부 크리스탈 장착되어있고 32.768kHz 는 장착 가능한 패드는 마련되어있으나 부품 장착은 하지 않았음. 전원 공급은 마이크로 USB 커넥터로 이뤄지고 3.3 V 레귤레이터 출력 전압이 MCU 로 공급됨. 

 

* 기타 : 프로젝트에서 만든 펌웨어 칩에 기록하지 않고 프로젝트 생성만 하는 경우에는 타겟보드와 ST-LINK V2 는 없어도 됨.  

STM32L4R5VI  장착 보드

 

ST-LINK V2 와 타겟보드 연결 사진 

- ST LINK V2 의 기본 제공되는 보드 연결 커넥터는 무식하게 크다. 타겟보드를 소형으로 만드는 경우에는 소형 커넥터를 보드에  마련하고,  ST-LINK V2 연결은 별도의 변환 보드 직접 만들어서 활용중.  

 

 

사족 : 임베디드 펌웨어  개발하다보면 PCB 제작, 부품장착 능력은 기본 소양에 해당한다. 요즘은 무료 PCB 제작툴 도 활용 가능하고 PCB 제작 수단, 양산 부품장착 SMT 마저도  온라인으로 쉽게 주문 가능하므로 별 어렵지 않은 일이 되어버렸음. 과거엔 최소한 3명 이상의 사람이 요구되었던 일들이 점점 1인이 모든 것들을 전부  수행가능할 정도로 솔루션 인프라가 구축되고 있는 중. 바꿔 이야기 하면 ...  1인 맨파워 만으로도 생존 가능한 세상으로 바뀌고 있는것 같다. 

 

무료 PCB 제작툴 예 : EasyEDA  , PCB 및 부품 장착 관련 통합 정리 글 

 

STM32CubeIDE 에서 프로젝트 생성 방법

 

STM32CubeIDE 메뉴 : FIle - New - STM32 Project 클릭하면 가장 먼저 타겟 선택 창이 뜬다(아래그림) 

 

 

왼쪽 화면의 Part Number 에 STM32 품번 (본 예에서는 STM32L4R5VI )기록 하면, 오른쪽 화면에 해당 품번에 해당하는 리스트가 보인다.여기서 칩 선택하고 버튼 Next 클릭하면 아래 화면처럼  프로젝트 이름 기록 및 기본 옵션 선택창이 뜬다. 

 

 

옵션 중 C, C++ 은 컴파일러 선택인데, 프로젝트 생성 이후에도 C C++ 변경 가능하다.  생성된 프로젝트에서 C, C++ 변경 방법 상세보기

Binary Type : Executable 은 칩에 기록되어 실행 가능한 형식이며, static library 는 다른 Executable 프로젝트에서  라이브러리 형식으로 활용하고자 할때 선택한다. 

 

 

위화면에서 Next 클릭하면 아래처럼 창이 뜬다. 기본 상태에서 수정할건 없다. 

 

 

위 화면에서 버튼 Finish 클릭하면 기본 코드까지는 작성되어있는 프로젝트 생성 완료된다(아래그림). 

 

 

STM32CubeIDE 에서 프로젝트 생성된 상태

 

 

프로젝트 생성 이후 작업 방식 

위 프로젝트 파일들 중에서 확장자 .ioc 가 STM32CubeMX 파일이고 위 화면의 오른쪽이  STM32CubeMX 화면이다. 

이곳에서 STM32 설정(클럭, SPI, I2C, ADC, Timer, GPIO ... 등 사용할 페리페랄들 설정)하여 해당 설정된 상태에 해당하는 소스 코드 자동 생성하게 하고(방법 . 메뉴 : Project - Generate Code 클릭), 해당 설정된 것들을 활용하는 코드 작성 추가 하고, STM32 에 기록하면서 동작확인한다.

 

 

 

STM32CubeMX 에서 가장 먼저 설정하는 것. 

- 아래 디버거 설정과 클럭 설정은 항상 요구되는 필수 설정. 그외 사용되는 GPIO, 페리페랄들은 필요한 것들만 설정한다. 

 

1. 디버거 설정.  

 

STM32CubeMX. DEBUG ( JTAG/SWD ) 설정.

개요 STM32CubeMX 에서 Debug ( JTAG/SWD )설정 - STM32CubeMX 버전 : 5.0.1 (2019년 2월 13일 최신버전) Debug (JTAG/SWD ) 설정. STM32CubeMX 5.0.1 Debug 핀설정을 JTAG, SWD 용도로 선택가능하다. 통상 Trace Asynchronous Sw 를 선택

igotit.tistory.com

 

2. 클럭 설정. 

 

타겟보드에 STM32 에 연결된 외부 크리스탈이 있고 이를 활용하는 경우   

 

 

외부크리스탈 사용 하는 경우에는 STM32CubeMX 에서 RCC 설정 필수 해야 한다.   

 

STM32CubeMX. 외부크리스탈 핀 할당.

개요 STM32CubeMX 에서 외부 크리스탈 핀 할당. - STM32CubeMX 버전 5.0.1 외부크리스탈 핀 할당. STM32CubeMX 5.0.1 2019년 9월1일 추가. STM32CubeMX 버전 5.3 에서 타겟칩 STM32L4R5VG 예. 크리스탈 주파수 24MHz 인 경우

igotit.tistory.com

 

 

 

STM32CubeMX. Clock Configuration

Clock Configuration. STM32CubeMX 5.0.1 항목1. Input frequency : 외부연결된 크리스탈의 주파수 MHz 단위로 기록. 항목2. PLL Source MUX : HSE 선택. 항목3. PLLM : /6 선택. 항목4. PLL 의 *N : x 40 선택.항목5. PLL 의 /R : /2

igotit.tistory.com

 

 

 

STM32CubeMX. Crystal. Clock Configuration.

개요 STM32 에 외부 크리스탈 연결한 경우 필수 설정. 본 설명에서의 구체적인 상황. - MCU : STM32L476RE 에 외부 크리스탈 24MHz 연결되어있는 상태. STM32CubeMX 에서 외부 크리스탈 사용가능하게 설정. - S

igotit.tistory.com

 

 

외부 크리스탈 없는 경우 

- 앞의 외부 크리스탈 있는 경우에 설정했던 RCC disable 상태로 두고 내부 클럭 소스로 구동하는 것으로 설정한다.  

- 보드에서 외부크리스탈이 장착되어 있어도, RCC disable 하여 사용하지 않아도됨. 

 

 

클럭 설정시 페리페랄에 따라 제한 사항 있음 

앞의 클럭 설정 과정을  보면 MUX 나 PLL 등의 설정이 사용자 임의로 설정해도 되는 것 처럼 보이나, 앞의 예에서의 클럭 설정은 페리페랄들을 enable 하지 않은 상태라서 자유로와 보일 뿐이다.

사용하는 페리페랄에 따라 클럭 설정 오류가 발생할 수 도 있으며 STM32CubeMX 에서 오류 있는 경우 표시되므로 해당 오류 상황마다 대응해서 클럭 설정해야한다. 

예 :  USB 사용시 클럭 설정법 : https://igotit.tistory.com/4703 

 

STM32 . USB 클럭 설정 외부크리스탈 혹은 내장 오실레이터 . Custom HID

STM32 의 USB 활용시 클럭 설정 타겟칩 STM32L4R5 계열 (품번예 : STM32L4R5VI) 지원 페리페랄 중 USB 를 enable 하여 활용 하려는 경우 클럭 설정방식 2가지 (외부 크리스탈 혹은 내장 오실레이터) 가능하다.

igotit.tistory.com

 

 

 

 

  

 

 

 

 

 

 

연관 

 

 

 

 

STM32CubeIDE . 임베디드 코드에서 C++ 클래스 활용

STM32 펌웨어 C++ 로 개발하기 STM32CubeIDE 에서 프로젝트에 적용할 컴파일러를 C 나 C++ 로 선택 가능하다. C++ 컴파일러로 선택하면 C++, C 컴파일도 같이 이뤄지는 것이고 C 컴파일러로 선택되어있다면

igotit.tistory.com

 

 

상위정리

https://igotit.tistory.com/244 의 STM32

 

STM32. nRF52. ESP32. EFM8. EFM32. PSoC 활용 정리.

STM32. nRF52. ESP32. EFM8. EFM32. PSoC 총정리 제조사 칩 주요특징 실리콘랩 8bit MCU EFM8 시리즈 32bit EFM32 시리즈 EFM8 싸다. STM STM32 . 최고 항상 만족. Cypress pSoC pSoC6 은 기대해볼만. NORDIC nRF52 블투 무선솔루

igotit.tistory.com

 

 

 

 

 

 


첫 등록 :  2023.07.11

최종 수정 : 2023.07.13

단축 주소 : https://igotit.tistory.com/4697


 

 

댓글



 

비트코인




암호화폐       외환/나스닥/골드       암호화폐/외환/나스닥/골드 암호화폐/외환/나스닥/골드   암호화폐/외환/나스닥/골드
     
현물 |선물 인버스 |선물 USDT       전략매니저(카피트레이딩)     롤오버 이자 없는 스왑프리계좌
( 스왑프리 암호화폐도 거래 가능 )    
MT4, MT5 , cTrader 모두 지원     FTMO 계좌 매매운용. MT4,MT5