Nuvoton M25x XOM Programming

From SEGGER Knowledge Base
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