<?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 ProcessorsのトピックRe: i.mx6ull vs i.mx6ul HAB issues</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673119#M103718</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; &amp;nbsp;Please try to set Engine to SW in CSF file as below and test again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;BR /&gt;[Header]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Version = 4.1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hash Algorithm = sha256&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Engine = SW&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Engine Configuration = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Certificate Format = X509&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Signature Format = CMS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; According to app note AN5350 (i.MX 6ULL Migration Guide), the i.MX6ULL does not have CAAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt; &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fassets%2Fdocuments%2Fdata%2Fen%2Fapplication-notes%2FAN5350.pdf" rel="nofollow" target="_blank"&gt;http://www.nxp.com/assets/documents/data/en/application-notes/AN5350.pdf&lt;/A&gt;&lt;SPAN&gt; &amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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>Wed, 10 May 2017 05:31:23 GMT</pubDate>
    <dc:creator>Yuri</dc:creator>
    <dc:date>2017-05-10T05:31:23Z</dc:date>
    <item>
      <title>i.mx6ull vs i.mx6ul HAB issues</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673118#M103717</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to implement HAB on a i.mx6ull target.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I followed the instructions of &lt;STRONG&gt;AN4581&lt;/STRONG&gt; (&lt;A class="link-titled" href="http://www.nxp.com/assets/documents/data/en/application-notes/AN4581.pdf" title="http://www.nxp.com/assets/documents/data/en/application-notes/AN4581.pdf"&gt;http://www.nxp.com/assets/documents/data/en/application-notes/AN4581.pdf&lt;/A&gt;).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm using the following CSF file, the HAB Blocks being from the output of the &lt;STRONG&gt;mkimage&lt;/STRONG&gt; command.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;[Header]&lt;BR /&gt;Version = 4.1&lt;BR /&gt;Hash Algorithm = sha256&lt;BR /&gt;Engine = ANY&lt;BR /&gt;Engine Configuration = 0&lt;BR /&gt;Certificate Format = X509&lt;BR /&gt;Signature Format = CMS&lt;BR /&gt;&lt;BR /&gt;[Install SRK]&lt;BR /&gt;File = "../crts/SRK_1_2_3_4_table.bin"&lt;BR /&gt;Source index = 0 # Index of the key location in the SRK table to be installed&lt;BR /&gt;&lt;BR /&gt;[Install CSFK]&lt;BR /&gt;# Key used to authenticate the CSF data&lt;BR /&gt;File = "../crts/CSF1_1_sha256_2048_65537_v3_usr_crt.pem"&lt;BR /&gt;&lt;BR /&gt;[Authenticate CSF]&lt;BR /&gt;&lt;BR /&gt;[Install Key]&lt;BR /&gt;# Key slot index used to authenticate the key to be installed&lt;BR /&gt;Verification index = 0&lt;BR /&gt;# Target key slot in HAB key store where key will be installed&lt;BR /&gt;Target Index = 2&lt;BR /&gt;# Key to install&lt;BR /&gt;File= "../crts/IMG1_1_sha256_2048_65537_v3_usr_crt.pem"&lt;BR /&gt;&lt;BR /&gt;[Authenticate Data]&lt;BR /&gt;# Key slot index used to authenticate the image data&lt;BR /&gt;Verification index = 2&lt;BR /&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Address&amp;nbsp;&amp;nbsp;&amp;nbsp; Offset&amp;nbsp; Length&amp;nbsp;&amp;nbsp;&amp;nbsp; Data File Path&lt;BR /&gt;Blocks = 0x877ff400 0x0 0x60c00&amp;nbsp;&amp;nbsp; "u-boot.imx"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The signed uboot is then generated using commands like:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;./cst --o /tmp/csf-uboot.bin --i /tmp/csf-uboot&lt;BR /&gt;cat u-boot.imx /tmp/csf-uboot.bin &amp;gt; u-boot-signed.imx&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This u-boot is next flashed on the eMMC of my target device.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The resulting u&lt;STRONG&gt;-boot-signed.imx&lt;/STRONG&gt; doesn't work. The following events are generated:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;--------- HAB Event 1 -----------------&lt;BR /&gt;event data:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xdb 0x00 0x14 0x42 0x33 0x18 0xc0 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xca 0x00 0x0c 0x00 0x01 0xc5 0x00 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00 0x00 0x07 0xdc&lt;BR /&gt;&lt;BR /&gt;STS = HAB_FAILURE (0x33)&lt;BR /&gt;RSN = HAB_INV_SIGNATURE (0x18)&lt;BR /&gt;CTX = HAB_CTX_COMMAND (0xC0)&lt;BR /&gt;ENG = HAB_ENG_ANY (0x00)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;--------- HAB Event 2 -----------------&lt;BR /&gt;event data:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00 0x00 0x00 0x00 0x87 0x7f 0xf4 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00 0x00 0x00 0x20&lt;BR /&gt;&lt;BR /&gt;STS = HAB_FAILURE (0x33)&lt;BR /&gt;RSN = HAB_INV_ASSERTION (0x0C)&lt;BR /&gt;CTX = HAB_CTX_ASSERT (0xA0)&lt;BR /&gt;ENG = HAB_ENG_ANY (0x00)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;--------- HAB Event 3 -----------------&lt;BR /&gt;event data:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00 0x00 0x00 0x00 0x87 0x7f 0xf4 0x2c&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00 0x00 0x02 0x08&lt;BR /&gt;&lt;BR /&gt;STS = HAB_FAILURE (0x33)&lt;BR /&gt;RSN = HAB_INV_ASSERTION (0x0C)&lt;BR /&gt;CTX = HAB_CTX_ASSERT (0xA0)&lt;BR /&gt;ENG = HAB_ENG_ANY (0x00)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;--------- HAB Event 4 -----------------&lt;BR /&gt;event data:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00 0x00 0x00 0x00 0x87 0x7f 0xf4 0x20&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00 0x00 0x00 0x01&lt;BR /&gt;&lt;BR /&gt;STS = HAB_FAILURE (0x33)&lt;BR /&gt;RSN = HAB_INV_ASSERTION (0x0C)&lt;BR /&gt;CTX = HAB_CTX_ASSERT (0xA0)&lt;BR /&gt;ENG = HAB_ENG_ANY (0x00)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;--------- HAB Event 5 -----------------&lt;BR /&gt;event data:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xdb 0x00 0x14 0x42 0x33 0x0c 0xa0 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00 0x00 0x00 0x00 0x87 0x80 0x00 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00 0x00 0x00 0x04&lt;BR /&gt;&lt;BR /&gt;STS = HAB_FAILURE (0x33)&lt;BR /&gt;RSN = HAB_INV_ASSERTION (0x0C)&lt;BR /&gt;CTX = HAB_CTX_ASSERT (0xA0)&lt;BR /&gt;ENG = HAB_ENG_ANY (0x00)&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;By reading the "&lt;STRONG&gt;High Assurance Boot Version 4 Application Programming Interface Reference Manual&lt;/STRONG&gt;", I can understand there is probably something wrong with the CSF validation. Can you confirm this ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What is weird is that the way I'm signing my u-boot seems to work when I'm using the &lt;STRONG&gt;imx_usb_loader&lt;/STRONG&gt; tool (&lt;A class="link-titled" href="https://github.com/boundarydevices/imx_usb_loader" title="https://github.com/boundarydevices/imx_usb_loader"&gt;GitHub - boundarydevices/imx_usb_loader: Usb loader for imx51/53/6x&lt;/A&gt;). No HAB events are generated. The only difference is that I need to clear the DCD pointer from the IVT before running &lt;STRONG&gt;./cst&lt;/STRONG&gt; as &lt;STRONG&gt;imx_usb_loader&lt;/STRONG&gt; will clear it. Maybe my issue is related to the way the &lt;SPAN class=""&gt;code in the on-chip ROM is reading data from the eMMC ?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;Finally, it's interesting to notice this u-boot signing procedure was working on an older revision of our hardware which was using a i.mx6ul instead of the i.mx6ull. Can it be related to a HAB update between the two ICs ?&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class=""&gt;What I tried (without success) so far:&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN class=""&gt;Padding the CSF file to 0x2000 bytes using (my imximage.cfg does contain &lt;STRONG&gt;CSF 0x2000&lt;/STRONG&gt;):&lt;BR /&gt;&lt;/SPAN&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;objcopy -I binary -O binary --pad-to 0x2000 --gap-fill=0x00 /tmp/csf-uboot.bin /tmp/csf-uboot-padded.bin&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/LI&gt;&lt;LI&gt;Following the procedure described here: &lt;A _jive_internal="true" class="link-titled" href="https://community.nxp.com/thread/428505#comment-805847" title="https://community.nxp.com/thread/428505#comment-805847"&gt;https://community.nxp.com/thread/428505#comment-805847&lt;/A&gt; which highlights an potential issue linked with block devices (which may explain why I can make my u-boot to work by booting from the Serial Download Mode and not from the eMMC ?)&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for you help !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 May 2017 12:22:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673118#M103717</guid>
      <dc:creator>courk</dc:creator>
      <dc:date>2017-05-09T12:22:53Z</dc:date>
    </item>
    <item>
      <title>Re: i.mx6ull vs i.mx6ul HAB issues</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673119#M103718</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; &amp;nbsp;Please try to set Engine to SW in CSF file as below and test again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;BR /&gt;[Header]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Version = 4.1&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Hash Algorithm = sha256&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Engine = SW&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Engine Configuration = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Certificate Format = X509&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Signature Format = CMS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; According to app note AN5350 (i.MX 6ULL Migration Guide), the i.MX6ULL does not have CAAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt; &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.nxp.com%2Fassets%2Fdocuments%2Fdata%2Fen%2Fapplication-notes%2FAN5350.pdf" rel="nofollow" target="_blank"&gt;http://www.nxp.com/assets/documents/data/en/application-notes/AN5350.pdf&lt;/A&gt;&lt;SPAN&gt; &amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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>Wed, 10 May 2017 05:31:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673119#M103718</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2017-05-10T05:31:23Z</dc:date>
    </item>
    <item>
      <title>Re: i.mx6ull vs i.mx6ul HAB issues</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673120#M103719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks ! It does work fine now.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 May 2017 08:37:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673120#M103719</guid>
      <dc:creator>courk</dc:creator>
      <dc:date>2017-05-10T08:37:09Z</dc:date>
    </item>
    <item>
      <title>Re: i.mx6ull vs i.mx6ul HAB issues</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673121#M103720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey Yuri,&lt;/P&gt;&lt;P&gt;I'm getting the same problem. However, the solution you have mentioned above does not work for me. Furthermore, if I use the CAAM or SW engines, my u-boot doesn't boot at all.&amp;nbsp;&lt;/P&gt;&lt;P&gt;The only difference I have form the example above is that I use a 4K key (4096) instead of a 2K key (2048).&amp;nbsp;&lt;/P&gt;&lt;P&gt;Other than that, I am using the same IMX6ULL and signed the u-boot using the instructions from&amp;nbsp;AN4581.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for the help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 28 Feb 2018 16:11:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673121#M103720</guid>
      <dc:creator>huzaifi</dc:creator>
      <dc:date>2018-02-28T16:11:06Z</dc:date>
    </item>
    <item>
      <title>Re: i.mx6ull vs i.mx6ul HAB issues</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673122#M103721</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.MX 6ULL HAB supports 4K key (in software).&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>Thu, 01 Mar 2018 02:22:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/i-mx6ull-vs-i-mx6ul-HAB-issues/m-p/673122#M103721</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-03-01T02:22:19Z</dc:date>
    </item>
  </channel>
</rss>

