강의

멘토링

로드맵

Inflearn brand logo image
NEW
하드웨어

/

임베디드 · IoT

TRACE32 입문 - MCU & RTOS 개발자를 위한 실전 디버깅 과정

기업에서 모셔가는 MCU 개발자가 되기 위한 필수 스킬인 - TRACE32 입문 과정입니다. 실무에서 바로 활용할 수 있는 TRACE32 디버깅 방법을 빠르게 익힐 수 있습니다.

8명 이 수강하고 있어요.

실습 중심
trace32
실무적용
문제해결
임베디드
MCUdebuggingriscvcortex-m3

이런 걸 배울 수 있어요

  • TRACE32 디버거를 활용해 레지스터와 메모리 내용을 읽고 수정해 문제 원인을 파악할 수 있습니다.

  • TRACE32에서 광범위하게 사용되는 CMM 스크립트를 작성하고 디버깅할 수 있습니다.

  • TRACE32의 브레이크 포인트 설정 기능을 활용해 코드의 실행 흐름을 제어할 수 있습니다.

  • 메모리 덤프를 저장하거나 로딩하는 기능을 활용해서 효율적으로 덤프 디버깅을 할 수 있습니다.

  • TRACE32의 기능을 활용해 Cortex-M3 프로세서와 RISC-V의 핵심 기능을 배울 수 있습니다.

커리어와 연봉 업그레이드를

원하는 MCU 개발자 주목!!!

기업에서 모셔가는 MCU 개발자가 되고 싶나요? TRACE32 디버깅 스킬은 필수입니다. 이번 강의를 들으시면 실무에서 바로 활용할 수 있는 TRACE32 디버깅 방법을 빠르게 익힐 수 있습니다. 수강 즉시, TRACE32 디버깅 실습(시뮬레이터 모드)을 진행할 수 있습니다.

TRACE32를

잘 다뤄야 하는 이유

TRACE32는 전 세계적으로 널리 사용되는 하드웨어 디버거이자 프로그램입니다. 특히 MCU 개발에 있어, TRACE32는 하드웨어 디버거일 뿐만 아니라, SDK 성격의 개발 환경입니다. 특히 대기업(삼성, 현대차, SK)과 글로벌 반도체 회사(퀄컴, NXP, 인피니언)에서는 MCU 개발 단계에서 TRACE32를 표준 도구로 사용하고 있습니다. 따라서 커리어를 위해 MCU 개발자가 TRACE32 사용법을 익히는 것은 단순한 선택이 아니라, 실무에서 요구되는 필수 역량이라고 할 수 있습니다.

이번 강의는 MCU 개발자가 TRACE32를 효과적으로 사용하는 방법을 설명합니다.

강의를 제작한 이유

+14년 동안 다양한 크래시 이슈를 해결하면서, TRACE32를 활용해 수 많은 난제 이슈(크래시, 락업, 와치독 리셋, 하드웨어 버그)를 해결했습니다. 중세 시대에 1대 1 결투 전날, 갑옷을 안고 잠을 자는 기사와 같이, 출장지에서 TRACE32를 안고 잔 적도 있습니다. 임베디드 시스템 개발자에게 TRACE32 장비가 기사를 지켜주는 갑옷과 같기 때문이었습니다.

아직도 야근을 하는 임베디드 시스템 개발자분들이 고생을 덜 했으면 하는 마음으로, 임베디드 개발자나 관리자를 대상으로 TRACE32 디버깅 세미나를 진행했습니다. 그런데 다음과 같은 불만을 들었습니다.

  • 관리자 입장: TRACE32 라이선스를 사줘도 개발자들이 잘 사용하지 않는다. (이유: 개발자들이 TRACE32를 활용하는 방법을 잘 모르기 때문)

  • 개발자 입장: 관리자들이 TRACE32 라이선스를 사주지 않아서, 디버깅을 할 수 없다. 또한 TRACE32 디버깅 하는 방법을 잘 알려주는 선배나 동료가 없다.

이런 피드백을 듣고 막강한 기능을 제공하는 TRACE32를 생각보다 잘 활용하지 못하는구나라고 생각했습니다. 그래서 TRACE32를 아직 써본 적이 없거나 익숙하지 않은, MCU 펌웨어 개발자 분들이 실무에 활용할 수 있는 TRACE32 입문 과정 강의를 제작하게 됐습니다.

