How Do I Unlock the Write Protection to Enable Programming an SPI Quad Serial Flash Chip?

Unlock the Write Protection to Enable Programming an SPI Quad Serial Flash ChipQuestion from the Customer:

I’m struggling to add a Microchip SST26VF016BT-104I/SN serial flash to the Flash Center Software. There are enough similarities between the older device SST25VF016BT (which is currently supported in your library) that I should be able to modify that XML file. However, the write protection schemes seem to be very different.  So far I haven’t been able to make the right changes to get this to work.

Can you look at the datasheets and the migration file, and show me what changes to make in the XML file so I can start programming the SPI quad device?

Response from Technical Support:

Thanks for your question! To enable programming, we added a command to unlock the Global Block Protection. This releases the write protection lock of all the blocks in the memory.

How to Unlock the Write Protection Lock

Here is the command we added: writeStatusRegisterEnableInstruction. To accelerate the programming speed, we also set the writeSize to 256. You can adjust this parameter for your programming specifications. Here is the recommended command for your xml file:

<?xml version="1.0" encoding="UTF-8"?>
<devices>
<default version="1.0">
<manufacturerName> SST </manufacturerName>
    <deviceAlgorithm>SPI flash</deviceAlgorithm>
    <addressWidth>3</addressWidth>
    <writeSize>256</writeSize>
    <readInstruction>0x03</readInstruction>
<writeStatusRegisterEnableInstruction>0x06</writeStatusRegisterEnableInstruction>       
    <eraseInstruction>0x20</eraseInstruction>
    <eraseSize>4*1024</eraseSize>
    <eraseTime>18000</eraseTime>
    <hasEraseAll>true</hasEraseAll>
    <eraseAllInstruction>0xc7</eraseAllInstruction>
    <eraseAllTime>70000</eraseAllTime>
</default>
<device version="1.0">
    <deviceName>SST26VF016B</deviceName>
    <deviceDescription>
    SST SST26VF016B 2 Megabyte SPI Flash
    </deviceDescription>
    <capacity>2*1024*1024</capacity>
    <maxBitrate>40*1000</maxBitrate>
    <writeTime>5000</writeTime>
    <readDeviceIdInstruction>0x9f</readDeviceIdInstruction>
    <expectedDeviceId>\xbf\x26\x41</expectedDeviceId>
    <userTransaction1>\x98\x00</userTransaction1>
</device>
</devices>

 

Restart Flash Center Software

Note: after editing the XML file, to ensure the changes are implemented, you must restart the Flash Center Software.

Additional resources that you may find helpful include the following:

We hope this answers your question. If you need more information, please contact us at sales@totalphase.com.  You can also request a demo that applies to your application.

Request a Demo