๊ธ๋ก๋ฒ ์ ์ & ๋ฆฌ๋ ์ค ์์คํ ์ํํธ์จ์ด ๊ฐ๋ฐ์ (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
- Learning RISC-V Architecture through Debugging - Part 1
- Linux Introduction and Linux Kernel Overview [Author's Direct Lecture Part 1-1]
- Linux Introduction and Linux Kernel Overview [Author's Direct Lecture Part 1-1]
- TRACE32 Introduction - Practical Debugging Course for MCU & RTOS Developers
- Learning RISC-V Architecture Through Debugging - Part 2
Posts
Q&A
์ค์ ์ฌ์ฉํ๋ ค๋ฉด
์ ๊ณ์์ RISC-V๊ฐ ๋ ์ค๋ฅด๊ณ ์๋ค๊ณ ๋ ํ์ง๋ง, ์์ง ํ์ ๊ฐ๋ฐ์์ MCU์ ๋์ธ๋ Arm ํ๋ก์ธ์์ ๋๋ค. ๋จผ์ Cortex-M3์ ๋ํ ๋ด์ฉ์ ๋ถ์ํ์ ํ์, RISC-V ๋ถ์์ ์งํํ์๊ธธ ๊ถ์ฅ๋๋ฆฝ๋๋ค.
- 0
- 1
- 42
Q&A
์คํ์ 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
- 31
Q&A
TRACE32 ๊ด๋ จ ๋ฌธ์ ๋ด์ฉ
์๋ ํ๊ฒฝ์์ ๋ฉ๋ชจ๋ฆฌ ๋คํ (2-irq_dump.zip)์ ๋ด๋ ค ๋ฐ์์, TRACE32 ์๋ฎฌ๋ ์ดํฐ ํ๋ก๊ทธ๋จ์ผ๋ก ๋ก๋ฉ์ ํ์ต๋๋ค.-Host OS : Window 11์๋ ํ๋ฉด๊ณผ ๊ฐ์ด ์ ๋๋ก ๋ก๋ฉ์ด ๋ ๊ฒ์ ํ์ธํ๋๋ฐ์. 1) TRACE32 ํ๋ก๊ทธ๋จ์ ๋ค์ ์คํ์ํจ ๋ค์์, ๋คํ๋ฅผ ๋ก๋ฉํ์๊ฑฐ๋ 2) 2-irq_dump.zip ์์ถ ํ์ผ์ด ์ ๋๋ก ํ๋ ธ๋์ง ํ์ธ ๋ถํ๋๋ฆฝ๋๋ค.// ์๋๋ ์ ๊ฐ ๋ก๋ฉํ TRACE32 ํ๋ก๊ทธ๋จ ์คํธ์ปท์ ๋๋ค.(์ฌ์ง) ๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 26
Q&A
T32 ์ค์น ๊ด๋ จ
๊ณต์ ํด์ฃผ์ ์คํฌ๋ฆฐ ์บก์ณ ํ๋ฉด์์ 'Podbus Device Chain' ์ ๋ถ๋ถ์ ์๋'Example Configuration'์ ์ขํด๋ฆญ์ ํ์ ๋ค์์, '์ฐํด๋ฆญ' - 'Add'๋ฅผ ์ ํํ์๋ฉดSimulator ์์ด์ฝ์ด ํ์ธ๋ ๊ฒ์ ๋๋ค.์๋ ์คํธ์ปท์ ์ฐธ๊ณ ํ์ ์ ์งํ ๋ถํ๋๋ฆฝ๋๋ค.(์ฌ์ง)๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 73
Q&A
์ ์ ๋ชจ๋ ๋ฑ ํฌ๋ ๋ ์ง์คํฐ ์ง๋ฌธ์ ๋๋ค
(๋ฆ๊ฒ ๋ต์ ๋๋ ค์ ์ฃ์กํฉ๋๋ค)Armv7-A ์ํคํ ์ฒ์์ ์ ์ ๋ชจ๋์ ๋ํ ๋ฑ ํฌ๋ ๋ ์ง์คํฐ๋ R13, R14 ์ ๋๋ค.๋ง์๋๋ฆฐ ๋ด์ฉ์ TRACE32๋ก ์ค์ต์ ํ์๋ฉด ํ์ธํ์ค ์ ์์ต๋๋ค.ํน์ R8-R14๊ฐ ๋ฑ ํฌ๋ ๋ ์ง์คํฐ๋ผ๊ณ ํ๋จํ์ ๊ทผ๊ฑฐ๋ฅผ ์๋ ค์ฃผ์๋ฉด, ํ์ธ ํ ๋ต์ ๋๋ฆฌ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 32
Q&A
๊ฐ์ ๋ฌธ์ ๋ฏธ์ ๊ณต
'4. ๊ฐ์ ๋ฌธ์'์ ๊ฐ์ ๋ฌธ์๋ฅผ ์ ๋ก๋ํ์ผ๋ ์ฐธ๊ณ ํ์ธ์.๊ฐ์ฌํฉ๋๋ค.
- 0
- 3
- 31
Q&A
๊ฐ์์์ ํ์ธ์์ฒญ
ํธ์ง ๊ณผ์ ์์ ์ค์๊ฐ ์์ด์ ์ฃ์กํฉ๋๋ค. '14. ์ ์ ํ๋ก์ธ์ค-์์ฑ ๊ณผ์ ' ์์์ ์ ๋ชฉ์ ๋ง๊ฒ ๋ค์ ์ ๋ฐ์ดํธํ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 2
- 32
Q&A
๊ฐ์ ๋ฌธ์ ๋ฏธ์ ๊ณต
8/29(์ผ์ฃผ์ผ ํ)๊น์ง ํ์ธ ํ ์ ๋ก๋ํ๋๋ก ํ๊ฒ ์ต๋๋ค.๊ฐ์ฌํฉ๋๋ค.
- 0
- 3
- 31
Q&A
๊ฐ์์ ์๋ฃ๋ ๋ฐ๋ก ์ ๊ณต์ด ์ ๋๋์?
์์ฐจ์ ์ผ๋ก ๊ฐ์ ์๋ฃ๋ฅผ ์ ๋ก๋ํ ์์ ์ด๋ ์ฐธ๊ณ ํ์ธ์.-ํ๋ก์ธ์ค ์ ๋ก๋ ์๋ฃ-์ธํฐ๋ฝํธ (07/28 ์์ )-์ธํฐ๋ฝํธ ํ๋ฐ๋ถ (08/04 ์์ )
- 0
- 2
- 55
Q&A
๋ฆฌ๋ ์ค-ํ๋ก์ธ์ค ๊ฐ์ ๊ต์ฌ ์๋ฃ
์๋ ๊ฒฝ๋ก์ ๊ฐ์ ๋ฌธ์๋ฅผ ์ ๋ก๋ํ์ผ๋ ์ฐธ๊ณ ํ์ธ์ - ์ธ์ 1 (๊ฐ์ ์๊ฐ) > 2 ๊ฐ์ ์๋ฃ (์ ์ฒด ํ๋ก์ธ์ค: ๊ฐ์ ์ฌ๋ผ์ด๋ ๋ฌธ์)
- 0
- 3
- 143





![Thumbnail image of the Linux Introduction and Linux Kernel Overview [Author's Direct Lecture Part 1-1]](https://cdn.inflearn.com/public/courses/333097/cover/8e09c5df-0571-462e-878c-39ddf13549b6/333097.png?w=148)