강의의 차별화 포인트

이 강의는 단순히 TRACE32 사용법을 나열하는 과정이 아닙니다. MCU 개발자가 실무에서 반드시 만날 수 있는 상황과 함께 설계된 실습 중심 강의입니다.

1.직접 실습 가능한 환경 제공

수강생은 TRACE32 프로그램(시뮬레이터 버전)을 내려받아 바로 실행해 볼 수 있습니다. 하드웨어 디버거 장비가 없더라도, PC 환경에서 TRACE32를 설치하고 직접 디버깅 명령을 실습할 수 있습니다. 이를 통해 실제 장비를 사용하기 전 단계에서 충분히 경험을 쌓을 수 있습니다.

2.Cortex-M3와 RISC-V MCU 지원

이 강의는 Arm Cortex-M3와 RISC-V 아키텍처 관련 기능을 모두 설명합니다. 현재 MCU 시장은 Arm 기반 제품과 RISC-V 기반 제품으로 양분되고 있으며, 두 아키텍처를 이해하는 것은 향후 MCU 개발자의 경쟁력을 높이는 중요한 요소입니다. TRACE32를 이용해 두 아키텍처의 차이를 직접 경험할 수 있습니다.

3.실습 위주로, 쉽고 체계적인 디버깅 방법 설명

TRACE32는 강력한 기능을 제공하지만, 처음 접하는 사람에게는 다소 복잡하게 보일 수 있습니다. 이 강의는 직접 개발에서 겪을 수 있는 시나리오를 기반으로 구성돼 있습니다. 레지스터 확인, 메모리 덤프 분석, 함수 콜 스택 추적 등 MCU 개발에서 자주 필요한 기능을 실습 위주로 다룹니다. 또한 TRACE32의 디버깅 방법을 단계별로 나누어 쉽고 명확하게 설명합니다.

4.CMM 스크립트 활용법 제공

단순히 GUI 환경에서 디버깅하는 것을 넘어, CMM 스크립트를 사용하여 메모리를 덤프하거나 특정 데이터를 파싱하는 방법도 다룹니다. 이 기능은 대규모 프로젝트나 반복적인 분석 작업에서 큰 생산성 향상을 가져옵니다. 실무에서 바로 적용 가능한 스크립트 예제를 함께 제공하여, 학습 효과를 극대화합니다.

이 강의를 듣고 나면...

  • TRACE32으로 여러분이 개발하는 ELF 파일을 바로 로딩해서 심벌을 디버깅할 수 있습니다. 섹션 정보와 변수와 함수의 정보를 확인할 수 있습니다. 이를 바탕으로 처음 보는 소스 코드를 효율적으로 분석할 수 있고 최대한 빠른 시간에 디버깅을 수행할 수 있습니다.

  • TRACE32를 활용해 브레이크 포인트를 걸고, 관련된 전역 변수나 로컬 변수를 바로 확인할 수 있습니다. 또한 레지스터나 메모리 컨텐츠를 직접 수정할 수 있어, 예상하지 못한 문제에 효과적으로 대처할 수 있습니다.

  • 어셈블리 명령어(Cortex-M3, RISC-V)를 실행해 직접 디버깅을 할 수 있습니다. 변경된 레지스터의 값이나 메모리 컨텐츠를 확인해 볼 수 있습니다.

  • TRACE32 프로그램을 사용하다가 만나는 문제를 디버깅할 수 있습니다. 특히 CMM 스크립트를 실행하는 과정에서 만나는 이슈를 직접 대처할 수 있으며, 1차 원인을 바로 확인할 수 있습니다.

이런 내용을 배워요

MCU 펌웨어 개발자들이 TRACE32를 잘 배워야 하는 이유를, 실무 개발과 커리어 관점으로 상세하게 설명합니다.


TRACE32를 사용해서 실무 개발에서 어떤 일을 할 수 있는지 구체적으로 설명합니다.

TRACE32를 잘 쓰려면 TRACE32에서 지원하는 CPU 아키텍처의 기본 기능을 알 필요가 있습니다. MCU 펌웨어 개발에서 많이 쓰이는 Cortex-M3/M4 프로세서의 핵심 기능에 대해 설명합니다.

최근에 MCU에서 많이 사용되는 RISC-V 프로세서의 기본 기능에 대해서 설명합니다.

