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