Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
I';我正在尝试为ARM Cortex M3编写模拟器。如何读取二进制文件,然后对其进行解码?_C_Arm_Emulation_Simulator_Hex File - Fatal编程技术网

I';我正在尝试为ARM Cortex M3编写模拟器。如何读取二进制文件,然后对其进行解码?

I';我正在尝试为ARM Cortex M3编写模拟器。如何读取二进制文件,然后对其进行解码?,c,arm,emulation,simulator,hex-file,C,Arm,Emulation,Simulator,Hex File,我正在尝试为ARM Cortex M3编写模拟器。如何读取二进制文件,然后对其进行解码?我想使用二进制文件作为模拟器的资源。我用Atmel Studio创建了一个项目,并进行了编译。现在,我有一个.hex文件。我也可以用hex2bin将这个文件转换成二进制文件。之后,如何使用该二进制文件获取和解码指令?我正在使用C/C++开发Visual Studio。首先,需要指出的是,为处理器编写仿真器不是一件容易的任务,其他人已经在这方面花费了很多时间,您可以看一看示例。其中一个项目是目前使用Qemu模拟

我正在尝试为ARM Cortex M3编写模拟器。如何读取二进制文件,然后对其进行解码?我想使用二进制文件作为模拟器的资源。我用Atmel Studio创建了一个项目,并进行了编译。现在,我有一个.hex文件。我也可以用hex2bin将这个文件转换成二进制文件。之后,如何使用该二进制文件获取和解码指令?我正在使用C/C++开发Visual Studio。

首先,需要指出的是,为处理器编写仿真器不是一件容易的任务,其他人已经在这方面花费了很多时间,您可以看一看示例。其中一个项目是目前使用Qemu模拟基于Cortex M3的电路板

中间步骤可能是使用已经理解/解码十六进制或bin文件的工具,并且是此类工具之一。有了它,您将可以反汇编许多elf文件并从中获取指令(然后您将不得不模拟;)

也就是说,如果您仍然真的想/需要进行仿真,并开始阅读和理解十六进制或二进制文件,那么首先要做的就是研究Intel十六进制文件格式(是的,即使ARM也使用此Intel格式;))。 您可以在中找到或


玩得开心;)