在不斷創新并保護其知識產權 (IP) 的同時,還需兼顧低功耗和低成本,致使設計人員持續面臨著壓力。因此,對于移動應用處理器的設計人員而言,RISC-V 開源硬件指令集架構 (ISA) 值得留意。既然 RISC-V 已成為微控制器的一個選項,嵌入式系統和消費類設備的設計人員需要學習如何著手將 RISC-V 整合至自己的設計。
GroupGets LLC 的 FE310 LoFive-R1 開發板為此提供了一條捷徑。在介紹 LoFive-R1 之前,本文將介紹 RISC-V 并說明開發人員應考慮使用該架構的原因。然后,本文將詳細介紹 LoFive-R1,說明如何著手應用開發以及可用的一些技巧與訣竅。
什么是 RISC-V?
RISC-V 是一個開源硬件指令集架構項目,2010 年始于加州大學伯克利分校。構建 RISC-V 架構的原因很多,包括:
滿足對開源指令集架構 (ISA) 的需求,以供大學項目學術研究和學生使用
分享 ISA 開發設計專業知識的途徑
保護架構(公司 IP)的設計細節以保持商業可行性
就設計人員而言,RISC-V 是一種專為高速和低功耗而設計的簡化架構。因此,基于 RISC-V 的芯片不僅適用于學術界,也非常適合商業應用。實際上,RISC-V 基金會備受關注,目前已吸納約 325 名成員,其中包括 Si-Five、Google、Microchip Technology、NVIDIA 和 Qualcomm 等公司。
為 RISC-V 開發做出貢獻的公司雖不少,但對于普通開發人員而言,獲得 RISC-V 實踐經驗的最佳方法是找到一款基于 RISC-V 處理器的開發板。
LoFive FE310 開發板
GroupGets LLC 的 LoFive-R1 開發板正是其中之一。
首先,LoFive R1 包含的 RISC-V 處理器最高可在 320 MHz 下運行。該處理器包括 8 KB 的一次性可編程 (OTP) 存儲器、8 KB 的掩膜 ROM、16 KB 的指令緩存和 16 KB 的 SRAM。此外,該處理器還具有三個獨立脈沖寬度調制 (PWM) 控制器、SPI、I2C、UART,甚至 QSPI 閃存接口。
其次,該開發板既可焊接針座,也可直接焊接到載板上用作處理器模塊(由于其邊緣呈圓齒形),無需費時額外采購處理器,從而極大簡化了開發人員對定制硬件的設計流程。
再者,該開發板的板載 QSPI 閃存由 Integrated Silicon Solution Inc . (ISSI) 的 IS25LP128 閃存模塊提供。IS25LP128 閃存模塊容量為 128 Mb(即 16 MB),在四通道輸入 / 輸出模式下 SPI 總線接口速度高達 133 MHz。該 SPI 閃存模塊可用于存儲以確保充足的應用程序空間,也可用于存儲應用程序日志等運行時數據。
另外,該開發板也可采用 5 V 的工作電壓,通過 MaxLinear 的 SPX3819M5 線性穩壓器轉換為 3.3 V。該穩壓器采用 SOT23-5 封裝,卻可提供高達 500 mA 的電流。該開發板消耗電流較小,因此可支持其他傳感器和器件,而無需額外添加電源電路。
最后,該開發板的原理圖和物料清單等所有設計細節均可從 github 獲取。這些信息有助于開發人員理解該開發板的工作原理,也可用作定制開發項目的設計指南。
RISC-V 工具鏈設置和開發板編程
開發人員會發現 RISC-V 可用的工具鏈有多種,具體取決于所選擇的開發板。需要注意的是,適用于 RISC-V 的 SDK 支持 Windows、macOS 和 Linux。本文將展示用于 Linux 的開發板設置方法。
首先,在終端上使用以下命令從 git 中簽出 LoFive Freedom-E SDK:
git clone --recursive https://github.com/mwelling/freedom-e-sdk.git
然后,使用以下命令進入按 SDK 創建的目錄:
cd freedom-e-sdk
該開發板可用的 SDK 有兩款。第一款稱為“舊版 SDK”,因為版本較舊。請使用新版 SDK,其中包括預構建的工具鏈和用于調試的 OpenOCD。使用以下命令簽出 SDK:
git checkout lofive-r1
git submodule sync
git submodule update –init –recursive
開發板編程可通過幾種不同的方式完成。首先,該處理器具有標準 JTAG 信號,可通過 LoFive-R1 擴展連接器獲取該信號。開發人員可以使用任何支持 JTAG 的編程器,例如 SEGGER 的 J-Link 。若沒有相應的編程器,開發人員也可使用 FTDI 的 FT2232H-56Q Mini MDL 等低成本的 USB 轉串口轉換器。FT2232H-56Q Mini MDL 模塊可提供連接 LoFive-R1 開發板所需的所有連接和分線。SDK 可使用 FT2232H-56Q 的通用 I/O 來構建必要的 JTAG 連接,實現對微控制器的編程。
LoFive-R1 開發板與 FT2232H-56Q 模塊之間需要九個不同的連接(表 1)。
表 1:LoFive-R1 開發板與 FT2232H-56Q 模塊的連接簡表。
上述連接可以總結為:
電源和接地
JTAG 信號
UART 信號
連接可以采用直連法,也可使用 Global Specialties 的 PB-83M 等試驗板來完成。該試驗板的香蕉插孔可用于連接兩個電壓源和接地,以簡化原型開發。
首次使用 LoFive-R1 時,建議先安裝板載引導程序。引導程序只需安裝一次,后續即可輕松升級。通過執行以下命令,即可從 SDK 中加載引導程序:
make PROGRAM=lofive-boot TARGET=lofive-r1-bootloader upload
然后,使用以下命令將 "hello world" 應用程序加載到開發板:
make PROGRAM=sifive-welcome TARGET=lofive-r1 upload
至此,開發人員就已完成了首個 RISC-V 應用程序編寫,此后的擴展則具有無限可能。
RISC-V 的使用技巧與訣竅
RISC-V 處理器入門與標準微控制器生態系統有所不同。 以下是幾點“技巧與訣竅”:
簽出 LoFive-R1 SDK 后,花時間查看主目錄下的 README.md 文件。其中包含了在何處能找到 SDK 說明文檔、板級支持包及其他有用信息。
若有 SEGGER 的 J-Link 等專業調試探測器,即可用于 RISC-V 處理器的應用程序編程。自 2017 年以來,J-Link 一直支持 RISC-V。
如果開發人員偏好使用 IDE 而非命令行工具,可以考慮使用 Freedom Studio(基于 Eclipse 的 IDE)進行 RISC-V 開發。
首次使用 RISC-V 時,只需遵循這些“技巧與訣竅”,開發人員即可節省大量時間和精力。
總結
對于希望使用開源硬件架構的開發人員而言,RISC-V 架構值得留意。目前,市面上已有基于 RISC-V 處理器的開發板,如本文所述,工具鏈設置難度與任何其他標準微控制器差別不大。
RISC-V 雖令人著迷,但是請別忘記,其生態系統對比現有的許多微控制器平臺相對貧乏,因此開發人員選擇深入探索 RISC-V 后,就會發現可用的選擇和資源很少。權衡取舍不失為良策,具體取決于最終應用以及開發人員的偏好和資源。
審核編輯 黃昊宇
-
微控制器
+關注
關注
48文章
7565瀏覽量
151574 -
RISC-V
+關注
關注
45文章
2292瀏覽量
46222
發布評論請先 登錄
相關推薦
評論