[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