[STM32] 4. STM32CubeIDE 사용방법(B-L475E-IOT01A1 개발보드 활용하기)

728x90
반응형

이전 포스팅이 궁금하다면?

2022.03.31 - [Hardware&Firmware/STmicroelectronic(STM)] - [STM32] 3. STM32 개발환경 구축하기(STM32CubeIDE 설치하기)

 

[STM32] 3. STM32 개발환경 구축하기(STM32CubeIDE 설치하기)

https://vuzwa.tistory.com/entry/STM32-2-STM32-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EA%B5%AC%EC%B6%95%ED%95%98%EA%B8%B0 [STM32] 2. STM32 개발환경 구축하기(STM32CubeMX 설치하기) https://vuzwa.tistory.com/entry/STM32-1-STM32-B-L475E-IOT01A1-%EA%B

vuzwa.tistory.com


지금까지 포스팅에서 사용할 개발보드, 개발환경 구축(STM32CubeMX, STM32CubeIDE)을 했다. 그럼 이제 어떻게 사용하는지 알아봐야겠지? 

 

STM32CubeIDE를 실행한다. 

 

 

workspace를 선택하면 이렇게 실행될 거다. 

 

workspace에 대해 간단히 설명하면 말 그대로 작업공간이다. 내가 작업을 진행하는 프로젝트와 소스코드를 보관할 폴더를 말한다.

 

workspace 안에 프로젝트별로 폴더가 나눠지고 프로젝트 안에서 파일의 특성에 따라 폴더로 분류되어 나눠진다. 이건 포스팅을 따라 진행하다 보면 이해가 될 거다.

 

 

STM32CubeIDE 좌측 상단에 보면 "Start a project"라고 보이고 4개의 파란색 아이콘이 보인다. 

 

Start new STM32 project 

 -> 새로운 프로젝트를 만든다. 

 

Start new project from STM32CubeMX file(.ioc)

 -> STM32CubeIDE를 이용하지 않고, STM32CubeMX를 따로 실행해 MCU의 설정을한 경우 .ioc 파일을 불러와 프로젝트를 만든다.

 

Import project 

 -> 이미 만들어진 프로젝트를 가져온다. 

 

Import STM32Cube example

 -> ST에서 제공하는 예제를 가져온다. 

 

 

반응형

 

여기서 Start new STM32 project를 클릭! 

 

 

이런 화면이 나온다. 부분 부분 살펴보자.

 

 

1. 메뉴다. MCU 및 MCU선택, 개발보드 선택, 예제 선택, 제품 비교 메뉴로 이동할 수 있다. 

 

2. 내가 필요한 기능을 갖는 MCU를 검색할 수 있다. 

 

3. 2번이나 Board Selector에서 선택한 제품의 종류를 보여준다. 

 

4. 3번에서 선택한 제품의 정보를 보여준다. 

 

프로젝트를 만들기 전에 어떤 MCU 또는 개발 보드를 사용할 것인지 선택하는 창이다. 우리는 B-L475E-IOT01A 1 보드를 사용할 거니까 Board Selector메뉴로 들어가 B-L475E-IOT01A 1을 검색해 보자.

 

 

이렇게 하나가 나온다. Board List에서 선택하고 하단에 보이는 Next 버튼을 누른다. 

 

이런 창이 나온다. 프로젝트명과 개발언어 등을 선택하라고 나온다. 프로젝트명만 입력하고 Finish 버튼을 누른다! 프로젝트명은 아무거나 입력해도 된다. 본인이 원하는 대로 

 

finish를 누르면 아래와 같은 창이 나오는데 개발 보드의 설정을 초기 설정으로 할 것이냐는 질문이다 Yes를 누른다.

 

MCU 설정이 어떻게 되어있는지 확인해 볼 거냐는 물음이다. 이것도 Yes를 누른다! 

 

 

이런 화면이 나타난다. 

 

 

센서가 여러 개 달려있는 만큼 뭔가 많은 설정이 되어있는 것을 확인할 수 있다.

 

왼쪽에 Project Explorer을 보면 파일 Tree가 보인다. 하나씩 눌러보자.

 

 

맨 위에 Includes는 현재 코드에 포함된 해더 파일들의 경로를 나타낸다.

아래 Core는 STM32CubeMx에서 생성한 파일이다. Inc와 Src로 나눠지는데 Inc는 Include의 약자고, Src는 soruce code의 약자다.

 

