inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.

GPIO 간단 제어해보기

[5강 Hello Gpio] 환경구축의 의미

해결된 질문

175

qwer1234

작성한 질문수 5

0

안녕하세요, 강의를 듣는중 의문점이 생겨서 글 남깁니다.

제가 궁금한점은

우선 보드에 ST link 장비를 연결하는 이유가 뭔지가 궁금합니다.

이 장비가 있어야 디버깅이 가능한건가요??

ST link의 전체적인 역할이 궁금합니다.

Raspberry-Pi arduino 임베디드

답변 2

1

ojtube5

ST-Link는 임베디드 시스템 개발에서 매우 중요한 도구로,
주로 STM32 마이크로컨트롤러 시리즈와 함께 사용됩니다.
간단히 말하면, PC와 마이크로컨트롤러 간의 브릿지 역할을 합니다.
ST-Link가 수행하는 주요 기능은 다음과 같습니다:

  1. 디버깅(Debugging)
    ST-Link는 PC의 개발 환경(예: IDE)과 마이크로컨트롤러 간의 디버깅 연결을 지원합니다. 이를 통해 개발자는 실시간으로 코드 실행을 추적하고, 브레이크포인트 설정, 변수 값 확인, 레지스터 상태 확인, 스텝 실행 등의 작업을 수행할 수 있습니다.

  2. 펌웨어 플래싱(Firmware Flashing)
    개발된 프로그램을 마이크로컨트롤러의 플래시 메모리에 업로드하는 기능을 제공합니다. 플래싱 과정을 통해 프로그램이 MCU에서 독립적으로 실행될 수 있도록 합니다.

  3. 통신 인터페이스 제공
    ST-Link는 JTAG 또는 SWD(Serial Wire Debug) 같은 표준 디버깅 프로토콜을 지원합니다.

    • SWD: JTAG보다 간소화된 2선식 디버깅 프로토콜로, STM32 디바이스에서 자주 사용됩니다.

    • JTAG: 다중 핀을 사용하는 표준 디버깅 및 테스트 프로토콜로, 디버깅뿐 아니라 하드웨어 레벨의 테스트에도 활용됩니다.

      .


ST-Link의 물리적 연결과 역할 간단 정리:

  • USB 포트: PC와 연결.

  • JTAG/SWD 핀: 마이크로컨트롤러와 연결.

     

종종. st-link 칩 자체를 포함한 보드도 있어요. (stm 개발 보드)

그런 경우에는 st-link 기기가 필요 없을 수도 있어요.

왜냐면, st-link기기의 칩을 그냥 보드 자체에 심어 놓은 거니깐요.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. nmk1188님.

ST-LINK는 주로 임베디드 시스템 개발에서 사용되는 디버그 도구 중 하나입니다. 이 장비를 사용하는 주요 이유는 아래와 같습니다:

  1. 디버깅: ST-LINK를 사용하면 개발 중인 프로그램을 실제 하드웨어(프로세서나 마이크로컨트롤러)에 연결하여 디버깅할 수 있습니다. 이는 코드의 각 부분이 의도한 대로 작동하는지 확인하고, 예기치 않은 오류를 발견하고 수정하는 과정에서 매우 유용합니다.

  2. 프로그램 다운로드: ST-LINK는 작성된 프로그램을 물리적 디바이스에 업로드(또는 플래시)하는 데 사용됩니다. 개발된 소프트웨어가 목표 하드웨어에서 실제로 실행될 수 있도록 이전하는 과정에서 핵심적인 역할을 합니다.

  3. 실시간 제어 및 모니터링: 일부 고급 디버깅 기능은 프로그램의 실행 상태를 실시간으로 모니터링하고 제어할 수 있습니다. 이는 퍼포먼스 튜닝과 같은 작업에서 도움이 됩니다.

다시 말해, ST-LINK는 임베디드 시스템의 소프트웨어 개발에서 필수적인 도구로, 프로그램을 안전하게 하드웨어로 전송하고, 예상치 못한 동작의 문제를 해결하는데 꼭 필요합니다.

유사한 질문이 있었으니, 참고하시면 도움이 될 것 같습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

13강 프로젝트생성해보기 관련 질문

0

22

3

난방실만들기.4 진행 중, m_state 값 초기화가 안됩니다..

0

35

2

IDE 설치 영상 관련 문의

0

51

2

[정보 공유] STM32CubeIDE 버전별 이슈 정리 (1.19 미만 / 2.0.0 이상)

0

137

2

스위치회로 value값 바뀌지 않음

0

46

2

FND 점등에 성공했는데, Controller.c 디버깅 중 문제가 생겼습니다.

0

61

2

FND 7세그먼트 처음 킬 때의 '7777'불이 안 들어옵니다.

0

74

2

포트에 안잡히면 x쉘에서 Port설정을 어떻게 하죠..?

0

59

2

빌드 및 디버깅 오류

0

114

2

보드에 불이 안들어옵니다.

0

74

2

씽크 오류

0

57

1

고추건조기 개발보드 전원연결 문제점..

0

74

2

회로도 핀 연결 질문

0

68

2

elf 파일을 찾을수 없다는 오류

0

72

2

Nucleo 보드로 대체

0

85

2

구매해야 하는 물품 문의

0

97

2

ST-Link 디버깅 에러

0

84

3

강의 사용하시는 pdf는 어디에 있나요?

0

111

2

이전 질문 재질문입니다.!

0

77

2

다른 개발 실습 보드 사용문의

0

96

2

smt32 Cube Ide 설치관련 에러입니다

0

229

2

제가 1년전에 구매해서 이제 뜯어봤는데 납땜이 겹쳐있는데 사용해도 괜찮을까요?

0

94

2

타이머 최대 주파수 질문

0

66

2

초기 신호에 대한 질문

0

90

2