基于Renode的Cortex-M單片機仿真體驗

在這個在家工作的新時代,固件工程師可能沒有他們在辦公室里所擁有的所有設備和開發(fā)板。有什么解決辦法嗎?仿真!

雖然它們不是真的,但是這些模擬器可以運行我們的固件,通過 UART 打印數據,從 I2C 傳感器讀取寄存器,甚至在 SPI 閃存設備上運行文件系統(tǒng)。這足夠寫一些真正的程序來執(zhí)行了!

在本文中,我們將詳細介紹了如何設置 Renode 模擬器并在其中為 STM32運行程序。使用這種設置,我們將調試程序,通過集成測試運行它,并縮短開發(fā)的迭代周期。

什么是 Renode

Renode 是一個用于嵌入式平臺的開源仿真器。今天,它支持 x86(Intel Quark)Cortex-A (NVIDIA Tegra)、 Cortex-M、 SPARC (Leon)和基于risc-v 的平臺。

Renode 可以采用運行在真實硬件設備上的相同程序,并在模擬核心、外圍設備甚至傳感器和驅動器上運行它。更好的是,它廣泛的網絡支持和多系統(tǒng)仿真使它成為由多個設備組成的一個測試系統(tǒng)。

使用 Renode,您可以在硬件準備就緒之前開始開發(fā),在不部署硬件的情況下測試程序,并通過減少閃存加載延遲來縮短迭代周期。并且,Renode 是使用 Mono 框架構建的,它允許跨平臺運行。

Renode和QEMU之間的差異?- 具有仿真經驗的讀者指出 QEMU 已經存在了很長時間,并且能夠仿真 Cortex-M 目標。根據我們的經驗,QEMU 專注于模仿面向更高級別操作系統(tǒng)(如 Linux 計算機)的系統(tǒng),而不是嵌入式設備。到目前為止,它只支持兩個 cortex-M 系列MCU,都是 TI 公司制造的。

Renode初體驗

Renode 項目發(fā)布 Windows、 MacOS 和多個 Linux 發(fā)行版的安裝程序。在撰寫本文時,您可以在 Github 上找到 v1.9版本。

本指南是在Windows 上編寫的,但并不是特定于操作系統(tǒng)。為了驗證你的 Renode 安裝,你可以運行一個例子:

1.打開renode終端,并輸入命令:start @scripts/single-node/stm32f4_discovery.resc

image

2.這時,我們可以看到到一個新的終端彈出,里面顯示的是串口的輸出

image

由此可見,示例中的系統(tǒng)已經跑起來了,并且顯示了串口輸出!

關注&&聯(lián)系

gitee: https://gitee.com/cmcc-oneos/OneOS-Lite

docs: https://oneos-lite.com/

公眾號:CMCC-OneOS

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容