How to dump the memory of a PCD (with Saia PCD® COSinus firmware)?

FAQ #100833

The information provided in the history or the "Diagnostic file" of the PCD does not always give enough information for the firmware developpers to find the reason for e.g. a crash of a PCD. If more information is required in order to trace back a crash, a dump of the whole memory (SRAM, DRAM and FLASH) of a PCD can be done. This FAQ does apply to PCD1.M2, PCD2.M480, PCD2.M5xxx, PCD3 (including PCD3.Mxx60) and PCD7.D4xxxT5F (Programable MB-panels).

Working principle
For dumping the memory of one of the following systems a dedicated small executable is available as standalone tool or since PG5 2.1.210 there is a DumpTool.exe in the PG5 directory.

  • PCD1.M2
  • PCD2.M480
  • PCD2.M5
  • PCD3
  • PCD3.Mxx60 (fast CPU)
  • PCD7.D4xxxT5F (programmable MB-panels)

Usage of the old stand alone tool SaiaDump.exe:
This tool is called by a batch file which will call an executable (SaiaDump.exe) with hardware specific parameters. The executable will establish an USB connection to the PCD and will read out the memory content. This content will be stored in 4 files and all these files will automatically be stored in a *.zip archive.

Usage of the new stand alone tool DumpTool.exe (included in the PG5 directory since PG5 2.1.210):
This tool does open a small window which allow to define the device type and the destination folder where the dump files will be stored. The device field does show the PCD which is connected over USB. The program will establish an USB connection to the PCD and will read out the memory content. This content will be stored in 4 files and all these files will automatically be stored in a *.zip archive.

General remark:
In order to obtain all necessary information it is important that the dump is made while the CPU's memory still contains the last information. Since this information is lost (overwritten) when the PCD re-boots, it must be achieved that the PCD does not reboot in case of a crash (e.g. Bus Error or Kernel Error). Therefore a specific SYSWR has been implemented. This command is to be executed on the PCD e.g. in XOB 16 before a crash occurs (on every boot, because it is reset on each power off).

Software installation (only for old stand alone tool SaiaDump.exe)

  • Download the archive "SaiaDump_V1_3_006.zip" from this FAQ
  • Unpack the *.zip archive on your PC or Laptop
  • In the extracted folder "SaiaDump" you'll find several batch files (e.g. RUN_DUMP_PCD1M2xx0.bat). By double-clicking the file fitting your hardware, a dump is started (make sure that PCD is connected with a USB cable and no PG5 is running)
    Use the following versions in dependance of your hardware:
         - RUN_DUMP_PCD1M2xx0.bat for PCD1.M2xx0
         - RUN_DUMP_PCD3Mxxx0.bat for PCD2.M5xx0 and PCD3 systems
         - RUN_DUMP_PCD3Mxx6x.bat for PCD3.Mxx60 (fast CPU) systems 
    After a successful dump a new *.zip archive with the name "PCDDump_date" will be stored in the same directory. Please send this archive (it should contain four files with the extension *.blk or *.bin and a log file) to the support. 

Preparing the PCD
In order to cause the PCD not to reboot in case of a crash, add the follwoing lines to the code of your CPU (and remove the watchdogs, if present). Altermantively, you can also add and link the file "DontRestartAfterCrash.src" which is contained in the folder "PCD_Preparation" off the "SaiaDump_exe.zip" to the concerned CPU in your PG5 project.

$INIT                   ; Add the following lines to the XOB 16
SYSWR K 9999     ; Instruction to cause the PCD not to
K 1                       ; reboot after a crash
$ENDINIT

This instruction has been implemented first in PCD3 firmware version 03A. Therefore please also make sure that FW version 03A or higher is installed on the system.
The SBC Dump tool can only dump the memory of a PCD that has boot loader version 035 (created in April 2006) or higher installed. In case your PCD has a too old boot loader or if you are in doubt of the boot loader version of your PCD, please refer to FAQ 100680 in order to learn more about how to find out the boot loader version and how to update the boot loader version. 

Dumping the PCD memory
After the next crash, the PCD will not re-boot anymore and will blink with all tree LEDs simultaneously instead. Please note that the SYSWR K 9999 (see above) must have been introduced before the crash and the LEDs must blink in this state! In this (and only in this) situation it is possible dumping the memory of the PCD:

Possibility 1 with the use of the old stand alone tool SaiaDump.exe:
Launch the SaiaDump.exe for retrieving valuable debug information (it is also possible dumping the PCD if the PCD is in boot loader state or run for test purposes, but no valuable debug information can be retrieved from these files).
For launching the SBC Dump is should be enough to double-click the file RUN_DUMP_PCDx.bat.

Possibility 2 with the use of the new stand alone tool DumpTool.exe:

Launch the DumpTool.exe from the PG5 installation directory.
The PCD information is shown in the ‘Device’ field, as soon as the tool does detect a PCD which is connected over USB to the PC.
In the ‘Template’ filed it’s possible to define the device type; Type Automatic should be fine.
Do define in the ‘Target folder’ field the folder where the zip file should be stored.
Click on the ‘Start Dump’ button to perform the memory dump.

Additional information for PCD3.Mxxx7
The same tool can also be used for dumping the memory of a PCD3.Mxxx7. But note that the usage of the SYSWR listed above is not to be used.


FAQ updates

  • August 2015
    - Since PG5 2.1.210 there is a dumptool.exe available in the PG5 installation directory
      which can be used instead of the SaiaDump.exe
  • March 2013 (version 1.3.006)
    - Support also the PCD7.D4xxxT5F (programmable MB-panels)
  • July 2011 (version 1.3.005)
    - created batch files for easy launch or the SBC Dump executable 
    - added log file creation during dump process
  • November 2010 (version 1.2)
    - supports new hardware: PCD1.M2 and PCD3.Mxx60 (fast CPU)
    - supports the new USB driver (for 64Bit OS) 
    - removed the firmware files from the package in order to make it smaller
  • June 2010 (version 1.1)
    - increased SRAM memory Dump (2 MByte) for recent PCD systems (PCD3, PCD2.M5).
    - update of firmware delivered in the package to 1.10.51. 
  • Mai 2009
    Version 1.0 of the SBC Dump: This version does also dump the internal SRAM of the PCD.

Categories

PCD1

PCD3 / _Firmware Classic

PCD3 / _Firmware xx7

Miscellaneous

PCD1 / M2xx0

PCD2 / M5xxx

Last update: 10.08.2015 18:32

First release: 22.11.2007 16:05

Views: 66354

The requested software / document is no longer marketed by Saia-Burgess Controls AG and without technical support. It is an older software version which can be operated only on certain now no longer commercially available products.

Download