当前位置:   article > 正文

rust嵌入式开发2024_embassy-stm32

embassy-stm32

老的rust embedded book 其实过时了. 正确的姿势是embassy 入手.

先说下以前rust写嵌入怎么教学小白的.

  • 第一步,从这里 svd2rust 工具,自己生成库
  • 第二部,有了这个库,相当于就有了pac外设访问文件,然后其实就可以搞起来了.

那么为啥不好搞了. 因为太乱了. 小白喜欢你告我咋弄,我就一行一行贴,然后我能看着灯亮了,看到uart从串口助手出来hello了. 但是以前这教学,一堆这个那个,还用啥openocd,然后库也特别多,搞不清装什么.

然后说说现在咋搞. 就去embassy的git,克隆下来,里面有exmample ,照着改. 连下载工具都不用cube啥的了,直接新工具probe-rs

我用的是stm32 l476的板子, 跑的stm32l4的例子. 基本无坑,几个注意点:

  • .cargo/confg.toml runner = “probe-rs run --chip STM32L476RGTx --connect-under-reset” 注意我加的–connect-under-reset 没这个第二次下载程序报错.
  • cargo.toml 依赖 embassy-stm32 = { version = “0.1.0”, path = “…/…/embassy-stm32”, features = [ “defmt”, “unstable-pac”, “stm32l476rg”, “memory-x”, “time-driver-any”, “exti”, “chrono”] } 就是改了 “stm32l476rg”
  • 主文件 let mut led = Output::new(p.PA5, Level::High, Speed::Low); 显然,这个是我的灯

其他啥也没动,然后直接cargo run --bin blinky 一把成功. 中间下载库有翻墙问题,自己找梯子.

虽然说很多搞嵌入的觉得rust取代c,没啥大用,但是必须承认,这么一个架构,可以把很多人的工作积累起来, 至少公司喜欢这套.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/958578
推荐阅读
相关标签
  

闽ICP备14008679号