프로그래밍/STM32

[STM32] STM32CubeMX로 CMake설정하기

Beginner:) 2023. 9. 10.
320x100

1. 설치

아래의 링크에서 설치가 가능하다. 회원가입이 필요할 수 있다.

https://www.st.com/content/st_com/en/stm32cubemx.html

 

 

2. 실행&설정

먼저 자신에게 맞는 board를 선택하고 Start Project 클릭

[RCC] - [HSE] - "Crystal/Ceramic Resonator" 선택

 

[SYS] - [Debug] - "Serial Wire"선택 (이후 VSCode에서 Debug 실행해 볼 예정)

 

 

PA5번 핀을 "GPIO_Output"으로 선택

 

NUCLEO-F411RE board에서 PA5핀은 User LED인 LD(초록색 빛)에서 확인할 수 있다. 즉 별도의 LED를 연결하지 않아도 board자체에서 확인할 수 있기에 PA5번을 선택.

 다음은 디버깅을 위한 printf문을 출력하기 위해[Connectivity] - [USART2]에서 [Mode]를 "Asynchronous"를 선택하고 [NMC Settings]에서 USART2 global interrupt의 Enable을 체크한다. 

 

[Configure]에서 "HSE" 선택

 

[Project Manager] - [Project]에서 Toolchain / IDE를 STM32CubeIDE 선택

 

[Project Manager] - [Code Generator]에서 "Generator peripheral initialize..."를 선택 후 오른쪽 상단 Generate Code 선택

 

3. 프로젝트 구성 확인

폴더를 확인하면 Core, Drivers, .ioc, FLASH.ld, RAM.ld 등이 생성되는 것을 확인해야 한다.

(아래에서 build, Lib폴더와 README.md, DS10314.pdf, CMakeLists.txt, stm32f411re.cmake, .gitignore는 생성이 안되는 것이니 참고하자)

 

다음은 생성된 프로젝트로 cmake를 이용하여 빌드하는 방법이다.

2023.09.03 - [프로그래밍/STM32] - [STM32] cmake build(feat .bin, .elf, .hex 추출)

 

[STM32] cmake build(feat .bin, .elf, .hex 추출)

먼저 나의 작업환경을 tree -L 4로 출력한 Directory 구조이다. . ├── CMakeLists.txt ├── MAIN │ └── board │ └── F4 │ ├── Core │ ├── Drivers │ ├── stm32f411re │ └── ledtest2.ioc ├─

park-duck.tistory.com

 

cmake로 빌드를 하게 되면 VSCode에서 디버그를 찍어볼 수 있고

2023.09.03 - [프로그래밍/STM32] - [STM32] VSCode 에서 STM32 디버깅하기

 

[STM32] VSCode 에서 STM32 디버깅하기

1. 먼저 elf 파일을 만들어줘야 하는데 아래 링크를 참조 2023.09.03 - [프로그래밍/STM32] - [STM32] cmake build(feat .bin, .elf, .hex 추출) [STM32] cmake build(feat .bin, .elf, .hex 추출) 먼저 나의 작업환경을 tree -L 4로

park-duck.tistory.com

 

Renode라는 가상환경에서 board 없이 실행시켜 볼 수도 있으며

2023.08.22 - [Learning/Renode] - [Renode] 가상머신 실행(Hello world 출력)

 

[Renode] 가상머신 실행(Hello world 출력)

이전에 Renode를 설치했었다. 2023.08.15 - [Learning/Renode] - [Renode] 설치 [Renode] 설치 1. 지원 아키텍처 ARMv7 and ARMv8 Cortex-A and Cortex-M x86 RISC-V SPARC POWER Xtensa 2. 설치 아래 링크에서 renode-*.linux-portable.tar.gz를

park-duck.tistory.com

 

이후 Jenkins를 이용하여 테스트를 진행해 볼 수도 있다.(머나먼 미래에 작성 계획 중)

2023.07.23 - [Learning/CI&CD] - [Jenkins] Cmake 사용&버전 변경

 

[Jenkins] Cmake 사용&버전 변경

1. [Dashboard] - [Jenkins 관리] - [Plugin Manager]에서 Cmake 설치 나는 이미 설치되어 있으므로, 처음인 사람은 Available plugins에서 설치 설치를 하고 cmake 명령어를 사용하면 version이 3.10.2이다. 버전이 너무

park-duck.tistory.com

 

반응형

댓글