I'm trying to write emulator for ARM Cortex M3. How can I read the binary file then decode it? I want to use binary files as a resource of my emulator. I created a project with Atmel Studio and I compiled it. Now, I have a .hex file. I can also convert this file to binary file with hex2bin. After that, how can I use that binary file for fetching and decoding instructions ? I'm working on Visual Studio with C/C++.
I'm trying to write emulator for ARM Cortex M3. How can I read the binary file then decode it?
1.3k Views Asked by AudioBubble At
1
There are 1 best solutions below
Related Questions in C
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in ARM
- Why Device Tree Structure (DTS) file is needed both in bootloader and kernel source code?
- How can I use LD to place ARM reset vectors in a program segment
- Errors in makefile for qemu 0.14.1 in ubuntu 15.04 64 bit
- Text as parameter in inline assembly (ARM)?
- GSL: nm outputs "undefined Symbol (U)"
- How to address multiple definition compiler error
- Did anyone compiled GSL for androind?
- Linker Error on cross compiling Project in eclipse
- How to set privilaged mode in ARM Cortex-A8?
- Why is a write to a memory-mapped peripheral register not actioned (LPC43xx)?
- what's ARM TCM memory
- Traversing a string using arm assembly inside V8 source
- C Global declared in ISR
- Which is better? int8_t vs int32_t in 32 bits MCU
- Cannot find -lgtk-x11-2.0. Also, some modules are not found by cmake, though they are installed
Related Questions in EMULATION
- Why my android application stopped when I run it in Emulator?
- How to install Intel's HAXM emulator on dual core processor machines?
- Android Emulator showing on left top corner
- How to change original (unchangeable?) ICCID/SIM card serial from an AVD
- How to set/get GPS Accuracy on Android Emulator?
- app neither installing not running on emulator
- Unfortunately "My app" has stopped
- How to setup an Android Virtual Device with a data partition larger than 200 MB?
- MASM - Macro variable?
- Facebook application has been stopped working on android emulator?
- emulator out of window non movable windows 8.Always have to change the monitor resolution.. need permanent solution
- babun: copy/paste from windows clipboard into vim?
- Android Emulator: Unfortunately Launcher has stopped
- Not able to connect to Internet from Visual Studio Emulator for Android
- Androidstudio gapps has stopped in emulator
Related Questions in SIMULATOR
- Aldebaran Nao robot simulator without a real robot
- Multiple RadioButtons Simulator
- How can I fire a UILocalNotification for every 15 days with repeat interval in objc
- Android debug error 'Unable to identify the apk for variant armv7-debug'
- import external data to ONE simulator
- Error building/running in simulator on Xcode
- Simulation of Sockets in Network Simulator
- Starting iOS simulator from command line fails with error code 60
- Play video frame by frame performance issues
- Can not add images to iOS Simulator
- SQL simulator on Prolog
- xcode 6.3.2 - simulator wrong screen size
- Unfortunately, Launcher3 has stopped
- Simulator become very slow
- how do i adjust this application window while running
Related Questions in HEX-FILE
- Convert hex to bin file with correct address offset
- Can i get project setting value from hex output file in IAR workbench?
- TortoiseGit commit only specific *.hex files
- Reading .hex File with C# File.ReadAllBytes()
- how to convert .c file to .hex file and load it on AVR microcontroller?
- Read binary file of logging data and output to new file with int (python)
- I'm trying to write emulator for ARM Cortex M3. How can I read the binary file then decode it?
- Trying to replicate a CRC made with ielftool in srec_cat
- PicSimlab 0.7.5 version is shutting down very frequently within 1 minute
- Printing Lines from Intel HEX Record File
- How do I convert an Intel HEX file to raw data like memory view?
- .hex file reading or .bin in python - getting first address value
- how to read non-zero part of intelhex file in python using IntelHex package
- Contiguous Hex file generation using GCC
- Fixing checksum issues on intel HEX files
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
First, need to mention that writing an emulator for a processor is not an easy task, other have already spend lot of time on it, you can take a look at QEmu for example. One project is currenlty using Qemu to emulate a Cortex M3 based board, the ZephyrProject.
An intermediate step, could be to use a tool that already understand/decode hex or bin file, and Radare is one of those kind of tool. With it you will be abvle to disassemble many elf files and get the instructions from it (that you'll then have to emulate ;) ).
That said, if you still really want/need to make the emulation, and start to read and understand the hex or binary files, the first thing to do will to study the Intel Hex file format (yes, even ARM is using this Intel format ;) ). You can find the official specification here or in the technical support website of ARM.
Have fun ;)