Hi everyone,
I'm working on setting up secure boot on an FRDM-MCXW71 (MCXW716C) board, following the procedure outlined in Application Note AN14374.
I've run into a problem at the fuse-burning stage. After successfully enabling fuse programming (set-property 0x16 1), I encountered errors when trying to read from and program to the fuse map.
Here is the terminal output:
❯ blhost -p /dev/ttyACM0 set-property 0x16 1
Response status = 0 (0x0) Success.
❯ blhost -p /dev/ttyACM0 fuse-read 0x20 8
ERROR:spsdk.mboot.mcuboot:RX: Mboot: Data aborted by sender (223ms since start, mcuboot.py:177)
Response status = 1 (0x1) Fail.
Response word 1 = 0 (0x0)
Read 0 of 8 bytes.
❯ blhost -p /dev/ttyACM0 fuse-read 0x1F 8
65 0d 80 97 07 9f f2 7a
Response status = 0 (0x0) Success.
Response word 1 = 8 (0x8)
Read 8 of 8 bytes.
❯ blhost -p /dev/ttyACM0 fuse-program 0x1F "{{2f1e1f1ccd82c1c0f27903e5090c42e254f8796fec99f9ff2aa9547d11c691040c1994d040759cd7c88b3caa5f5e8221}}"
Response status = 1 (0x1) Fail.
❯ blhost -p /dev/ttyACM0 fuse-program 0x20 "{{f2664ad73a59aa4a7d2e480c13bf4b2da4e7557493806e9ac6c9c482cbda6a72}}"
Response status = 1 (0x1) Fail.As you can see, reading from fuse address 0x20 fails, as does attempting to program fuses 0x1F and 0x20.
Believing it might be a tool-specific issue, I switched to the NXP Secure Provisioning (SEC) tool. However, when I tried to read the keys from the device to begin the provisioning process, I received the error shown in the attached screenshot.
To rule out the possibility of having damaged the initial board, I repeated the process with the SEC tool on a brand new, factory-sealed FRDM-MCXW71 board and encountered the exact same error.
This leads me to my main question:
Is this a known issue or expected behavior for the FRDM-MCXW71 boards? Is there a specific step or prerequisite for the MCXW716C that is not covered in AN14374?
My environment:
Any guidance on this would be greatly appreciated.
Thank you!