前言:作為一名嵌入式系統(tǒng)開發(fā)人員一直在想方設(shè)法進(jìn)一步縮短開發(fā)時(shí)間,特別是針對(duì)概念驗(yàn)證和快速原型開發(fā)。雖然開發(fā)套件已成為捷徑之選,但設(shè)計(jì)人員需要找到一個(gè)平衡點(diǎn),既兼顧外形尺寸和廣受支持的生態(tài)系統(tǒng),又要考慮性能要求。ArduinoUno開發(fā)板就是這種需要找到平衡點(diǎn)的很好例子。
什么是 HiFive1?
HiFive1 開發(fā)套件基于一款集成 32 位 RISC-V(讀音“risk-five”)處理器內(nèi)核的微控制器。該開發(fā)板可接受 Arduino 式盾板,從而大幅提升了其對(duì)嵌入式設(shè)計(jì)快速原型開發(fā)的實(shí)用性。
HiFive1 的核心是 RISC-V 處理器內(nèi)核。這就需要 Arduino 開發(fā)板背后的開源概念,并將其一直擴(kuò)展到處理器本身。
RISC-V 是開放式指令集架構(gòu) (ISA),基于兩個(gè)基礎(chǔ):自 20 世紀(jì) 80 年代以來一直采用的精簡(jiǎn)指令集計(jì)算 (RISC) 概念,以及開源原則。
因?yàn)?RISC-V ISA 是開源的,所以可自由地用于任何目的。任何人都可以設(shè)計(jì)、制造和銷售基于 RISC-V 的芯片和軟件,而無需支付版稅。
Arduino 式針座(包含注意事項(xiàng))
HiFive1 開發(fā)套件復(fù)制了 Arduino 獨(dú)特的 I/O 針座布局。它可以接受數(shù)以百計(jì)可用 Arduino 盾板中的多數(shù)類型,但有幾點(diǎn)需要注意。
首先,微控制器沒有模擬輸入引腳。HiFive1 開發(fā)套件的 Arduino 式針座只能進(jìn)行數(shù)字 I/O、中斷和脈沖寬度調(diào)制 (PWM) 引腳分配。
Arduino Uno 開發(fā)板上 A0 至 A5 模擬引腳所用的物理針座位置在 HiFive1 開發(fā)板上標(biāo)注為 D14 至 D19 數(shù)字 I/O 引腳。
如果有必要添加模擬功能,可使用眾多可用模數(shù)轉(zhuǎn)換器 (ADC)、數(shù)模轉(zhuǎn)換器 (DAC) 或組合 ADC/DAC Arduino 盾板中的一種。
另請(qǐng)注意:
設(shè)計(jì)人員可將多達(dá) 9 個(gè) PWM 發(fā)生器分配到 HiFive1 開發(fā)套件上的 Arduino 式針座引腳。
HiFive1 開發(fā)套件的所有 19 個(gè) Arduino 式針座 I/O 引腳均可用作中斷輸入。
這就引出了第二個(gè)注意事項(xiàng):迄今為止,只有以下兩款A(yù)dafruitArduino 盾板通過了 HiFive1 測(cè)試,因?yàn)橹挥嗅槍?duì)這兩款盾板的 Adafruit 支持庫已移植到 HiFive1 庫:
Adafruit 的 BLE SPI Friend
接下來將詳細(xì)介紹 HiFive1 開發(fā)套件的核心,即微控制器。
該微控制器的中心是基于開源的 32 位 RISC-V ISA 的 CPU 內(nèi)核。就 RISC-V 而言,核心是 RV32IMAC 處理器。
這意味著它使用的是基本 32 位 RISC-V 整數(shù)指令集 (RV32I),具有整數(shù)硬件乘除 (M) ;原子、實(shí)時(shí)指令 (A);以及對(duì) 16 位精簡(jiǎn) (C) 指令集的附加支持。另外還有 64 位和 128 位版本的 RISC-V ISA。該內(nèi)核還包括 16 Kb 的指令緩存(在框圖中標(biāo)記為“I $”)和 16 Kb 的暫存器 SRAM。
幾個(gè)標(biāo)準(zhǔn)外設(shè)包括定時(shí)器、PWM 信號(hào)發(fā)生器、實(shí)時(shí)時(shí)鐘、UART、QSPI 串行接口以及圍繞處理器內(nèi)核的一個(gè)片上硬件調(diào)試模塊。
RISC-V 架構(gòu)幕后有誰或者說有什么?為什么?
HiFive1 開發(fā)套件和微控制器實(shí)際上是開源 RISC-V 處理器架構(gòu)的硬件演示工具,是一個(gè)假設(shè)論證:世界真的需要另一種處理器架構(gòu)嗎?
RISC-V 項(xiàng)目始于加州大學(xué)伯克利分校,最終超越了大學(xué)研究的范疇,充分發(fā)揮了更多自愿參與者和電子行業(yè)人士的想象力。
該項(xiàng)目的最終結(jié)果是開源代碼 RISC 處理器 ISA(指令集架構(gòu)),與其他任何 32 位 RISC ISA 幾乎一樣。不同之處在于任何人都可以自由地將 RISC-V ISA 用于任何目的。
就 HiFive1 開發(fā)板而言,嵌入式系統(tǒng)開發(fā)人員需要的不僅僅是處理器或微控制器芯片。
對(duì)于 RISC-V,嵌入式開發(fā)人員需要工具、示例代碼、庫和軟件堆棧等形式的開發(fā)支持。這類支持來自圍繞成功的處理器架構(gòu)和用戶而發(fā)展的生態(tài)系統(tǒng)。
總結(jié)
經(jīng)濟(jì)實(shí)惠的 Arduino Uno 開發(fā)板外形小巧輕便,可訪問數(shù)百個(gè) I/O 和外設(shè)盾板。HiFive1 開發(fā)套件利用這些現(xiàn)有盾板,通過緊密復(fù)制緊湊型 Arduino Uno 開發(fā)板的外形尺寸和獨(dú)特針座配置,將其與基于 RISC-V 的 32 位微控制器配接。
HiFive1 開發(fā)套件具有 16 Mb 板載閃存,可提供更高的代碼存儲(chǔ)能力。盡管它是一款新的架構(gòu),但嶄露頭角的開源 RISC-V 生態(tài)系統(tǒng)提供了一套擴(kuò)展的軟件開發(fā)工具,包括編譯器、匯編器、調(diào)試器和 Arduino IDE 庫。
開源GNU MCU Eclipse:一系列基于 GNU 工具鏈的 Eclipse 多平臺(tái)嵌入式開發(fā)插件和工具。
Segger的Embedded Studio for RISC-V:一款用于嵌入式 C/C ++ 軟件開發(fā)的跨平臺(tái) IDE 以及該公司的J-Link 調(diào)試探測(cè)器。
-
嵌入式設(shè)計(jì)
+關(guān)注
關(guān)注
0文章
390瀏覽量
21241 -
Arduino
+關(guān)注
關(guān)注
187文章
6458瀏覽量
186507 -
RISC-V
+關(guān)注
關(guān)注
44文章
2208瀏覽量
45959
原文標(biāo)題:【解密】Arduino 與 RISC-V 架構(gòu)結(jié)合,實(shí)現(xiàn)完美嵌入式設(shè)計(jì)
文章出處:【微信號(hào):elecfans,微信公眾號(hào):電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論