Hi jcpacheco,
Please find the details so that you can reproduce..
HW:
I got two kw41z Rigado boards (Board A & B).
SW:
SDK_2.2_FRDM-KW41Z ( with MCUXpressoIDE)
TestTool from windows.
1) Board A:(works as expected)
No change in SDK
Just loaded frdmkw41z_wireless_examples_thread_host_controlled_device_freertos.bin
2) Board B:(issue with factory reset, other Thread functionalities looks OK)
Loaded NXP_Kinetis_Bootloader_2_0_0 (flash resident boot loader).
Then loaded frdmkw41z_wireless_examples_thread_host_controlled_device_freertos with 0x4000 offset.
SDK linker file change (3 lines)
C:\MCUXpressoIDE_10.0.0_344\workspace1\frdmkw41z_wireless_examples_thread_host_controlled_device_freertos\source\MKW41Z512xxx4_connectivity.ld
/*-Memory Limits-*/
__region_ROM_start__ = (0x00004000); // Default 0x000000
__region_ROM_end__ = (0x0007FFFF);
m_interrupts_start = (__region_ROM_start__);
m_interrupts_end = (m_interrupts_start + __vector_table_size__ - 1);
m_flash_config_start = (0x4400); // Default 0x400
m_flash_config_end = (0x4410); // Default 0x410
TestTool Logs
Both Boards A & B works similar way (in Thread network operation) except Factory Reset.
Log: Issue after change the memory map
1B) Board B (with 0x4000 offset), No Reset to factory default, Only ResetCpuSuccess after 3 mins delay.
[12:59:18.0467] TX: THR_FactoryReset.Request 02 CE 1F 00 00 D1
Sync [1 byte] = 02
OpGroup [1 byte] = CE
OpCode [1 byte] = 1F
Length [2 bytes] = 00 00
CRC [1 byte] = D1
[12:59:18.0477] RX: THR_FactoryReset.Confirm 02 CF 1F 01 00 00 D1
Sync [1 byte] = 02
OpGroup [1 byte] = CF
OpCode [1 byte] = 1F
Length [2 bytes] = 00 01
Status [1 byte] = 00 (Success)
CRC [1 byte] = D1
[12:59:18.0477] RX: THR_CpuReset.Indication 02 CF 22 05 00 01 F4 01 00 00 1C
Sync [1 byte] = 02
OpGroup [1 byte] = CF
OpCode [1 byte] = 22
Length [2 bytes] = 00 05
Status [1 byte] = 01 (ResetCpuPending)
TimeoutMs [4 bytes] = 00 00 01 F4
CRC [1 byte] = 1C
----> 3 mins delay
[13:02:10.0538] RX: THR_CpuReset.Indication 02 CF 22 33 00 00 0B 46 52 44 4D 2D 4B 57 34 31 5A 00 FF FF FF FF 17 00 00 00 05 40 1A 00 44 4D 95 15 00 60 37 00 F1 11 0F 4E 58 50 20 54 48 52 31 2E 31 2E 31 2E 31 35 EC
Sync [1 byte] = 02
OpGroup [1 byte] = CF
OpCode [1 byte] = 22
Length [2 bytes] = 00 33
Status [1 byte] = 00 (ResetCpuSuccess)
BoardNameLen [1 byte] = 0B
BoardName [11 bytes] = 46 52 44 4D 2D 4B 57 34 31 5A 00 (FRDM-KW41Z
Log: Working default setup
1A) Board A (default SDK, No issue)
[13:10:28.0731] TX: THR_FactoryReset.Request 02 CE 1F 00 00 D1
Sync [1 byte] = 02
OpGroup [1 byte] = CE
OpCode [1 byte] = 1F
Length [2 bytes] = 00 00
CRC [1 byte] = D1
[13:10:28.0740] RX: THR_FactoryReset.Confirm 02 CF 1F 01 00 00 D1
Sync [1 byte] = 02
OpGroup [1 byte] = CF
OpCode [1 byte] = 1F
Length [2 bytes] = 00 01
Status [1 byte] = 00 (Success)
CRC [1 byte] = D1
[13:10:28.0740] RX: THR_CpuReset.Indication 02 CF 22 05 00 01 F3 01 00 00 1B
Sync [1 byte] = 02
OpGroup [1 byte] = CF
OpCode [1 byte] = 22
Length [2 bytes] = 00 05
Status [1 byte] = 01 (ResetCpuPending)
TimeoutMs [4 bytes] = 00 00 01 F3
CRC [1 byte] = 1B
[13:10:29.0575] RX: THR_EventGeneral.Confirm 02 CF 54 05 00 00 03 00 00 00 9D
Sync [1 byte] = 02
OpGroup [1 byte] = CF
OpCode [1 byte] = 54
Length [2 bytes] = 00 05
InstanceId [1 byte] = 00
EventStatus [2 bytes] = 00 03 (Reset to factory default)
DataSize [2 bytes] = 00 00
CRC [1 byte] = 9D
[13:10:29.0575] RX: THR_CpuReset.Indication 02 CF 22 33 00 00 0B 46 52 44 4D 2D 4B 57 34 31 5A 00 FF FF FF FF 15 00 00 00 0C 40 0A 00 45 4E 22 40 00 60 37 00 F1 11 0F 4E 58 50 20 54 48 52 31 2E 31 2E 31 2E 31 35 17
Sync [1 byte] = 02
OpGroup [1 byte] = CF
OpCode [1 byte] = 22
Length [2 bytes] = 00 33
Status [1 byte] = 00 (ResetCpuSuccess)
BoardNameLen [1 byte] = 0B
BoardName [11 bytes] = 46 52 44 4D 2D 4B 57 34 31 5A 00 (FRDM-KW41Z
Thanks
Sen