Startup은 MCU의 코어(Cortex-M4)와 관련된 파일이고 그 아래 Drivers는 ST에서 제공하는 HAL Driver 파일이다. 

 

그리고 그 아래는 STM32CubeMX설정 파일

 

아래 .ld 파일은 MCU의 FLASH 메모리와 RAM 관련된 파일이다. 

 

 

파일의 구성은 대략적으로 이렇다. 그럼 우선 이 상태로 다운로드와 디버깅 모드로 진입하는 방법을 알아보자. 

 

 

 

여기까지 완료했으면 Build를 해야 한다. 

 

 

프로젝트 파일을 선택하고 마우스 우클릭하고 "Build Project"를 누른다. 또는 Ctrl+B를 누른다.

 

 

 

 

 

 

 

 

 

 

 

 

 

하단 Console 창에서 빌드 상황을 확인할 수 있다. 가끔 에러가 발생하는데 이때는. ioc파일을 열어서 다시 저장해준다음 main.c 파일을 열면 code generator를 다시 할 거냐는 창이 나타나는데 여기서 "Yes"를 눌러주면 코드가 다시 생성되고 에러가 없어질 것이다. 이렇게 해서 빌드를 성공하면 아래와 같이 나타난다. 

 

 

 

여기까지 완료됐으면 상단에 벌레 모양으로 생긴 아이콘을 누른다. 

 

 

 

이런 창이 나타난다. 여기서 확인할 부분은 C/C++ Application에 Debug/B-L475E-IOT01A1.elf 파일이 추가되어 있는지 확인해야 한다. 이 파일이 빌드해서 완성된. elf 파일이다. 그럼 Debugger 메뉴로 이동한다. 

 

 

Debugger 메뉴로 들어가면 왼쪽 그림과 같이 ST-LINK 체크박스가 해지되어 있을 거다. 오른쪽 그림과 같이 체크박스 부분을 체크해 주고 Scan을 누르면 B-L475E-IOT01A1 보드에 내장된 ST-LINK의 시리얼 번호가 입력될 것이다. 이 상태까지 되면 Apply를 눌러주고 OK를 누른다. 

 

여기서 보드를 처음 연결했으면 아래처럼 ST-LINK의 펌웨어를 업데이트하라고 나올 것이다. 안 나오면 패스, 나오면 업데이트를 해준다. 

 

"Yes"를 누르면 아래 왼쪽 그림과 같이 나오는데 여기서 "Open in update mode"를 누르면 오른쪽 그림처럼 화면이 변한다. 여기서 하단에 "Update"를 누른다.

 

 

진행 중................!

 

완료되면 

이렇게 나온다. 그럼 창을 닫고 다시 벌레 모양 아이콘을 누른다.

 

 

 

그럼 디버깅이 진행된다. 

 

 

처음에 이런 창이 나오는데 화면을 디버깅 모드로 전환할 것인가를 묻는 창이다. 나중에 설정에서도 바꿀 수 있다. 나 같은 경우는 Remember my decision을 눌러 항상 바꾸도록 설정했다. 

 

디버깅 모드로 진입!! 좌측 상단에 디버깅 모드에서 보드를 제어할 수 있는 버튼이 있다. 

 

 

 

이 버튼 중에 아래 버튼을 누르면 보드가 동작된다. 여기까지 완료했으면 개발을 위한 모든 준비는 끝났다.

이제 원하는 걸 만들 수 있다. 

 

- 끝 -


다음 포스팅 내용이 궁금하다면?

2022.04.04 - [Hardware&Firmware/STmicroelectronic(STM)] - [STM32] 5. GPIO 제어하기-출력(B-L475E-IOT01A1 개발보드 활용하기)

 

[STM32] 5. GPIO 제어하기-출력(B-L475E-IOT01A1 개발보드 활용하기)

https://vuzwa.tistory.com/entry/STM32-4-STM32CubeIDE-%EC%82%AC%EC%9A%A9%EB%B0%A9%EB%B2%95 [STM32] 4. STM32CubeIDE 사용방법(B-L475E-IOT01A1 개발보드 활용하기) https://vuzwa.tistory.com/entry/STM32-3-STM32-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-%EA

vuzwa.tistory.com

 

728x90
반응형