김동현 (Austin Kim)
@austinkim
수강생
6,369
수강평
244
강의 평점
4.9
게시글
질문&답변
T32 Installation
(제가 늦게 질문을 확인해서, 늦게 답변 드리는 점 양해 부탁합니다.)에러가 발생한 이유는 T32/ELF 폴더에 vmlinux_aarch64 파일이 존재하지 않기 때문입니다. 아래 강의에 업로드한 ELF.zip 파일의 압축을 푸신 후에,'강의 7: 추가 ELF 파일 업데이트 (T32/ELF 폴더)' C:T32/ELF 폴더에 ELF 파일을 위치시키면 잘 동작할 것입니다.* 참고로 vmlinux_aarch64 파일은 다른 Arm 아키텍처 강의에서 활용된 ELF 파일입니다.
- 0
- 2
- 34
질문&답변
강의 슬라이드 문의
아래 강의에 가시면, 섹션2와 섹션3을 포함한 전체 강의 슬라이드를 확인하실 수 있습니다:'2. 강의 슬라이드 문서 자료'감사합니다.
- 0
- 3
- 20
질문&답변
강의 슬라이드 문의
먼저 강의를 들어주셔서 감사합니다. 문의하신 강의 슬라이드는 3/27(금) 까지 업로드하도록 하겠습니다. 감사합니다.
- 0
- 3
- 20
질문&답변
5장 Armv7 동작모드와 6장 Armv8 익셉션 레벨 차이
Armv8와 Armv7 아키텍처 별로 용어는 다르지만, 동작 모드와 익셉션 레벨은 거의 유사한 개념입니다.Arm 아키텍처는 동작 모드와 익셉션 레벨을 Privilege level를 나타내는 용어라고 설명합니다.구체적으로 말씀드리면:1) Privilege level 0 - Armv7: User mode (유저 애플리케이션 실행) - Armv8: EL0 (유저 애플리케이션 실행)2) Privilege level 1 - Armv7: Supervisor mode, IRQ mode, Abort mode, Undefined mode (리눅스 커널 실행) - Armv8: EL1 (리눅스 커널 실행)감사합니다.
- 0
- 2
- 34
질문&답변
강의 업로드 오류 확인 요청
확인 후, "42. 워크 핸들러에 전달되는 매개 인자 디버깅"의 강의를 제대로 다시 업데이트했습니다. 오류를 지적해주셔서 감사드리고, 같은 실수를 하지 않게 앞으로 강의를 잘 업로드 하겠습니다.감사합니다.
- 0
- 2
- 52
질문&답변
시스템 소프트웨어 직무 관련 질문드려요
답변이 다소 늦은 점 먼저 양해 부탁드립니다.ip/솔루션이나 soc 분야이면, 칩셋 업체(펩리스)의 시스템 소프트웨어 개발 분야로 준비하시는 것 같은데요.궁금한 점에 대해서 의견을 드립니다.먼저 펩리스 업체의 개발 동향과 방향에 대해서 공유드리면요:1. ip/솔루션이나 soc 분야에서는 Arm 아키텍처를 활용해 드라이버를 설계하는 비중이 높습니다. 칩셋에서 사용하는 대부분의 IP는 현재 Arm 기반이기 때문입니다.2. 리눅스 커널이나 리눅스 드라이버를 바라보는 관점은, 리눅스 커널에서 제공하는 API를 활용해서리눅스 드라이버를 잘 개발하자는 방향입니다.3. 칩셋 업체의 시스템 소프트웨어 개발은 주로 부트로더와 리눅스 드라이버에서 이뤄집니다.리눅스 드라이버보다는 부트로더에 더 많은 프로그래밍을 합니다.따라서 지금 준비하시는 활동은 아주 방향에 잘 맞는다고 말씀드릴 수 있습니다.주신 내용을 기반으로 가장 중요한 순서대로 학습 주제를 말씀드리면 다음과 같습니다.- Arm 아키텍처(Armv8-A)의 핵심 기능을 학습한다 * 가능하면 TRACE32 디버거를 활용해 어셈블리 명령어나 레지스터를 분석한다 * 익셉션이나 인터럽트가 Arm 아키텍처에서 어떻게 처리되는지 분석한다 * 메모리 덤프를 분석하면서 Arm 아키텍처의 주요 기능(calling convention)을 학습한다- Arm 아키텍처의 주요 기능이 부트로더에 어떻게 구현됐는지 분석한다 * 스타트업 코드나 익셉션 핸들러 위주로 먼저 분석한다 * u-boot과 같이 업계에서 많이 활용되는 부트로더를 라즈베리 파이에서 실행하면서 핵심 구조를 파악한다- 리눅스 디바이스 드라이버의 기본 구조를 파악한다- 리눅스 디바이스 드라이버에서 주로 호출하는 커널 API를 학습한다- Arm 아키텍처의 주요 기능이 리눅스 커널에 어떻게 구현됐는지 분석한다위에서 언급드린 순서대로 학습하시면 모든 펩리스 업체에서 원하는 1순위 특급 개발자가 되실 수 있습니다. 드린 의견이 도움이 됐으면 좋겠습니다. 추가로 궁금하신 점이 있으면 언제든 문의주세요.감사합니다.김동현 드림.
- 0
- 2
- 57
질문&답변
책관련 질문드려요
1. 책의 리눅스 커널 버전은 4.19으로 다소 오래된 버전입니다 - 현재 6.1~6.6버전을 사용합니다. 커널 버전이 업그레드되고 있으나, 책에서 설명하는 리눅스 커널의 기본 동작 원리를 예전이나 지금이나 같습니다. 책만을 읽으시면서 진행하셔도 좋고, 책을 읽으시면서 혹시 추가로 강의를 들으셔도 좋긴 합니다.Basic이나 Advanced 리눅스 디버깅 강의는 책에는 없는 내용이 대부분이니 들으시면 도움이 되길 할 것입니다.2. Arm 아키텍처의 경우는 되도록 강의를 들으시면서 책을 읽으시면 더 좋습니다. 책에 없는 내용을 강의에서 많이 설명하기 때문입니다. 감사합니다.
- 0
- 2
- 62
질문&답변
4.2.1. 실습을 어떻게 진행하는것인가요?
지적해주신 강의는 2024년 디버깅 실습이 추가되기 전에 촬영된 강의입니다. MOV 명령어를 따라서 실습할 수 있는 강의 영상은 추가로 제작해서 업로드할 예정이니 참고하세요.
- 0
- 2
- 56
질문&답변
3.2.1.4 실습과 관련한 질문
아래와 같이 답신 드리니 참고하세요.1. 지적해주신 강의는 Arm32 (Armv7-A) 아키텍처 기반의 메모리 덤프로 콜 스택을 보여주는 영상입니다.2024년 디버깅 실습이 추가되기 전에 촬영된 강의입니다. 따라서 현재 TRACE32 디버깅 실습으로는 따라서 진행하기 어렵습니다. 다른 TRACE32 디버깅 실습으로도 충분히 Arm 아키텍처의 기능을 실습할 수 있으니, 이 점 참고하세요.2. Lauterbach의 Debug Probe(PowerDebug / PowerTrace)를 통해서 실제 하드웨어 포트(JTAG / SWD)와 TRACE32를 연결(USB나 Ethernet을 통해) 합니다.
- 0
- 2
- 63
질문&답변
[30. RISC-V: 어셈블리 명령어의 목록] 부분 br, bl 오타인 것 같습니다
제보해주셔서 감사합니다. 오타가 있는 강의 영상은 다시 제작해서 업로드했습니다.다시 확인하시면 오타가 없는 영상을 확인하실 수 있습니다.
- 0
- 2
- 56




