<?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のトピックMX25 Mini Nandboot(Internal Mode)</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/MX25-Mini-Nandboot-Internal-Mode/m-p/201214#M11135</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;1. If the nand block which store u-boot.bin is bad, ROM code cannot read u-boot out. To resolve this issue, a mini nandboot is requied. The nandboot image size should be less than one nand block size, it's programmed to two place, block 0 and block 1. After nandboot bootup, it can copy u-boot.bin from nand to ddr, can skip bad block by checking factory bad block indication, with bi swap.&lt;/P&gt;&lt;P&gt;2. In this example, internal boot mode is required.&lt;/P&gt;&lt;P&gt;3. The nand device verified in this package is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; K9LAG08U0M, page size = 2KB, block size = 128KB.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HY27US08561A, page size = 512B, block size = 16KB.&lt;/P&gt;&lt;P&gt;4. The nandboot binary is IMX25_3STACK_nb_iplspl.bin , it is about 6KB, can be placed inside one block.&lt;/P&gt;&lt;P&gt;5. Bi swap is already enabled in this package.&lt;/P&gt;&lt;P&gt;6. When internal bootup, rom read the nandboot binary to ddr, jump to ddr to run the nandboot, then copy u-boot which start from the third nand block to ddr, and then jump to ddr u-boot pointer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Image Layout&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="0" cellspacing="0" width="349"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;K9LAG08U0M&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;page size = 2KB + 64B&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;block size = 256KB + 8KB&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;1 block = 128 pages&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;&lt;STRONG&gt;Image&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;&lt;STRONG&gt;Block&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;&lt;STRONG&gt;Range in Nand&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;Nandboot&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;0, 1&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x0 ~ 0x80000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;u-boot&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;2 ~ 7&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x80000 ~ 0x200000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;u-boot env&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;8 ~ 11&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x200000 ~ 0x300000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;uImage&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;12 ~ …&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x300000 ~ …&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="0" cellspacing="0" width="349"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;HY27US08561A&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;page size = 512B + 16B&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;block size = 16KB + 512B&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;1 block = 32 pages&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;Image&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;&lt;STRONG&gt;Block&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;&lt;STRONG&gt;Range in Nand&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;Nandboot&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;0, 1&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x0 ~ 0x8000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;u-boot&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;2 ~ 127&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x8000 ~ 0x200000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;u-boot env&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;128 ~ 191&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x200000 ~ 0x300000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;uImage&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;192 ~ …&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x300000 ~ …&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Build nandboot binary&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;$ ./makebuild.sh clean;./makebuild.sh IMX25_3STACK_AGL&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;CRC u-boot.bin&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Copy u-boot.bin to image folder, rename to “Image”.&lt;/P&gt;&lt;P&gt;In nandboot-imx folder, run:&lt;/P&gt;&lt;P&gt;$ ./bin/crcgen&lt;/P&gt;&lt;P&gt;Eight bytes will be added to the head of u-boot.bin, the first four bytes are the size of u-boot.bin, the second four bytes are crc value.&lt;/P&gt;&lt;P&gt;When nandboot read u-boot image into ddr, these eight bytes will be skipped.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Program IMX25_3STACK_nb_iplspl.bin and Image_nb_crc_uboot&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;In ATK, program IMX25_3STACK_nb_iplspl.bin to 0x0 in nand device, without “Bi Swap” selection.&lt;/P&gt;&lt;P&gt;For K9LAG08U0M, set the Address to 0x80000, select “Bi Swap”.&lt;/P&gt;&lt;P&gt;For HY27US08561A, set the Address to 0x8000. Since bi swap does not take effect to 512 page size nand, can leave “Bi Swap” unselected. &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-335832"&gt;428-nandbootimx512pagesize.tgz&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 10 Jan 2012 10:02:07 GMT</pubDate>
    <dc:creator>shaojun_wang</dc:creator>
    <dc:date>2012-01-10T10:02:07Z</dc:date>
    <item>
      <title>MX25 Mini Nandboot(Internal Mode)</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/MX25-Mini-Nandboot-Internal-Mode/m-p/201214#M11135</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;STRONG&gt;Description&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;1. If the nand block which store u-boot.bin is bad, ROM code cannot read u-boot out. To resolve this issue, a mini nandboot is requied. The nandboot image size should be less than one nand block size, it's programmed to two place, block 0 and block 1. After nandboot bootup, it can copy u-boot.bin from nand to ddr, can skip bad block by checking factory bad block indication, with bi swap.&lt;/P&gt;&lt;P&gt;2. In this example, internal boot mode is required.&lt;/P&gt;&lt;P&gt;3. The nand device verified in this package is:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; K9LAG08U0M, page size = 2KB, block size = 128KB.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HY27US08561A, page size = 512B, block size = 16KB.&lt;/P&gt;&lt;P&gt;4. The nandboot binary is IMX25_3STACK_nb_iplspl.bin , it is about 6KB, can be placed inside one block.&lt;/P&gt;&lt;P&gt;5. Bi swap is already enabled in this package.&lt;/P&gt;&lt;P&gt;6. When internal bootup, rom read the nandboot binary to ddr, jump to ddr to run the nandboot, then copy u-boot which start from the third nand block to ddr, and then jump to ddr u-boot pointer.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Image Layout&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="0" cellspacing="0" width="349"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;K9LAG08U0M&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;page size = 2KB + 64B&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;block size = 256KB + 8KB&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;1 block = 128 pages&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;&lt;STRONG&gt;Image&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;&lt;STRONG&gt;Block&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;&lt;STRONG&gt;Range in Nand&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;Nandboot&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;0, 1&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x0 ~ 0x80000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;u-boot&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;2 ~ 7&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x80000 ~ 0x200000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;u-boot env&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;8 ~ 11&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x200000 ~ 0x300000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="120"&gt;&lt;P&gt;uImage&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="73"&gt;&lt;P&gt;12 ~ …&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x300000 ~ …&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="0" cellspacing="0" width="349"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;HY27US08561A&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;page size = 512B + 16B&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;block size = 16KB + 512B&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan="2" nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="193"&gt;&lt;P&gt;1 block = 32 pages&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;&lt;STRONG&gt;Image&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;&lt;STRONG&gt;Block&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;&lt;STRONG&gt;Range in Nand&lt;/STRONG&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;Nandboot&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;0, 1&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x0 ~ 0x8000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;u-boot&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;2 ~ 127&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x8000 ~ 0x200000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;u-boot env&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;128 ~ 191&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x200000 ~ 0x300000&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="102"&gt;&lt;P&gt;uImage&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="92"&gt;&lt;P&gt;192 ~ …&lt;/P&gt;&lt;/TD&gt;&lt;TD nowrap="nowrap" style="border:0px solid black;" valign="bottom" width="156"&gt;&lt;P&gt;0x300000 ~ …&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Build nandboot binary&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;$ ./makebuild.sh clean;./makebuild.sh IMX25_3STACK_AGL&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;CRC u-boot.bin&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Copy u-boot.bin to image folder, rename to “Image”.&lt;/P&gt;&lt;P&gt;In nandboot-imx folder, run:&lt;/P&gt;&lt;P&gt;$ ./bin/crcgen&lt;/P&gt;&lt;P&gt;Eight bytes will be added to the head of u-boot.bin, the first four bytes are the size of u-boot.bin, the second four bytes are crc value.&lt;/P&gt;&lt;P&gt;When nandboot read u-boot image into ddr, these eight bytes will be skipped.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Program IMX25_3STACK_nb_iplspl.bin and Image_nb_crc_uboot&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;In ATK, program IMX25_3STACK_nb_iplspl.bin to 0x0 in nand device, without “Bi Swap” selection.&lt;/P&gt;&lt;P&gt;For K9LAG08U0M, set the Address to 0x80000, select “Bi Swap”.&lt;/P&gt;&lt;P&gt;For HY27US08561A, set the Address to 0x8000. Since bi swap does not take effect to 512 page size nand, can leave “Bi Swap” unselected. &amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-335832"&gt;428-nandbootimx512pagesize.tgz&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jan 2012 10:02:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/MX25-Mini-Nandboot-Internal-Mode/m-p/201214#M11135</guid>
      <dc:creator>shaojun_wang</dc:creator>
      <dc:date>2012-01-10T10:02:07Z</dc:date>
    </item>
  </channel>
</rss>

