Accemic has designed a number of effective debugging features particularly suitable to be used by embedded system programmers:
Program download
Accemic MDE contains a fast flashing tool to program the internal flash memory of the target. A CRC check guarantees error free programming.
User interface
The source code and the integrated disassembler display useful debugger functions such as syntax highlighting, current code line, and possible breakpoints.
An ergonomic interface with drag-and-drop functionality is provided.
Execution functions
The way the target MCU will respond after a reset is programmable. The monitor kernel can be started directly in order to control loading and execution of new programs. Beyond that there is a “Run and Break” mode. In this mode the user program starts automatically after a reset, and if debugging is needed, it is possible to start the debugger with a special sequence of instructions. Single-stepping allows program execution to be watched line by line. It is possible to step into single lines of source or to step into or over procedure calls. The Call Function feature allows the user to call and test functions and interrupt service routines.
Breakpoints
The code breakpoints make the program halt at critical points and observe values. Breakpoints can also be inserted while the application is running. Of course, breakpoints can be set in all code addresses, even in RAM or ROM areas.
Processor status
Accemic MDE contains an extensive Processor Status Window for controlling I/O ports and peripheral units of the target. Each of the control registers is accessible and explains the purpose of the control bits in plain text. This makes it very easy to control the peripheral units and to test different register settings.

Online watching
With this feature it is possible to check the contents of memory and registers while the target program is running without impairing the real-time capability of program execution. The update rate is adjustable. A highly optimized update manager ensures that updates are completed rapidly while load on the system is minimal. Since the update manager only updates those variables visible on the screen at that moment, it is capable of inspecting large structures (e.g. char-arrays) very quickly.
Chart window
The Chart Windows allow you to graph the values of variables in your system as a function of time. This gives you considerable flexibility in observing variable values during debugging and tuning.

Transfer function
In addition to the online watching function, some powerful messaging functions (acc_printf and acc_MessageBox ) are implemented for linking into the application, allowing data and messages to be sent to the PC screen.
Watchdog timer update
A very helpful feature is the function acc_WatchdogEnable. If this function is called, Accemic MDE will update the watchdog automatically.
Monitor kernel access authorization
Some microcontrollers are equipped with a flash security function, which prevents the reading of internal flash memory content. This function is suitable for applications requiring protection of codes and data stored in the flash memory. When the flash content protection function is enabled, it is impossible to read values in internal memory using parallel writers, serial writers or other mechanisms.
The monitor kernel can be seen as a “standardized” workaround for bypassing this security feature.
For this reason Accemic has implemented monitor kernel access authorization. After start-up, initially the monitor kernel is in a passive state and no requests from the PC will be responded until the correct password is entered for the monitor kernel.
If you lose the password, the monitor kernel will have to be reloaded to re-access the monitor kernel via the bootloader.
Accemic MDE 2006 / MDE 2008 differences
| |
MDE 2006 |
MDE 2008 |
| Monitor kernel |
Precompiled - fixed addresses |
Linkable - variable addresses |
| User defined funtions called before and after application stop |
No |
Yes |
| Communication channel |
Bootloader UART |
Bootloader UART / all other UARTs (*) |
| External flash memory support |
No |
Yes (*) |
| Write user defined data during application download |
No |
Yes |
| Overwrite constants during application download |
No |
Yes |
| Save and restore memory regions after application download (e.g. parameter tables) |
No |
Yes |
| Exclude memory regions from application download |
No |
Yes |
| Stack trace window |
No |
Yes |
| topICE emulator support |
No |
Yes (**) |
| Instruction trace |
No |
Yes (**) |
| Data trace |
No |
Yes (**) |
| Function runtime measurement (min, current, max) |
No |
Yes (**) |
| Time measurement between events (min, current, max) |
No |
Yes (**) |
| Breakpoint hit counter |
No |
Yes (**) |
| Data breakpoints |
No |
Yes (**) |
| Conditional breakpoints |
No |
Yes (**) |
| Environment |
Windows XP |
Windows XP |
* Kernel SDK required
** With topICE emulator
Accemic MDE 2006 is not recommended for new designs.
Software protection
A hardware dongle based software protection is implemented in all Accemic MDE for Fujitsu FR products.