-- AttilioTarantola - 26 Apr 2009

The OEPB flash programming over ETRAX.

1)ETRAX takes OEPB configuration file.

2)ETRAX does block write with increasing addresses and writes 32 bits dataword in the following addresses:

address nr: 0-63 data (64 addresses x 32bits = 2048 bits =1 flash page)

address nr: 64: flash page number

address nr: 65: flash programming status

address nr: 64: flash control register

3)ETRAX sends 1 page->MDC addon->OEPB

4)OEPB loads page by page in a RAM and then to FLASH

5)OEPB writes control register. The process is repeated for all pages.

Main Commands for Macronix (MX25L1605D) for OEPB

Command Name Command Send Data at Command Receive data at Command Comments
WREN x"06" - - enable write
WRDI x"04" - - reset write enable
RDSR x"05" - 2 byte readout status register
CP x"AD" 3 byte(ADD) + 2 byte(DUMMY DATA) + XX DATA - send all data at once. Add. auto increase
CE x"60" - - erase whole chip
PP x"PP" 3 byte(ADD) + 1 byte (DATA) - program selected page
REMS x"90" 2 DUMMY byte 2 byte output manufacturer ID and device ID
   

Possible command sequence for OEPB

Sequence Number Command Comment
0 RDSR if Block Protect = 0 then CE can be executed
1 CE erase whole chip
2 RDSR be sure CE has been executed
3 WREN enable write
4 CP continuously write data
5 WRDI reset write enable
6 RDSR be sure CP mode is ended
   

This topic: DaqSlowControl > DaqUpgrade > DaqUpgradeMDCOverview > MDCUpgradeOld > FlashProgramming
Topic revision: 2009-10-27, JanMichel
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki Send feedback | Imprint | Privacy Policy (in German)