Lines Matching +full:boot +full:- +full:nand
1 Booting U-Boot on a MXS processor
4 This document describes the MXS U-Boot port. This document mostly covers topics
8 -----------
14 into the unix command prompt in U-Boot source code root directory.
16 The (=>) introduces a snipped of code that should by typed into U-Boot command
20 --------
23 2) Compiling U-Boot for a MXS based board
24 3) Installation of U-Boot for a MXS based board to SD card
25 4) Installation of U-Boot into NAND flash on a MX28 based board
26 5) Installation of U-Boot into SPI NOR flash on a MX28 based board
29 ----------------
32 mandatory tool is the "mxsboot" tool found in U-Boot source tree. The
33 tool is built automatically when compiling U-Boot for i.MX23 or i.MX28.
36 also part of the U-Boot source tree. The "mkimage" requires OpenSSL
40 $ sudo apt-get install libssl-dev
43 longer necessary for general use of U-Boot on i.MX23 and i.MX28.
45 with a zero key, which is the vast majority of use-cases. In
46 case you do need to produce image encrypted with non-zero key
53 ftp://ftp.denx.de/pub/tools/elftosb-10.12.01.tar.gz
60 $ wget ftp://ftp.denx.de/pub/tools/elftosb-${VER}.tar.gz
64 $ tar xzf elftosb-${VER}.tar.gz
68 $ cd elftosb-${VER}/
69 $ make LIBS="-lstdc++ -lm" elftosb
83 2) Compiling U-Boot for a MXS based board
84 -------------------------------------------
86 Compiling the U-Boot for a MXS board is straightforward and done as compiling
87 U-Boot for any other ARM device. For cross-compiler setup, please refer to
92 Next, configure U-Boot for a MXS based board
98 1. For building U-Boot for Aries M28EVK board:
102 2. For building U-Boot for Freescale MX28EVK board:
106 3. For building U-Boot for Freescale MX23EVK board:
110 4. For building U-Boot for Olimex MX23 Olinuxino board:
114 Lastly, compile U-Boot and prepare a "BootStream". The "BootStream" is a special
115 type of file, which MXS CPUs can boot. This is handled by the following
118 $ make u-boot.sb
120 HINT: To speed-up the build process, you can add -j<N>, where N is number of
123 The code produces "u-boot.sb" file. This file needs to be augmented with a
124 proper header to allow successful boot from SD or NAND. Adding the header is
127 NOTE: The process that produces u-boot.sb uses the mkimage to generate the
134 $ elftosb -zf imx23 -c arch/arm/cpu/arm926ejs/mxs/u-boot-imx23.bd \
135 -o u-boot.sb
136 $ elftosb -zf imx28 -c arch/arm/cpu/arm926ejs/mxs/u-boot-imx28.bd \
137 -o u-boot.sb
139 3) Installation of U-Boot for a MXS based board to SD card
140 ----------------------------------------------------------
142 To boot a MXS based board from SD, set the boot mode DIP switches according to
143 to MX28 manual, section 12.2.1 (Table 12-2) or MX23 manual, section 35.1.2
144 (Table 35-3).
146 The SD card used to boot U-Boot must contain a DOS partition table, which in
158 run fdisk with the option "-u=sectors" to set units to sectors:
175 $ ./tools/mxsboot sd u-boot.sb u-boot.sd
177 The resulting file, "u-boot.sd", shall then be written to the partition. In this
180 $ dd if=u-boot.sd of=/dev/mmcblk0p1
182 Last step is to insert the card into the MXS based board and boot.
185 a "-p" switch for that purpose. The "-p" switch takes the sector number as
188 4) Installation of U-Boot into NAND flash on a MX28 based board
189 ---------------------------------------------------------------
191 To boot a MX28 based board from NAND, set the boot mode DIP switches according
192 to MX28 manual section 12.2.1 (Table 12-2), PORT=GPMI, NAND 1.8 V.
194 There are two possibilities when preparing an image writable to NAND flash.
196 I) The NAND wasn't written at all yet or the BCB is broken
197 ----------------------------------------------------------
199 written to NAND. To generate NAND image containing all these,
201 is invoked on "u-boot.sb" file from chapter 2):
203 $ ./tools/mxsboot nand u-boot.sb u-boot.nand
205 NOTE: The above invokation works for NAND flash with geometry of
209 -w <size> change page size (default 2048 b)
210 -o <size> change oob size (default 64 b)
211 -e <size> change erase size (default 131072 b)
213 The geometry information can be obtained from running U-Boot
214 on the MX28 board by issuing the "nand info" command.
216 The resulting file, "u-boot.nand" can be written directly to NAND
217 from the U-Boot prompt. To simplify the process, the U-Boot default
221 "u-boot.nand" in it's root directory. This can be changed by
224 To update the system, run the following in U-Boot prompt:
231 II) The NAND was already written with a good BCB
232 ------------------------------------------------
236 write the FCB and DBBT parts of NAND again. It's possible to upgrade
239 To simplify the process of firmware update, the U-Boot default
244 "u-boot.sb" in it's root directory. This can be changed by
247 To update the system, run the following in U-Boot prompt:
252 --------------------------------------------
254 STRIDE and COUNT options of the NAND boot. For description of these,
263 In case the user needs to boot a firmware image bigger than 1Mb, the
267 5) Installation of U-Boot into SPI NOR flash on a MX28 based board
268 ------------------------------------------------------------------
270 The u-boot.sb file can be directly written to SPI NOR from U-Boot prompt.
272 Load u-boot.sb into RAM, this can be done in several ways and one way is to use
274 => tftp u-boot.sb 0x42000000
281 Erase the blocks where U-Boot binary will be written to:
284 Write u-boot.sb to SPI NOR:
287 Power off the board and set the boot mode DIP switches to boot from the SPI NOR
288 according to MX28 manual section 12.2.1 (Table 12-2)
290 Last step is to power up the board and U-Boot should start from SPI NOR.