firmware update, the second one is auxiliary QSPI area which is rarely updated and special update
menu appears when the firmware needs new QSPI contents.
Note that since version 3.7 the calculator operating system (called DMCP) is separated from the
DM42 program. Thus, both DMCP and DM42 program could be loaded separately. See
Quick DMCP
and PGM Update Guide
for details.
No action related to QSPI contents is needed until firmware requests QSPI update
by showing
DMCP System menu
or
"QSPI Load" menu
for versions before 3.7.
The preferred firmware update method is using
calculator FAT disk
which is available since
firmware version 3.5.
This method is implemented in main firmware, so it could be unavailable if the firmware is
corrupted. Then other method of update based on internal CPU flashing routine could be used. This
method requires the calc to be switched in so called 'Bootloader mode'.
The internal bootloader exposes standard DFU interface and can be programed by any DFU
programming software with limitation that firmware is plain binary file not file in general .dfu
format, so the programming software has to support it.
This section describes how to update firmware using FAT disk or using bootloader mode with two
utilities
GUI based dm_tool
and command line based
dfu-util
.
macOS users can get dfu-util via Homebrew
Availability of the particular update method on mainstream operating systems outlines following
table:
FAT disk
dm_tool
dfu-util
Windows
X
X
X
Linux i686
X
X
X
Linux x86_64 X
X
X
macOS
X
X
Changes since v3.7
Since version 3.7 the firmware for the calculator contains only operating system (called DMCP).
DM42 program could be loaded separately as described in section
Program update
.
Instructions for quick update of both DMCP firmware and program load are in
Quick Update Guide
.
There is new DMCP User Manual future plan which should contain information about SDK and
program development for DMCP platform. Before the manual becomes available here are some
useful links related to DMCP development:
• Source code for DM42 program:
https://github.com/swissmicros/DM42PGM
Follow instructions in README files for program building
15