TRACE32를 실행해보고, 이 과정에서 알아야 하는 기본적인 명령어를 소개합니다. CMM 스크립트를 디버깅하는 실습을 진행합니다.

TRACE32의 각각 메뉴를 설명힙니다. 브레이크 포인트를 걸고 어셈블리 명령어를 디버깅하는 실습을 진행합니다.

RISC-V 기반의 ELF 파일(u-boot)을 로딩한 상태에서, 이전 강의에서 다룬 TRACE32 기능을 사용하는 실습을 진행합니다. MCU 펌웨어 개발자 입장에서 CPU가 변경되면, TRACE32에서 어떤 기능이 함께 사용되는지 알 수 있습니다.

TRACE32에서 심벌을 디버깅하고, 바이너리 파일을 로딩하는 구체적인 실습을 진행합니다.

TRACE32 레퍼런스 메뉴얼을 보면서 디버깅 과정에서 자주 사용하는 명령어를 정리합니다.

수강 전 참고 사항

교육용 TRACE32 프로그램의 저작권과 주의사항

  • 본 과정에서 사용되는 TRACE32 교육용 프로그램은 MDSTech와 Lauterbach에게 있으며, 라이선스 없이 복제나 배포할 수 없습니다.

  • 본 강의는 한국 개발자를 대상으로만 제작된 강의입니다. (한국을 제외한 다른 지역에 있는 해외 개발자는 이 강의를 들으실 수 없습니다. 사유:TRACE32 라이선스 문제)

Copyright and Notice

  • The TRACE32 training software used in this course is owned by MDSTech and Lauterbach. It cannot be copied or distributed without a license.

  • This course is created only for South Korean developers in South Korea. Developers outside of Korea cannot take this course due to TRACE32 license restrictions.

실습 환경과 선수 지식

  • TRACE32 프로그램(시뮬레이터 모드)은 '윈도우 10' 혹은 '윈도우 11' 환경에서 사용할 수 있습니다.

  • 이 강의의 선수 지식은 없습다만, MCU나 RTOS에 대해 알고 있으면 더 편하게 수업을 들을 수 있습니다.

  • C언어의 기본 문법은 알고 있으면 좋습니다.

선수 지식 및 유의사항

  • 학습 난이도를 고려한 필수 선수 지식 여부

  • 강의 영상 품질(음질/화질) 등 수강과 직접 연관된 내용 및 권장 학습 방법

  • 질문/답변 및 추후 업데이트 관련 내용

  • 강의 및 학습 자료 저작권 관련 공지사항

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • MCU 기반 펌웨어를 개발하며 효율적인 디버깅 방법을 배우고 싶은 임베디드 소프트웨어 엔지니어

  • TRACE32를 처음 접하지만 프로젝트에서 반드시 사용해야 하는 주니어 개발자

  • 보드를 처음 브링업하거나 퍼리퍼럴 디바이스를 디버깅할 때 어려움을 겪는 리눅스 BSP 엔지니어

  • RTOS 환경에서 태스크 동작과 시스템 동작을 분석하고 싶은 펌웨어 개발자

  • MCU 크래시나 익셉션을 빠르게 파악해 문제 해결 능력을 키우고 싶은 개발자

선수 지식,
필요할까요?

  • C언어

  • MCU

  • RTOS

안녕하세요
입니다.

5,584

수강생

156

수강평

85

답변

4.9

강의 평점

22

강의

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (Arm, RISC-V 아키텍처)

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자(2권의 책 모두 대한민국 학술원 우수도서에 선정)이며, 국내 최초로 해외 출판사(Packt)를 통해 "Reverse Engineering Armv8-A Systems" 책(영어)을 집필한 글로벌 저자입니다. 무엇보다 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 책(영어) 저자, (Packt 출판사)

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2024년, 대한민국 학술원 우수도서상) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)

국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

강의문의 : austindh.kim@gmail.com

주요 로드맵 🎯

'시스템 소프트웨어 개발자를 위한 Arm - basic course'

'시스템 소프트웨어 개발자를 위한 Arm - advanced course'

시스템 소프트웨어 개발자를 위한 Linux kernel - basic course

커리큘럼

전체

80개 ∙ (9시간 16분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

얼리버드 할인 중

₩46,200

30%

₩66,000

김동현 (Austin Kim)님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!