Nuvoton M25x XOM Programming

From SEGGER Knowledge Base [STAGING]
Jump to navigation Jump to search

Nuvoton M25x XOM setting, XOM erase, and program config value features are supported by Device Provisioner command line tool. To use it, PCode_DevPro_Nuvoton_M258.pex script file must be specified as a command line argument.

Important notes

  • This script can only be used at Nuvoton M251/M252/M254/M256/M258 series.
  • When setting XOM setting, make sure the base address is page alignment, and the at Nuvoton M251/M252/M254/M256/M258 series page size is 512B.
  • For the meaning of the config value of at Nuvoton M251/M252/M254/M256/M258 series, please check the M251/M252/M254/M256/M258 Series Technical Reference Manual FMC part.
  • For M251/M252/M254/M256/M258 series, config1 and config2 is reserved and should stay for value 0xFFFFFFFF and 0xFFFFFF5A.

Usage

DevPro -operation [operation_name] -if SWD -speed 4000 [-SetConfigVal parameter_name=value] -ScriptFile PCode_DevPro_Nuvoton_M258.pex
Operation Parameters Values Description
FMC_Config_XOM xom_base Between 0x200 - 0x40000 xom_base is used to define M258 XOM region start address. It must be page alignment, and should not been set as 0. For M251/M252/M254/M256/M258 series, this value should be a value between 0x200 and (0x8000/0x10000/0x20000/0x40000, depend on APROM size), and should be aligned with 0x200.
xom_page Between 1 - 512 xom_page is used to define total page size of M258 XOM region, and it must be page alignment. For M251/M252/M254/M256/M258 series, this value should be a value between 1 and (64/128/256/512, depend on APROM size), and the xom_base + xom_page * 512 should not over (0x8000/0x10000/0x20000/0x40000)
FMC_Erase_XOM - -
UpdateConfig config0 32 bit value config0 is internal programmable configuration 32 bits word for boot options. Default value is 0xFFFFFFFF.

Examples

FMC_Config_XOM

Example
C:\Program Files\SEGGER\JLink_V888>DevPro.exe -if swd -speed 4000 -operation FMC_Config_XOM -SetConfigVal xom_base=0x7000 -SetConfigVal xom_page=1 -ScriptFile PCode_DevPro_Nuvoton_M258.pex
SEGGER Device Provisioner V8.88
Compiled Nov 19 2025 13:02:23
Command line: -if swd -speed 4000 -operation FMC_Config_XOM -SetConfigVal xom_base=0x7000 -SetConfigVal xom_page=1 -ScriptFile PCode_DevPro_Nuvoton_M258.pex
Firmware: J-Link V13 compiled Nov 10 2025 13:43:01
S/N: 603002698

J-Link log: ##################################################
J-Link log: This DevPro script has implemented by Nuvoton.
J-Link log: SEGGER is responsible for shipment of this script.
J-Link log: Technical support is provided by Nuvoton.
J-Link log: For documentation about this script, see:
J-Link log: ##################################################
J-Link log: TARGET INIT
J-Link log: SWO:

J-Link log: DAP-CtrlStat: 0xF0000040
J-Link log: SYSTEM UNLOCK
J-Link log: CONNECTED, PDID:0x00F25841
J-Link log: FMC_ENABLE_ISP SUCCESS
J-Link log: XOM region is not been set
J-Link log: XOM SETTING START
J-Link log: XOM SETTING DONE, PLEASE RESET THE CHIP
J-Link log: SYSTEM LOCK

FMC_Erase_XOM

Example
C:\Program Files\SEGGER\JLink_V888>DevPro.exe -if swd -speed 4000 -operation FMC_Erase_XOM -ScriptFile PCode_DevPro_Nuvoton_M258.pex
SEGGER Device Provisioner V8.88
Compiled Nov 19 2025 13:02:23
Command line: -if swd -speed 4000 -operation FMC_Erase_XOM -ScriptFile PCode_DevPro_Nuvoton_M258.pex
Firmware: J-Link V13 compiled Nov 10 2025 13:43:01
S/N: 603002698

J-Link log: ##################################################
J-Link log: This DevPro script has implemented by Nuvoton.
J-Link log: SEGGER is responsible for shipment of this script.
J-Link log: Technical support is provided by Nuvoton.
J-Link log: For documentation about this script, see:
J-Link log: ##################################################
J-Link log: TARGET INIT
J-Link log: SWO:

J-Link log: DAP-CtrlStat: 0xF0000000
J-Link log: SYSTEM UNLOCK
J-Link log: CONNECTED, PDID:0x00F25841
J-Link log: FMC_ENABLE_ISP SUCCESS
J-Link log: FMC_ENABLE_AP_UPDATE SUCCESS
J-Link log: FMC_ENABLE_ISP SUCCESS
J-Link log: XOM region is been set
J-Link log: XOM ERASE START
J-Link log: _FMC_ISPCTL: 0x00000009
J-Link log: XOM ERASE SUCCESS, PLAESE RESET THE CHIP
J-Link log: SYSTEM LOCK

UpdateConfig

Example
C:\Program Files\SEGGER\JLink_V888>DevPro.exe -if swd -speed 4000 -operation UpdateConfig -SetConfigVal config0=0xFFFFFFFF -ScriptFile PCode_DevPro_Nuvoton_M258.pex
SEGGER Device Provisioner V8.88
Compiled Nov 19 2025 13:02:23
Command line: -if swd -speed 4000 -operation UpdateConfig -SetConfigVal config0=0xFFFFFFFF -ScriptFile PCode_DevPro_Nuvoton_M258.pex
Firmware: J-Link V13 compiled Nov 10 2025 13:43:01
S/N: 603002698

J-Link log: ##################################################
J-Link log: This DevPro script has implemented by Nuvoton.
J-Link log: SEGGER is responsible for shipment of this script.
J-Link log: Technical support is provided by Nuvoton.
J-Link log: For documentation about this script, see:
J-Link log: ##################################################
J-Link log: TARGET INIT
J-Link log: SWO:

J-Link log: DAP-CtrlStat: 0xF0000000
J-Link log: SYSTEM UNLOCK
J-Link log: CONNECTED, PDID:0x00F25841
J-Link log: FMC_ENABLE_ISP SUCCESS
J-Link log: FMC_ENABLE_CFG_UPDATE SUCCESS
J-Link log: CONFIG0 : 0xFFFFFFFF
J-Link log: CONFIG1 : 0xFFFFFFFF
J-Link log: CONFIG2 : 0xFFFFFF5A
J-Link log: CONFIG UPDATE DONE
J-Link log: SYSTEM LOCK