性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

快速搭建環(huán)境 Rust 嵌入式開發(fā)環(huán)境

Rust 編譯環(huán)境

Rust 可以跨平臺運行,支持 Windows/Linux/Mac 等主流系統(tǒng)。筆者推薦在 Mac或Linux 下學習和開發(fā),效率更高。本書也主要介紹在 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 單片機代碼時候,您可繼續(xù)安裝以下工具。

設(shè)置 Rust night 版本

Rust 的嵌入式開發(fā)環(huán)境需要是 nightly 版本

rustup default nightly

嵌入式編譯工具鏈

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

rustup target list

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

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

rustup target add thumbv6m-none-eabi

Probe-rs

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

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

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

主控

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

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

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

開發(fā)版

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

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

Py32_Rust_Dev_1.1

其他

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

  • 對于 Mac 系統(tǒng)如果沒有安裝 GCC 工具鏈
xcode-select --install
  • 對于 Linux 如 ubuntu/Deepin,可以安裝一些常用嵌入式工具
sudo apt-get update
sudo apt-get install build-essential
  • 使用 cargo 克隆遠程倉庫,創(chuàng)建新的工程。
# 安裝 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文件自動轉(zhuǎn)換成匯編
cargo objdump --example blinky -- -D > blinky.asm
聲明:本內(nèi)容為作者獨立觀點,不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 3
收藏 3
關(guān)注 13
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