99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

快速搭建環境 Rust 嵌入式開發環境

Rust 編譯環境

Rust 可以跨平臺運行,支持 Windows/Linux/Mac 等主流系統。筆者推薦在 Mac或Linux 下學習和開發,效率更高。本書也主要介紹在 Mac/Linux 嵌入式常用工具和實踐習慣。

Rust 提供了非常簡單的安裝命令, 詳細可以參考:Rust 官方入門手冊:https://doc.rust-lang.org/book/

詳細請參考: Installation - The Rust Programming Language (rust-lang.org):https://doc.rust-lang.org/book/ch01-01-installation.html

Mac/Linux

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Windows

Windows 下安裝稍微麻煩點,具體可參考:[Windows]MSVC prerequisites - The rustup book (rust-lang.github.io):https://rust-lang.github.io/rustup/installation/windows-msvc.html

提醒

如果您目前只是學習Rust語法,那么可以暫時忽略以下的工具的安裝,當后期需要編譯和運行 Rust 單片機代碼時候,您可繼續安裝以下工具。

設置 Rust night 版本

Rust 的嵌入式開發環境需要是 nightly 版本

rustup default nightly

嵌入式編譯工具鏈

編譯嵌入式端的目標文件,需要相應的交叉編譯鏈, 需要手動安裝你需要的工具鏈。Rust 目前已經支持了大部分的交叉編譯鏈,可以通過命令查看目前系統已經支持的交叉編譯鏈:

rustup target list

通常來說,對于不同的芯片廠商,只要芯片內核相同,都可以使用相同的編譯鏈,無需再額外配置環境。

安裝 Cortex-M0 編譯工具(Py32_Rust_Dev_1.1)

rustup target add thumbv6m-none-eabi

Probe-rs

Probe-rs 是一個在Rust 嵌入式開發的常用軟件工具,有下載固件到芯片,在線調試固件,打印運行日志、查看芯片內存等功能。

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/probe-rs/probe-rs/releases/latest/download/probe-rs-tools-installer.sh | sh

cargo install cargo-binstall
cargo binstall probe-rs-tools

在完成這一步后,如果順利的話,你可以跳轉到:快速體驗Rust 嵌入式

主控

本教程使用的開發版為 Py32_Rust_Dev_1.1, 所采用的單片機為 py32f030, 目前該單片機在國內市場使用較為普遍,同時國外也有相當多的愛好者已經移植了開源的 Arduno 和 Rust。

py32f030 內部比較簡單,官方的資料也很完備,比較適合 Rust 嵌入式。該單片機資源如下:

  • 內核
    • 32 位 ARM® Cortex® - M0+
    • 最高 48MHz 工作頻率
  • 存儲
    • Flash:64K
    • SRAM:8K
  • UART x2
  • GPIO x30
  • ADC x1
  • SPI x2
  • Timer x6
  • I2C x1
  • RTC
  • Watchdo
  • ......

開發版

Py32_Rust_Dev_1.1 目前已適配大部分外設的 Rust 驅動,且支持開源的 Arduno、普冉官方的 支持包也可使用。初學者可以在不同的IDE或編譯工具上測試,目前支持的框架有:

  • Rust
  • Arduno
  • Keil
  • IAR
  • EIDE
  • GCC
  • CMake

Py32_Rust_Dev_1.1

其他

如果安裝環境或編譯有報錯,你可能需要使用以下命令安裝一些工具, 詳細請參考 常用工具

  • 對于 Mac 系統如果沒有安裝 GCC 工具鏈
xcode-select --install
  • 對于 Linux 如 ubuntu/Deepin,可以安裝一些常用嵌入式工具
sudo apt-get update
sudo apt-get install build-essential
  • 使用 cargo 克隆遠程倉庫,創建新的工程。
# 安裝 generate 命令
cargo install cargo-generate

下載

可使用 Jlink或Stlink用于下載和在線查看日志,在 py32f030-hal 庫的根目錄下運行

cargo r --example XXX

生成其他格式的固件

# 編譯并生成bin文件
cargo objcopy --example embassy_allpin -- -O binary embassy_allpin.bin
# 編譯并生成 hex文件
cargo objcopy --example blinky -- -O ihex blinky.hex
# 編譯并將elf文件自動轉換成匯編
cargo objdump --example blinky -- -D > blinky.asm
聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 3
收藏 3
關注 13
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 在线中文av | 色av网| 91精品在线影院 | 永久免费不卡的AV网站 | 中出乱码av亚洲精品久久天堂 | 视频一区视频二区视频三区视频四区国产 | 国产专区在线看 | 99在线成人精品视频 | 久久综合久久自在自线精品自 | 欧美精品中文字幕久久二区 | 欧美精品二区中文乱码字幕高清 | 国产久免费热高清视频在线观看 | 在线观看黄的网站 | 国产综合久久一区二区三区 | 国产在线观看第一页 | 8x福利第一导航 | 国产不卡一级无码视频 | 一级免费看 | 成人片黄网站色大片免费毛片 | 欧美老熟妇乱子 | 国产最顶级的黄色片在线免费观看 | 亚洲区激情区无码区日韩区 | a级国产片| 精品久久伊人99热超碰 | 日本免费不卡一区二区 | 无限看片的视频高清在线 | 亚洲日韩av无码一区二区三区人 | 国产视频九九 | 久久大香国产成人AV | 99热操| 特大巨黑吊xxx| 夜夜爽天天干 | 香港三级日本三级韩国三级 | 国产男女乱淫视频高清免费 | 国产性色强伦免费看视频 | 经典老熟女ass | 特黄一级| 欧美成人免费在线视频 | 99久久精品免费观看国产 | 亚洲精品一区二区三区在线 | 日韩三级在线观看 |