probe-rs
, cargo-embed
probe-rs๋ ์๋ฒ ๋๋ ์์คํ ์ ์ํ ๋๊ตฌ ๋ชจ์์ ๋๋ค. OpenOCD์ ๋น์ทํ์ง๋ง, Rust์ ๋ ์ ํตํฉ๋์ด ์์ต๋๋ค.
- SWD๋ฐ JTAG(CMSIS-DAP, ST-Link, J-Link ํ๋ก๋ธ๋ฅผ ํตํจ)
- GDB ์คํ ๋ฐ Microsoft DAP์๋ฒ
- Cargo์ ํตํฉ๋จ
cargo-embed
๋ cargo์ ์๋ธ ์ปค๋งจํธ๋ก์จ, ๋ฐ์ด๋๋ฆฌ๋ฅผ ๋น๋ํ๊ณ ํ๋์ํ๋ฉฐ, RTT์ถ๋ ฅ์ ๊ธฐ๋กํ๊ณ , GDB๋ฅผ ์ฐ๊ฒฐํด ์ค๋๋ค. ์ด ๋ช
๋ น์ด์ ์ธ๋ถ ๋์์ ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ์ Embed.toml
ํ์ผ์ ํตํด ์ค์ ํฉ๋๋ค.
- CMSIS-DAP๋ Arm์์ ์ ์ํ ํ๋กํ ์ฝ๋ก, USB๋ฅผ ํตํด Arm Cortex ํ๋ก์ธ์์ CoreSight ๋๋ฒ๊ทธ ์ก์ธ์ค ํฌํธ์ ์ ๊ทผํ ์ ์๊ฒ ํด ์ค๋๋ค. BBC micro:bit์ ์๋ ์จ๋ณด๋ ๋๋ฒ๊ฑฐ๋ ์ด ํ๋กํ ์ฝ์ ์ง์ํฉ๋๋ค.
- ST-Link๋ ST Microelectronics์ฌ์์ ๋ง๋ in-circuit ๋๋ฒ๊ฑฐ๋ค์ด๋ฉฐ, J-Link๋ SEGGER์ฌ์ in-circuit ๋๋ฒ๊ฑฐ๋ค์ ๋๋ค.
- ๋๋ฒ๊ทธ ์ก์ธ์ค ํฌํธ์ ๋ฌผ๋ฆฌ์ ์ธ ๊ตฌ์ฑ์ ์ผ๋ฐ์ ์ผ๋ก 5ํ JTAG ์ธํฐํ์ด์ค ํน์, 2ํ Serial Wire Debug ์ธํฐํ์ด์ค ์ ๋๋ค.
- probe-rs๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ๊ตฌํ๋์ด ์์ด์, ๋ค๋ฅธ ๋๊ตฌ๋ค์ ํตํฉ๋๊ธฐ๊ฐ ์ฝ์ต๋๋ค.
- Microsoft ๋๋ฒ๊ทธ ์ด๋ํฐ ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ฉด VSCode๋ ๋ค๋ฅธ IDE ์์์ ๋ง์ดํฌ๋ก์ปจํธ๋กค๋ฌ์์ ์ํ์ค์ธ ์ฝ๋๋ฅผ ๋๋ฒ๊น ํ ์ ์์ต๋๋ค.
- cargo-embed๋ probe-rs ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋น๋๋ ๋ฐ์ด๋๋ฆฌ์ ๋๋ค.
- RTT(Real Time Transfers)๋ ์ฌ๋ฌ ๋ง ๋ฒํผ๋ฅผ ํตํด ๋๋ฒ๊ทธ ํธ์คํธ์ ํ๊ฒ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค.