- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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.
[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.
Error: UsbHidPeripheral() cannot open USB HID device (vid=0x15a2, pid=0x0073, sn=).
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
-------------------------------------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
-------------------------------------------------------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This GUI tool can help program eFuse easily
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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