推薦一款 .NET 編寫的 嵌入式平臺的開源模擬器--Renode

張善友發表於2022-11-26

Renode 是一個開發框架,透過讓你模擬物理硬體系統來加速物聯網和嵌入式系統開發。 Renode 可以模擬 Cortex-M、RISC-V 等微控制器,不僅可以模擬 CPU指令,還可以模擬外設,甚至可以模擬板載的外設。 更強的是,它可以讓你在你的 PC 上執行、除錯和測試未經修改的嵌入式軟體-從裸機系統晶片,透過完整的裝置到多節點系統。它廣泛的網路支援和多系統模擬使它成為由多個裝置組成的一個測試系統。

官網:https://renode.io/

它的官方文件:https://renode.readthedocs.io/en/latest/

使用 Renode,您可以在硬體準備就緒之前開始開發,在不部署硬體的情況下測試程式,並透過減少快閃記憶體載入延遲來縮短迭代週期。

Renode 的指令模擬器使用 C 語言編寫,外設模擬器使用 C# 語言編寫,兼顧了執行效率和開發效率。老版本是用Mono 構建的,最新版本已經升級到.NET 6: https://github.com/renode/renode

System-On‑Chip片上系統

Renode 可以讓您從構建模組組裝虛擬系統晶片,包括 Cortex-M、 Cortex-A、 RISC-V 和其他 cpu 以及各種通訊匯流排和介面。 這完全是一個簡單的、基於文字的配置問題,因此您不必複製貼上程式碼和修改硬編碼值來構建所需的平臺。這種靈活性或 Renode 能夠實現。

drivers驅動

新增發光二極體,按鈕,感測器,管理單元上的無線電模組,你就完成了!是的,Renode 還可以模擬整個裝置,這意味著您可以執行您正在/將要在生產中使用的未經修改的韌體。你的虛擬電路板可以包括多個 soc、感測器和執行器。這使您可以轉換到軟體優先的工作流程: 使用 Renode 編寫您的軟體,嘗試各種硬體配置,並根據實際需要構建您的物理平臺。

Renode 專案釋出 Windows、 MacOS 和多個 Linux 發行版的安裝程式。在撰寫本文時,您可以在 Github 上找到 v1.13.2版本:https://github.com/renode/renode/releases/tag/v1.13.2

我在windows 下安裝的,下載 https://github.com/renode/renode/releases/download/v1.13.2/renode_1.13.2.msi ,安裝到了目錄C:\Program Files\Renode\

image

Renode 整合了 Ironpython 執行Python:

image

執行之後,renode 會開啟新的命令視窗用作renode 命令輸入,原來的命令列視窗作為renode的日誌輸出視窗使用,我們可以直接在終端中直接輸入help來檢視它所支援的命令有哪些,也可以使用help xxx的方式來檢視具體某個命令的詳細使用方法。

image

具體用法參考官方文件: https://renode.readthedocs.io/en/latest/

相關文章