Open main menu

DAVE Developer's Wiki β

Changes

no edit summary
<section begin="History" />
{| style="border-collapse:collapse; "
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|VersionIssue Date!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue DateNotes|-| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |{{oldid|14115|2021/07/16}}| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |First DESK release|-| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |{{oldid|16991|2022/03/04}}| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000" |DESK-MX6-L 3.0.0 release|-!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |2023/04/06! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:white#000000"|NotesDESK-MX6-L 4.0.0 release
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|1.0.0
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|Jun 2021
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|First DESK release
|}
<section end="History" />
__FORCETOC__
<section begin="Body" />
==Booting from NAND flash==
Even though the example shown here refers to an i.MX6 DualLite board, the approach is substantially the same across all the i.MX6 family.
The test bed used in this example consists of an i.MX6 DualLite board equipped with a 512MB 8-bit asynchronous 1-bit ECC SLC NAND memory which is connected to the EIM bus of the SoC. The boot firmware image are the U-Boot binary files (<code>mx6qdlaxel_SPLdesk-mx6-l-4.0.0_mx6qdldesk_nand_SPL</code> and <code>mx6qdlaxel_udesk-mx6-l-4.0.0_mx6qdldesk_nand_u-boot.img</code>). Their sizes are about 55kB 60kB (SPL) and 550 612 kB (u-boot).
From the point of view of MTD partitions, the boot partition for SPL is <code>mtd0</code> is 2MB while the second stage partition <code>mtd1</code> is 6MB.
*The second copy of the firmware.
For more details about the bootrom e and the NAND boot process, please refer to the ''System Boot'' chapter of the Reference Manual of the specific i.MX6 Application Processor.
The following section will describe how to burn the boot partition in practice.
<pre class="board-terminal">
root@imx6qdlxelkdesk-mx6:~# kobs-ng -x -v -w desk-mx6-l-14.0.0_mx6qdldesk_nand_SPL
MTD CONFIG:
chip_0_device_path = "/dev/mtd0"
mtd: erasing @0:0x180000-0x1a0000
mtd: We write one page for save guard. *
root@imx6qdlxelk:~#
</pre>
<pre class="board-terminal">
root@imx6qdlxelkdesk-mx6:~# flash_erase /dev/mtd1 0 0Erasing 128 Kibyte @ 5e0000 -- 100 % completeroot@imx6qdlxelkdesk-mx6:~# nandwrite -p /dev/mtd1 desk-mx6-l-14.0.0_mx6qdldesk_nand_u-boot.img
Writing data to block 0 at offset 0x0
Writing data to block 1 at offset 0x20000
Writing data to block 3 at offset 0x60000
Writing data to block 4 at offset 0x80000
root@imx6qdlxelk:~#
</pre>
In this case, the SPL boot partition–<code>/dev/mtd0</code>, indicated as a parameter of the command line– is 2MB. The u-boot.img partition–<code>/dev/mtd1</code> - used for the second stage binary image is 6MB
It is possible to see those partition on uU-bootBoot:
<pre>
=> printenv mtdparts
mtdparts=mtdparts=gpmi-nand:2M(nand-SPL),6M(nand-uboot),1M(nand-env1),1M(nand-env2),1M(nand-fdt),1M(nand-spare),8M(nand-kernel),4M(nand-splash),-(nand-ubi)
=>
</pre>
<pre>
root@imx6qdlxelkdesk-mx6:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00200000 00020000 "nand-SPL"
mtd6: 00800000 00020000 "nand-kernel"
mtd7: 00400000 00020000 "nand-splash"
mtd8: 1e800000 3e800000 00020000 "nand-ubi"root@imx6qdlxelk:~#
</pre>
8,220
edits