NXP NCJ29D6 Softwareupdate

From SEGGER Knowledge Base
Jump to navigation Jump to search

NXP NCJ29D6 SoftwareUpdatDate(SWUP) is supported by Device Provisioner command line tool. To use it, PCode_DevPro_NXP_NCJ29D6_SWUP.pex script file must be specified as a command line argument.


Supported update scenarios

Scenario J-Link Support
Update via recovery interface YES.png
Update via host interface (loaded to RAM) YES.png
Update via host interface (located in flash) NO.png

Supported OpCode IDs

OpCode ID Description Support via host interface Support via recovery interface
0x7C53 Bundle update YES.png YES.png
0x5EEB KeyStore update YES.png YES.png
0x74F9 DMT transition init -> protected YES.png YES.png
0x6D9F DMT transition protected -> init NO.png YES.png

Important notes

  • This script can only be used at NXP NCJ29D6 B2 devices and only SWD interface is supported.
  • For the update function a binary version of SwupSwdHostifRam is necessary. This can be converted from the hex file via J-Flash:

JFlash.exe -open c:\temp\SwupSwdHostifRam.hex -saveas c:\temp\SwupSwdHostifRam.bin -exit

Usage

DevPro -operation [operation_name] -if SWD -speed 4000 [-SetConfigVal parameter_name=value] -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
Operation Parameters Values Description
SWUpdate PackageFile Valid PKG file PKG files are generated via NXP Software Update Package Generator.
SWUPFile SwupSwdHostifRam.bin SWD software host interface, linked to RAM execution. This file can be found in NXP SW29D6_CAS_Examples_v15.0.0.
Keystore 0x004xx000 Optional parameter, specifies the address for the keystore.
SWRecovery PackageFile Valid PKG file PKG files are generated via NXP Software Update Package Generator.
SWUPFile NCJ29D6_SWUP.bin SWD software recovery interface. This file can be found in NXP NCJ29D6 Foundation v22.0.0.
Keystore 0x004xx000 Optional parameter, specifies the address for the keystore.

Examples

SWUP bundle update via HIF

Example
C:\Program Files\SEGGER\JLink\DevPro.Exe -operation SWUpdate -SetConfigVal PackageFile=C:\tmp\BundleUpdate_AppCheckversions_DummyKeystore_SpiHif_TransportKeys.pkg -SetConfigVal SWUPFile=C:\tmp\SwupSwdHostifRam.bin -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
SEGGER Device Provisioner V9.16
Compiled Feb  4 2026 12:56:44
Command line: -operation SWUpdate -SetConfigVal PackageFile=C:\tmp\BundleUpdate_AppCheckversions_DummyKeystore_SpiHif_TransportKeys.pkg -SetConfigVal SWUPFile=C:\tmp\SwupSwdHostifRam.bin -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
Firmware: J-Link Pro V5-1 compiled Feb 11 2026 13:52:21
S/N: 175103947

J-Link log: Manifest Data:
J-Link log:   Opcode ID: 0x00007C53
J-Link log:   Components list:
J-Link log:   Component number : 0x00000000
J-Link log:             size   : 0x00009000
J-Link log:   Component number : 0x00000001
J-Link log:             size   : 0x00005000
J-Link log:   Component number : 0x00000002
J-Link log:             size   : 0x00001000
J-Link log:   End list.
J-Link log:   Sending Debug mailbox activation.
J-Link log:   SWUPHIF transferred successfully.
J-Link log:   SWUP image successfully transferred.
J-Link log:   No Keystore address defined.
J-Link log:   Component: 0x00000000
J-Link log:   Component already present, skipping.
J-Link log:   Component: 0x00000001
J-Link log:   Component already present, skipping.
J-Link log:   Component: 0x00000002
J-Link log:   Component already present, skipping.
J-Link log:   Update finished.

SWUP bundle update via RIF

Example
C:\Program Files\SEGGER\JLink\DevPro.Exe -operation SWRecovery-SetConfigVal PackageFile=C:\tmp\BundleUpdate_AppCheckversions_DummyKeystore_SpiHif_TransportKeys.pkg -SetConfigVal SWUPFile=C:\tmp\NCJ29D6_SWUP.bin -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
SEGGER Device Provisioner V9.16
Compiled Feb  4 2026 12:56:44
Command line: -operation SWRecovery -SetConfigVal PackageFile=C:\tmp\BundleUpdate_AppCheckversions_DummyKeystore_SpiHif_TransportKeys.pkg -SetConfigVal SWUPFile=C:\tmp\NCJ29D6_SWUP.bin -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
Firmware: J-Link Pro V5-1 compiled Feb 11 2026 13:52:21
S/N: 175103947

J-Link log: Manifest Data:
J-Link log:   Opcode ID: 0x00007C53
J-Link log:   Components list:
J-Link log:   Component number : 0x00000000
J-Link log:             size   : 0x00009000
J-Link log:   Component number : 0x00000001
J-Link log:             size   : 0x00005000
J-Link log:   Component number : 0x00000002
J-Link log:             size   : 0x00001000
J-Link log:   End list.
J-Link log:   Sending Debug mailbox recovery.
J-Link log:   SWUP recovery image successfully transferred.
J-Link log:   No Keystore defined.
J-Link log:   Component: 0x00000000
J-Link log:   Component: 0x00000001
J-Link log:   Component: 0x00000002
J-Link log:   Recovery update finished.

