簡體   English   中英

我正在嘗試為ARM Cortex M3編寫仿真器。 如何讀取二進制文件然后對其進行解碼?

[英]I'm trying to write emulator for ARM Cortex M3. How can I read the binary file then decode it?

我正在嘗試為ARM Cortex M3編寫仿真器。 如何讀取二進制文件然后對其進行解碼? 我想使用二進制文件作為模擬器的資源。 我使用Atmel Studio創建了一個項目,並對其進行了編譯。 現在,我有一個.hex文件。 我也可以使用hex2bin將此文件轉換為二進制文件。 之后,如何使用該二進制文件獲取和解碼指令? 我正在使用C / C ++開發Visual Studio。

首先,需要提及的是,為處理器編寫仿真器並非易事,其他人已經花了很多時間,例如可以看一下QEmu 目前有一個項目是使用Qemu模仿基於Cortex M3的電路板ZephyrProject

中間步驟可能是使用已經了解/解碼十六進制或bin文件的工具,而Radare就是其中一種。 有了它,您將可以反匯編許多elf文件並從中獲取指令(然后您必須模仿;))。

就是說,如果您仍然真的想要/需要進行仿真,並開始閱讀和理解十六進制或二進制文件,那么要做的第一件事就是研究Intel Hex文件格式(是的,即使ARM也在使用此Intel格式。 ;))。 您可以在此處ARM技術支持網站上找到官方規范

玩得開心 ;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM