0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何通過HiFive1套件實現(xiàn)快速原型開發(fā)

電子設(shè)計 ? 來源:互聯(lián)網(wǎng) ? 2018-06-19 09:09 ? 次閱讀

嵌入式系統(tǒng)開發(fā)人員一直在想方設(shè)法進一步縮短開發(fā)時間,特別是針對概念驗證和快速原型開發(fā)。雖然開發(fā)套件已成為捷徑之選,但設(shè)計人員需要找到一個平衡點,既兼顧外形尺寸和廣受支持的生態(tài)系統(tǒng),又要考慮性能要求。

Arduino Uno 開發(fā)板就是這種需要找到平衡點的很好例子。由于成本低廉,并在理論上具有數(shù)百個可提供 Arduino I/O 插件擴展功能的 Arduino 盾板,其外形尺寸在這一領(lǐng)域極其流行。但是,針對特定嵌入式應(yīng)用,某些開發(fā)人員可能需要比 8 位微控制器所能提供的更高性能。

對于他們來說,Crowd Supply 的 HiFive1 開發(fā)套件可能才是解決方案。本文將介紹低成本的 HiFive1 開發(fā)套件,討論如何通過其功能實現(xiàn)高性能嵌入式系統(tǒng)的快速原型開發(fā)。此外,本文將介紹幫助設(shè)計人員入門的可用開發(fā)工具。

什么是 HiFive1?

HiFive1 開發(fā)套件基于一款集成 32 位 RISC-V(讀音“risk-five”)處理器內(nèi)核的微控制器(圖 1)。該開發(fā)板可接受 Arduino 式盾板,從而大幅提升了其對嵌入式設(shè)計快速原型開發(fā)的實用性。

Crowd Supply HiFive1 Arduino 兼容開發(fā)板圖片

圖 1:HiFive1 Arduino 兼容開發(fā)板使用一個基于 32 位 RISC-V 處理器內(nèi)核的微控制器。(圖片來源:SiFive)

HiFive1 的核心是 RISC-V 處理器內(nèi)核。這就需要 Arduino 開發(fā)板背后的開源概念,并將其一直擴展到處理器本身。RISC-V 是開放式指令集架構(gòu) (ISA),基于兩個基礎(chǔ):自 20 世紀(jì) 80 年代以來一直采用的精簡指令集計算 (RISC) 概念,以及開源原則。因為 RISC-V ISA 是開源的,所以可自由地用于任何目的。任何人都可以設(shè)計、制造和銷售基于 RISC-V 的芯片和軟件,而無需支付版稅。

HiFive1 板上基于 RISC-V 的微控制器可通過編程支持芯片內(nèi)執(zhí)行 (XIP) 模式,以便在指令高速緩存重新填充期間降低 SPI 指令執(zhí)行時間。微控制器的四路 SPI (QSPI) 端口支持 32 字節(jié)猝發(fā)讀取,使用存儲器的 XIP 模式,加快來自 QSPI 閃存的指令高速緩存重新填充,進而提升性能。

微控制器可在高于 320 MHz 的時鐘速率下運行,但在 HiFive1 板上,應(yīng)限制時鐘速率不高于 133 MHz,以便保持微控制器的 SPI 串行時鐘在開發(fā)板的 128 Mbit QSPI 閃存限制范圍內(nèi)工作。

Arduino 式針座(包含注意事項)

HiFive1 開發(fā)套件復(fù)制了 Arduino 獨特的 I/O 針座布局。它可以接受數(shù)以百計可用 Arduino 盾板中的多數(shù)類型,但有幾點需要注意。

