|
What's New In Version 2.1
Click on a feature to find out more
- Debug Sections
Debug Sections let the simulator track code execution and enable 'smart single stepping'.
You can mark out and colour code sections of your assembly so
that the simulator can give you improved feedback
during debugging.
Firstly, the 'Section View' plugin
can give vital information on which Sections have been executed,
the current section and how much actual time has been spent
in different sections. Secondly, a section can be
automatically run as a complete block when single
stepping the code. This allows previously debugged
code to be stepped over with a single click - allowing
much more detailed control than the 'Step Over' button
usually provides.
Setting Sections
Sections behave just like breakpoints - they can be
set temporarily in the processor view, or as persistent
sections in the source file. Unlike a breakpoint, a
section covers a range of lines. To set a section,
select the appropriate lines in either the processor
view or source file, then click Debug and select
either 'Section 1', 'Section 2' etc. to set a section,
or 'Clear Section' to clear the section. The 'Clear'
section is treated as 'section zero' - you will see
that when sections are set in the source file, the
first line selected will contain a ;;MiSim sX token
that starts section X, and the last line will
contain a ';;MiSim s0' token that ends the section.
As with breakpoints, you can add sections to source
files by hand - adding a ';;MiSim sX' token will
set Section X for the given line and all following
lines until another ;;MiSim sX token is found, or
the end of the file is reached.
The Section View Plugin
The section view plugin provides feedback about the
sections being executed. It has four basic modes
that may be selected - Block, Line, Pixel and Histogram.
In Block mode, the current section is shown by the
colour of the section view window. Note that though the
section view plugin slows down simulation, you may
not see short sections being executed as the colours
update rapidly.
In Line mode, the section view window is divided into
horizontal lines with each line representing a single
instruction cycle. As your program runs, the current
section is drawn as a line that scans from top to bottom
of the window. The stripes drawn allow short routines to
be visualised.
Pixel mode behaves similarly to Line mode, except that
each pixel represents an instruction cycle, and as your
program executes, the current pixels scans from left to
right, then top to bottom of the window. As a large
window can show a larger number of cycles than in line
mode, this allows longer routines to be visualised.
Histogram Mode shows the number of cycles spent in each
of the sections as they execute. You can drag the
Section View window out to enlarge the histogram bars.
Once they are large enough, the instruction cycle count
is displayed next to each bar.
In all modes, the plugin can be set to ignore time spent
outside of sections - Click the 'Ignore Clear Sections'
checkbox in the plugins view to set this option.
Single Step Sections
By default, sections have no effect on the simulator.
However, it is possible to set sections so that when
single stepping the simulation they are executed as a
single block. This allows previously debugged code,
long blocks and subroutines to be stepped over with
far more control than the standard 'Step Over' debug
option. One example might be to set all except your
interrupt handler to be a single stepped section - in
which case, stepping past the end of the handler will
continue execution until the next interrupt occurs.
To set single stepping for sections, use the Edit->Preferences
dialog. The Sections tab has a checkbox for each section.
Checking a box will set the simulator to step over that
section when it is encountered.
Section Colours
The Section colours can also be set in the Preferences
dialog - click on the coloured button to change the colour
for that section.
Back To Top
- File Synchronisation
To support those of you who use MiSim with other compilers and editors,
miSim DE now has file synchronisation for
both assembly files and binary files.
If a source or binary file is updated in another application,
miSim DE will now detect that
fact and offer to reload it. The file is checked when
the appropriate tab is selected and
miSim DE gets focus.
Click OK to load the new version of the file and continue
or cancel to ignore the most recent update to the file.
Back To Top
- Editor Preferences
The preferences dialog now features an editor tab which
allows the user to set the font size, tabs and colours
used to display text.
The 'Expand Tabs' checkbox sets
the editor to insert either a tab character (if un-checked)
or a set of spaces into the file (if checked) when the
tab button is pressed. The tab width value decides how
many space characters a tab is equivalent to.
If the 'Show Uppercase' option is checked, all commands
and instructions that the editor recognises are shown in
uppercase. This does not change the actual case of the
characters in the file - it is only a display property.
Note that changing this option will not change the way
files that are already loaded are displayed. Only newly
loaded files, or new text typed into existing files will
be displayed correctly.
You can set the colours for the background, selection
area and tokens in the Editor Tab by selecting the
relevant type in the Token Colours list and then clicking
the 'Change Colour' button.
Back To Top
- Persistent Breakpoints
Previously, adding a breakpoint to a file (either the assembled
file or the original source file) added a temporary breakpoint
which would be forgotten when the file was next assembled.
The new version of miSim DE allows
both temporary breakpoints and persistent breakpoints which
are marked in the source file. You can add a temporary breakpoint
as before by clicking on a line in the processor view and
then selecting Debug->Add Breakpoint. This breakpoint will
be forgotten when the file is next assembled.
You can add a persistent breakpoint by selecting a line
in the source file and clicking Debug->Add Breakpoint.
This will add a special token ';;MiSim b1' to that line of
code which instructs the assembler to set a breakpoint at the
appropriate address each time the file is assembled.
Note that the persistent breakpoint token is designed to
look like a comment to other assemblers, so it will not
affect their use. You may enter breakpoints by using the
menu as described above, or by typing the ';;MiSim' token
in directly.
As you may wish to add breakpoints that are useful for
debugging, but not for other tests, miSim DE
now also supports breakpoint levels - described below.
Back To Top
- Breakpoint Levels
The simulator supports up to six levels of breakpoints.
When the simulator is run, the debug level decides
which breakpoints are acted upon. The debug level
defaults to 1 - all breakpoints enabled - and is set in
the Debug->Edit Breakpoints dialog. For a given debug
level, the simulator will only stop on breakpoints with
the same or higher level. This allows persistent breakpoints
to be permanently added to source files, but then only
enabled as necessary.
Temporary breakpoints are automatically set to have the
highest level - always enabled. If a persistent breakpoint
is created with the Debug->Add Breakpoint menu item, it
is set to the current debug level. The ;;MiSim token is
followed by the letter 'b' and a single digit representing
the debug level. This may be altered by hand, and the
level will be set when the file is next assembled.
Once a file has been assembled you may set the level of
a breakpoint in the 'Edit Breakpoints' dialog by
selecting the breakpoint and clicking 'Set Level',
which will set it to the current debug level.
Back To Top
- Print Support
Print Support for miSim DE allows you to
produce colour, formatted paper copies of logs, assembled files and assembly listings.
The print mechanism is designed to work with all supported versions
of Java - and uses your web browser to prepare a correctly laid out
version of the document. Now you can print what you see when you
edit your files!
Back To Top
- Save As HTML
If you want to share your project with other people, what could be more useful that
an option which outputs your assembly listings as a fully formatted web page?
Back To Top
- Web Update
For nearly twelve months leading up to the release of Version 2,
miSim DE has been updated on a very regular basis.
Significant new features and improvements have been added almost monthly.
Not only that, but miSim users are writing
their own Plugins to simulate useful devices. miSim is a
living application that allows users to benefit from the tens of thousands of
lines of code that Feersum Technology have developed - and to share and benefit from
the work of other users.
To make it easier to keep up with the latest developments, Web Update allows
you to simply, quickly and efficiently update miSim and
get not only new Plugins, but example code, projects and documentation. With
Web Update miSim DE can download your selection
of new components via the web and install them without you needing to exit the
application. It can even upgrade itself, which may require a restart - but then
you'll have an even better version of this sucessful application.
Back To Top
- 12- and 14-Bit Cores
Now code for both 12- and 14-bit Microchip devices can be assembled and simulated.
The full list of supported devices is as follows (and more will be added very soon):
All PIC® 16x5x processors are now simulated:
16c54, 16c54a, 16c54c, 16cr54a, 16cr54c,
16c55, 16c55a,
16c56, 16c56a, 16cr56a,
16c57, 16c57c, 16cr57c,
16c58b, 16cr58b
The original PIC 16x8x devices are simulated:
16f83, 16cr83
16c84, 16f84, 16cr84
In addition, these processors are supported, though not all
peripheral devices are simulated:
16f873, 16f876 - No Analog, PWM, Serial I/O
16f874, 16f877 - No Analog, PWM, Serial I/O, Port D/E
Back To Top
- Programmer Support
Real devices can now be programmed with a variety of hardware programmers.
The only requirement is that your programmer supports command line arguments
(i.e. you can control it from the Command Prompt).
Once you have taught miSim DE about your programmer,
new devices can be programmed with your own code with just the click of a mouse button.
Easy!
Back To Top
- Plugin 'Circuits'
Users have commented that they often want to set up a group of Plugins with settings
for a project they are working on. miSim DE makes things
simple by introducing 'Circuits' - user defined groups of Plugins with their own
configurations. Circuits can be chosen and then connected with a single button.
If your project has a set of LEDs, buttons and a stepper motor you can define a new
circuit that has all of these, correctly connected to the microcontroller. The
circuit can be recalled and connected whenever you need. Circuits also allow you
to configure debug tools such as the breadboard display or memory monitor as part
of your ideal set-up.
Back To Top
- Simpler Configuration
miSim DE 2.0 makes configuration much easier than in
previous versions. The settings for your choice of processor, Plugins and their
configuration are completely managed by the software - so no need to dig 'under the
bonnet' to tell miSim about your project. Everything is there
in simple menus.
miSim also continues the tradition of getting started
with your code much easier. Unlike other tools, there is no need to tell
miSim DE about your project and a whole host of options
that you just don't need (or understand!!). You can just open up the required
assembly file and go. All of the necessary options can be defined through
simple menus, or directly in the code. By taking this simple stand,
miSim helps you to keep your choices clear and easy
to share with other developers.
Back To Top
- Better User Interface
miSim DE has receieved praise for it's simple, yet
effective user interface. As more people use it this interface is getting better
without getting cluttered or confusing. The latest version has a whole host of
little tweaks that make it look better, layout more neatly and respond faster.
When you develop with miSim DE your code is easy
to read and easy to edit. All project options are close to hand and straightforward.
Yet miSim DE still provides a sophisticated Macro
Assembler, robust and efficient simulator and excellent debugging tools.
Anyone can make a development environment look big and clever - it takes a little
more to make it simple and powerful.
Back To Top
|
|