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, PCD2.M45x0, 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 SaiaDump.exe is available as standalone tool.

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

Usage of the 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.

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 of SaiaDump.exe tool

  • Download the archive "SaiaDump_V1_3_006_Rev211101.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.bat or RUN_DUMP_PCD1M2xx0.bat).
    By double-clicking on the file RUN_DUMP.bat, a dump is started (make sure that PCD is connected with a USB cable and no PG5 is running)

    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 following lines to the code of your CPU (and remove the watchdogs, if present).
Alternatively, 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:

Use of the 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.bat.

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

  • December 2021(Version 1_3_006_Rev211101)
    - Support also the PCD2.M45x0
  • 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: 23.12.2021 08:33

First release: 22.11.2007 15: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