Fixed external flash driver for ST M29W320DB boot sectors

Øyvind Harboe oyvind.harboe@zylin.com
Tue Nov 28 13:18:00 GMT 2006


I screwed up when I read the datasheet on the bootsectors w/my first
implementation. This code is tested w/M29W320DB. Code that appears to
run fine is a dangerous thing.

-- 
Øyvind Harboe
http://www.zylin.com
-------------- next part --------------
? fixbootsectors.txt
Index: ChangeLog
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/flash/amd/am29xxxxx/current/ChangeLog,v
retrieving revision 1.40
diff -a -w -u -r1.40 ChangeLog
--- ChangeLog	29 Aug 2006 19:19:06 -0000	1.40
+++ ChangeLog	28 Nov 2006 13:10:06 -0000
@@ -1,3 +1,7 @@
+2006-11-28 Oyvind Harboe  <oyvind.harboe@zylin.com>
+
+	* Fixed boot sectors for ST M29W320D
+	
 2006-08-29  Yoshinori Sato <ysato@users.sourceforge.jp>
 
 	* include/flash_am29xxxxx_parts.inl [CYGHWR_DEVS_FLASH_AMD_S29GL128M]:
Index: include/flash_am29xxxxx_parts.inl
===================================================================
RCS file: /cvs/ecos/ecos/packages/devs/flash/amd/am29xxxxx/current/include/flash_am29xxxxx_parts.inl,v
retrieving revision 1.28
diff -a -w -u -r1.28 flash_am29xxxxx_parts.inl
--- include/flash_am29xxxxx_parts.inl	29 Aug 2006 19:19:06 -0000	1.28
+++ include/flash_am29xxxxx_parts.inl	28 Nov 2006 13:10:07 -0000
@@ -775,36 +775,28 @@
         device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
         base_mask  : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
         bootblock  : true,
-        bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+        bootblocks : { 0x3f0000 * CYGNUM_FLASH_INTERLEAVE, // offset
+                       0x008000 * CYGNUM_FLASH_INTERLEAVE, // size 1
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE, // size 2
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE, // size 3
+                       0x004000 * CYGNUM_FLASH_INTERLEAVE, // size 4
                        _LAST_BOOTBLOCK
                      },
         banked     : false,
         bufsiz     : 1
     },
-    {   // M29W320DT
+    {   // M29W320DB
         device_id  : FLASHWORD(0x22cb),
         block_size : 0x10000 * CYGNUM_FLASH_INTERLEAVE,
         block_count: 64,
         device_size: 0x400000 * CYGNUM_FLASH_INTERLEAVE,
         base_mask  : ~(0x400000 * CYGNUM_FLASH_INTERLEAVE - 1),
         bootblock  : true,
-        bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
-                       0x002000 * CYGNUM_FLASH_INTERLEAVE,
+        bootblocks : { 0x000000 * CYGNUM_FLASH_INTERLEAVE, // offset 
+                       0x004000 * CYGNUM_FLASH_INTERLEAVE, // size 1
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE, // size 2
+                       0x002000 * CYGNUM_FLASH_INTERLEAVE, // size 3
+                       0x008000 * CYGNUM_FLASH_INTERLEAVE, // size 4
                        _LAST_BOOTBLOCK
                      },
         banked     : false,


More information about the Ecos-patches mailing list