Home Debugging PPC with PEmicro MultiLink
Post
Cancel

Debugging PPC with PEmicro MultiLink

Experience in debugging a device with a MPC5xxx from NXP (PPC architecture).

It had approximately the following debug connector:

Connector

And there was access to the PEmicro Multilink Universal. Software S32DS from NXP can work with it (to download it you can use creds from BugMeNot).

But this IDE itself does not allow you to conveniently work for the purpose of debugging and dumping the firmware, so it is more convenient to take its individual plugins and work with them.

If you have time and disk space, you can install the IDE itself and then use the plugins. This is a more reliable way. If there is no time, then you can follow this tutorial completely.

Preparing for debugging

For Windows

Tested on a Windows 10 x64 virtual machine (VM).

Drivers and plugins: here

  1. Attach PEMicro MultiLink.
  2. Throw it to the VM, if it is a VM.
  3. Unpack the archive. Copy PEMicro folder to C:\
  4. Open console as Administrator ( Win + X , release and then A )
  5. Enter the following commands, agreeing to the installation:
1
2
3
4
5
6
7
8
9
10
11
C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\wdreg_gui.exe -inf C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\pemicrowindrvr.inf -log C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\pe_winusb_interface.log install
 
C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\wdreg_gui.exe -inf C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\pe_winusb_interface.inf -log C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\pe_winusb_interface.log install
 
C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\wdreg_gui.exe -inf C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\osbdm\pe_libusb_interface.inf -log C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\pe_winusb_interface.log install
 
C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\wdreg_gui.exe -inf C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\osbdm\serialcdc_interface.inf -log C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\pe_winusb_interface.log install
 
cp -Path C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\windriver\redist* -Destination C:\Windows\System32
 
cp -Path C:\PEMicro\PEDrivers\supportfiles\Drivers_12_7_0\osbdm\redist\* -Destination C:\Windows\System32
  1. Viewing the list of targets and selecting one of them (for example, MPC5606B):
1
C:\PEMicro\com.pemicro.debug.gdbjtag.ppc_1.8.7.201906071634\win32\pegdbserver_power_console.exe -devicelist
  1. Enable target device.
  2. Launching the plugin (specifying the desired target):
1
C:\PEMicro\com.pemicro.debug.gdbjtag.ppc_1.8.7.201906071634\win32\pegdbserver_power_console.exe -startserver -singlesession -useexternalip -device=MPC5606B
  1. After that, gdbserver should start:

gdbserver

Connecting to gdbserver

Port 7224 is used to connect to gdbserver (by default).

You can connect from the host OS if everything is running in a VM with a network interface.

Use:

  • gdb-multiarch - some configuration required, but breakpoints work anyway
  • gdb-powerpc-eabivle (from Release page or anywhere else)
This post is licensed under CC BY 4.0 by the author.