// // Power Debugger Flash Memory Device Definition File // Copyright (c) 2001-2002 Debug Solutions, All Rights Reserved // // Author : A-Yasuo // Date : Jly 25, 2005 // Document Tytle : MBM29F800TA/800BA-55/70/90 // Document No. : DS05-20841-3 // // Revision History: Ver1.2 Jly25,2005 Change Sector Area Address // Ver1.2 Jun06,2005 support Address Fetch Timing Definition. // separate 8bit_Composition and 8bit_Composition. // Ver1.1 Aug11,2002 Written. // // // Capacity : 8Mbit // Composition : 08bit x 1M // 16bit x 512K // DevVer 1 2 DevMaker Fujitsu DevName MBM29F800TA // Device definition DevDef Adr 19 NEG // Adr00-18 DevDef Data 16 DevDef Sector 19 DevDef CS1 ON NEG H DevDef CS2 OFF DevDef OE1 ON NEG H DevDef OE2 OFF DevDef WE1 ON NEG H DevDef WE2 OFF DevDef Byte ON NEG H DevDef Reset ON NEG H DevDef WP OFF ProgramStart // program flow definition WriteData 0x555 0xaa WriteData 0x2aa 0x55 WriteData 0x555 0xa0 WriteData #Address #Data :Data_Polling ReadData #Address // Set read data to intenal variable CompData 0x80 #Data then :OK // Compare { internal_variable & bit_mask(0x80) } to { #Data & bit_mask(0x80) } CompData 0x20 0x20 else :Data_Polling // Compare { internal_variable & bit_mask(0x20) } to 0x20 ReadData #Address CompData 0x80 #Data then :OK else :Error_Det :OK End :Error_Det Error ProgramEnd // program flow definition end ChipEraseStart // chip erase flow definition WriteData 0x555 0xaa WriteData 0x2aa 0x55 WriteData 0x555 0x80 WriteData 0x555 0xaa WriteData 0x2aa 0x55 WriteData 0x555 0x10 :Data_Polling ReadData 0x0 // Chip erase address allow anywhere in chip CompData 0x80 0x80 then :OK // Compare { internal_variable & bit_mask(0x80) } to { #Data & bit_mask(0x80) } CompData 0x20 0x20 else :Data_Polling // Compare { internal_variable & bit_mask(0x20) } to 0x20 ReadData 0x0 CompData 0x80 0x80 then :OK else :Error_Det :OK End :Error_Det Error ChipEraseEnd // chip erase flow definition end SectorEraseStart // sector erase flow definition WriteData 0x555 0xaa WriteData 0x2aa 0x55 WriteData 0x555 0x80 WriteData 0x555 0xaa WriteData 0x2aa 0x55 WriteData #Address 0x30 :Data_Polling ReadData #Address // Sector erase address allow anywhere in sector CompData 0x80 0x80 then :OK // Compare { internal_variable & bit_mask(0x80) } to { #Data & bit_mask(0x80) } CompData 0x20 0x20 else :Data_Polling // Compare { internal_variable & bit_mask(0x20) } to 0x20 ReadData #Address CompData 0x80 0x80 then :OK else :Error_Det :OK End :Error_Det Error SectorEraseEnd // sector erase flow definition end // // Sector Area Range // // Num Start_Adr End_Adr Erase_Adr //--------------------------------------------------------------------- Sector 0 0x00000000 0x00007fff 0x00000000 // 32KWord(64KByte) Sector 1 0x00008000 0x0000ffff 0x00008000 // 32KWord(64Kbyte) Sector 2 0x00010000 0x00017fff 0x00010000 // 32KWord(64KByte) Sector 3 0x00018000 0x0001ffff 0x00018000 // 32KWord(64KByte) Sector 4 0x00020000 0x00027fff 0x00020000 // 32KWord(64KByte) Sector 5 0x00028000 0x0002ffff 0x00028000 // 32KWord(64KByte) Sector 6 0x00030000 0x00037fff 0x00030000 // 32KWord(64KByte) Sector 7 0x00038000 0x0003ffff 0x00038000 // 32KWord(64KByte) Sector 8 0x00040000 0x00047fff 0x00040000 // 32KWord(64KByte) Sector 9 0x00048000 0x0004ffff 0x00048000 // 32KWord(64KByte) Sector 10 0x00050000 0x00057fff 0x00050000 // 32KWord(64KByte) Sector 11 0x00058000 0x0005ffff 0x00058000 // 32KWord(64KByte) Sector 12 0x00060000 0x00067fff 0x00060000 // 32KWord(64KByte) Sector 13 0x00068000 0x0006ffff 0x00068000 // 32KWord(64KByte) Sector 14 0x00070000 0x00077fff 0x00070000 // 32KWord(64KByte) Sector 15 0x00078000 0x0007bfff 0x00078000 // 16KWord(32KByte) Sector 16 0x0007c000 0x0007cfff 0x0007c000 // 4KWord( 8KByte) Sector 17 0x0007d000 0x0007dfff 0x0007d000 // 4KWord( 8KByte) Sector 18 0x0007e000 0x0007ffff 0x0007e000 // 8KWord(16KByte)