// // Power Debugger Flash Memory Device Definition File // Copyright (c) 2001-2002 Debug Solutions, All Rights Reserved // // Author : A-Yasuo // Date : Jun 06, 2005 // Document Tytle : MBM29F017A-70/90/12 // Document No. : DS05-20843-3 // // Revision History: Ver1.2 Jun06,2005 support Address Fetch Timing Definition // Ver1.1 Aug11,2002 Written. // // // Capacity : 16Mbit // Composition : 08bit x 2M // DevVer 1 2 DevMaker Fujitsu DevName MBM29F017A // Device definition DevDef Adr 21 NEG // Adr00-20 DevDef Data 8 DevDef Sector 32 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 OFF DevDef Reset OFF 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 0x0000ffff 0x00000000 // 64KByte Sector 1 0x00010000 0x0001ffff 0x00010000 // 64Kbyte Sector 2 0x00020000 0x0002ffff 0x00020000 // 64KByte Sector 3 0x00030000 0x0003ffff 0x00030000 // 64KByte Sector 4 0x00040000 0x0004ffff 0x00040000 // 64KByte Sector 5 0x00050000 0x0005ffff 0x00050000 // 64KByte Sector 6 0x00060000 0x0006ffff 0x00060000 // 64KByte Sector 7 0x00070000 0x0007ffff 0x00070000 // 64KByte Sector 8 0x00080000 0x0008ffff 0x00080000 // 64KByte Sector 9 0x00090000 0x0009ffff 0x00090000 // 64Kbyte Sector 10 0x000a0000 0x000affff 0x000a0000 // 64KByte Sector 11 0x000b0000 0x000bffff 0x000b0000 // 64KByte Sector 12 0x000c0000 0x000cffff 0x000c0000 // 64KByte Sector 13 0x000d0000 0x000dffff 0x000d0000 // 64KByte Sector 14 0x000e0000 0x000effff 0x000e0000 // 64KByte Sector 15 0x000f0000 0x000fffff 0x000f0000 // 64KByte Sector 16 0x00100000 0x0010ffff 0x00100000 // 64KByte Sector 17 0x00110000 0x0011ffff 0x00110000 // 64Kbyte Sector 18 0x00120000 0x0012ffff 0x00120000 // 64KByte Sector 19 0x00130000 0x0013ffff 0x00130000 // 64KByte Sector 20 0x00140000 0x0014ffff 0x00140000 // 64KByte Sector 21 0x00150000 0x0015ffff 0x00150000 // 64KByte Sector 22 0x00160000 0x0016ffff 0x00160000 // 64KByte Sector 23 0x00170000 0x0017ffff 0x00170000 // 64KByte Sector 24 0x00180000 0x0018ffff 0x00180000 // 64KByte Sector 25 0x00190000 0x0019ffff 0x00190000 // 64Kbyte Sector 26 0x001a0000 0x001affff 0x001a0000 // 64KByte Sector 27 0x001b0000 0x001bffff 0x001b0000 // 64KByte Sector 28 0x001c0000 0x001cffff 0x001c0000 // 64KByte Sector 29 0x001d0000 0x001dffff 0x001d0000 // 64KByte Sector 30 0x001e0000 0x001effff 0x001e0000 // 64KByte Sector 31 0x001f0000 0x001fffff 0x001f0000 // 64KByte