+\r
+\r
+ uint8_t WriteCommand = NVM_CMD_NOOP;\r
+ uint8_t WriteBuffCommand = NVM_CMD_NOOP;\r
+ uint8_t EraseBuffCommand = NVM_CMD_NOOP;\r
+ bool PagedMemory = false;\r
+ \r
+ if (WriteMemory_XPROG_Params.MemoryType == XPRG_MEM_TYPE_APPL)\r
+ {\r
+ WriteCommand = NVM_CMD_ERASEWRITEFLASH;\r
+ WriteBuffCommand = NVM_CMD_LOADFLASHPAGEBUFF;\r
+ EraseBuffCommand = NVM_CMD_ERASEFLASHPAGEBUFF;\r
+ PagedMemory = true;\r
+ }\r
+ else if (WriteMemory_XPROG_Params.MemoryType == XPRG_MEM_TYPE_BOOT)\r
+ {\r
+ WriteCommand = NVM_CMD_ERASEWRITEFLASH;\r
+ WriteBuffCommand = NVM_CMD_LOADFLASHPAGEBUFF;\r
+ EraseBuffCommand = NVM_CMD_ERASEFLASHPAGEBUFF;\r
+ PagedMemory = true;\r
+ }\r
+ else if (WriteMemory_XPROG_Params.MemoryType == XPRG_MEM_TYPE_EEPROM)\r
+ {\r
+ WriteCommand = NVM_CMD_ERASEWRITEEEPROMPAGE;\r
+ WriteBuffCommand = NVM_CMD_LOADEEPROMPAGEBUFF;\r
+ EraseBuffCommand = NVM_CMD_ERASEEEPROMPAGEBUFF;\r
+ PagedMemory = true;\r
+ }\r
+ else if (WriteMemory_XPROG_Params.MemoryType == XPRG_MEM_TYPE_USERSIG)\r
+ {\r
+ WriteCommand = NVM_CMD_WRITEUSERSIG;\r
+ WriteBuffCommand = NVM_CMD_LOADFLASHPAGEBUFF;\r
+ EraseBuffCommand = NVM_CMD_ERASEFLASHPAGEBUFF;\r
+ PagedMemory = true;\r
+ }\r
+ else if (WriteMemory_XPROG_Params.MemoryType == XPRG_MEM_TYPE_FUSE)\r
+ {\r
+ WriteCommand = NVM_CMD_WRITEFUSE;\r
+ }\r
+ else if (WriteMemory_XPROG_Params.MemoryType == XPRG_MEM_TYPE_LOCKBITS)\r
+ {\r
+ WriteCommand = NVM_CMD_WRITELOCK;\r
+ }\r