임베디드

13. 프로젝트 생성

sdafdq 2026. 2. 3. 10:04

 

 

그러면

이렇게 뭐 다운로드 되고

 

 

 

 

STM32 칩 선택

 

 

우리가 사용하는 칩이 STM32F103C8T6

여기서 오른쪽 위에 보면 Datasheet도 다운 가능

 

 

 

프로젝트 설정

이름하고,

 

언어,

Static Libraryt는 라이브러리 만들 때,

STM32Cube 타입으로

 

하고 Finish

 

 

저런 안내창 하다보면 여러 번 뜰 수도 있는데,

 

툴 에디터 관점에서 여냐? 뭐 툴 에디터 전용 창으로 여냐? 그런 느낌.

여기선 걍  Yes

 

 

 

 

여기까지 되면 프로젝트 생성

 

 

 

이후 제대로 되는지 ST-Link, 칩, 컴퓨터 연결하고 

메인 C 가고

 

 

 

그 전에, 유의사항.

반드시 저 주석 안에다 코드 넣어야 함.

BEGIN, END 사이에.

 

저렇게 27번 줄 처럼 저기다 코드 넣으면 ioc파일에서 PIN설정 바꾸고 저장하면 다 날라감.(주석도 날라감.)

아무래도 여기서 PIN관련 설정해 주는 게 코드를 자동으로 집어넣어 주는거라.

 

뭐 그리고 Private includes

Private typedef 

이런 거 구분하는건, 안해도 되긴 함.

편의상 저렇게 구분해 놓은 것 일듯.

실행할 때는 아무 문제 없을거임.

 

BEGIN과 END 사이에 코드 넣는 게 중요.

주의.

반드시 BEGIN과 END 사이에만.

 

 

 

 

그리고 또,

ioc 저장할 때 저 안내창은 자동으로 되게끔 체크 안하는 게 좋음.

저거 코드로 생성 안할때도 있다고 함.

 

 

 

 

뭐, 그리고 소스코드 파일 따로 추가로 만들어서 라이브러리 처럼 사용하고 싶으면 Src부분에 추가로 파일 만들면 되는거고.

 

 

 

그 다음 할 일은,

HAL_Init(); 에 BP 달고 디버깅.

BP다는 건 저기 파란색 영역 더블클릭

 

 

그럼

알아서 컴파일 하고,

 

 

 

 

뭐 창 뜨는 데 빌드, 디버그에 관한 설정 같음.

그냥 OK

 

 

그럼 저렇게 성공적으로 다운로드 되었다 (칩에 파일 성공적으로 올렸다)

HAL_Init()에 초록색으로 멈춘거 보이고

오른쪽에는 디버깅 UI들.

이러면 성공적으로 된 거.

 

근데 가끔 칩 펌웨어 버전이 낮아서 안될 때도 있음.

그럴 땐,

https://qwefdg3.tistory.com/1061

 

이거 참고.

 

 

 

 

그리고 저거 풀었는데도 계속 저기에 디버깅 걸려서 왜 그런가 찾아봤더니,

https://electronics.stackexchange.com/questions/612662/why-does-stm32cubeide-debugger-always-stop-on-hal-init

 

Why does STM32CubeIDE debugger always stop on HAL_Init()

I've noticed that while debugging an STM32 project using the STM32CubeIDE debugger, the debugger always stops on the HAL_Init() function call even when I don't have a breakpoint listed. This even o...

electronics.stackexchange.com

 

설정 문제.

Debug Configurations에서

저거 체크 해 놓으면 계속 main에 걸림. (HAL_Init()이 main의 첫번째 함수라 저기 걸린 듯.)

 

 

 

 

'임베디드' 카테고리의 다른 글

15. HAL 드라이버 분석  (0) 2026.02.03
14. GPIO 제어  (0) 2026.02.03
12. 환경구축  (0) 2026.02.03
11. 티지털 멀티미터  (0) 2026.02.02
10. 그라운드와 접지의 차이  (0) 2026.02.02