micro:bit에 사용할 nRF52833-pac 제작
pac 제작을 위해 svd 변환 프로그램을 설치
$ cargo install svd2rust
라이브러리 패키지를 생성하고 svd를 다운로드
$ cargo new --lib nrf52833-pac
$ cd nrf52833-pac
$ wget https://github.com/NordicSemiconductor/nrfx/raw/master/mdk/nrf52833.svd
svd2rust로 변환시 인식할수 없는 부분이 있어 오류가 발생
$ svd2rust -i nrf52833.svd
[INFO svd2rust] Parsing device from SVD file
[ERROR svd2rust] Error parsing SVD XML file
Caused by:
0: In device `nrf52833`
1: In peripheral `APPROTECT`
2: In register `FORCEPROTECT`
3: Parsing unknown access at 1132:11
4: unknown access variant 'read-writeonce' found
‘read-writeonce’를 ‘read-writeOnce’로 변경 후 svd2rust로 변환
$ sed -i 's/read-writeonce/read-writeOnce/g' nrf52833.svd
$ svd2rust -i nrf52833.svd
[INFO svd2rust] Parsing device from SVD file
[INFO svd2rust] Rendering device
$ mv lib.rs src/
$ cargo fmt
Cargo.toml에 의존 패키지 추가
[dependencies]
cortex-m = "0.7"
vcell = "0.1"
[dependencies.cortex-m-rt]
optional = true
version = "0.7"
[features]
rt = ["cortex-m-rt/device"]
참고