1 unstable release
new 0.1.0 | Jan 1, 2025 |
---|
#474 in Hardware support
71 downloads per month
325KB
8K
SLoC
简介
该库提供 py32f030 芯片使用,目前适配了一些基本的外设驱动
安装环境
安装 Rust
Mac/Linux
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Windows
设置 Rust night 版本
Rust 的嵌入式开发环境需要是 nightly 版本
rustup default nightly
安装 Cortex-M0 编译工具
rustup target add thumbv6m-none-eabi
测试编译环境
执行下面的命令,没有报错说明rust编译环境安装正常
cd py32f030-hal
cargo build
查看本机Rust 版本
➜ py32f030-hal git:(main) ✗ rustup --version
rustup 1.27.1 (54dd3d00f 2024-04-24)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.82.0-nightly (6de928dce 2024-08-18)`
安装 Probe-rs
Probe-rs 是一个优秀的固件下载和日志调试工具, 详细安装和功能请点击页面查看。
Mac/Linux
curl --proto '=https' --tlsv1.2 -LsSf \
https://github.com/probe-rs/probe-rs/releases/latest/download/probe-rs-tools-installer.sh \
| sh
Windows
cargo install cargo-binstall
cargo binstall probe-rs-tools
其他工具(暂时可不用安装)
cargo tools
cargo install cargo-get
brew install llvm
串口烧录工具
- python工具 puyaisp 安装
pip install puyaisp
pip install pyusb pyserial hid
烧录:
# 同时按下 boot 和 RST 按键,然后先释放 RST,然后释放 Boot 即可,然后执行以下命令
puyaisp -f blink.bin
- rust 工具 pyisp 使用 pyisp rust 串口工具烧录 bin 文件 pyisp
# 单次下载
pyisp -s tty.usbserial-130 -g -f test.bin
# 多次下载
pyisp -s COM4 -g -c -f test.bin
Jlink 连接运行并查看日志
- 使用cargo run命令
cargo r --example embassy_uart
- 使用 probe-rs 运行
probe-rs run --chip PY32F030x8 target/thumbv6m-none-eabi/debug/examples/embassy_uart
外设驱动
- gpio
- exit
- timer
- i2c
- clock
- embassy
- dma
- usart
- adc
- flash
- spi
- crc
- rtc
- iwatchdog
TODO
- LPTimer
- Flash
- Clock -> 48M
- spi test
examples
执行
# run
cargo run --example blinky
# build
cargo build --release --example blinky
Example list
py32f030-hal git:(main) ✗ cargo r --example
error: "--example" takes one argument.
Available examples:
adc_block
advanced_timer_block
advanced_timer_block_2
bit_test
blinky
block_uart
clock
crc
dma_mem2mem
embassy_adc
embassy_delay
embassy_dma_mem2mem
embassy_exit
embassy_i2c
embassy_iwdg
embassy_pwm
embassy_rtc
embassy_ssd1309
embassy_uart
hello_world
i2c_master_block
key
rtc_block
uart
测试开发板
关于
公众号:Rust嵌入式
Dependencies
~11MB
~152K SLoC