<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX RT Crossover MCUsのトピックRe: How to burn BT_FUSE_SEL on RT1050</title>
    <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809581#M1058</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yuri,&lt;/P&gt;&lt;P&gt;many thanks for your reply, that gave me the required hint.&lt;/P&gt;&lt;P&gt;Now I could implement the following code into firmware which burns the BT_FUSE_SEL at first startup of the firmware. At series production the debugger programs the flash and invokes the first start. So I do not need the whole boot settings any more.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Write Fuses&lt;BR /&gt;if (!(SRC-&amp;gt;SBMR2 &amp;amp; SRC_SBMR2_BT_FUSE_SEL_MASK))&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int timing = OCOTP_TIMING_STROBE_PROG(1325) | OCOTP_TIMING_RELAX(2) | OCOTP_TIMING_STROBE_READ(11) |OCOTP_TIMING_WAIT(24); //ipg_clk=132MHz, Calculation described at Chapter 42.3.3 OTP Read/Write Timing Parameters&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OCOTP-&amp;gt;TIMING = timing;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while ((OCOTP-&amp;gt;CTRL &amp;amp; (1&amp;lt;&amp;lt;OCOTP_CTRL_BUSY_SHIFT)) || (OCOTP-&amp;gt;CTRL &amp;amp; (1&amp;lt;&amp;lt;OCOTP_CTRL_ERROR_SHIFT))); //Check that HW_OCOTP_CTRL[BUSY] and HW_OCOTP_CTRL[ERROR]are clear&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int ocotp_ctrl = OCOTP-&amp;gt;CTRL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ocotp_ctrl &amp;amp;= ~OCOTP_CTRL_ADDR_MASK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ocotp_ctrl|= OCOTP_CTRL_ADDR(6);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ocotp_ctrl &amp;amp;= ~OCOTP_CTRL_WR_UNLOCK_MASK ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ocotp_ctrl|= OCOTP_CTRL_WR_UNLOCK(0x3E77);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OCOTP-&amp;gt;CTRL = ocotp_ctrl; //Write ADDR and unlock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OCOTP-&amp;gt;DATA = (long)((1&amp;lt;&amp;lt;4)|(1&amp;lt;&amp;lt;16));//burn BT_FUSE_SEL (1&amp;lt;&amp;lt;4) and FORCE_INTERNAL_BOOT (1&amp;lt;&amp;lt;16)&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe the code is from interest for someone else.&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 28 Jun 2018 04:43:51 GMT</pubDate>
    <dc:creator>mali</dc:creator>
    <dc:date>2018-06-28T04:43:51Z</dc:date>
    <item>
      <title>How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809577#M1054</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, we are currently developing a product on MIMXRT1051 and now want to burn the eFuses for series production using Keil MDK. As far as we understood from the Reference Manual, the eFuses only can be set when the software is running. Its clear, how to burn the fuses, but how can BT_FUSE_SEL be set? I cannot find anything about it in datasheet. Does anyone have an example how to do?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Jun 2018 04:40:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809577#M1054</guid>
      <dc:creator>mali</dc:creator>
      <dc:date>2018-06-22T04:40:18Z</dc:date>
    </item>
    <item>
      <title>Re: How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809578#M1055</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; According to Chapter 5 (Fusemap) of i.MX RT1050 Reference Manual, Rev. 1, 03/2018, &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;BT_FUSE_SEL is located at fuse address 0x460, bit 4.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Yuri&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jun 2018 03:08:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809578#M1055</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-06-25T03:08:35Z</dc:date>
    </item>
    <item>
      <title>Re: How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809579#M1056</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yuri, thank you for your response.&lt;/P&gt;&lt;P&gt;I have already found the fuse address in Reference Manual, but I haven't any glue how to burn it without using MFGtool. Is there a possibility to set BT_FUSE_SEL using Keil MDK? Maybe flashing this bit at first time the controller is running?&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jun 2018 06:06:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809579#M1056</guid>
      <dc:creator>mali</dc:creator>
      <dc:date>2018-06-25T06:06:38Z</dc:date>
    </item>
    <item>
      <title>Re: How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809580#M1057</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; I think the MFG is good choice today to burn the i.MX RT fuses.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Look at section&amp;nbsp;&lt;SPAN style="font-size: 11.0pt;"&gt;5.8 of"i.MX MCU Manufacturing User's Guide.pdf", &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;Rev. 1, 01/2018, about&amp;nbsp; using the "load fuse" command.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 11.0pt;"&gt;&amp;nbsp; For example t&lt;/SPAN&gt;he command&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;load fuse 0x00000002 &amp;gt; 0x06&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;means writing 32-bit value 0x00000002 to OTP Bank 0, word 6 (ADDR = 0x06).&lt;/P&gt;&lt;P&gt;Look at section 42.5.1.23 [Value of OTP Bank0 Word6 (Configuration and Manufacturing Info.)&lt;/P&gt;&lt;P&gt;(HW_OCOTP_CFG5)] of i.MX RT1050 Reference Manual, Rev. 1, 03/2018.&lt;/P&gt;&lt;P&gt;It corresponds to offset 460h of the fusemap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2018 09:27:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809580#M1057</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-06-26T09:27:43Z</dc:date>
    </item>
    <item>
      <title>Re: How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809581#M1058</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yuri,&lt;/P&gt;&lt;P&gt;many thanks for your reply, that gave me the required hint.&lt;/P&gt;&lt;P&gt;Now I could implement the following code into firmware which burns the BT_FUSE_SEL at first startup of the firmware. At series production the debugger programs the flash and invokes the first start. So I do not need the whole boot settings any more.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Write Fuses&lt;BR /&gt;if (!(SRC-&amp;gt;SBMR2 &amp;amp; SRC_SBMR2_BT_FUSE_SEL_MASK))&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int timing = OCOTP_TIMING_STROBE_PROG(1325) | OCOTP_TIMING_RELAX(2) | OCOTP_TIMING_STROBE_READ(11) |OCOTP_TIMING_WAIT(24); //ipg_clk=132MHz, Calculation described at Chapter 42.3.3 OTP Read/Write Timing Parameters&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OCOTP-&amp;gt;TIMING = timing;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while ((OCOTP-&amp;gt;CTRL &amp;amp; (1&amp;lt;&amp;lt;OCOTP_CTRL_BUSY_SHIFT)) || (OCOTP-&amp;gt;CTRL &amp;amp; (1&amp;lt;&amp;lt;OCOTP_CTRL_ERROR_SHIFT))); //Check that HW_OCOTP_CTRL[BUSY] and HW_OCOTP_CTRL[ERROR]are clear&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int ocotp_ctrl = OCOTP-&amp;gt;CTRL;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ocotp_ctrl &amp;amp;= ~OCOTP_CTRL_ADDR_MASK;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ocotp_ctrl|= OCOTP_CTRL_ADDR(6);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ocotp_ctrl &amp;amp;= ~OCOTP_CTRL_WR_UNLOCK_MASK ;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ocotp_ctrl|= OCOTP_CTRL_WR_UNLOCK(0x3E77);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OCOTP-&amp;gt;CTRL = ocotp_ctrl; //Write ADDR and unlock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;OCOTP-&amp;gt;DATA = (long)((1&amp;lt;&amp;lt;4)|(1&amp;lt;&amp;lt;16));//burn BT_FUSE_SEL (1&amp;lt;&amp;lt;4) and FORCE_INTERNAL_BOOT (1&amp;lt;&amp;lt;16)&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe the code is from interest for someone else.&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 28 Jun 2018 04:43:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809581#M1058</guid>
      <dc:creator>mali</dc:creator>
      <dc:date>2018-06-28T04:43:51Z</dc:date>
    </item>
    <item>
      <title>Re: How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809582#M1059</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Martin,&lt;/P&gt;&lt;P&gt;can you perhaps explain a little more how you do this in production ?&lt;/P&gt;&lt;P&gt;I have a (RT1062/RT1064) design running, and currently I have the BT_CFG_xx signals tied to GND. This I would like to change (use them for GPIO/LCD etc), but in order to do so, I need to blow the BT_FUSE_SEL as I understand it. The code you presented above will do that if I understand correctly. But, how do you get the processor to execute that code when programmed into the flash ? Does the BT_CFG_xxx signals not need to be set correctly initially for the code to execute at all, or do you do some tricks using debugger/loader ?&lt;/P&gt;&lt;P&gt;(I use Keil)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 30 Dec 2018 19:57:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809582#M1059</guid>
      <dc:creator>carstengroen</dc:creator>
      <dc:date>2018-12-30T19:57:21Z</dc:date>
    </item>
    <item>
      <title>Re: How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809583#M1060</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Carsten, &lt;/P&gt;&lt;P&gt;We are using a batch file which starts keil in background. It is also possible to start the code execution after downloading to flash (see &lt;A class="link-titled" href="http://www.keil.com/support/man/docs/uv4/uv4_commandline.htm" title="http://www.keil.com/support/man/docs/uv4/uv4_commandline.htm"&gt;µVision User's Guide: Command Line&lt;/A&gt; ). So it starts the first time with debugger after programming the flash. As result the fuses will be burned at that time.&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jan 2019 05:58:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809583#M1060</guid>
      <dc:creator>mali</dc:creator>
      <dc:date>2019-01-07T05:58:13Z</dc:date>
    </item>
    <item>
      <title>Re: How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809584#M1061</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Martin!,&lt;/P&gt;&lt;P&gt;that was kind of what I figured you would do, thanks for confirming :smileyhappy:&lt;/P&gt;&lt;P&gt;Do you mind having a look on this topic also, I can't get the timing for the fuse programming correct:&amp;nbsp;&lt;A href="https://community.nxp.com/thread/492451"&gt;https://community.nxp.com/thread/492451&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 07 Jan 2019 16:03:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809584#M1061</guid>
      <dc:creator>carstengroen</dc:creator>
      <dc:date>2019-01-07T16:03:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809585#M1062</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Martin Litschauer,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can you give me a sample of burn the BT_FUSE_SEL to IMXRT1050, I am using the MCUXpresso IDE.&lt;/P&gt;&lt;P&gt;Thank you for your supporting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Nhan Nguyen.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 02 Aug 2019 08:29:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809585#M1062</guid>
      <dc:creator>ng_h_nhan0207</dc:creator>
      <dc:date>2019-08-02T08:29:55Z</dc:date>
    </item>
    <item>
      <title>Re: How to burn BT_FUSE_SEL on RT1050</title>
      <link>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809586#M1063</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Nguyen Nhan,&lt;/P&gt;&lt;P&gt;please see the example code above, that ist exactly what I am using (at Keil MDK).&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 05 Aug 2019 04:39:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/How-to-burn-BT-FUSE-SEL-on-RT1050/m-p/809586#M1063</guid>
      <dc:creator>mali</dc:creator>
      <dc:date>2019-08-05T04:39:48Z</dc:date>
    </item>
  </channel>
</rss>

