flat assembler
Message board for the users of flat assembler.
 Home   FAQ   Search   Register 
 Profile   Log in to check your private messages   Log in 
flat assembler > Non-x86 architectures > SIMA: simple minimalistic core simulator

Author
Thread Post new topic Reply to topic
Andrew Martin



Joined: 30 Sep 2015
Posts: 29
Location: 404, Lugansk
SIMA: simple minimalistic core simulator
SIMA is the minimalistic disassembler and core simulator for ARM Cortex-M MCU family. Currently it support only ARMv6-M instruction set, which used in the Cortex-M0 MCU's (for example STM32F0).

SIMA supports limited source-level debug.

Input executable formats:

- only raw binary image (no source level debug)

- raw binary + appropriate *.fas file (source level debug, specialy feature for FASMARM)

- ELF executable with DWARF-2 debug info (commonly used source level debug)

SIMA has easily upgradeable architecture, all that is needed for extension (eg to Cortex-M3, M4) - to write DLL with disassembler and instructions simulator, and peripheral memory model.

Now supported only Cortex-M0 STM32 (cm0_core.dll + stm32f0xx_periph_memory.dll).


Description: Executables + DLL sources
Download
Filename: sima.zip
Filesize: 112.83 KB
Downloaded: 136 Time(s)



Last edited by Andrew Martin on 11 Nov 2015, 15:49; edited 1 time in total
Post 31 Oct 2015, 10:32
View user's profile Send private message Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 14494
Location: WTC Building 7
You have many *.asm files in the attachment. Which is the start source?

Would it make more sense to have only one *.asm and the rest as *.inc? One *.asm for one *.exe. Just IMO, you can do whatever you want of course.
Post 31 Oct 2015, 12:11
View user's profile Send private message Visit poster's website Reply with quote
Andrew Martin



Joined: 30 Sep 2015
Posts: 29
Location: 404, Lugansk
There is two main source files for two DLL's.
- cm0_core.asm (for cm0_core.dll);
- stm32f0xx_periph_memory.asm (for stm32f0xx_periph_memory.dll).

sima.exe linked with polink from many object and resource files.

Source code for sima.exe I will publish later. Maybe. Too many sources and resources Smile
A GUI already contains enough functions.

A help and collaboration is needed only in development of disassembler and simulator engine, but this part of code - in DLL's. For this purpose DLL's was written in pure FASM without any third party tools.

Development of project is implied by writing a new libraries according to samples, cm0_core.dll and stm32f0xx_periph_memory.dll (for example cm3_core.dll for Cortex-M3).

MCU peripherals is very complex for understanding and simulation, therefore only MCU core is simulated today.
Post 31 Oct 2015, 13:40
View user's profile Send private message Reply with quote
Andrew Martin



Joined: 30 Sep 2015
Posts: 29
Location: 404, Lugansk
Hi all! SIMA 1.1 is now available.
Fixed many bugs in disassembler and simulator, GUI also has been improved.
Here is full sources.


Description: Binaries + DLL sources + GUI sources
Download
Filename: sima_v1_1_0_0.zip
Filesize: 298.34 KB
Downloaded: 43 Time(s)

Post 09 Jan 2017, 13:35
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >

Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001-2005 phpBB Group.

Main index   Download   Documentation   Examples   Message board
Copyright © 2004-2016, Tomasz Grysztar.