글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (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'
강의
로드맵
전체 4수강평
- TRACE32 입문 - MCU & RTOS 개발자를 위한 실전 디버깅 과정
- 디버깅으로 배우는 RISC-V 아키텍처 -2부
- TRACE32 입문 - MCU & RTOS 개발자를 위한 실전 디버깅 과정
- 시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리 - 1부 저자 직강 (2024년 버전)
게시글
질문&답변
실제 사용하려면
업계에서 RISC-V가 떠오르고 있다고는 하지만, 아직 현업 개발에서 MCU의 대세는 Arm 프로세서입니다. 먼저 Cortex-M3에 대한 내용을 분석하신 후에, RISC-V 분석을 진행하시길 권장드립니다.
- 0
- 1
- 27
질문&답변
스택에 PUSH되는 PC 값
Armv7-A 아키텍처(A32 상태)에서 pc를 읽어서 push하는 명령어를 실행할 때, pc는 현재 실행 중인 명령어의 주소에 대응되지 않습니다. 대신, 현재 명령어 주소의 + 8바이트의 값에 대응됩니다.이 +8 바이트 오프셋은 Arm 파이프라인 구조 때문입니다. 명령어가 실행 중일 때, 명령어 페치(Fetch) 단계에서는 이미 다음 두 개의 명령어(8바이트 앞) 를 가져와 놓은 상태이기 때문입니다.아래는 TRACE32 시뮬레이터를 사용해서 - 일부러 C023F8FC 주소의 명령어를 'push {pc}' 명령어로 바꿔서, 실행한 결과 화면입니다.(사진) 스택에 C023F8FC이 아닌, C023F904(C023F8FC + 0x8) 데이터가 푸시됩니다.Armv7-A 아키텍처에서는 PC를 읽을 때 현재 명령어보다 8바이트 앞선 주소로 확인됩니다.
- 0
- 2
- 22
질문&답변
TRACE32 관련 문의 내용
아래 환경에서 메모리 덤프 (2-irq_dump.zip)을 내려 받아서, TRACE32 시뮬레이터 프로그램으로 로딩을 했습니다.-Host OS : Window 11아래 화면과 같이 제대로 로딩이 된 것을 확인했는데요. 1) TRACE32 프로그램을 다시 실행시킨 다음에, 덤프를 로딩하시거나 2) 2-irq_dump.zip 압축 파일이 제대로 풀렸는지 확인 부탁드립니다.// 아래는 제가 로딩한 TRACE32 프로그램 스틸컷입니다.(사진) 감사합니다.
- 0
- 2
- 22
질문&답변
T32 설치 관련
공유해주신 스크린 캡쳐 화면에서 'Podbus Device Chain' 윗 부분에 있는'Example Configuration'에 좌클릭을 하신 다음에, '우클릭' - 'Add'를 선택하시면Simulator 아이콘이 확인될 것입니다.아래 스틸컷을 참고하셔서 진행 부탁드립니다.(사진)감사합니다.
- 0
- 2
- 55
질문&답변
유저 모드 뱅크드 레지스터 질문입니다
(늦게 답신 드려서 죄송합니다)Armv7-A 아키텍처에서 유저 모드에 대한 뱅크드 레지스터는 R13, R14 입니다.말씀드린 내용은 TRACE32로 실습을 하시면 확인하실 수 있습니다.혹시 R8-R14가 뱅크드 레지스터라고 판단하신 근거를 알려주시면, 확인 후 답신 드리겠습니다.감사합니다.
- 0
- 2
- 27
질문&답변
강의 문서 미제공
'4. 강의 문서'에 강의 문서를 업로드했으니 참고하세요.감사합니다.
- 0
- 3
- 27
질문&답변
강의영상 확인요청
편집 과정에서 실수가 있어서 죄송합니다. '14. 유저 프로세스-생성 과정' 영상을 제목에 맞게 다시 업데이트했습니다.감사합니다.
- 0
- 2
- 30
질문&답변
강의 문서 미제공
8/29(일주일 후)까지 확인 후 업로드하도록 하겠습니다.감사합니다.
- 0
- 3
- 27
질문&답변
강의안 자료는 따로 제공이 안 되나요?
순차적으로 강의 자료를 업로드할 예정이니 참고하세요.-프로세스 업로드 완료-인터럽트 (07/28 예정)-인터럽트 후반부 (08/04 예정)
- 0
- 2
- 49
질문&답변
리눅스-프로세스 강의 교재 자료
아래 경로에 강의 문서를 업로드했으니 참고하세요 - 세션 1 (강의 소개) > 2 강의 자료 (전체 프로세스: 강의 슬라이드 문서)
- 0
- 3
- 139








