[FE training-materials-updates] flash filesystems: adapt to new NAND layout
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu May 30 16:31:18 CEST 2013
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=6271be6f49e03fc698dac3d0afd66cb18361a9f8
>---------------------------------------------------------------
commit 6271be6f49e03fc698dac3d0afd66cb18361a9f8
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date: Thu May 30 16:30:39 2013 +0200
flash filesystems: adapt to new NAND layout
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>---------------------------------------------------------------
6271be6f49e03fc698dac3d0afd66cb18361a9f8
.../flash-map.dia | 188 +++++++++++++++-----
.../sysdev-flash-filesystems.tex | 17 +-
2 files changed, 152 insertions(+), 53 deletions(-)
diff --git a/labs/sysdev-kernel-cross-compiling/flash-map.dia b/labs/sysdev-flash-filesystems/flash-map.dia
similarity index 82%
copy from labs/sysdev-kernel-cross-compiling/flash-map.dia
copy to labs/sysdev-flash-filesystems/flash-map.dia
index f11bbf0..a3228d3 100644
--- a/labs/sysdev-kernel-cross-compiling/flash-map.dia
+++ b/labs/sysdev-flash-filesystems/flash-map.dia
@@ -417,40 +417,7 @@ env#</dia:string>
<dia:enum val="2"/>
</dia:attribute>
</dia:object>
- <dia:object type="Standard - Text" version="1" id="O13">
- <dia:attribute name="obj_pos">
- <dia:point val="32.5,10"/>
- </dia:attribute>
- <dia:attribute name="obj_bb">
- <dia:rectangle val="32.5,9.5275;32.9875,10.12"/>
- </dia:attribute>
- <dia:attribute name="text">
- <dia:composite type="text">
- <dia:attribute name="string">
- <dia:string>#...#</dia:string>
- </dia:attribute>
- <dia:attribute name="font">
- <dia:font family="sans" style="0" name="Helvetica"/>
- </dia:attribute>
- <dia:attribute name="height">
- <dia:real val="0.63499997556209564"/>
- </dia:attribute>
- <dia:attribute name="pos">
- <dia:point val="32.5,10"/>
- </dia:attribute>
- <dia:attribute name="color">
- <dia:color val="#000000"/>
- </dia:attribute>
- <dia:attribute name="alignment">
- <dia:enum val="0"/>
- </dia:attribute>
- </dia:composite>
- </dia:attribute>
- <dia:attribute name="valign">
- <dia:enum val="3"/>
- </dia:attribute>
- </dia:object>
- <dia:object type="Standard - Line" version="0" id="O14">
+ <dia:object type="Standard - Line" version="0" id="O13">
<dia:attribute name="obj_pos">
<dia:point val="27,8.20993"/>
</dia:attribute>
@@ -472,7 +439,7 @@ env#</dia:string>
<dia:connection handle="1" to="O0" connection="6"/>
</dia:connections>
</dia:object>
- <dia:object type="Standard - Line" version="0" id="O15">
+ <dia:object type="Standard - Line" version="0" id="O14">
<dia:attribute name="obj_pos">
<dia:point val="20,8.2"/>
</dia:attribute>
@@ -490,7 +457,7 @@ env#</dia:string>
<dia:color val="#868686"/>
</dia:attribute>
</dia:object>
- <dia:object type="Standard - Line" version="0" id="O16">
+ <dia:object type="Standard - Line" version="0" id="O15">
<dia:attribute name="obj_pos">
<dia:point val="29.8,8.2"/>
</dia:attribute>
@@ -508,12 +475,12 @@ env#</dia:string>
<dia:color val="#868686"/>
</dia:attribute>
</dia:object>
- <dia:object type="Standard - Text" version="1" id="O17">
+ <dia:object type="Standard - Text" version="1" id="O16">
<dia:attribute name="obj_pos">
- <dia:point val="28.3,10"/>
+ <dia:point val="28.475,10.075"/>
</dia:attribute>
<dia:attribute name="obj_bb">
- <dia:rectangle val="27.5025,9.70375;29.0975,10.2962"/>
+ <dia:rectangle val="27.6775,9.77875;29.2725,10.3712"/>
</dia:attribute>
<dia:attribute name="text">
<dia:composite type="text">
@@ -527,7 +494,7 @@ env#</dia:string>
<dia:real val="0.63499997556209564"/>
</dia:attribute>
<dia:attribute name="pos">
- <dia:point val="28.3,10.1762"/>
+ <dia:point val="28.475,10.2512"/>
</dia:attribute>
<dia:attribute name="color">
<dia:color val="#000000"/>
@@ -541,7 +508,7 @@ env#</dia:string>
<dia:enum val="2"/>
</dia:attribute>
</dia:object>
- <dia:object type="Standard - Line" version="0" id="O18">
+ <dia:object type="Standard - Line" version="0" id="O17">
<dia:attribute name="obj_pos">
<dia:point val="29.8,12"/>
</dia:attribute>
@@ -559,7 +526,7 @@ env#</dia:string>
<dia:real val="0.05000000074505806"/>
</dia:attribute>
</dia:object>
- <dia:object type="Standard - Text" version="1" id="O19">
+ <dia:object type="Standard - Text" version="1" id="O18">
<dia:attribute name="obj_pos">
<dia:point val="28.8,13"/>
</dia:attribute>
@@ -592,5 +559,142 @@ env#</dia:string>
<dia:enum val="3"/>
</dia:attribute>
</dia:object>
+ <dia:object type="Standard - Line" version="0" id="O19">
+ <dia:attribute name="obj_pos">
+ <dia:point val="32.0419,8.25868"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="31.9919,8.20868;32.0919,12.0988"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="32.0419,8.25868"/>
+ <dia:point val="32.0419,12.0488"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:attribute name="line_color">
+ <dia:color val="#868686"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O20">
+ <dia:attribute name="obj_pos">
+ <dia:point val="30.976,10.102"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="30.401,9.48829;31.551,10.7158"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#Root
+FS#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.63499997556209564"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="30.976,9.96079"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Line" version="0" id="O21">
+ <dia:attribute name="obj_pos">
+ <dia:point val="32.0411,11.9659"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="32.0161,11.9409;32.0661,13.3909"/>
+ </dia:attribute>
+ <dia:attribute name="conn_endpoints">
+ <dia:point val="32.0411,11.9659"/>
+ <dia:point val="32.0411,13.3659"/>
+ </dia:attribute>
+ <dia:attribute name="numcp">
+ <dia:int val="1"/>
+ </dia:attribute>
+ <dia:attribute name="line_width">
+ <dia:real val="0.05000000074505806"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O22">
+ <dia:attribute name="obj_pos">
+ <dia:point val="31.1164,13.8215"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="31.1164,13.4424;33.028,13.9396"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#0x9e0000#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="monospace" style="0" name="Courier"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.49388886988162994"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="31.1164,13.8215"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="0"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="3"/>
+ </dia:attribute>
+ </dia:object>
+ <dia:object type="Standard - Text" version="1" id="O23">
+ <dia:attribute name="obj_pos">
+ <dia:point val="33.9749,10.0611"/>
+ </dia:attribute>
+ <dia:attribute name="obj_bb">
+ <dia:rectangle val="33.3674,9.44739;34.5824,10.6749"/>
+ </dia:attribute>
+ <dia:attribute name="text">
+ <dia:composite type="text">
+ <dia:attribute name="string">
+ <dia:string>#Data
+FS#</dia:string>
+ </dia:attribute>
+ <dia:attribute name="font">
+ <dia:font family="sans" style="0" name="Helvetica"/>
+ </dia:attribute>
+ <dia:attribute name="height">
+ <dia:real val="0.63499997556209564"/>
+ </dia:attribute>
+ <dia:attribute name="pos">
+ <dia:point val="33.9749,9.91989"/>
+ </dia:attribute>
+ <dia:attribute name="color">
+ <dia:color val="#000000"/>
+ </dia:attribute>
+ <dia:attribute name="alignment">
+ <dia:enum val="1"/>
+ </dia:attribute>
+ </dia:composite>
+ </dia:attribute>
+ <dia:attribute name="valign">
+ <dia:enum val="2"/>
+ </dia:attribute>
+ </dia:object>
</dia:layer>
</dia:diagram>
diff --git a/labs/sysdev-flash-filesystems/sysdev-flash-filesystems.tex b/labs/sysdev-flash-filesystems/sysdev-flash-filesystems.tex
index a87d611..e9fa8e4 100644
--- a/labs/sysdev-flash-filesystems/sysdev-flash-filesystems.tex
+++ b/labs/sysdev-flash-filesystems/sysdev-flash-filesystems.tex
@@ -22,14 +22,9 @@ MTD partition. Read/write data will be stored in a JFFS2 filesystem
in another MTD partition. The layout of the internal NAND flash will
be:
-\begin{itemize}
-\item From 0 to 0x80000, X-Loader (512 KB)
-\item From 0x80000 to 0x200000, U-Boot (1536 KB)
-\item From 0x200000 to 0x280000, U-Boot environment (512 KB)
-\item From 0x280000 to 0x680000, Linux kernel (4 MB)
-\item From 0x680000 to 0x880000, the JFFS2 root filesystem (2 MB) as read-only
-\item From 0x880000 to the end, the JFFS2 data filesystem
-\end{itemize}
+\begin{center}
+ \includegraphics[width=\textwidth]{labs/sysdev-flash-filesystems/flash-map.pdf}
+\end{center}
\section{Enabling NAND flash and filesystems}
@@ -63,9 +58,9 @@ naturally in the \code{arch/<arch>/<march>/board-<name>.c} since it is
board dependent. Nevertheless, during device development, it can be
useful to define partitions at boot time, on the kernel command line.
-Enter the U-Boot shell and erase NAND flash, from offset 0x00280000,
+Enter the U-Boot shell and erase NAND flash, from offset 0x002e0000,
up to the end of the NAND flash storage. You'll have to compute the
-remaining size of the flash, from 0x280000 to the end. Remember that
+remaining size of the flash, from 0x2e0000 to the end. Remember that
you can look at U-Boot booting messages to find what is the size of
the NAND flash.
@@ -82,7 +77,7 @@ Don't forget that you can write U-Boot scripts to automate those
procedures. This is very handy to avoid mistakes when typing commands!
Look at the way MTD partitions are defined in the kernel sources
-(\code{arch/arm/mach-omap2/board-igep-0020.c})
+(\code{arch/arm/mach-omap2/board-igep0020.c})
Set the \code{bootargs} variable so that:
More information about the training-materials-updates
mailing list