Hi,
I'd like to use mfg-tool to program an OtpInit.sb as part of production programming. The OtpInit.sb is produced by otp_burner.py.
This is a chunk of my ucl.xml:
<LIST name="Full Install" desc="Full Install on NAND">
<!-- Flash OTP Bits -->
<CMD type="boot" body="Recovery" file="OtpInit.sb" timeout="60">flashing OTP.</CMD>
<!-- Force into USB Boot mode, then load the updater_ivt.sb bootstream - Linux Env. -->
<CMD type="boot" body="Recovery" file="updater_ivt.sb" timeout="60">Booting Update Firmware.</CMD>
<!-- Wait for Linux to boot and show up as the USB Gadget device. -->
<CMD type="find" body="Updater" timeout="180"/>
....
But, this doesn't work. I think there must be some command that I need to execute after booting the OtpInit.sb image.
This is what I see on the debug console:
"
pitc_loader(8003)
loading pitc id 8003
pitc installed
initialize pitc 2280: id:8003
"
If I program this bootstream from BitInit.exe, it works fine, and I get:
"
pitc_loader(8003)
loading pitc id 8003
pitc installed
initialize pitc 2280: id:8003
pitc 8003: process_cdb(cdb:14)
k_pitc_cmd_write_otp_register_set
pitc 8003: process_cdb(cdb:11)
k_pitc_cmd_request_sense
"
-So, definitely something is missing.
in the mfgtool source, I see the section DWORD COpMxRomUpdate::InitOtpRegs() - but it is commented out for some reason - so is this functionality broken/unsupported?
I'm in a big hurry to get this working - production starts on Dec. 1st.
Thanks,
-Patrick
解決済! 解決策の投稿を見る。
Hi,
OK, I think I've answered my own question:
<LIST name="Full Install" desc="Full Install on NAND">
<!-- Flash OTP Bits -->
<CMD type="boot" body="Recovery" file="OtpInit.sb" timeout="60">flashing OTP.</CMD>
<!-- Burn the OTP -->
<CMD type="burn"/>
<!-- Force into USB Boot mode, then load the updater_ivt.sb bootstream - Linux Env. -->
<CMD type="boot" body="Recovery" file="updater_ivt.sb" timeout="60">Booting Update Firmware.</CMD>
....
The 'Burn' command will burn the OTP bits. I'm not sure if this is documented anywhere.. but it's in the code, and works.
-Patrick
Hi,
OK, I think I've answered my own question:
<LIST name="Full Install" desc="Full Install on NAND">
<!-- Flash OTP Bits -->
<CMD type="boot" body="Recovery" file="OtpInit.sb" timeout="60">flashing OTP.</CMD>
<!-- Burn the OTP -->
<CMD type="burn"/>
<!-- Force into USB Boot mode, then load the updater_ivt.sb bootstream - Linux Env. -->
<CMD type="boot" body="Recovery" file="updater_ivt.sb" timeout="60">Booting Update Firmware.</CMD>
....
The 'Burn' command will burn the OTP bits. I'm not sure if this is documented anywhere.. but it's in the code, and works.
-Patrick