μλ₯Ό λ€μ΄ νλ‘μ νΈμ κ²½μ° νμ cargo build --target=thumbv6m-none-eabi
μ¬μ©νμ¬ ν¬λ‘μ€ μ»΄νμΌν©λλ€. μ΄ κΈ°λ₯μ μ¬μ©νλ©΄ νλ¬Ό κ΅¬μ± νμΌμ ν€ κ° μμ μΆκ°ν μ μμ΅λλ€.
# .cargo/config
[target]
default = "thumbv6m-none-eabi"
κ·Έλ¬λ©΄ cargo build
λ₯Ό νΈμΆνμ¬ thumbv6m-none-eabi
λν νλ‘μ νΈλ₯Ό ν¬λ‘μ€ μ»΄νμΌν μ μμ΅λλ€. μ΄κ²μ cargo doc
κΉμ§ νμ₯λ©λλ€.
μλ μ¬κΈ°μ 보κ³
μ΄κ²μ λμκ² κ½€ ν©λ¦¬μ μΌλ‘ 보μ λλ€. λΉλ‘ κ·Έκ²μ΄ Cargo.tomlμ μμ΄μΌ νλ€κ³ λ§ν μ μμ§λ§ νλ‘μ νΈλ³λ‘ μμν΄μΌ νλ _if_ μΌ κ²μ λλ€.
νλ‘μ νΈ μ€μ μ ν κ°μ§ λ¨μ (?)μ μ’ μμ±μ λν΄ μ€μ μ΄ νμ 무μλλ€λ κ²μ λλ€. μ: λ΄ νλ‘μ νΈ Pκ° μμ Dμ μμ‘΄νκ³ Dκ° Tλ₯Ό κΈ°λ³Έ λμμΌλ‘ μ€μ νλ€λ©΄ Dλ νμ λ΄κ° Pμ λν΄ μ νν λμμ λν΄ μ»΄νμΌλκΈ° λλ¬Έμ ν΄λΉ μ€μ μ _νμ_ 무μλ©λλ€.
.cargo/configλ₯Ό μ¬μ©νλ ν κ°μ§ μ₯μ μ λ‘컬μμ μ¬λ¬ μμλ₯Ό κ°λ°νλ κ²½μ° λ€μκ³Ό κ°μ΄ μ€μ ν μ μλ€λ κ²μ λλ€.
$ tree .
my-RTOS-project
βββ .cargo
βΒ Β βββ config
βββ allocator
βΒ Β βββ (...)
βββ hal
βΒ Β βββ (...)
βββ RusTOS
β βββ (...)
βββ scheduler
βββ (...)
κ·Έλ¦¬κ³ ν ν¬λ μ΄νΈ λλ ν 리μμ λ€λ₯Έ λλ ν λ¦¬λ‘ μ ννμ¬ cargo test
μ€νν μ μμ΅λλ€. μ΄λ μμ μμ .cargo/configμμ ν μ€μ νΈμ§νκ³ λ€λ₯Έ λμμ λν μμ ν
μ€νΈλ₯Ό μμν μ μμ΅λλ€.
μν κ·Έλ μ΅λλ€! μ΄λ λ€μ https://github.com/rust-lang/cargo/issues/2122 μ λ²μμ μνλ©°, λ¨μ μ΄ _μμ΄μΌ νλ_ νμ§λ§ μ¬μ ν ν΄μΌ ν λμμΈ μμ μ΄ μμ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
μ΄κ²μ λμκ² κ½€ ν©λ¦¬μ μΌλ‘ 보μ λλ€. λΉλ‘ κ·Έκ²μ΄ Cargo.tomlμ μμ΄μΌ νλ€κ³ λ§ν μ μμ§λ§ νλ‘μ νΈλ³λ‘ μμν΄μΌ νλ _if_ μΌ κ²μ λλ€.