首先,微控制器沒有模擬輸入引腳。HiFive1 開發(fā)套件的 Arduino 式針座只能進行數(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 盾板中的一種。

另請注意:

  • 設(shè)計人員可將多達 9 個 PWM 發(fā)生器分配到 HiFive1 開發(fā)套件上的 Arduino 式針座引腳。

  • HiFive1 開發(fā)套件的所有 19 個 Arduino 式針座 I/O 引腳均可用作中斷輸入。

板載電壓轉(zhuǎn)換器可根據(jù)跳線設(shè)置,靈活地將所有 HiFive1 開發(fā)套件的數(shù)字 I/O 引腳設(shè)置為 3.3 V 或 5 V 邏輯電平。單跳線設(shè)置(圖 1 開發(fā)板上帶 IOREF 標(biāo)志)可定義 HiFive1 開發(fā)套件的 Arduino 式針座上所有 I/O 引腳的邏輯電平。

這就引出了第二個注意事項:迄今為止,只有以下兩款 Adafruit Arduino 盾板通過了 HiFive1 測試,因為只有針對這兩款盾板的 Adafruit 支持庫已移植到 HiFive1 庫:

  • Adafruit 的電阻式觸摸屏和 LED 顯示屏

  • Adafruit 的 BLE SPI Friend

    即便如此,盡管支持庫可能需要微調(diào),但任何與 SPI、UART 或數(shù)字 I/O 通信的盾板都應(yīng)該易于搭配 HiFive1 使用。HiFive1 外設(shè)盾板支持庫還處于初期階段:預(yù)計支持的盾板數(shù)量會增加。

    硬件需要好軟件支持

    GitHub 上提供了針對 HiFive1 開發(fā)套件的軟件開發(fā)工具。這些工具包括用于 RISC-V 處理器架構(gòu)的 C 編譯器和匯編器、用于 RISC-V 處理器的 GDB 主機駐留調(diào)試器和 OpenOCD(片上調(diào)試器)的 RISC-V 版本。

    一旦程序被編寫、編譯和匯編,開發(fā)人員就可以通過 USB 調(diào)試接口將其上傳到 HiFive1 開發(fā)套件。HiFive1 將該程序存儲在其板載 SPI 閃存芯片中。板載閃存芯片的容量為 16 Mb,比 8 位 Arduino Uno 板上的代碼存儲容量大得多。地址空間擴展只是諸如 RISC-V 的 32 位處理器架構(gòu)的眾多優(yōu)點之一。該微控制器的片上 16 Kb SRAM 也相對較大。

    處于開發(fā)板核心地位的芯片

    接下來將詳細介紹 HiFive1 開發(fā)套件的核心,即微控制器(圖 2)。

    基于 RISC-V 的開源微控制器的簡化框圖

    圖 2:基于 RISC-V 的開源微控制器的簡化框圖。(圖片來源:SiFive)

    該微控制器的中心是基于開源的 32 位 RISC-V ISA 的 CPU 內(nèi)核。就 RISC-V 而言,核心是 RV32IMAC 處理器,這意味著它使用的是基本 32 位 RISC-V 整數(shù)指令集 (RV32I),具有整數(shù)硬件乘除 (M) ;原子、實時指令 (A);以及對 16 位精簡 (C) 指令集的附加支持。另外還有 64 位和 128 位版本的 RISC-V ISA。該內(nèi)核還包括 16 Kb 的指令緩存(在框圖中標(biāo)記為“I $”)和 16 Kb 的暫存器 SRAM。幾個標(biāo)準(zhǔn)外設(shè)包括定時器、PWM 信號發(fā)生器、實時時鐘、UART、QSPI 串行接口以及圍繞處理器內(nèi)核的一個片上硬件調(diào)試模塊。

    RISC-V 架構(gòu)幕后有誰或者說有什么?為什么?

    HiFive1 開發(fā)套件和微控制器實際上是開源 RISC-V 處理器架構(gòu)的硬件演示工具,是一個假設(shè)論證:世界真的需要另一種處理器架構(gòu)嗎?

    RISC-V 項目始于加州大學(xué)伯克利分校,最終超越了大學(xué)研究的范疇,充分發(fā)揮了更多自愿參與者和電子行業(yè)人士的想象力。該項目的最終結(jié)果是開源代碼 RISC 處理器 ISA(指令集架構(gòu)),與其他任何 32 位 RISC ISA 幾乎一樣。不同之處在于任何人都可以自由地將 RISC-V ISA 用于任何目的。

    它需要一個生態(tài)系統(tǒng)

    就 HiFive1 開發(fā)板而言,嵌入式系統(tǒng)開發(fā)人員需要的不僅僅是處理器或微控制器芯片。對于 RISC-V,嵌入式開發(fā)人員需要工具、示例代碼、庫和軟件堆棧等形式的開發(fā)支持。這類支持來自圍繞成功的處理器架構(gòu)和用戶而發(fā)展的生態(tài)系統(tǒng)。RISC-V 處理器架構(gòu)相對較新,其生態(tài)系統(tǒng)也一樣,但它在不斷發(fā)展。除了上面討論的 SiFive 開發(fā)工具外,RISC-V 生態(tài)系統(tǒng)中的其他開發(fā)工具目前還包括:

    總結(jié)

    經(jīng)濟實惠的 Arduino Uno 開發(fā)板外形小巧輕便,可訪問數(shù)百個 I/O 和外設(shè)盾板。HiFive1 開發(fā)套件利用這些現(xiàn)有盾板,通過緊密復(fù)制緊湊型 Arduino Uno 開發(fā)板的外形尺寸和獨特針座配置,將其與基于 RISC-V 的 32 位微控制器配接。

    HiFive1 開發(fā)套件具有 16 Mb 板載閃存,可提供更高的代碼存儲能力。盡管它是一款新的架構(gòu),但嶄露頭角的開源 RISC-V 生態(tài)系統(tǒng)提供了一套擴展的軟件開發(fā)工具,包括編譯器、匯編器、調(diào)試器和 Arduino IDE 庫。

    • 開源 GNU MCU Eclipse:一系列基于 GNU 工具鏈的 Eclipse 多平臺嵌入式開發(fā)插件和工具。

    • Segger 的 Embedded Studio for RISC-V:一款用于嵌入式 C/C ++ 軟件開發(fā)的跨平臺 IDE 以及該公司的 J-Link 調(diào)試探測器。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5060

    文章

    18979

    瀏覽量

    302237
  • Arduino
    +關(guān)注

    關(guān)注

    187

    文章

    6461

    瀏覽量

    186524
收藏 人收藏

    評論

    相關(guān)推薦

    為加速原型開發(fā),ADI推出FPGA夾層卡快速原型開發(fā)套件

    。數(shù)字和模擬設(shè)計人員可以利用 AD9250-FMC-250EBZ 套件簡化并快速完成高速 JESD204B ADC-FPGA平臺的原型開發(fā)
    發(fā)表于 02-28 17:59 ?905次閱讀

    如何使用EVALSTPM34套件?

    如何使用EVALSTPM34套件?以上來自于谷歌翻譯以下為原文 How to use EVALSTPM34 kit??
    發(fā)表于 07-23 09:18

    IHM001套件和IHM002套件有什么區(qū)別?

    P-NUCLEO-IHM001套件這是個什么東西?IHM001套件和IHM002套件有什么區(qū)別?
    發(fā)表于 07-21 09:02

    在Arduino中怎樣才能快速的安裝STM32套件

    在Arduino中怎樣才能快速的安裝STM32套件呢?有大神分享一些方法嗎
    發(fā)表于 12-15 07:33

    萊迪思MachXO2套件:專用原型開發(fā)套件

    萊迪思半導(dǎo)體公司宣布推出MachXO2系列超低密度FPGA控制開發(fā)套件,適用于低成本的復(fù)雜系統(tǒng)控制和視訊界面設(shè)計的原型開發(fā)。新加入了MachXO2-4000HC組件,包括4,320個可程式設(shè)計邏輯的查
    發(fā)表于 10-30 08:53 ?1891次閱讀

    恩智浦推快速物聯(lián)網(wǎng)原型套件 可加速PoC開發(fā)進程

    快速物聯(lián)網(wǎng)原型套件充分利用恩智浦在數(shù)百萬嵌入式設(shè)備中的軟件支持優(yōu)勢,通過經(jīng)認證的無線堆棧、驅(qū)動程序、中間、嵌入式應(yīng)用示例和iOS/Andr
    發(fā)表于 03-09 14:20 ?2011次閱讀

    什么是HiFive1?詳細介紹HiFive1開發(fā)套件的核心

    這意味著它使用的是基本 32 位 RISC-V 整數(shù)指令集 (RV32I),具有整數(shù)硬件乘除 (M) ;原子、實時指令 (A);以及對 16 位精簡 (C) 指令集的附加支持。另外還有 64 位和 128 位版本的 RISC-V ISA。該內(nèi)核還包括 16 Kb 的指令緩存(在框圖中標(biāo)記為“I $”)和 16 Kb 的暫存器 SRAM。
    的頭像 發(fā)表于 06-05 09:36 ?1.1w次閱讀
    什么是<b class='flag-5'>HiFive1</b>?詳細介紹<b class='flag-5'>HiFive1</b><b class='flag-5'>開發(fā)套件</b>的核心

    使用英特爾物聯(lián)網(wǎng)開發(fā)人員套件實現(xiàn)快速原型設(shè)計

    使用英特爾?物聯(lián)網(wǎng)開發(fā)人員套件實現(xiàn)并加速您的產(chǎn)品路徑,以實現(xiàn)快速原型設(shè)計。
    的頭像 發(fā)表于 05-31 09:00 ?1887次閱讀

    HiFive1 Rev B與HiFive1的區(qū)別

    ,F(xiàn)E310-G002采用SiFive的E31 Coreplex處理器,高性能,32位RV32IMAC內(nèi)核,16KB L1指令緩存,1 KB數(shù)據(jù)SRAM寄存器和硬件乘法/除法。
    的頭像 發(fā)表于 04-04 14:46 ?6362次閱讀

    EVAL-ADICUP3029套件如何設(shè)置并使用工具和軟件

    了解EVAL-ADICUP3029套件的內(nèi)容以及如何設(shè)置并使用工具和軟件,為自己的開發(fā)進程做好準(zhǔn)備。此套件是一個面向物聯(lián)網(wǎng)應(yīng)用的基于Arduino的無線開發(fā)平臺。
    的頭像 發(fā)表于 07-31 06:14 ?1950次閱讀

    RL78/G1M 快速原型開發(fā)快速入門指南

    RL78/G1M 快速原型開發(fā)快速入門指南
    發(fā)表于 03-13 19:34 ?0次下載
    RL78/G<b class='flag-5'>1</b>M <b class='flag-5'>快速</b><b class='flag-5'>原型</b><b class='flag-5'>開發(fā)</b>板<b class='flag-5'>快速</b>入門指南

    RL78/G1N 快速原型開發(fā)快速入門指南

    RL78/G1N 快速原型開發(fā)快速入門指南
    發(fā)表于 03-13 19:34 ?0次下載
    RL78/G<b class='flag-5'>1</b>N <b class='flag-5'>快速</b><b class='flag-5'>原型</b><b class='flag-5'>開發(fā)</b>板<b class='flag-5'>快速</b>入門指南

    RL78/G1M 快速原型開發(fā)快速入門指南

    RL78/G1M 快速原型開發(fā)快速入門指南
    發(fā)表于 07-04 20:51 ?0次下載
    RL78/G<b class='flag-5'>1</b>M <b class='flag-5'>快速</b><b class='flag-5'>原型</b><b class='flag-5'>開發(fā)</b>板<b class='flag-5'>快速</b>入門指南

    RL78/G1N 快速原型開發(fā)快速入門指南

    RL78/G1N 快速原型開發(fā)快速入門指南
    發(fā)表于 07-04 20:51 ?0次下載
    RL78/G<b class='flag-5'>1</b>N <b class='flag-5'>快速</b><b class='flag-5'>原型</b><b class='flag-5'>開發(fā)</b>板<b class='flag-5'>快速</b>入門指南

    LSICVM02套件快速安裝指南

    電子發(fā)燒友網(wǎng)站提供《LSICVM02套件快速安裝指南.pdf》資料免費下載
    發(fā)表于 08-23 15:41 ?0次下載
    LSICVM02<b class='flag-5'>套件</b><b class='flag-5'>快速</b>安裝指南