austinkim
@austinkim
Students
6,387
Reviews
248
Course Rating
4.9
๊ธ๋ก๋ฒ ์ ์ & ๋ฆฌ๋ ์ค ์์คํ ์ํํธ์จ์ด ๊ฐ๋ฐ์ (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
Courses
Reviews
jyhan06253967
ยท
Everything About System Software Development - Focusing on System Semiconductors and Electric VehiclesEverything About System Software Development - Focusing on System Semiconductors and Electric Vehiclesjazzpiano85181275
ยท
Structure and Principles of the Linux Kernel: Interrupt Bottom Halves [Author's Lecture Part 1-6]Structure and Principles of the Linux Kernel: Interrupt Bottom Halves [Author's Lecture Part 1-6]jazzpiano85181275
ยท
Structure and Principles of Arm Architecture for System Software Development - Part 2 Author's Lecture (2024 Version)Structure and Principles of Arm Architecture for System Software Development - Part 2 Author's Lecture (2024 Version)jazzpiano85181275
ยท
Structure and Principles of Arm Architecture for System Software Development - Part 1, Taught by the Author (2024 Version)Structure and Principles of Arm Architecture for System Software Development - Part 1, Taught by the Author (2024 Version)sage
ยท
Structure and Principles of Arm Architecture for System Software Development - Part 1, Taught by the Author (2024 Version)Structure and Principles of Arm Architecture for System Software Development - Part 1, Taught by the Author (2024 Version)
Posts
Q&A
T32 Installation
(์ ๊ฐ ๋ฆ๊ฒ ์ง๋ฌธ์ ํ์ธํด์, ๋ฆ๊ฒ ๋ต๋ณ ๋๋ฆฌ๋ ์ ์ํด ๋ถํํฉ๋๋ค.)์๋ฌ๊ฐ ๋ฐ์ํ ์ด์ ๋ T32/ELF ํด๋์ vmlinux_aarch64 ํ์ผ์ด ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ ๊ฐ์์ ์ ๋ก๋ํ ELF.zip ํ์ผ์ ์์ถ์ ํธ์ ํ์,'๊ฐ์ 7: ์ถ๊ฐ ELF ํ์ผ ์ ๋ฐ์ดํธ (T32/ELF ํด๋)' C:T32/ELF ํด๋์ ELF ํ์ผ์ ์์น์ํค๋ฉด ์ ๋์ํ ๊ฒ์ ๋๋ค.* ์ฐธ๊ณ ๋ก vmlinux_aarch64 ํ์ผ์ ๋ค๋ฅธ Arm ์ํคํ ์ฒ ๊ฐ์์์ ํ์ฉ๋ ELF ํ์ผ์ ๋๋ค.
- 0
- 2
- 38
Q&A
๊ฐ์ ์ฌ๋ผ์ด๋ ๋ฌธ์
์๋ ๊ฐ์์ ๊ฐ์๋ฉด, ์น์ 2์ ์น์ 3์ ํฌํจํ ์ ์ฒด ๊ฐ์ ์ฌ๋ผ์ด๋๋ฅผ ํ์ธํ์ค ์ ์์ต๋๋ค:'2. ๊ฐ์ ์ฌ๋ผ์ด๋ ๋ฌธ์ ์๋ฃ'๊ฐ์ฌํฉ๋๋ค.
- 0
- 3
- 37
Q&A
๊ฐ์ ์ฌ๋ผ์ด๋ ๋ฌธ์
๋จผ์ ๊ฐ์๋ฅผ ๋ค์ด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ๋ฌธ์ํ์ ๊ฐ์ ์ฌ๋ผ์ด๋๋ 3/27(๊ธ) ๊น์ง ์ ๋ก๋ํ๋๋ก ํ๊ฒ ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 3
- 37
Q&A
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
- 40
Q&A
๊ฐ์ ์ ๋ก๋ ์ค๋ฅ ํ์ธ ์์ฒญ
ํ์ธ ํ, "42. ์ํฌ ํธ๋ค๋ฌ์ ์ ๋ฌ๋๋ ๋งค๊ฐ ์ธ์ ๋๋ฒ๊น "์ ๊ฐ์๋ฅผ ์ ๋๋ก ๋ค์ ์ ๋ฐ์ดํธํ์ต๋๋ค. ์ค๋ฅ๋ฅผ ์ง์ ํด์ฃผ์ ์ ๊ฐ์ฌ๋๋ฆฌ๊ณ , ๊ฐ์ ์ค์๋ฅผ ํ์ง ์๊ฒ ์์ผ๋ก ๊ฐ์๋ฅผ ์ ์ ๋ก๋ ํ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 54
Q&A
์์คํ ์ํํธ์จ์ด ์ง๋ฌด ๊ด๋ จ ์ง๋ฌธ๋๋ ค์
๋ต๋ณ์ด ๋ค์ ๋ฆ์ ์ ๋จผ์ ์ํด ๋ถํ๋๋ฆฝ๋๋ค.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
- 64
Q&A
์ฑ ๊ด๋ จ ์ง๋ฌธ๋๋ ค์
1. ์ฑ ์ ๋ฆฌ๋ ์ค ์ปค๋ ๋ฒ์ ์ 4.19์ผ๋ก ๋ค์ ์ค๋๋ ๋ฒ์ ์ ๋๋ค - ํ์ฌ 6.1~6.6๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค. ์ปค๋ ๋ฒ์ ์ด ์ ๊ทธ๋ ๋๋๊ณ ์์ผ๋, ์ฑ ์์ ์ค๋ช ํ๋ ๋ฆฌ๋ ์ค ์ปค๋์ ๊ธฐ๋ณธ ๋์ ์๋ฆฌ๋ฅผ ์์ ์ด๋ ์ง๊ธ์ด๋ ๊ฐ์ต๋๋ค. ์ฑ ๋ง์ ์ฝ์ผ์๋ฉด์ ์งํํ์ ๋ ์ข๊ณ , ์ฑ ์ ์ฝ์ผ์๋ฉด์ ํน์ ์ถ๊ฐ๋ก ๊ฐ์๋ฅผ ๋ค์ผ์ ๋ ์ข๊ธด ํฉ๋๋ค.Basic์ด๋ Advanced ๋ฆฌ๋ ์ค ๋๋ฒ๊น ๊ฐ์๋ ์ฑ ์๋ ์๋ ๋ด์ฉ์ด ๋๋ถ๋ถ์ด๋ ๋ค์ผ์๋ฉด ๋์์ด ๋๊ธธ ํ ๊ฒ์ ๋๋ค.2. Arm ์ํคํ ์ฒ์ ๊ฒฝ์ฐ๋ ๋๋๋ก ๊ฐ์๋ฅผ ๋ค์ผ์๋ฉด์ ์ฑ ์ ์ฝ์ผ์๋ฉด ๋ ์ข์ต๋๋ค. ์ฑ ์ ์๋ ๋ด์ฉ์ ๊ฐ์์์ ๋ง์ด ์ค๋ช ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 66
Q&A
4.2.1. ์ค์ต์ ์ด๋ป๊ฒ ์งํํ๋๊ฒ์ธ๊ฐ์?
์ง์ ํด์ฃผ์ ๊ฐ์๋ 2024๋ ๋๋ฒ๊น ์ค์ต์ด ์ถ๊ฐ๋๊ธฐ ์ ์ ์ดฌ์๋ ๊ฐ์์ ๋๋ค. MOV ๋ช ๋ น์ด๋ฅผ ๋ฐ๋ผ์ ์ค์ตํ ์ ์๋ ๊ฐ์ ์์์ ์ถ๊ฐ๋ก ์ ์ํด์ ์ ๋ก๋ํ ์์ ์ด๋ ์ฐธ๊ณ ํ์ธ์.
- 0
- 2
- 60
Q&A
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
- 67
Q&A
[30. RISC-V: ์ด์ ๋ธ๋ฆฌ ๋ช ๋ น์ด์ ๋ชฉ๋ก] ๋ถ๋ถ br, bl ์คํ์ธ ๊ฒ ๊ฐ์ต๋๋ค
์ ๋ณดํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์คํ๊ฐ ์๋ ๊ฐ์ ์์์ ๋ค์ ์ ์ํด์ ์ ๋ก๋ํ์ต๋๋ค.๋ค์ ํ์ธํ์๋ฉด ์คํ๊ฐ ์๋ ์์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
- 0
- 2
- 56






![Thumbnail image of the Structure and Principles of the Linux Kernel: Interrupt Bottom Halves [Author's Lecture Part 1-6]](https://cdn.inflearn.com/public/courses/333195/cover/3b8c8cd2-44b0-43b7-a441-b950ba367717/333195.png?w=148)