Keystore update via HIF

Example
C:\Program Files\SEGGER\JLink\DevPro.Exe -operation SWUpdate -SetConfigVal PackageFile=C:\tmp\UserKeystore_TransportKeys.pkg -SetConfigVal SWUPFile=C:\tmp\SwupSwdHostifRam.bin -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
SEGGER Device Provisioner V9.16
Compiled Feb  4 2026 12:56:44
Command line: -operation SWUpdate -SetConfigVal PackageFile=C:\tmp\UserKeystore_TransportKeys.pkg -SetConfigVal SWUPFile=C:\tmp\SwupSwdHostifRam.bin -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
Firmware: J-Link Pro V5-1 compiled Feb 11 2026 13:52:21
S/N: 175103947

J-Link log: Manifest Data:
J-Link log:   Opcode ID: 0x00005EEB
J-Link log:   Components list:
J-Link log:   End list.
J-Link log:   Sending Debug mailbox activation.
J-Link log:   SWUPHIF transferred successfully.
J-Link log:   SWUP image successfully transferred.
J-Link log:   No Keystore address defined.
J-Link log:   Update finished.

Keystore update via RIF

Example
C:\Program Files\SEGGER\JLink\DevPro.Exe -operation SWRecovery-SetConfigVal PackageFile=C:\tmp\UserKeystore_TransportKeys.pkg -SetConfigVal SWUPFile=C:\tmp\NCJ29D6_SWUP.bin -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
SEGGER Device Provisioner V9.16
Compiled Feb  4 2026 12:56:44
Command line: -operation SWRecovery -SetConfigVal PackageFile=C:\tmp\UserKeystore_TransportKeys.pkg -SetConfigVal SWUPFile=C:\tmp\NCJ29D6_SWUP.bin -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
Firmware: J-Link Pro V5-1 compiled Feb 11 2026 13:52:21
S/N: 175103947

J-Link log: Manifest Data:
J-Link log:   Opcode ID: 0x00005EEB
J-Link log:   Components list:
J-Link log:   End list.
J-Link log:   Sending Debug mailbox recovery.
J-Link log:   SWUP recovery image successfully transferred.
J-Link log:   No Keystore defined.
J-Link log:   Recovery update finished.

DMT transition to protected via HIF

Example
C:\Program Files\SEGGER\JLink\DevPro.Exe -operation SWUpdate -SetConfigVal PackageFile=C:\tmp\DMT_Init_Protected_UserKeys.pkg -SetConfigVal SWUPFile=C:\tmp\SwupSwdHostifRam.bin -SetConfigVal Keystore=0x004B6000 -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
SEGGER Device Provisioner V9.16
Compiled Feb  4 2026 12:56:44
Command line: -operation SWUpdate -SetConfigVal PackageFile=C:\tmp\DMT_Init_Protected_UserKeys.pkg -SetConfigVal SWUPFile=C:\tmp\SwupSwdHostifRam.bin -SetConfigVal Keystore=0x004B6000 -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
Firmware: J-Link V11 compiled Apr  1 2025 10:02:30
S/N: 601018362

J-Link log: Manifest Data:
J-Link log:   Opcode ID: 0x000074F9
J-Link log:   Components list:
J-Link log:   End list.
J-Link log:   Sending Debug mailbox activation.
J-Link log:   SWUPHIF transferred successfully.
J-Link log:   SWUP image successfully transferred.
J-Link log:   Keystore address set to: 0x004B6000
J-Link log:   Recovery update finished.

DMT transition to init via RIF

Example
C:\Program Files\SEGGER\JLink\>DevPro.Exe -operation SWRecovery -SetConfigVal PackageFile=C:\tmp\DMT_Protected_Init_UserKeys.pkg -SetConfigVal SWUPFile=C:\tmp\NCJ29D6_SWUP.bin -SetConfigVal Keystore=0x004B6000 -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
SEGGER Device Provisioner V9.16
Compiled Feb  4 2026 12:56:44
Command line: operation SWRecovery -SetConfigVal PackageFile=C:\tmp\DMT_Protected_Init_UserKeys.pkg -SetConfigVal SWUPFile=C:\tmp\NCJ29D6_SWUP.bin -SetConfigVal Keystore=0x004B6000 -if SWD -speed 1000 -ScriptFile PCode_DevPro_NXP_NCJ29D6_SWUP.pex
Firmware: J-Link Pro V5-1 compiled Feb 11 2026 13:52:21
S/N: 175103947

J-Link log: Manifest Data:
J-Link log:   Opcode ID: 0x00006D9F
J-Link log:   Components list:
J-Link log:   End list.
J-Link log:   Sending Debug mailbox recovery.
J-Link log:   SWUP recovery image successfully transferred.
J-Link log:   Keystore set to: 0x004B6000
J-Link log:   Recovery update finished.