透過 Renesas 的 RA 產品系列,開始使用開放原始碼軟體
資料提供者:DigiKey 北美編輯群
2020-09-10
開發團隊正面臨多種挑戰,如開發成本高企、系統日益複雜、開發週期縮短,甚至是軟體鎖定。整個嵌入式產業都被迫朝向事半功倍,因為再也沒有時間從零開始設計。雖然開放原始碼軟體可能非常有用,但從整合、錯誤和專案時間表的角度來看也可能帶來風險。但是,這點正在改變。
開發團隊可利用一個獨特的解決方案來解決這些挑戰,那就是採用新興的開放原始碼軟體平台。這些平台往往經過整合與測試,不僅能消除風險,還可與其搭載的微控制器系列配合使用。
本文將介紹開放原始碼軟體的概念並說明這些平台如何降低風險,接著將展示如何利用以 RA 系列微控制器為基礎的 Renesas 靈活軟體套件 (FSP),開始使用開放原始碼平台。
開放原始碼軟體的優缺點
開放原始碼軟體是指任何人都能在軟體授權模型所設定的限制下,檢查、修改及強化其原始程式碼1的軟體。開放原始碼軟體已成為開發團隊的重要資產,原因在於其鼓勵重用,並提供對已有軟體模組的存取,而且成本很低或完全零成本。例如,從頭編寫 RTOS 需要許多時間和預算,後續幾年還要投入相當多的時間和資源進行維護。而開發人員可以利用幾個開放原始碼 RTOS。這可讓他們更加專注於自己的應用程式碼,以實現差異化,而不必花時間維護底層作業系統。
在時程與預算時常遭到壓縮的開發週期中,開放原始碼軟體提供的機制,可讓團隊充分利用已有資源並專注於自己的應用程式碼。除了省時省錢外,開放原始碼軟體還有幾個優點,包括其程式碼比編譯的二進位更加透明,以及通常有機會接觸到全球志趣相投的開發人員。
儘管如此,開放原始碼軟體依然存在一些風險。因此,開發人員在決定是否要使用開放原始碼軟體時,必須考慮幾個重要的因素。
首先,並非所有開放原始碼軟體都獲得全球支援。現今有許多軟體都是一些人純粹好玩,而在自家的地下室或車庫編寫出的。他們可能會在短期內支援該程式碼,然後轉向其他更感興趣的專案,任由使用者自生自滅。
其次,開放原始碼軟體的授權模式有好幾種可能。有些授權允許將軟體用於商業用途或所有用途,有些則期望使用者與社群共享任何相關的程式碼或變更。乍看之下相當合理,但也存在潛在的責任風險,公司可能需要發佈自己的原始程式碼。
最後,開放原始碼軟體品質的好壞全憑運氣。開發人員往往對自己想要構建的產品有特定的想法,而且常常會打造出功能性的東西。功能性不代表所造之物夠穩健、毫無錯誤,或能輕鬆整合到其他軟體套裝或程式碼庫中。使用開放原始碼軟體時,品質可能是一大絆腳石,因此使用者需要格外小心。
利用 Renesas 的 FSP 消除開放原始碼的風險
若想將開放原始碼的風險降到最低並發揮最大的益處,開發人員可利用由信譽良好供應商整合、測試且提供支援的軟體。而這正是 Renesas RA 系列 FSP 的用途所在。
Renesas RA 系列非常值得關注,因為除了硬體之外,該平台還以 FSP 的形式提供開放原始碼軟體 (圖 1)。此 FSP 提供開始使用和運作微控制器所需的所有軟體,包括板支援套件 (BSP)、硬體抽象層 (HAL) 以及多個中介軟體堆疊。此外,此 FSP 還提供 FreeRTOS,這是一款廣受開發人員歡迎的開放原始碼 RTOS。這款軟體也已經過整合和測試,可讓開發人員立即開始編寫自己的應用程式碼,而不必花費太多時間擔心低階硬體。
圖 1:此 FSP 提供了開箱即用且易於配置的整合式軟體堆疊。(圖片來源:Renesas)
此 FSP 僅可搭載 Renesas RA 系列微控制器使用。此平台的入門十分簡單,但開發人員需要先選擇開發板。
選擇 Renesas RA 系列開發板
Renesas RA 系列分為四大處理器系列群組,包括 RA2、RA4、RA6 和 RA8 系列。每個處理器系列都針對效能略有不同的組別而量身打造,並提供 Arm® Cortex®-M23、Cortex-M33 或 Cortex-M4 處理器 (圖 2)。所提供的快閃記憶體和功能從 RA2 到 RA8 系列逐級遞增,而功耗也相應增加。
圖 2:Renesas RA 系列微控制器分為四大系列,可透過多個不同的 Arm Cortex-M 處理器核心提供各種效能範圍。(圖片來源:Renesas)
在決定使用哪個開發板時,先確定終端應用會很有幫助。例如,對於醫療保健、辦公室或測量設備所用的低功率控制或介面應用,RTK7EKA2A1S00001BU (EK-RA2A1) 會是個不錯的選擇 (圖 3)。此板件具有低功率 RA2A1 48 MHz Arm Cortex-M23 處理器,並由 256 KB 快閃記憶體和 32 KB RAM 提供支援。另外,除了幾個擴充連接器外,此開發板大部分為裸露,十分適合用於外部感測器或致動器的介接。此板件含有板載除錯器、按鈕、電位器和電容式觸控按鈕。
圖 3:EK-RA2A1 含有多個擴充連接器,十分適合用於控制應用和外部感測器的介接。(圖片來源:Renesas)
對於更進階的應用,如 IoT、工業、家電或儀表產品,開發人員可能會稍微傾向於 EK-RA4M1 (RTK7EKA4M1S00001BU) 開發板。EK-RA4M1 由 RA4M1 Arm Cortex-M4 處理器驅動,工作頻率也是 48 MHz 頻率,而且也由 256 KB 快閃記憶體和 32 KB RAM 提供支援。另外,此板件也是為低功率應用而設計。
對於需要更高效能、LCD、網際網路連線、進階安全性及其他高端功能的應用,開發人員可能傾向於 RTK7EKA6M2S00001BU (EK-A6M2) 或 RTK7EKA6M3S00001BU (EK-A6M3) 開發板。EK-A6M2 以 RA6M2 為基礎,這款 Arm Cortex-M4 處理器的工作頻率為 120 MHz,並由高達 1024 KB 的快閃記憶體和 384 KB 的 RAM 提供支援。
EK-A6M2 開發板同樣也僅提供基礎功能,如排針座、電位器和按鈕。這是一款出色的低成本板件,可讓開發人員開始使用開發環境和軟體,並瞭解硬體。
EK-A6M3 開發板則更有意思 (圖 4)。此板件以 RA6M3 Arm Cortex-M4 處理器為基礎,工作頻率也是 120 MHz 頻率,但由高達 2048 KB 的快閃記憶體和 640 KB 的 RAM 提供支援。
圖 4:EK-A6M3 開發板以 RA6M3 處理器為基礎,具有 32 MB 外部 QSPI 快閃記憶體,可用於存儲圖形應用資料,因此支援圖形擴充板使用圖形加速器和觸控功能。(圖片來源:Renesas)
EK-A6M3 隨附圖形擴充板,可讓開發人員使用圖形加速器和觸控功能。此開發板具有乙太網路插孔、PMOD 擴充連接器及 microbus 連接器。另外,此板件還具有 32 MB 的外部 QSPI 快閃記憶體,可存儲圖形應用資料。開發人員將會發現,他們還可以使用解析度為 480 x 272 且具有電容式觸控重疊結構的 4.3 吋 TFT 彩色 LCD。
使用 FSP 編寫第一個應用程式
要開始編寫第一個 FSP 應用程式,開發人員需遵循幾個步驟。
- 根據上一節,選擇一個最符合應用需要的開發板。
- 下載並安裝 e2 Studio IDE。e2 Studio 可讓開發人員建立專案、管理軟體組件並編寫自己的應用程式碼。此外,開發人員還可以執行除錯工作階段並與開發板進行交互。
- 下載並安裝 FSP。
完成這些步驟之後,開發人員可開啟 e2 Studio 並按以下步驟建立新專案:
- File -> New -> RA C/C++ Project (檔案 -> 新建 -> RA C/C++ 專案)。
- 選擇 Renesas RA C Executable Project (Renesas RA C 可執行專案) 和 Next (下一步),請見圖 5。
圖 5:FSP 專案可利用 Renesas RA C Executable Project 範本建立。(圖片來源:Beningo Embedded Group)
- 然後,開發人員提供其專案名稱,並選擇下列重要的專案參數等 (圖 6):
- 要使用的 FSP 版本
- 開發板型號
- 微控制器元件
- 要使用的 RTOS (如果確實會使用)
圖 6:開發人員在建立專案時需選擇重要的元件及軟體參數。(圖片來源:Beningo Embedded Group)
建立專案後,開發人員可使用 IDE 來開發應用程式碼,並使用 e2 Studio 堆疊配置工具在其專案中配置整合式驅動程式、架構和開放原始碼軟體。
使用開放原始碼軟體的秘訣與訣竅
利用開放原始碼軟體已成為開發團隊加速開發和控制成本的關鍵。為了成功利用開放原始碼軟體,團隊應牢記幾個「秘訣與訣竅」,例如:
- 選擇社群活躍的軟體,而非來自 GitHub 或類似服務的一次性範例。
- 對開放原始碼軟體程式碼庫執行軟體稽核和品質分析。
- 請律師審閱軟體授權,確保適當瞭解該授權。
- 使用抽象層來消除依存性。這可讓軟體套件在以後有需要時輕鬆移除。
- 盡量利用整合式軟體來最大程度減少問題。
開發人員若遵循這些「秘訣和訣竅」,便可在保護 IoT 裝置時省下很多時間與麻煩。
結論
隨著嵌入式系統日益複雜,開放原始碼軟體可幫助開發團隊更好地管理時間表和預算。但是,團隊需要仔細選擇所使用的開放原始碼軟體。網路上有許多未獲支援的開放原始碼軟體選項,而這些選項可能會造成無止盡的整合和維護問題。
如本文所述,Renesas RA 系列微控制器等平台已省去了繁瑣的工作,並為團隊提供穩固的基礎,讓他們能開始開發自己的應用程式,而不超出時間表和預算。
參考資料

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。