Having trouble with MFG Tool ( fuse programming )

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Having trouble with MFG Tool ( fuse programming )

Jump to solution
1,843 Views
gpontis
Contributor IV

I'm having some trouble using the manufacturing tools to program one fuse. The target is a custom board with 1062. My first question is about how to use the tools. My understanding is that step 1 is to use sdphost to load the binary to target RAM. Step 2, use sdphost to jump to the start address. Step 3, use blhost execute the command to program a fuse. Since I don't want to risk making a mistake in fuse programming I am experimenting with the command get-property rather than any of the efuse commands.

It looks like the target does not really start executing after the jump as it does not respond to the USB at 15a2/0073. The log follows. BTW I am open to following a C code example of fuse programming, if anyone has that to share or a pointer to the same.

C:\prompt> sdphost\win\sdphost.exe -t 10000 -u 0x1FC9,0x0135 -- write-file 0x20000000 "mfgtools-rel\Profiles\MXRT106X/OS Firmware/ivt_flashloader.bin"
Preparing to send 90529 (0x161a1) bytes to the target.
(1/1)0%Status (HAB mode) = 1450735702 (0x56787856) HAB disabled.
Reponse Status = 2290649224 (0x88888888) Write File complete.
C:\prompt>sdphost\win\sdphost.exe -d -t 10000 -u 0x1FC9,0x0135 -- jump-address 0x20002000
[01 0b 0b 20 00 20 00 00 00 00 00 00 00 00 00 00 00]
<03 56 78 78 56 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00>
Status (HAB mode) = 1450735702 (0x56787856) HAB disabled.
C:\prompt>sleep 1
C:\prompt>blhost\win\blhost -d -u -- get-property 1
Error: UsbHidPeripheral() cannot open USB HID device (vid=0x15a2, pid=0x0073, sn=).
0 Kudos
1 Solution
1,573 Views
jeremyzhou
NXP Employee
NXP Employee

Hi George Pontis,

To provide the fastest possible support, I'd highly recommend you to program OCOTP (eFuse) via referring to the attachment.
Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

View solution in original post

0 Kudos
4 Replies
1,574 Views
jeremyzhou
NXP Employee
NXP Employee

Hi George Pontis,

To provide the fastest possible support, I'd highly recommend you to program OCOTP (eFuse) via referring to the attachment.
Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos
1,573 Views
gpontis
Contributor IV

That App note was useful, perhaps it should be linked to AppNotes for the 106x as well.

Using the info I saw that my jump address was at the wrong offset, changed it to 400, and was successful with get-property, then with programming a fuse bit. Thank you for the pointer.

There was one interesting thing. Before programming I read the MISC_CONF0 register at offset 0x2d, it shows up with b6 set. Although b6 of this register is not documented, the reference manual says that the default value is 0. I saw b6 set on two different boards that have never been programmed.

George

0 Kudos
1,573 Views
jay_heng
NXP Employee
NXP Employee

This GUI tool can help program eFuse easily

Releases · JayHeng/NXP-MCUBootUtility · GitHub

0 Kudos
1,573 Views
gpontis
Contributor IV

Hi Jay,

I looked at the GUI tool and it seemed very complete. However, I did not try it out since it was a python implementation. I know that python is very popular but I have had problems related to different versions on the same Windows computer, and hesitate to make a development environment that depends on it. Code that runs on the target, perhaps even part of the application, would be my first choice. I would think that it would also be best for those aspects of fuse programming that are time-dependent.

George

0 Kudos