임베디드

프로젝트 생성

sdafdq 2025. 9. 9. 01:13

뭐 처음 실행하면 워크스페이스 정하고,

 

 

 

 

 

새 STM32칩용 프로젝트 만들고.

 

 

그럼 뭐 이것저것 다운 받고 칩 선택하는 화면 나옴.

걍 검색해서 찾아서 선택.

 

 

STM 칩은 이런 점들도 장점. 환경이 편하게 되어 있음.

 

칩에 대한 정보도 볼 수 있네.

패키지 형태, 칩의 모양, 형태는 

저렇게 되어 있고,

 

플래시 메모리는 64Kb에, 램은 20Kb, 클럭은 72M(메가, 100만)hz

 

플래시 메모리가 하드같은 역할. 저기다 빌드 된 파일 업로드.

 

 

 

데이터 시트에서 찾아보면

이 형태.

 

저 검은 점 왼쪽부터 반시계방향으로 순서대로 1,2,3... 순이라고 함.

 

실제로 칩에 동그라미가 있음.

저런 식으로 실제 동그라미 있음

 

여튼, 칩 선택하고, Next

그럼 이제 프로젝트 이름 정하고,

C언어 쓸거고,

타입은 라이브러리 만드는 용도가 아니라 실행할 수 있는 형태로,

프로젝트 타입은 빈 타입이 아니라 STM32Cube 써서 어느정도 틀까지 완성되게.

 

그리고 Finish

 

그럼 이렇게 뭐 뜰거임.

 

이거는 뭐 지금은 디바이스 환경 툴 에디터라는데, 

perspective가 관점인데,

 

저 디바이스 환경 툴 에디터 모드일때는 그런 전용관점으로 보고,

코딩 모드일 땐 그 전용 관점으로 보고, 디버그 모드일 땐 그 관점으로 보고 그렇게 할거냐.

Yes

 

 

 

그럼 이렇게 프로젝트 완성.

 

 

세팅 다 되고 뭐 여기서 클릭으로 저렇게 GPIO 핀 뭐 어떻게 할 수 있나 봄.

 

원래는 다 코드로 해야 하는데 저렇게 하면 코드가 알아서 짜지나 봄.

 

코드로 하는 방법도 있음.

 

 

 

그 다음 이제 컴퓨터랑 ST-Link + 칩 연결.

 

위쪽 하얀 선은 USB

저걸로 컴퓨터랑 연결 + 전압까지.

저 많은 핀의 선은 저 보드로.

 

처음에는 전원 넣으면 LED깜빡깜빡 거리는 게 기본 소스로 빌드되어 있음.

 

파일 올리면 그렇게 되지 않음. 걍 불만 들어오게 되는 듯.

 

저 곳은 별도 전원.

지금은 괜찮은데, 뭐 나중에 부품 연결하고 쫌 클럭 높아지고 처리할 거 많아지고 하면 전류가 부족할 수 있음.

 

그 때 추가로 넣는걸로..

게다가 ST-Link도 전류를 사용하기 때문에..

 

게다가 ST-Link자체는 원래 보드에 전원을 넣는 용도가 아니라 프로그래밍 용도다.

그래서 따로 보드에 내장된 전원 입력 부품을 사용하는 것이 좋다.

 

걍 부가적인 기능이라고 보면 된다.

 

전원공급은 부가적인 기능이라는 느낌. 

여튼간에 보드에 디버깅이나 업로드 하려면 보드 전원도 들어가 있어야 플래시에 쓰고 그럴 수 있으니까.

 

 

여튼 컴퓨터랑 연결하면 보드, ST-Link 다 불 들어옴.

 

그렇게 연결하고, 

 

임베디드 실행 시 실행 되어질 메인 소스코드를 찾고,

메인 함수가서 HAL_Init() 에 디버그 포인트를 걸어 놓음.

 

저거는 이제 모든 주변 장치의 재설정, 플래시 인터페이스 및 Systick을 초기화합니다.

라는 설명처럼, MCU 내부의 ADC라던지, GPIO, UART등을 깨끗하게 초기화.

Systick은 시간 같고,

플래시 인터페이스란 플래시 메모리 제어하는 것. 

인터페이스란 두개 이상의 서로 다른 시스템에 대한 상호작용의 매개체를 뜻하는데,

플래시 인터페이스는 플래시 메모리와 MCU간의 상호작용 하는 회로.

 

 

여튼 이렇게 걸고,

 

디버그 버튼 누르면,

 

이건 뭐 디버그에 대한 설정 하는 거 같음.

걍 일단 OK

 

메인 코드 OK

 

 

그럼 막 ST-Link 깜빡깜빡 거리면서 이거 디버그 하고 있어요 티를 냄.

 

이렇게 성공적으로 다운로드 했다.

소스코드를 성공적으로 임베디드 칩에 다운로드 했다 그런 거 같음.

 

 

저게 디버그모드에서 다음 함수로 넘기는 버튼.

 

 

뭐 ST-Link 펌웨어 업그레이드 하라고 그럴 수도 있는데, 하면 됨.

https://qwefdg3.tistory.com/1047

 

이거 참고하면 됨.

 

 

저걸로 잘 안되면, 

https://www.st.com/en/development-tools/stsw-link004.html

 

STSW-LINK004 | Software - STMicroelectronics

STM32 ST-LINK Utility (STSW-LINK004) is a full-featured software interface for programming STM32 microcontrollers.

www.st.com

여기서 ST-Link 유틸리티 통해서 업그레이드 해 주면 됨.

 

Connect해서 ST-Link 잡아주고,

안되면 USB 뺐다가 껴보고.

 

이거는 중간에 꺼도 되는 듯.

뭔가 메인보드 펌웨어 업데이트같이 사실 디버그는 상관 없을 것 같고, 뭔가 파일 올라가는 도중에 끄면 어떨까 싶었는데,

기본 부트 로더는 수정불가로 칩에 내장되어 있다고 함.

커스텀 부트 로더도 가능한데, 이거는 추가하는거고, 저 커스텀 부트 로더로 뭐 하다가 잘못되어도 걍 기본 부트 로더로 복구하면 됨.

 

메인보드 펌웨어 업데이트는 저런 부트쪽까지 싹 다 갈아엎는건가봄. 그래서 중간에 전원 끄면 메인보드 죽는 건가 봄.

 

 

뭐, 잘 연결되면,

 

 

 

여기에 디바이스 커넥트 버튼이 또 따로 있기는 함.

 

 

연결 해서, Yes 눌러서 업데이트

 

 

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

임베디드 코드  (0) 2025.09.09
코드 입력 주의점  (0) 2025.09.09
환경구축  (0) 2025.09.08
멀티미터기  (0) 2025.09.07
쇼트  (0) 2025.09.07